Lines Matching refs:dmadev
240 static u32 stm32_dma_read(struct stm32_dma_device *dmadev, u32 reg) in stm32_dma_read() argument
242 return readl_relaxed(dmadev->base + reg); in stm32_dma_read()
245 static void stm32_dma_write(struct stm32_dma_device *dmadev, u32 reg, u32 val) in stm32_dma_write() argument
247 writel_relaxed(val, dmadev->base + reg); in stm32_dma_write()
391 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_irq_status() local
403 dma_isr = stm32_dma_read(dmadev, STM32_DMA_HISR); in stm32_dma_irq_status()
405 dma_isr = stm32_dma_read(dmadev, STM32_DMA_LISR); in stm32_dma_irq_status()
414 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_irq_clear() local
428 stm32_dma_write(dmadev, STM32_DMA_HIFCR, dma_ifcr); in stm32_dma_irq_clear()
430 stm32_dma_write(dmadev, STM32_DMA_LIFCR, dma_ifcr); in stm32_dma_irq_clear()
435 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_disable_chan() local
440 dma_scr = stm32_dma_read(dmadev, reg); in stm32_dma_disable_chan()
444 stm32_dma_write(dmadev, reg, dma_scr); in stm32_dma_disable_chan()
446 return readl_relaxed_poll_timeout_atomic(dmadev->base + reg, in stm32_dma_disable_chan()
456 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_stop() local
461 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_stop()
463 stm32_dma_write(dmadev, STM32_DMA_SCR(chan->id), dma_scr); in stm32_dma_stop()
464 dma_sfcr = stm32_dma_read(dmadev, STM32_DMA_SFCR(chan->id)); in stm32_dma_stop()
466 stm32_dma_write(dmadev, STM32_DMA_SFCR(chan->id), dma_sfcr); in stm32_dma_stop()
515 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_dump_reg() local
516 u32 scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_dump_reg()
517 u32 ndtr = stm32_dma_read(dmadev, STM32_DMA_SNDTR(chan->id)); in stm32_dma_dump_reg()
518 u32 spar = stm32_dma_read(dmadev, STM32_DMA_SPAR(chan->id)); in stm32_dma_dump_reg()
519 u32 sm0ar = stm32_dma_read(dmadev, STM32_DMA_SM0AR(chan->id)); in stm32_dma_dump_reg()
520 u32 sm1ar = stm32_dma_read(dmadev, STM32_DMA_SM1AR(chan->id)); in stm32_dma_dump_reg()
521 u32 sfcr = stm32_dma_read(dmadev, STM32_DMA_SFCR(chan->id)); in stm32_dma_dump_reg()
535 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_start_transfer() local
564 stm32_dma_write(dmadev, STM32_DMA_SCR(chan->id), reg->dma_scr); in stm32_dma_start_transfer()
565 stm32_dma_write(dmadev, STM32_DMA_SPAR(chan->id), reg->dma_spar); in stm32_dma_start_transfer()
566 stm32_dma_write(dmadev, STM32_DMA_SM0AR(chan->id), reg->dma_sm0ar); in stm32_dma_start_transfer()
567 stm32_dma_write(dmadev, STM32_DMA_SFCR(chan->id), reg->dma_sfcr); in stm32_dma_start_transfer()
568 stm32_dma_write(dmadev, STM32_DMA_SM1AR(chan->id), reg->dma_sm1ar); in stm32_dma_start_transfer()
569 stm32_dma_write(dmadev, STM32_DMA_SNDTR(chan->id), reg->dma_sndtr); in stm32_dma_start_transfer()
585 stm32_dma_write(dmadev, STM32_DMA_SCR(chan->id), reg->dma_scr); in stm32_dma_start_transfer()
594 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_configure_next_sg() local
599 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_configure_next_sg()
609 stm32_dma_write(dmadev, STM32_DMA_SM0AR(id), dma_sm0ar); in stm32_dma_configure_next_sg()
611 stm32_dma_read(dmadev, STM32_DMA_SM0AR(id))); in stm32_dma_configure_next_sg()
614 stm32_dma_write(dmadev, STM32_DMA_SM1AR(id), dma_sm1ar); in stm32_dma_configure_next_sg()
616 stm32_dma_read(dmadev, STM32_DMA_SM1AR(id))); in stm32_dma_configure_next_sg()
642 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_chan_irq() local
648 scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_chan_irq()
649 sfcr = stm32_dma_read(dmadev, STM32_DMA_SFCR(chan->id)); in stm32_dma_chan_irq()
1042 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_get_remaining_bytes() local
1044 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(chan->id)); in stm32_dma_get_remaining_bytes()
1046 ndtr = stm32_dma_read(dmadev, STM32_DMA_SNDTR(chan->id)); in stm32_dma_get_remaining_bytes()
1065 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_is_current_sg() local
1070 dma_scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_is_current_sg()
1078 dma_smar = stm32_dma_read(dmadev, STM32_DMA_SM0AR(id)); in stm32_dma_is_current_sg()
1082 dma_smar = stm32_dma_read(dmadev, STM32_DMA_SM1AR(id)); in stm32_dma_is_current_sg()
1185 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_alloc_chan_resources() local
1190 ret = pm_runtime_resume_and_get(dmadev->ddev.dev); in stm32_dma_alloc_chan_resources()
1196 pm_runtime_put(dmadev->ddev.dev); in stm32_dma_alloc_chan_resources()
1204 struct stm32_dma_device *dmadev = stm32_dma_get_dev(chan); in stm32_dma_free_chan_resources() local
1216 pm_runtime_put(dmadev->ddev.dev); in stm32_dma_free_chan_resources()
1245 struct stm32_dma_device *dmadev = ofdma->of_dma_data; in stm32_dma_of_xlate() local
1246 struct device *dev = dmadev->ddev.dev; in stm32_dma_of_xlate()
1267 chan = &dmadev->chan[cfg.channel_id]; in stm32_dma_of_xlate()
1289 struct stm32_dma_device *dmadev; in stm32_dma_probe() local
1302 dmadev = devm_kzalloc(&pdev->dev, sizeof(*dmadev), GFP_KERNEL); in stm32_dma_probe()
1303 if (!dmadev) in stm32_dma_probe()
1306 dd = &dmadev->ddev; in stm32_dma_probe()
1309 dmadev->base = devm_ioremap_resource(&pdev->dev, res); in stm32_dma_probe()
1310 if (IS_ERR(dmadev->base)) in stm32_dma_probe()
1311 return PTR_ERR(dmadev->base); in stm32_dma_probe()
1313 dmadev->clk = devm_clk_get(&pdev->dev, NULL); in stm32_dma_probe()
1314 if (IS_ERR(dmadev->clk)) in stm32_dma_probe()
1315 return dev_err_probe(&pdev->dev, PTR_ERR(dmadev->clk), "Can't get clock\n"); in stm32_dma_probe()
1317 ret = clk_prepare_enable(dmadev->clk); in stm32_dma_probe()
1323 dmadev->mem2mem = of_property_read_bool(pdev->dev.of_node, in stm32_dma_probe()
1365 if (dmadev->mem2mem) { in stm32_dma_probe()
1372 chan = &dmadev->chan[i]; in stm32_dma_probe()
1383 chan = &dmadev->chan[i]; in stm32_dma_probe()
1401 stm32_dma_of_xlate, dmadev); in stm32_dma_probe()
1408 platform_set_drvdata(pdev, dmadev); in stm32_dma_probe()
1422 clk_disable_unprepare(dmadev->clk); in stm32_dma_probe()
1430 struct stm32_dma_device *dmadev = dev_get_drvdata(dev); in stm32_dma_runtime_suspend() local
1432 clk_disable_unprepare(dmadev->clk); in stm32_dma_runtime_suspend()
1439 struct stm32_dma_device *dmadev = dev_get_drvdata(dev); in stm32_dma_runtime_resume() local
1442 ret = clk_prepare_enable(dmadev->clk); in stm32_dma_runtime_resume()
1455 struct stm32_dma_device *dmadev = dev_get_drvdata(dev); in stm32_dma_suspend() local
1463 scr = stm32_dma_read(dmadev, STM32_DMA_SCR(id)); in stm32_dma_suspend()