Age | Commit message (Collapse) | Author |
|
|
|
|
|
Change Bus Master DMA Stop to not trust what we read from the device.
|
|
|
|
|
|
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
|
|
(Now we actually program Ultra/100 modes instead of Ultra/66 modes on the
Ultra/100 controller)
This also fixes interrupt handling on the PDC20265/7 controller. I suspect
this new interrupt routine for the PDC20255/7 controller should also be used
on the PDC20262.
|
|
ok deraadt@
|
|
|
|
devices. Print after attach in wdc_isa, wdc_isapnp, wdc_pcmcia.
pciide_print_modes rewritten to use wdc_print_current_modes.
Disable wdc_print_caps since it's not as useful.
Inspired by NetBSD. Thanks to Dale and Theo for pointing out this improvement.
|
|
|
|
Only try UDMA on ALi rev >= 0x20 (as per Daniela Engert's ChipList.txt)
After I fix a few more bugs I will re-enable the ALi code
|
|
Partial sync w/NetBSD
-Support Ultra/100 on Intel ICH2 (Tomokazu HARADA)
-Support Ultra/66 on VIA Apollo (Manuel Bouyer)
-Disable 16bit io-space limitation on Promise (Charles Hannum)
|
|
It is done inline for the CY82C693U since it only has one channel.
|
|
|
|
|
|
(from NetBSD)
|
|
|
|
|
|
because it breaks on two different revisions in two different ways and
is so old and slow anyways that it isn't that much of an advantage to have DMA
|
|
information, tested by deraadt
|
|
(netbsd)
|
|
(From NetBSD PR 10756)
|
|
Don't enable UDMA modes on VIA "82C586" with revision under 6
|
|
|
|
Match Promise Ultra/100 controller
(Ultra/100 drives will be used as Ultra/66 fow now)
Work-around for a bug in revision D2 AMD controllers
(They do not work correctly with Multiword-DMA mode, workaround is to
disable MW DMA, but this bug does not affect all drives so there is an
option PCIIDE_AMD756_ENABLEDMA to stop this behavior. You know you have
this bug when your system hangs completely with this option.)
|
|
|
|
support CMD 648/649 UDMA66 controllers
fix promise UDMA66 cable check
|
|
also sync w/NetBSD
support map memory mapped or IO mapped controllers
program DMA modes for Cypress controllers
support for OPTi chipsets (82C621 and compatible 82C568/82D568)
|
|
It will attach at wdc and be less problematical, though I still
wouldn't trust my data to it.
|
|
SCSI/ATAPI detach is not here yet.
Minor cleanup of wdc. Downgrade to UDMA mode 1 before going further.
Want to stay in UDMA modes because they're more error-resilient due to
a CRC.
Got rid of some of the ridiculous amount of softc sharing going on.
Hopefully, this will make the life of whoever goes in and fixes the
ref-counting to be correct easier.
|
|
Don't reset cp->hw_ok ro 0 when cp isn't initialised in cy693_chip_map()
Support for AMD 756 IDE controller
|
|
Don't set WDC_CAPABILITY_UDMA at all for SiS rev < 0xd0
|
|
|
|
|
|
The only revisions I know which don't actually support UDMA are 0x09 and below..
But the only revision I know which does support UDMA is 0xd0 (and presumably
above that)
|
|
controller actually works now!) and Manuel Bouyer's copyright.
|
|
the secondary channel was ignored when the primary channel is disabled.
|
|
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
|
|
The NetBSD pcidevs is confusing because it calles "5597_IDE" 0x5513,
but OpenBSD pcidevs just had "SiS 5597" as 0x5597
|
|
add useless comments to new Intel code
|
|
Separate wdc_probe_caps into wdc_probe_caps and wdc_print_caps for more
flexibility in printing capability information.
Get rid of wdc_final_attach.
Include name of device (e.g. cd0), if possible, on errors.
atapiscsi layer work:
Put a pointer to the SCSI device into ata_drive_datas' drv_softc field
Simplify, simplify, simplify. Got rid of a bunch of fields in atapiscsi_softc
Delay printing capabilities until we know the real device name (e.g. st0)
|
|
|
|
|
|
it is feasible the function is really a macro, like pci_intr_establish is
on alpha.
|
|
|
|
|
|
chipset. I will disable it until the arrival of the Acer databook so
I can validate the driver against some specs.
|
|
vendor/product tables
|
|
|