1/*- 2 * Copyright (c) 1998 - 2008 S��ren Schmidt <sos@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sys/dev/ata/ata-dma.c 249083 2013-04-04 07:12:24Z mav $"); |
29 30#include <sys/param.h> 31#include <sys/systm.h> 32#include <sys/ata.h> 33#include <sys/kernel.h> 34#include <sys/endian.h> 35#include <sys/malloc.h> 36#include <sys/lock.h> --- 262 unchanged lines hidden (view full) --- 299 /* set our slot. XXX SOS NCQ will change that */ 300 request->dma = &ch->dma.slot[0]; 301 302 if (addr) 303 dspa.dmatab = addr; 304 else 305 dspa.dmatab = request->dma->sg; 306 |
307 if (request->flags & ATA_R_DATA_IN_CCB) 308 error = bus_dmamap_load_ccb(request->dma->data_tag, 309 request->dma->data_map, request->ccb, 310 ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); 311 else |
312 error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map, 313 request->data, request->bytecount, 314 ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); 315 if (error || (error = dspa.error)) { 316 device_printf(request->parent, "FAILURE - load data\n"); 317 goto error; 318 } 319 --- 32 unchanged lines hidden --- |