devices.
o Return ENXIO from sn_isa_probe
o Fix SN_DEBUG printf
o Use IFQ_MAXLEN rather than 8
I'll fix the isa probe when I get access to a real isa attachment
device to test against here in a few days.
Overly agressive snagging behavior noticed by: phk
- In uhci_intr() check to see if sc->sc_bus.bdev is NULL, and if it is,
ack any pending interrupts and disable them, then return. It is possible
for interrupts to be delivered the moment a handler is set up at attach
time in uhci_pci.c, particularly when attempting to kldload the usb.ko
module after the system is already up. However the driver isn't ready
to field interrupts at that time and certain pointers in the softc
struct aren't initialized yet, and we invariably end up falling off
the end of one of them. The effect is that kldloading the usb module
will panic the system in uhci_intr(). This added sanity check stops
this from happening: I can now kldload the usb.ko module without any
problems and load/attach other USB drivers after it.
Of course the uhci driver has no detach method, but that's another
problem.
- In uhci_run(), set the UHCI_CMD_MAXP bit in the command register to
allow 64-byte packets to be used for full speed bandwidth reclamation.
Certain high speed devices (in this case the ADMtek USB ethernet
adapter) require this bit to be set, otherwise babble errors occur
at the end of large (between 1100 and 1500 byte) transfers. This
should not affect other devices, although supposedly it is less efficient
than the 32-byte setting. Unfortunately, this is a per-bus setting,
not a per-device setting, so we can't just enable it for certain
devices on the USB bus.
Add support, kinda, for megaheartz xjack nic cards. This support
works well for one machine per ethernet segment because it hard codes
the MAC address. The pccardd in -current doesn't have support to
parse the ethernet address from the CIS in the funky way that the
megaheartz card does things (it includes it in the info tuple, as
ascii, which is non-standard). I'd rather kludge this for the moment
and work to read the CIS from the kernel rather than mess with
pccardd.
The isa attachment is untested. The pccard attachment is known to
work since I'm committing over it.
Card Obtained from: Chris D. Faulhaber <jedger@fxp.org>
- Don't keep private copies of some of the data fields from the
ENQUIRY and ENQUIRY2 commands. Instead, standardise on the ENQUIRY2
command for initial adapter information, and keep a copy of the entire
structure. Refer to it where appropriate.
- Move all of the controller description functionality into a new
function. Print lots more controller data if bootverbose is set.
Add knowledge of the DAC960 PR, PT, PTL0 and PRL controllers, rename
the 960PTL -> PTL0 and 1100P -> 1100PVX.
- Correctly terminate an error message.
The controller interface procedures have been reviewed against the
Mylex-supplied documentation; no changes appear necessary at this
time.
on all combinations (I hope)...
Add DMA support for the AMD 756 chip (K7 chipset) this is actually the
same as the VIA 82C686 chip (the ATA part that is).
Treat the intel MX chipset PIIX as a PIIX4
Allow UDMA on all disks that say they can handle it.
Cleanup probe printf's a bit
Remove alot of the old #ifdef DEBUG crap.
going to a lot of trouble to identify it and set the tag and then not use
it. Convert the pnp id matching to the preferred table based system.
@@@0001 (CMI8330 ldn 0) is a mss, not a SB.
of these are bound to have a PNP05xx compatid, but there's no easy way to
tell. Since it's just an ID list and uses the pnp header's description
strings rather than encoding strings here, it doesn't seem to be too
expensive to err on the safe side.
misdetecting FIFO capabilities, at least on my girlfriend's Thinkpad 755,
the driver doesn't work using the FIFO.
While i was at it, i (partially) fixed option FCC_YE since it would no
longer have compiled at all under -current. I've also made an attempt
to document the device driver flags value (ab-)used internally by this
option.
RELENG_3 candidate, but with a slightly different patch there (will go
to jkh in email).
or less. This is a kludge because there is no support for delayed
creation of threads early in the boot process.
NEWCARD new boots and the thread process starts and is visible from
ps.
Now, on to dev/pccard.
the input fifo to be returned as successful and frozen. Most, if not
all, peripheral drivers do not check the qfrozen bit for successfully
completed commands, so the result would not only be lost commands, but
devices locked out from receiving commands. This was a bad bug that
crept in two or three months ago during some target mode work.
config_intrhook_establish doesn't work. Children aren't yet attached
properly, but that's ok because pccard would likely panic in its
current shape.
o Save dev of pcic early in attach process
o save dev in pcic_handle for use in pcic_create_event_thread.
o Remove direct attachments of pccard children for now
o move establishment of pcic kthread to config_intrhook.