Lines Matching refs:pxs
1113 const struct _xfer_spec *pxs, int cyc) in _ldst_memtomem() argument
1116 struct pl330_config *pcfg = pxs->desc->rqcfg.pcfg; in _ldst_memtomem()
1204 const struct _xfer_spec *pxs, int cyc, in _ldst_peripheral() argument
1214 off += _emit_FLUSHP(dry_run, &buf[off], pxs->desc->peri); in _ldst_peripheral()
1216 off += _emit_WFP(dry_run, &buf[off], cond, pxs->desc->peri); in _ldst_peripheral()
1217 off += _emit_load(dry_run, &buf[off], cond, pxs->desc->rqtype, in _ldst_peripheral()
1218 pxs->desc->peri); in _ldst_peripheral()
1219 off += _emit_store(dry_run, &buf[off], cond, pxs->desc->rqtype, in _ldst_peripheral()
1220 pxs->desc->peri); in _ldst_peripheral()
1222 switch (pxs->desc->rqtype) { in _ldst_peripheral()
1225 if (pxs->desc->dst_interlace_size) in _ldst_peripheral()
1227 pxs->desc->dst_interlace_size); in _ldst_peripheral()
1230 if (pxs->desc->src_interlace_size) in _ldst_peripheral()
1232 pxs->desc->src_interlace_size); in _ldst_peripheral()
1245 const struct _xfer_spec *pxs, int cyc) in _bursts() argument
1248 enum pl330_cond cond = BRST_LEN(pxs->ccr) > 1 ? BURST : SINGLE; in _bursts()
1253 switch (pxs->desc->rqtype) { in _bursts()
1256 off += _ldst_peripheral(pl330, dry_run, &buf[off], pxs, cyc, in _bursts()
1261 off += _ldst_memtomem(dry_run, &buf[off], pxs, cyc); in _bursts()
1279 const struct _xfer_spec *pxs, int transfer_length) in _dregs() argument
1287 switch (pxs->desc->rqtype) { in _dregs()
1298 dregs_ccr = pxs->ccr; in _dregs()
1306 off += _ldst_peripheral(pl330, dry_run, &buf[off], pxs, 1, in _dregs()
1311 dregs_ccr = pxs->ccr; in _dregs()
1319 off += _ldst_memtomem(dry_run, &buf[off], pxs, 1); in _dregs()
1333 unsigned long *bursts, const struct _xfer_spec *pxs) in _loop() argument
1340 return _bursts(pl330, dry_run, buf, pxs, 1); in _loop()
1358 szbrst = _bursts(pl330, 1, buf, pxs, 1); in _loop()
1390 off += _bursts(pl330, dry_run, &buf[off], pxs, cyc); in _loop()
1414 unsigned long bursts, const struct _xfer_spec *pxs, int ev) in _period() argument
1419 struct pl330_xfer *x = &pxs->desc->px; in _period()
1432 off += _bursts(pl330, dry_run, &buf[off], pxs, cyc); in _period()
1445 off += _bursts(pl330, dry_run, &buf[off], pxs, 1); in _period()
1454 if (!pxs->desc->src_interlace_size && in _period()
1455 !pxs->desc->dst_interlace_size) { in _period()
1456 num_dregs = BYTE_MOD_BURST_LEN(x->bytes, pxs->ccr); in _period()
1459 off += _dregs(pl330, dry_run, &buf[off], pxs, num_dregs); in _period()
1460 off += _emit_MOV(dry_run, &buf[off], CCR, pxs->ccr); in _period()
1464 num_dregs = BYTE_MOD_BURST_LEN(x->bytes, pxs->ccr); in _period()
1467 off += _dregs(pl330, dry_run, &buf[off], pxs, num_dregs); in _period()
1468 off += _emit_MOV(dry_run, &buf[off], CCR, pxs->ccr); in _period()
1479 const struct _xfer_spec *pxs, int ev) in _loop_cyclic() argument
1484 struct pl330_xfer *x = &pxs->desc->px; in _loop_cyclic()
1488 lcnt0 = pxs->desc->num_periods; in _loop_cyclic()
1493 lcnt0 = pxs->desc->num_periods / periods; in _loop_cyclic()
1496 residue = pxs->desc->num_periods % periods; in _loop_cyclic()
1507 off += _period(pl330, dry_run, &buf[off], bursts, pxs, ev); in _loop_cyclic()
1516 off += _period(pl330, dry_run, &buf[off], bursts, pxs, ev); in _loop_cyclic()
1529 const struct _xfer_spec *pxs) in _setup_loops() argument
1531 struct pl330_xfer *x = &pxs->desc->px; in _setup_loops()
1532 u32 ccr = pxs->ccr; in _setup_loops()
1539 if (pxs->desc->rqtype == DMA_DEV_TO_MEM) in _setup_loops()
1541 pxs->desc->dst_interlace_size); in _setup_loops()
1542 else if (pxs->desc->rqtype == DMA_MEM_TO_DEV) in _setup_loops()
1544 pxs->desc->src_interlace_size); in _setup_loops()
1548 off += _loop(pl330, dry_run, &buf[off], &c, pxs); in _setup_loops()
1552 if (!pxs->desc->src_interlace_size && in _setup_loops()
1553 !pxs->desc->dst_interlace_size) in _setup_loops()
1554 off += _dregs(pl330, dry_run, &buf[off], pxs, num_dregs); in _setup_loops()
1556 off += _dregs(pl330, dry_run, &buf[off], pxs, num_dregs); in _setup_loops()
1563 const struct _xfer_spec *pxs) in _setup_xfer() argument
1565 struct pl330_xfer *x = &pxs->desc->px; in _setup_xfer()
1574 off += _setup_loops(pl330, dry_run, &buf[off], pxs); in _setup_xfer()
1581 const struct _xfer_spec *pxs, int ev) in _setup_xfer_cyclic() argument
1583 struct pl330_xfer *x = &pxs->desc->px; in _setup_xfer_cyclic()
1584 u32 ccr = pxs->ccr; in _setup_xfer_cyclic()
1589 if (pxs->desc->rqtype == DMA_DEV_TO_MEM) in _setup_xfer_cyclic()
1591 + pxs->desc->dst_interlace_size); in _setup_xfer_cyclic()
1592 else if (pxs->desc->rqtype == DMA_MEM_TO_DEV) in _setup_xfer_cyclic()
1594 + pxs->desc->src_interlace_size); in _setup_xfer_cyclic()
1597 off += _loop_cyclic(pl330, dry_run, &buf[off], bursts, pxs, ev); in _setup_xfer_cyclic()
1608 struct _xfer_spec *pxs) in _setup_req() argument
1617 off += _emit_MOV(dry_run, &buf[off], CCR, pxs->ccr); in _setup_req()
1619 if (!pxs->desc->cyclic) { in _setup_req()
1620 off += _setup_xfer(pl330, dry_run, &buf[off], pxs); in _setup_req()
1628 pxs, thrd->ev); in _setup_req()