diff options
-rw-r--r-- | sys/dev/ata/ata-all.c | 6 | ||||
-rw-r--r-- | sys/dev/ata/ata-dma.c | 16 |
2 files changed, 16 insertions, 6 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index 70e56f3..2e1f2be 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -71,8 +71,12 @@ #define ATA_IOADDR_RID 0 #define ATA_ALTADDR_RID 1 #define ATA_BMADDR_RID 2 +#if NPCI > 0 #define ATA_MASTERDEV(dev) ((pci_get_progif(dev) & 0x80) && \ (pci_get_progif(dev) & 0x05) != 0x05) +#else +#define ATA_MASTERDEV(dev) (1) +#endif /* prototypes */ static int ata_probe(device_t); @@ -792,7 +796,7 @@ ata_probe(device_t dev) altio = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, ATA_ALTIOSIZE, RF_ACTIVE); if (altio) { - if (ATA_MASTERDEV(device_get_parent(dev))) + if (scp->flags & ATA_USE_16BIT || ATA_MASTERDEV(device_get_parent(dev))) altioaddr = rman_get_start(altio); else altioaddr = rman_get_start(altio) + 0x02; diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c index 2d5ce2f..f5cda75 100644 --- a/sys/dev/ata/ata-dma.c +++ b/sys/dev/ata/ata-dma.c @@ -499,7 +499,7 @@ via_82c586: } /* make sure eventual UDMA mode from the BIOS is disabled */ pci_write_config(parent, scp->channel ? 0x7b : 0x73, - pci_read_config(parent, scp->channel ? 0x7b : 0x73, 1) & + pci_read_config(parent, scp->channel ? 0x7b : 0x73, 1)& ~(device == ATA_MASTER ? 0x35 : 0xca), 1); /* FALLTHROUGH */ @@ -1030,6 +1030,11 @@ hpt_timing(struct ata_softc *scp, int devno, int mode) #else /* NPCI > 0 */ +void * +ata_dmaalloc(struct ata_softc *scp, int device) +{ +} + void ata_dmainit(struct ata_softc *scp, int device, int piomode, int wdmamode, int udmamode) @@ -1037,14 +1042,15 @@ ata_dmainit(struct ata_softc *scp, int device, } int -ata_dmasetup(struct ata_softc *scp, int device, - int8_t *data, int32_t count, int flags) +ata_dmasetup(struct ata_softc *scp, int device, struct ata_dmaentry *dmatab, + caddr_t data, int32_t count) { return -1; } -void -ata_dmastart(struct ata_softc *scp) +void +ata_dmastart(struct ata_softc *scp, int device, + struct ata_dmaentry *dmatab, int dir) { } |