Lines Matching +full:0 +full:x0003b080
207 * trigger this txd. Other registers are in llis_va[0].
298 #define PL080_LLI_SRC 0
338 if (plchan->mux_use++ == 0 && pd->get_xfer_signal) { in pl08x_request_mux()
340 if (ret < 0) { in pl08x_request_mux()
341 plchan->mux_use = 0; in pl08x_request_mux()
347 return 0; in pl08x_request_mux()
354 if (plchan->signal >= 0) { in pl08x_release_mux()
355 WARN_ON(plchan->mux_use == 0); in pl08x_release_mux()
357 if (--plchan->mux_use == 0 && pd->put_xfer_signal) { in pl08x_release_mux()
396 "WRITE channel %d: csrc=0x%08x, cdst=0x%08x, " in pl08x_write_lli()
397 "clli=0x%08x, cctl=0x%08x, cctl2=0x%08x, ccfg=0x%08x\n", in pl08x_write_lli()
403 "WRITE channel %d: csrc=0x%08x, cdst=0x%08x, " in pl08x_write_lli()
404 "clli=0x%08x, cctl=0x%08x, ccfg=0x%08x\n", in pl08x_write_lli()
420 u32 val = 0; in pl08x_write_lli()
543 pl08x_write_lli(pl08x, phychan, &txd->llis_va[0], txd->ccfg); in pl08x_start_next_txd()
768 return 0; in pl08x_getbytes_chan()
825 for (i = 0; i < pl08x->vd->channels; i++) { in pl08x_get_phy_channel()
1000 return 0; in pl08x_get_bytes_for_lli()
1224 for (i = 0; i < num_llis; i++) { in pl08x_dump_lli()
1226 "%3d @%p: 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n", in pl08x_dump_lli()
1237 for (i = 0; i < num_llis; i++) { in pl08x_dump_lli()
1239 "%3d @%p: 0x%08x 0x%08x 0x%08x 0x%08x\n", in pl08x_dump_lli()
1255 * Return 0 for error
1262 int num_llis = 0; in pl08x_fill_llis_for_desc()
1263 u32 cctl, early_bytes = 0; in pl08x_fill_llis_for_desc()
1271 return 0; in pl08x_fill_llis_for_desc()
1275 bd.lli_bus = (pl08x->lli_buses & PL08X_AHB2) ? PL080_LLI_LM_AHB2 : 0; in pl08x_fill_llis_for_desc()
1285 total_bytes = 0; in pl08x_fill_llis_for_desc()
1297 "src=0x%08llx%s/%u dst=0x%08llx%s/%u len=%zu\n", in pl08x_fill_llis_for_desc()
1343 return 0; in pl08x_fill_llis_for_desc()
1352 return 0; in pl08x_fill_llis_for_desc()
1357 0); in pl08x_fill_llis_for_desc()
1359 0, cctl, 0); in pl08x_fill_llis_for_desc()
1379 "%s byte width LLIs (remain 0x%08zx)\n", in pl08x_fill_llis_for_desc()
1433 "size 0x%08zx (remainder 0x%08zx)\n", in pl08x_fill_llis_for_desc()
1458 "%s size of encoded lli:s don't match total txd, transferred 0x%08zx from size 0x%08zx\n", in pl08x_fill_llis_for_desc()
1460 return 0; in pl08x_fill_llis_for_desc()
1465 "%s need to increase MAX_NUM_TSFR_LLIS from 0x%08x\n", in pl08x_fill_llis_for_desc()
1467 return 0; in pl08x_fill_llis_for_desc()
1479 last_lli[PL080_LLI_LLI] = 0; in pl08x_fill_llis_for_desc()
1558 size_t bytes = 0; in pl08x_dma_tx_status()
1640 .burstwords = 0,
1652 u32 cctl = 0; in pl08x_select_bus()
1693 return ~0; in pl08x_width()
1701 for (i = 0; i < ARRAY_SIZE(burst_sizes); i++) in pl08x_burst()
1711 u32 width, burst, cctl = 0; in pl08x_get_cctl()
1714 if (width == ~0) in pl08x_get_cctl()
1715 return ~0; in pl08x_get_cctl()
1763 u32 cctl = 0; in pl08x_memcpy_cctl()
1846 u32 cctl = 0; in pl08x_ftdmac020_memcpy_cctl()
1918 txd->ccfg = 0; in pl08x_prep_dma_memcpy()
1982 if (cctl == ~0) { in pl08x_init_txd()
2003 if (ret < 0) { in pl08x_init_txd()
2046 return 0; in pl08x_tx_add_sg()
2114 for (tmp = 0; tmp < buf_len; tmp += period_len) { in pl08x_prep_dma_cyclic()
2157 return 0; in pl08x_config()
2169 return 0; in pl08x_terminate_all()
2191 return 0; in pl08x_terminate_all()
2213 return 0; in pl08x_pause()
2221 return 0; in pl08x_pause()
2236 return 0; in pl08x_resume()
2244 return 0; in pl08x_resume()
2295 u32 mask = 0, err, tc, i; in pl08x_irq()
2300 dev_err(&pl08x->adev->dev, "%s error interrupt, register value 0x%08x\n", in pl08x_irq()
2311 for (i = 0; i < pl08x->vd->channels; i++) { in pl08x_irq()
2320 "%s Error TC interrupt on unused channel: 0x%08x\n", in pl08x_irq()
2382 for (i = 0; i < channels; i++) { in pl08x_dma_init_virtual_channels()
2468 for (i = 0; i < pl08x->vd->channels; i++) { in pl08x_debugfs_show()
2503 return 0; in pl08x_debugfs_show()
2555 dma_chan = pl08x_find_chan_id(pl08x, dma_spec->args[0]); in pl08x_of_xlate()
2565 dma_spec->args[0]); in pl08x_of_xlate()
2677 for (i = 0; i < pl08x->vd->signals; i++) { in pl08x_of_probe()
2707 int ret = 0; in pl08x_probe()
2741 (val >> 16) & 0xff, (val >> 8) & 0xff, val & 0xff); in pl08x_probe()
2745 (val >> 12) & 0x0f, in pl08x_probe()
2754 vd->channels = (val >> 12) & 0x0f; in pl08x_probe()
2843 tsfr_size, PL08X_ALIGN, 0); in pl08x_probe()
2855 writel(0x0000FFFF, pl08x->base + PL080_ERR_CLEAR); in pl08x_probe()
2857 writel(0x000000FF, pl08x->base + PL080_ERR_CLEAR); in pl08x_probe()
2858 writel(0x000000FF, pl08x->base + PL080_TC_CLEAR); in pl08x_probe()
2861 ret = request_irq(adev->irq[0], pl08x_irq, 0, DRIVER_NAME, pl08x); in pl08x_probe()
2864 __func__, adev->irq[0]); in pl08x_probe()
2876 for (i = 0; i < vd->channels; i++) { in pl08x_probe()
2924 if (ret <= 0) { in pl08x_probe()
2935 if (ret < 0) { in pl08x_probe()
2963 dev_info(&pl08x->adev->dev, "DMA: PL%03x%s rev%u at 0x%08llx irq %d\n", in pl08x_probe()
2965 (unsigned long long)adev->res.start, adev->irq[0]); in pl08x_probe()
2967 return 0; in pl08x_probe()
2979 free_irq(adev->irq[0], pl08x); in pl08x_probe()
3035 .id = 0x0a141080,
3036 .mask = 0xffffffff,
3041 .id = 0x00041080,
3042 .mask = 0x000fffff,
3047 .id = 0x00041081,
3048 .mask = 0x000fffff,
3053 .id = 0x00280080,
3054 .mask = 0x00ffffff,
3059 .id = 0x0003b080,
3060 .mask = 0x000fffff,
3063 { 0, 0 },