Lines Matching refs:dmadev
236 static u32 stm32_dma_read(struct stm32_dma_device *dmadev, u32 reg) in stm32_dma_read() argument
238 return readl_relaxed(dmadev->base + reg); in stm32_dma_read()
241 static void stm32_dma_write(struct stm32_dma_device *dmadev, u32 reg, u32 val) in stm32_dma_write() argument
243 writel_relaxed(val, dmadev->base + reg); in stm32_dma_write()
380 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_irq_status() local
392 dma_isr = stm32_dma_read(dmadev, STM32_DMA_HISR); in stm32_dma_irq_status()
394 dma_isr = stm32_dma_read(dmadev, STM32_DMA_LISR); in stm32_dma_irq_status()
403 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_irq_clear() local
417 stm32_dma_write(dmadev, STM32_DMA_HIFCR, dma_ifcr); in stm32_dma_irq_clear()
419 stm32_dma_write(dmadev, STM32_DMA_LIFCR, dma_ifcr); in stm32_dma_irq_clear()
424 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_disable_chan() local
429 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_disable_chan()
433 stm32_dma_write(dmadev, STM32_DMA_SCR(id), dma_scr); in stm32_dma_disable_chan()
436 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_disable_chan()
455 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_stop() local
460 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_stop()
462 stm32_dma_write(dmadev, STM32_DMA_SCR(chan->id), dma_scr); in stm32_dma_stop()
463 dma_sfcr = stm32_dma_read(dmadev, STM32_DMA_SFCR(chan->id)); in stm32_dma_stop()
465 stm32_dma_write(dmadev, STM32_DMA_SFCR(chan->id), dma_sfcr); in stm32_dma_stop()
512 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_dump_reg() local
513 u32 scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_dump_reg()
514 u32 ndtr = stm32_dma_read(dmadev, STM32_DMA_SNDTR(chan->id)); in stm32_dma_dump_reg()
515 u32 spar = stm32_dma_read(dmadev, STM32_DMA_SPAR(chan->id)); in stm32_dma_dump_reg()
516 u32 sm0ar = stm32_dma_read(dmadev, STM32_DMA_SM0AR(chan->id)); in stm32_dma_dump_reg()
517 u32 sm1ar = stm32_dma_read(dmadev, STM32_DMA_SM1AR(chan->id)); in stm32_dma_dump_reg()
518 u32 sfcr = stm32_dma_read(dmadev, STM32_DMA_SFCR(chan->id)); in stm32_dma_dump_reg()
532 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_start_transfer() local
558 stm32_dma_write(dmadev, STM32_DMA_SCR(chan->id), reg->dma_scr); in stm32_dma_start_transfer()
559 stm32_dma_write(dmadev, STM32_DMA_SPAR(chan->id), reg->dma_spar); in stm32_dma_start_transfer()
560 stm32_dma_write(dmadev, STM32_DMA_SM0AR(chan->id), reg->dma_sm0ar); in stm32_dma_start_transfer()
561 stm32_dma_write(dmadev, STM32_DMA_SFCR(chan->id), reg->dma_sfcr); in stm32_dma_start_transfer()
562 stm32_dma_write(dmadev, STM32_DMA_SM1AR(chan->id), reg->dma_sm1ar); in stm32_dma_start_transfer()
563 stm32_dma_write(dmadev, STM32_DMA_SNDTR(chan->id), reg->dma_sndtr); in stm32_dma_start_transfer()
579 stm32_dma_write(dmadev, STM32_DMA_SCR(chan->id), reg->dma_scr); in stm32_dma_start_transfer()
588 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_configure_next_sg() local
593 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_configure_next_sg()
603 stm32_dma_write(dmadev, STM32_DMA_SM0AR(id), dma_sm0ar); in stm32_dma_configure_next_sg()
605 stm32_dma_read(dmadev, STM32_DMA_SM0AR(id))); in stm32_dma_configure_next_sg()
608 stm32_dma_write(dmadev, STM32_DMA_SM1AR(id), dma_sm1ar); in stm32_dma_configure_next_sg()
610 stm32_dma_read(dmadev, STM32_DMA_SM1AR(id))); in stm32_dma_configure_next_sg()
637 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_chan_irq() local
643 scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_chan_irq()
644 sfcr = stm32_dma_read(dmadev, STM32_DMA_SFCR(chan->id)); in stm32_dma_chan_irq()
1029 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_get_remaining_bytes() local
1031 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_get_remaining_bytes()
1033 ndtr = stm32_dma_read(dmadev, STM32_DMA_SNDTR(chan->id)); in stm32_dma_get_remaining_bytes()
1052 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_is_current_sg() local
1057 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_is_current_sg()
1065 dma_smar = stm32_dma_read(dmadev, STM32_DMA_SM0AR(id)); in stm32_dma_is_current_sg()
1069 dma_smar = stm32_dma_read(dmadev, STM32_DMA_SM1AR(id)); in stm32_dma_is_current_sg()
1172 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_alloc_chan_resources() local
1177 ret = pm_runtime_get_sync(dmadev->ddev.dev); in stm32_dma_alloc_chan_resources()
1183 pm_runtime_put(dmadev->ddev.dev); in stm32_dma_alloc_chan_resources()
1191 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_free_chan_resources() local
1203 pm_runtime_put(dmadev->ddev.dev); in stm32_dma_free_chan_resources()
1230 struct stm32_dma_device *dmadev = ofdma->of_dma_data; in stm32_dma_of_xlate() local
1231 struct device *dev = dmadev->ddev.dev; in stm32_dma_of_xlate()
1252 chan = &dmadev->chan[cfg.channel_id]; in stm32_dma_of_xlate()
1274 struct stm32_dma_device *dmadev; in stm32_dma_probe() local
1286 dmadev = devm_kzalloc(&pdev->dev, sizeof(*dmadev), GFP_KERNEL); in stm32_dma_probe()
1287 if (!dmadev) in stm32_dma_probe()
1290 dd = &dmadev->ddev; in stm32_dma_probe()
1293 dmadev->base = devm_ioremap_resource(&pdev->dev, res); in stm32_dma_probe()
1294 if (IS_ERR(dmadev->base)) in stm32_dma_probe()
1295 return PTR_ERR(dmadev->base); in stm32_dma_probe()
1297 dmadev->clk = devm_clk_get(&pdev->dev, NULL); in stm32_dma_probe()
1298 if (IS_ERR(dmadev->clk)) { in stm32_dma_probe()
1300 return PTR_ERR(dmadev->clk); in stm32_dma_probe()
1303 ret = clk_prepare_enable(dmadev->clk); in stm32_dma_probe()
1309 dmadev->mem2mem = of_property_read_bool(pdev->dev.of_node, in stm32_dma_probe()
1312 dmadev->rst = devm_reset_control_get(&pdev->dev, NULL); in stm32_dma_probe()
1313 if (!IS_ERR(dmadev->rst)) { in stm32_dma_probe()
1314 reset_control_assert(dmadev->rst); in stm32_dma_probe()
1316 reset_control_deassert(dmadev->rst); in stm32_dma_probe()
1343 if (dmadev->mem2mem) { in stm32_dma_probe()
1350 chan = &dmadev->chan[i]; in stm32_dma_probe()
1361 chan = &dmadev->chan[i]; in stm32_dma_probe()
1379 stm32_dma_of_xlate, dmadev); in stm32_dma_probe()
1386 platform_set_drvdata(pdev, dmadev); in stm32_dma_probe()
1400 clk_disable_unprepare(dmadev->clk); in stm32_dma_probe()
1408 struct stm32_dma_device *dmadev = dev_get_drvdata(dev); in stm32_dma_runtime_suspend() local
1410 clk_disable_unprepare(dmadev->clk); in stm32_dma_runtime_suspend()
1417 struct stm32_dma_device *dmadev = dev_get_drvdata(dev); in stm32_dma_runtime_resume() local
1420 ret = clk_prepare_enable(dmadev->clk); in stm32_dma_runtime_resume()