Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: syssrc
Module Name: syssrc
Committed By: bouyer
Date: Sat Apr 1 14:32:26 UTC 2000
Modified Files:
syssrc/sys/dev/ata: ata_wdc.c atavar.h wdvar.h
syssrc/sys/dev/ic: wdc.c wdcvar.h
syssrc/sys/dev/pci: pciide.c pciidevar.h
syssrc/sys/dev/scsipi: atapi_wdc.c atapiconf.c atapiconf.h
Log Message:
- DMA code cleanup: pciide_dma_finish() doesn't stop/unload the current DMA op
if an IRQ was not detected, unless the force flag was given. Use this to
detect if the IRQ was for us (closer to shared IRQ for controllers which
don't have their own IRQ handler in pciide.c) and to poll for DMA xfer.
Also makes the timeout recovery code simpler.
- ATAPI cleanup: don't call controller-specific functions from atapiconf.c
(wdc_*), so that it's possible to attach an atapibus to something else
than a wdc/pciide (Hi Lennart :).
Overload struct scsi_adapter with struct atapi_adapter, defined
as struct scsi_adapter + atapi-specific callbacks. scsipi_link still points
to an scsi_adapter, atapi code casts it to atapi_adapter if needed.
Move atapi_softc to atapiconf.h so that it can be used by the underlying
controller code (e.g. atapi_wdc.c).
Add an atapi-specific callback *atapi_probedev(), which probe a drive
in a controller-specific way, allocate the sc_link and fills in the
ataparams if needed. It then calls atapi_probedev() (from atapiconf.c)
to do the generic initialisations and attach the device.
- While I'm there merge and centralise the state definitions in atavar.h.
It should now be possible to use a common ata/atapi routine to set the
drive's modes (will do later).
To generate a diff of this commit:
cvs rdiff -r1.25 -r1.26 syssrc/sys/dev/ata/ata_wdc.c
cvs rdiff -r1.15 -r1.16 syssrc/sys/dev/ata/atavar.h
cvs rdiff -r1.4 -r1.5 syssrc/sys/dev/ata/wdvar.h
cvs rdiff -r1.83 -r1.84 syssrc/sys/dev/ic/wdc.c
cvs rdiff -r1.23 -r1.24 syssrc/sys/dev/ic/wdcvar.h
cvs rdiff -r1.55 -r1.56 syssrc/sys/dev/pci/pciide.c
cvs rdiff -r1.3 -r1.4 syssrc/sys/dev/pci/pciidevar.h
cvs rdiff -r1.32 -r1.33 syssrc/sys/dev/scsipi/atapi_wdc.c
cvs rdiff -r1.33 -r1.34 syssrc/sys/dev/scsipi/atapiconf.c
cvs rdiff -r1.8 -r1.9 syssrc/sys/dev/scsipi/atapiconf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index