Age | Commit message (Collapse) | Author |
|
correct order.
|
|
on the value floating on the bus, we would occasionally skip the register
writability tests. Whoops...
Move fix for a flash device that doesn't wake up until a command is sent
Try to supress spurious interrupts. However, if one does happen, acknowledge
it anyway by reading status. This prevents the interrupt condition from
persisting.
|
|
|
|
functions to return status flags.
Note: Changing code to have DMA interface indicate when I/O is done (a la NetBSD) was considered. It was rejected due to questionable backward compatability
with ISA DMA and MAC obio DMA
Added irqack from NetBSD (though this feature should really be in the
PCI interrupt handlers)
Use pool
|
|
Removed hardcoded WDCDEBUG definitions.
|
|
|
|
in by default.
|
|
(return 0x00 status persistently). Send them identify to wake them up.
Flag value 0x10000 will enable probe messages for a channel/controller.
When UKC supports setting flags, this will be useful debugging
failing IDE detects without kernel recompiles.
|
|
|
|
driver (pciide, wdc, etc.)
Remove #define WDCDEBUG from top of files
More fixes to ATAPISCSI logic:
Not all devices transition correctly between phases. Devices are supposed
to keep BSY high until they've set the registers to the next sensible
state. Some devices drop BSY and leave the registers in an old or
nonsense state. Our polling code is extremely sensitive to this
(though an early itnerrupt could also observe this). So, if the device is
in an unexpected state, the new polling code waits for a while in the hope
that it enters a better state.
This seems to fix many of the problems reported.
Also, there was a horrible bug which would cause sense to fail on a ATAPI
command that sent data to the drive
|
|
We have diverged from NetBSD in that wdc_exec_xfer no longer automatically
swaps.
|
|
use b* instead of mem* functions, adhere to NISADMA for DMA support.
|
|
Introduction of home-grown
To enable this stuff in your configuration, look at the NEWATA conf file
and go through
dev/isa/files.isa
dev/pci/files.pci
conf/files
arch/i386/conf/files.i386
and follow the instructions on commenting/uncommenting stuff
|