summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ata/ata-dma.c')
-rw-r--r--sys/dev/ata/ata-dma.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c
index 770b13f..eae4348 100644
--- a/sys/dev/ata/ata-dma.c
+++ b/sys/dev/ata/ata-dma.c
@@ -78,7 +78,7 @@ ata_dmainit(device_t dev)
ch->dma.segsize = 65536;
ch->dma.max_iosize = 128 * DEV_BSIZE;
ch->dma.max_address = BUS_SPACE_MAXADDR_32BIT;
- ch->dma.dma_slots = 6;
+ ch->dma.dma_slots = 1;
if (bus_dma_tag_create(bus_get_dma_tag(dev), ch->dma.alignment, 0,
ch->dma.max_address, BUS_SPACE_MAXADDR,
@@ -256,37 +256,36 @@ static int
ata_dmaload(struct ata_request *request, void *addr, int *entries)
{
struct ata_channel *ch = device_get_softc(request->parent);
- struct ata_device *atadev = device_get_softc(request->dev);
struct ata_dmasetprd_args dspa;
int error;
ATA_DEBUG_RQ(request, "dmaload");
if (request->dma) {
- device_printf(request->dev,
+ device_printf(request->parent,
"FAILURE - already active DMA on this device\n");
return EIO;
}
if (!request->bytecount) {
- device_printf(request->dev,
+ device_printf(request->parent,
"FAILURE - zero length DMA transfer attempted\n");
return EIO;
}
if (request->bytecount & (ch->dma.alignment - 1)) {
- device_printf(request->dev,
+ device_printf(request->parent,
"FAILURE - odd-sized DMA transfer attempt %d %% %d\n",
request->bytecount, ch->dma.alignment);
return EIO;
}
if (request->bytecount > ch->dma.max_iosize) {
- device_printf(request->dev,
+ device_printf(request->parent,
"FAILURE - oversized DMA transfer attempt %d > %d\n",
request->bytecount, ch->dma.max_iosize);
return EIO;
}
- /* set our slot, unit for simplicity XXX SOS NCQ will change that */
- request->dma = &ch->dma.slot[atadev->unit];
+ /* set our slot. XXX SOS NCQ will change that */
+ request->dma = &ch->dma.slot[0];
if (addr)
dspa.dmatab = addr;
@@ -297,7 +296,7 @@ ata_dmaload(struct ata_request *request, void *addr, int *entries)
request->data, request->bytecount,
ch->dma.setprd, &dspa, BUS_DMA_NOWAIT)) ||
(error = dspa.error)) {
- device_printf(request->dev, "FAILURE - load data\n");
+ device_printf(request->parent, "FAILURE - load data\n");
goto error;
}
OpenPOWER on IntegriCloud