Home | History | Annotate | Download | only in dev

Lines Matching defs:xf

277 	struct dmac_dma_xfer *xf = &chan->ch_xfer;
280 xf->dx_channel = chan;
281 xf->dx_dmamap = dmamap;
282 xf->dx_tag = dmat;
284 xf->dx_array = chan->ch_map;
285 xf->dx_done = 0;
287 return xf;
291 dmac_load_xfer(struct dmac_softc *dmac, struct dmac_dma_xfer *xf)
293 struct dmac_channel_stat *chan = xf->dx_channel;
297 xf->dx_ocr &= ~DMAC_OCR_CHAIN_MASK;
298 if (xf->dx_dmamap->dm_nsegs == 1)
299 xf->dx_ocr |= DMAC_OCR_CHAIN_DISABLED;
301 xf->dx_ocr |= DMAC_OCR_CHAIN_ARRAY;
305 bus_space_write_1(dmac->sc_bst, chan->ch_bht, DMAC_REG_SCR, xf->dx_scr);
307 DMAC_REG_OCR, (xf->dx_ocr | chan->ch_ocr));
309 DMAC_REG_DAR, (int) xf->dx_device);
318 struct dmac_dma_xfer *xf;
321 xf = dmac_alloc_xfer(chan, dmat, dmamap);
323 xf->dx_ocr = dir & DMAC_OCR_DIR_MASK;
324 xf->dx_scr = scr & (DMAC_SCR_MAC_MASK|DMAC_SCR_DAC_MASK);
325 xf->dx_device = dar;
327 dmac_load_xfer(dmac, xf);
329 return xf;
340 dmac_start_xfer(struct dmac_softc *dmac, struct dmac_dma_xfer *xf)
342 return dmac_start_xfer_offset(dmac, xf, 0, 0);
346 dmac_start_xfer_offset(struct dmac_softc *dmac, struct dmac_dma_xfer *xf,
349 struct dmac_channel_stat *chan = xf->dx_channel;
350 struct x68k_bus_dmamap *dmamap = xf->dx_dmamap;
374 if (xf->dx_done)
410 xf->dx_done = 1;
414 c = dmac_program_arraychain(dmac->sc_dev, xf, offset, size);
433 dma_cachectl((void *) xf->dx_array,
444 dmac_program_arraychain(device_t self, struct dmac_dma_xfer *xf,
447 struct x68k_bus_dmamap *map = xf->dx_dmamap;
455 for (i=0, j=xf->dx_done; i<DMAC_MAPSIZE && j<map->dm_nsegs;
457 xf->dx_array[i].da_addr = map->dm_segs[j].ds_addr;
463 xf->dx_array[i].da_count = map->dm_segs[j].ds_len;
465 xf->dx_done = j;
480 struct dmac_dma_xfer *xf = &chan->ch_xfer;
481 struct x68k_bus_dmamap *map = xf->dx_dmamap;
490 if (xf->dx_done == map->dm_nsegs) {
491 xf->dx_done = 0;
502 c = dmac_program_arraychain(sc->sc_dev, xf, 0, map->dm_mapsize);
508 DMAC_REG_DAR, (int) xf->dx_device);
550 dmac_abort_xfer(struct dmac_softc *dmac, struct dmac_dma_xfer *xf)
552 struct dmac_channel_stat *chan = xf->dx_channel;