Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jul 1997 08:59:41 -0400
From:      "Louis A. Mamakos" <louie@TransSys.COM>
To:        Luigi Rizzo <luigi@labinfo.iet.unipi.it>
Cc:        hasty@rah.star-gate.com, multimedia@FreeBSD.ORG
Subject:   Re: ftp://rah.star-gate.com/pub/guspnp11.tar.gz 
Message-ID:  <199707221259.IAA15852@whizzo.TransSys.COM>
In-Reply-To: Your message of "Tue, 22 Jul 1997 06:04:46 %2B0200." <199707220404.GAA22271@labinfo.iet.unipi.it> 
References:  <199707220404.GAA22271@labinfo.iet.unipi.it> 

next in thread | previous in thread | raw e-mail | index | archive | help
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--





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707221259.IAA15852>