diff options
Diffstat (limited to 'sys/dev/mvs/mvs.c')
-rw-r--r-- | sys/dev/mvs/mvs.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/dev/mvs/mvs.c b/sys/dev/mvs/mvs.c index 21c9f97..91ca4f0 100644 --- a/sys/dev/mvs/mvs.c +++ b/sys/dev/mvs/mvs.c @@ -1260,19 +1260,9 @@ mvs_begin_transaction(device_t dev, union ccb *ccb) mvs_set_edma_mode(dev, MVS_EDMA_OFF); } if (ch->numpslots == 0 || ch->basic_dma) { - void *buf; - bus_size_t size; - slot->state = MVS_SLOT_LOADING; - if (ccb->ccb_h.func_code == XPT_ATA_IO) { - buf = ccb->ataio.data_ptr; - size = ccb->ataio.dxfer_len; - } else { - buf = ccb->csio.data_ptr; - size = ccb->csio.dxfer_len; - } - bus_dmamap_load(ch->dma.data_tag, slot->dma.data_map, - buf, size, mvs_dmasetprd, slot, 0); + bus_dmamap_load_ccb(ch->dma.data_tag, slot->dma.data_map, + ccb, mvs_dmasetprd, slot, 0); } else mvs_legacy_execute_transaction(slot); } |