Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Apr 2003 01:12:58 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        mat@cnd.mcgill.ca
Cc:        freebsd-current@freebsd.org
Subject:   Re: midi problem, an isa device on a pci card
Message-ID:  <20030407.011258.62370040.imp@bsdimp.com>
In-Reply-To: <20030407064749.GO17533@cnd.mcgill.ca>
References:  <20030406164134.GN17533@cnd.mcgill.ca> <20030407.000118.68039554.imp@bsdimp.com> <20030407064749.GO17533@cnd.mcgill.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20030407064749.GO17533@cnd.mcgill.ca>
            Mathew Kanner <mat@cnd.mcgill.ca> writes:
: 	Hello Warner,
: 	Thanks for your comments, it helps keep me interested as this
: is only a for fun hacking project.
: 
: On Apr 07, M. Warner Losh wrote:
: > You can't create ISA devices that are parented to the pci bus.  You
: > just can't.
: 
: 	I don't understand your comment, isn't the newly created
: devices parent the (first) ISA bus?  I scan for the isa class, get
: device instances and create from there.

I'm saying that what you are doing isn't right and won't work too
well.  If the device is on the pci bus, you have to create a pci
attachment.

: >  You have to make them be full pci devices.
: >  Hweover, this
: > is relatively easy to do.  You hacks will just not work.
: 
: 	But it's an ISA device on on a pci card.

that's not possible.  It is *NOT* an ISA device unless it is on a card
that has ISA fingers on it.  Otherwise it *IS* a PCI device.  Does the
pci card have a PCI to ISA bridge on it?  If not, then you have to
deal with it as a PCI bus.

: I don't know this
: for sure but the soundcard docs talk about special hardware to appear
: as a legacy device, also, all pci devices on my machine have 4 byte
: port ranges while this and other ISA devices have 3.

I don't understand this.

: 	I can send and receive on the MPU, albeit, sending is screwy
: either too fast or too slow, (too slow by itself, too fast when I
: force feed interrupts with timeout(), sigh, I wonder if send interrupts
: are broken for mpus in general).
: 	kldload and unload both the pci(soundcard) and the isa(mpu)
: drivers seem to work well.

You likely need to attach the mpu device to the pci soundcard in some
way, or if the pci device has its own function, directly to the pci
device.  Chances are excellent that's what the interrupt problem you
are encountering are.

Warner



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