Home | History | Annotate | Download | only in broadcom

Lines Matching defs:seg

282 	size_t seg;
287 for (seg = 0; seg < cmd->c_dmamap->dm_nsegs; seg++) {
288 sc->sc_cblk[seg].cb_ti =
290 sc->sc_cblk[seg].cb_txfr_len =
291 cmd->c_dmamap->dm_segs[seg].ds_len;
295 KASSERTMSG((sc->sc_cblk[seg].cb_txfr_len & 0x3) == 0,
296 "seg %zu len %d", seg, sc->sc_cblk[seg].cb_txfr_len);
298 sc->sc_cblk[seg].cb_ti |= DMAC_TI_DEST_INC;
303 if ((sc->sc_cblk[seg].cb_txfr_len & 0xf) == 0)
304 sc->sc_cblk[seg].cb_ti |= DMAC_TI_DEST_WIDTH;
305 sc->sc_cblk[seg].cb_ti |= DMAC_TI_SRC_DREQ;
306 sc->sc_cblk[seg].cb_source_ad = ad_sdhcdata;
307 sc->sc_cblk[seg].cb_dest_ad =
308 cmd->c_dmamap->dm_segs[seg].ds_addr;
310 sc->sc_cblk[seg].cb_ti |= DMAC_TI_SRC_INC;
315 if ((sc->sc_cblk[seg].cb_txfr_len & 0xf) == 0)
316 sc->sc_cblk[seg].cb_ti |= DMAC_TI_SRC_WIDTH;
317 sc->sc_cblk[seg].cb_ti |= DMAC_TI_DEST_DREQ;
318 sc->sc_cblk[seg].cb_ti |= DMAC_TI_WAIT_RESP;
319 sc->sc_cblk[seg].cb_source_ad =
320 cmd->c_dmamap->dm_segs[seg].ds_addr;
321 sc->sc_cblk[seg].cb_dest_ad = ad_sdhcdata;
323 sc->sc_cblk[seg].cb_stride = 0;
324 if (seg == cmd->c_dmamap->dm_nsegs - 1) {
325 sc->sc_cblk[seg].cb_ti |= DMAC_TI_INTEN;
326 sc->sc_cblk[seg].cb_nextconbk = 0;
328 sc->sc_cblk[seg].cb_nextconbk =
330 sizeof(struct bcm_dmac_conblk) * (seg+1);
332 bcm_dmac_swap_conblk(&sc->sc_cblk[seg]);
333 sc->sc_cblk[seg].cb_padding[0] = 0;
334 sc->sc_cblk[seg].cb_padding[1] = 0;