freebsd-skq/sys/dev/pccbb
Warner Losh 8e5f761422 On my Lenovo T400, a Atheros 2413 has a problem powering up
sometimes. It will power up wrong and identify itself badly:

cardbus0: <network, ethernet> at device 0.0 (no driver attached)
cardbus0: <simple comms, UART> at device 0.1 (no driver attached)
cardbus0: <old, non-VGA display device> at device 0.2 (no driver attached)
cardbus0: <old, non-VGA display device> at device 0.3 (no driver attached)
cardbus0: <old, non-VGA display device> at device 0.4 (no driver attached)
cardbus0: <old, non-VGA display device> at device 0.5 (no driver attached)
cardbus0: <old, non-VGA display device> at device 0.6 (no driver attached)
cardbus0: <old, non-VGA display device> at device 0.7 (no driver attached)

All the higher numbered functions (.2 and above) have a config space
of all 0's. This smells a bit like a special debug mode, but the
current atheros driver doesn't cope. It is unclear if this card is
just a flake, or if we're doing something wrong in the power-up
sequence.

Put a work around into the code that tests for this rather unusual
condition. If we power a CardBus device up, and the device says it is
multi-function, and any of the functions have a 0 device ID, try the
power-up sequence again.
2015-02-18 05:53:04 +00:00
..
pccbb_isa.c Move the suspsned and resume functions to the bus attachment. They 2015-01-16 06:19:39 +00:00
pccbb_pci.c Always enable I/O, memory and dma cycles. Some BIOSes don't enable 2015-01-16 06:19:52 +00:00
pccbb.c On my Lenovo T400, a Atheros 2413 has a problem powering up 2015-02-18 05:53:04 +00:00
pccbbdevid.h
pccbbreg.h
pccbbvar.h Move the suspsned and resume functions to the bus attachment. They 2015-01-16 06:19:39 +00:00