summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ata/ata-all.c6
-rw-r--r--sys/dev/ata/ata-dma.c16
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)
{
}
OpenPOWER on IntegriCloud