Lines Matching refs:request
50 static int ata_dmaload(struct ata_request *request, void *addr, int *nsegs);
51 static int ata_dmaunload(struct ata_request *request);
265 ata_dmaload(struct ata_request *request, void *addr, int *entries) in ata_dmaload() argument
267 struct ata_channel *ch = device_get_softc(request->parent); in ata_dmaload()
271 ATA_DEBUG_RQ(request, "dmaload"); in ata_dmaload()
273 if (request->dma) { in ata_dmaload()
274 device_printf(request->parent, in ata_dmaload()
278 if (!request->bytecount) { in ata_dmaload()
279 device_printf(request->parent, in ata_dmaload()
283 if (request->bytecount & (ch->dma.alignment - 1)) { in ata_dmaload()
284 device_printf(request->parent, in ata_dmaload()
286 request->bytecount, ch->dma.alignment); in ata_dmaload()
289 if (request->bytecount > ch->dma.max_iosize) { in ata_dmaload()
290 device_printf(request->parent, in ata_dmaload()
292 request->bytecount, ch->dma.max_iosize); in ata_dmaload()
297 request->dma = &ch->dma.slot[0]; in ata_dmaload()
302 dspa.dmatab = request->dma->sg; in ata_dmaload()
304 if (request->flags & ATA_R_DATA_IN_CCB) in ata_dmaload()
305 error = bus_dmamap_load_ccb(request->dma->data_tag, in ata_dmaload()
306 request->dma->data_map, request->ccb, in ata_dmaload()
309 error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map, in ata_dmaload()
310 request->data, request->bytecount, in ata_dmaload()
313 device_printf(request->parent, "FAILURE - load data\n"); in ata_dmaload()
320 bus_dmamap_sync(request->dma->sg_tag, request->dma->sg_map, in ata_dmaload()
322 bus_dmamap_sync(request->dma->data_tag, request->dma->data_map, in ata_dmaload()
323 (request->flags & ATA_R_READ) ? in ata_dmaload()
328 ata_dmaunload(request); in ata_dmaload()
333 ata_dmaunload(struct ata_request *request) in ata_dmaunload() argument
335 ATA_DEBUG_RQ(request, "dmaunload"); in ata_dmaunload()
337 if (request->dma) { in ata_dmaunload()
338 bus_dmamap_sync(request->dma->sg_tag, request->dma->sg_map, in ata_dmaunload()
340 bus_dmamap_sync(request->dma->data_tag, request->dma->data_map, in ata_dmaunload()
341 (request->flags & ATA_R_READ) ? in ata_dmaunload()
344 bus_dmamap_unload(request->dma->data_tag, request->dma->data_map); in ata_dmaunload()
345 request->dma = NULL; in ata_dmaunload()