From owner-freebsd-multimedia Tue Jul 22 06:18:23 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id GAA27241 for multimedia-outgoing; Tue, 22 Jul 1997 06:18:23 -0700 (PDT) Received: from whizzo.TransSys.COM (whizzo.TransSys.COM [144.202.42.10]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id GAA27234 for ; Tue, 22 Jul 1997 06:18:19 -0700 (PDT) Received: from localhost.transsys.com (localhost.transsys.com [127.0.0.1]) by whizzo.TransSys.COM (8.8.6/8.7.3) with SMTP id IAA15852; Tue, 22 Jul 1997 08:59:42 -0400 (EDT) Message-Id: <199707221259.IAA15852@whizzo.TransSys.COM> X-Mailer: exmh version 2.0delta 6/3/97 To: Luigi Rizzo cc: hasty@rah.star-gate.com, multimedia@FreeBSD.ORG From: "Louis A. Mamakos" Subject: Re: ftp://rah.star-gate.com/pub/guspnp11.tar.gz References: <199707220404.GAA22271@labinfo.iet.unipi.it> In-reply-to: Your message of "Tue, 22 Jul 1997 06:04:46 +0200." <199707220404.GAA22271@labinfo.iet.unipi.it> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_-17319716660" Date: Tue, 22 Jul 1997 08:59:41 -0400 Sender: owner-freebsd-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk This is a multipart MIME message. --==_Exmh_-17319716660 Content-Type: text/plain; charset=us-ascii > actually the original code by Sujal used the serial number, but that > does not identify the board at all, and many cards have it set to > values such as -1, 1, or 0. So you would risk false detections. Yeah, I've seen this too. > The bd_id field is supposed to identify the board type, so you > should not have false detections (unless you have two boards of > the same kind, but for that I actually have a different mechanism, > which is now working in the latest version of the PnP code included > with my sound driver snapshots). What's wrong with using the bd_id > field and put the right one for the board you have ? It is much > safer. Ah, perhaps I've confused what the correct contents of the bd_id field ought to be. For some reason (ok, it was late!) I was putting in the logical device ID for the device on the board, rather than the board identifier. At the time, I assumed that was being used, somehow, to tie the entry in the table to the (possibly multiple) devices on the card. Also, I had to change the #ifdef to turn on the code that looked in that table. > Also can you run pnpinfo on your board and send me the results ? I > would like to add support for it (and other PnP boards) in my code, to > test how the new config stuff works with it. Sure, it's included below. > yes :) the problem is the code does not realize that -1 means no > interrupt, and tries to register an interrupt anyways. Fortunately, it fails which makes things work OK :-) > > Card config: > > SoundBlaster at 0x280 irq 10 drq 1,7 > > SoundBlaster16 at 0xffffffff irq 1 drq 5,7 > > OPL-2/OPL-3 FM at 0x388 irq 1 > > SB16 MIDI at 0x330 irq 1 > > except for the "7" as secondary dma (which should really mean that the > board does not have a dma). Probably my fault again, since I thought > that no flags specified means flags=0 whereas it seems it is flags=-1 Hmm. The other thing of concern is the irq 1 associated with the Soundblaster16 device. Oh well, details. I was only able to do a quick "cat foo.au > /dev/audio" test last night, and it seems to be working. I'll beat on it a bit more later tonight. louie --==_Exmh_-17319716660 Content-Type: text/plain ; name="pnp"; charset=us-ascii Content-Description: pnp Content-Disposition: attachment; filename="pnp" Checking for Plug-n-Play devices... Trying Read_Port at 203... Card assigned CSN #1 Board Vendor ID CTL3002, Serial Number 0x00005f7c PnP Version 1.0, Vendor Version 48 Device Description: Creative Phone Blaster 28.8/33.6 Logical Device ID: CTL0031 0x31008c0e #0 Device Description: Audio TAG Start DF Good Configuration IRQ: 5 - only one type (true/edge) DMA: channel(s) 1 8-bit, not a bus master, count by byte, , Compatibility mode DMA: channel(s) 5 16-bit, not a bus master, , count by word, Compatibility mode I/O Range 0x220 .. 0x220, alignment 0x1, len 0x10 [16-bit addr] I/O Range 0x330 .. 0x330, alignment 0x1, len 0x2 [16-bit addr] I/O Range 0x388 .. 0x388, alignment 0x1, len 0x4 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 5 7 10 - only one type (true/edge) DMA: channel(s) 0 1 3 8-bit, not a bus master, count by byte, , Compatibility mode DMA: channel(s) 5 6 7 16-bit, not a bus master, , count by word, Compatibility mode I/O Range 0x220 .. 0x280, alignment 0x20, len 0x10 [16-bit addr] I/O Range 0x300 .. 0x330, alignment 0x30, len 0x2 [16-bit addr] I/O Range 0x388 .. 0x388, alignment 0x1, len 0x4 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 5 7 10 - only one type (true/edge) DMA: channel(s) 0 1 3 8-bit, not a bus master, count by byte, , Compatibility mode DMA: channel(s) 5 6 7 16-bit, not a bus master, , count by word, Compatibility mode I/O Range 0x220 .. 0x280, alignment 0x20, len 0x10 [16-bit addr] I/O Range 0x300 .. 0x330, alignment 0x30, len 0x2 [16-bit addr] TAG Start DF Sub-optimal Configuration IRQ: 5 7 10 - only one type (true/edge) DMA: channel(s) 0 1 3 8-bit, not a bus master, count by byte, , Compatibility mode DMA: channel(s) 5 6 7 16-bit, not a bus master, , count by word, Compatibility mode I/O Range 0x220 .. 0x280, alignment 0x20, len 0x10 [16-bit addr] TAG Start DF Sub-optimal Configuration IRQ: 5 7 10 - only one type (true/edge) DMA: channel(s) 0 1 3 8-bit, not a bus master, count by byte, , Compatibility mode I/O Range 0x220 .. 0x280, alignment 0x20, len 0x10 [16-bit addr] I/O Range 0x300 .. 0x330, alignment 0x30, len 0x2 [16-bit addr] I/O Range 0x388 .. 0x388, alignment 0x1, len 0x4 [16-bit addr] TAG Start DF Sub-optimal Configuration IRQ: 5 7 10 - only one type (true/edge) DMA: channel(s) 0 1 3 8-bit, not a bus master, count by byte, , Compatibility mode I/O Range 0x220 .. 0x280, alignment 0x20, len 0x10 [16-bit addr] I/O Range 0x300 .. 0x330, alignment 0x30, len 0x2 [16-bit addr] TAG Start DF Sub-optimal Configuration IRQ: 5 7 10 11 - only one type (true/edge) DMA: channel(s) 0 1 3 8-bit, not a bus master, count by byte, , Compatibility mode I/O Range 0x220 .. 0x280, alignment 0x20, len 0x10 [16-bit addr] TAG End DF Logical Device ID: CTL2011 0x11208c0e #1 Compatible Device ID: PNP0600 (0006d041) Device Description: IDE TAG Start DF Good Configuration IRQ: 10 - only one type (true/edge) I/O Range 0x168 .. 0x168, alignment 0x1, len 0x8 [16-bit addr] I/O Range 0x36e .. 0x36e, alignment 0x1, len 0x2 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 11 - only one type (true/edge) I/O Range 0x1e8 .. 0x1e8, alignment 0x1, len 0x8 [16-bit addr] I/O Range 0x3ee .. 0x3ee, alignment 0x1, len 0x2 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 10 11 15 - only one type (true/edge) I/O Range 0x180 .. 0x1b8, alignment 0x8, len 0x8 [16-bit addr] I/O Range 0x306 .. 0x33e, alignment 0x8, len 0x2 [16-bit addr] TAG Start DF Sub-optimal Configuration IRQ: 15 - only one type (true/edge) I/O Range 0x170 .. 0x170, alignment 0x1, len 0x8 [16-bit addr] I/O Range 0x376 .. 0x376, alignment 0x1, len 0x1 [16-bit addr] TAG End DF Logical Device ID: CTL7fff 0xff7f8c0e #2 Device Description: Reserved I/O Range 0x304 .. 0x33c, alignment 0x8, len 0x1 [16-bit addr] Logical Device ID: CTL7001 0x01708c0e #3 Device Description: Game I/O Range 0x200 .. 0x200, alignment 0x1, len 0x8 [16-bit addr] Logical Device ID: CTL3001 0x01308c0e #4 Device Description: COM TAG Start DF Good Configuration IRQ: 3 4 5 7 10 11 15 - only one type (true/edge) I/O Range 0x3e8 .. 0x3e8, alignment 0x1, len 0x8 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 3 4 5 7 10 11 15 - only one type (true/edge) I/O Range 0x2e8 .. 0x2e8, alignment 0x1, len 0x8 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 3 - only one type (true/edge) I/O Range 0x2f8 .. 0x2f8, alignment 0x1, len 0x8 [16-bit addr] TAG Start DF Acceptable Configuration IRQ: 4 - only one type (true/edge) I/O Range 0x3f8 .. 0x3f8, alignment 0x1, len 0x8 [16-bit addr] TAG Start DF Sub-optimal Configuration IRQ: 3 4 5 7 10 11 15 - only one type (true/edge) I/O Range 0x2a0 .. 0x2d8, alignment 0x8, len 0x8 [16-bit addr] TAG End DF End Tag Successfully got 89 resources, 5 logical fdevs -- card select # 0x0001 Logical device #0 IO: 0x0280 0x0330 0x0388 0x0000 0x0000 0x0000 0x0000 0x0000 IRQ 10 0 DMA 1 5 IO range check 0x00 activate 0x01 Logical device #1 IO: 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 IRQ 0 0 DMA 4 4 IO range check 0x00 activate 0x00 Logical device #2 IO: 0x0320 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 IRQ 0 0 DMA 4 4 IO range check 0x00 activate 0x01 Logical device #3 IO: 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 IRQ 0 0 DMA 4 4 IO range check 0x00 activate 0x00 Logical device #4 IO: 0x02a0 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 IRQ 11 0 DMA 4 4 IO range check 0x00 activate 0x01 --==_Exmh_-17319716660--