14 Jan, 2015
1 commit
-
In case of PCI driver we will get a warning:
dw_dmac_pci 0000:00:18.0: Unbalanced pm_runtime_enable!
dw_dmac_pci 0000:00:18.0: DesignWare DMA Controller, 8 channelsThis happens due to pm_runtime_enable() call from the driver when PM runtime is
enabled by core.This patch moves that call to the platform driver where it might make sense.
Fixes: bb32baf76e56 (dmaengine: dw: enable runtime PM)
Signed-off-by: Andy Shevchenko
Signed-off-by: Vinod Koul
15 Oct, 2014
1 commit
-
Instead of conditional exporing of dw_dma_suspend() / dw_dma_resume() let's
export dw_dma_disable() / dw_dma_enable(). Since dw_dma_shutdown() repeats
dw_dma_disable() we may safely remove it at all.Signed-off-by: Andy Shevchenko
Signed-off-by: Vinod Koul
11 Sep, 2014
3 commits
-
On BayTrail platform DMA is not functional in the PCI mode, whereby it always
failed and exit at the point when it tries to get a clock. It causes the PCI
mode probe to exit with the error message:
dw_dmac_pci: probe of 0000:00:1e.0 failed with error -2This patch moves clock operations to where it belongs to. Thus, the clock is
provided only in ACPI / non-PCI cases.Reported-by: Chew, Chiau Ee
Signed-off-by: Andy Shevchenko
Signed-off-by: Vinod Koul -
The introduced filter function would be reused in the ACPI and DT cases since
in those cases we have to apply mandatory data to the requested channel. Thus,
patch moves platform driver to use it in that case.The function unlikely can't be used by users of the driver due to an implicit
dependency to the dw_dmac_core module.Signed-off-by: Andy Shevchenko
Signed-off-by: Vinod Koul -
Instead of one request line member let's use both source and destination ones.
Usually we have no such hardware except Atmel MMC controller found on AVR32
platform (see arch/avr32/mach-at32ap/at32ap700x.c and
drivers/mmc/host/atmel-mci.c).This patch removes slave_id usage since it'll be removed from the generic
structure in later. This breaks the non-ACPI / non-DT cases for the users of
the driver, i.e. SPI and HSUART. However, these cases mean only PCI enumerated
devices for now, which is anyway broken (considering more than one DMA
controller in the system) and this patch series is intended to fix that
eventually.The ACPI and DT cases shall be aware of the channel direction when setting
request lines, but this is a minor problem that would be addressed in future.Suggested-by: Arnd Bergmann
Signed-off-by: Andy Shevchenko
Signed-off-by: Vinod Koul
07 May, 2014
1 commit
-
There is no need to use *_noirq version of suspend and resume PM callbacks. The
suspend_late / resume_early suit better (it was discussed in [1]) and in future
could be used for runtime PM support.[1] http://www.spinics.net/lists/kernel/msg1650974.html
Signed-off-by: Andy Shevchenko
Signed-off-by: Vinod Koul
31 Oct, 2013
1 commit
-
This code sequence:
if (!pdev->dev.dma_mask) {
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
}
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.Signed-off-by: Russell King
05 Aug, 2013
1 commit
-
In rare cases (mostly for the testing purposes) the dw_dmac driver might be
compiled as a module as well as the other LPSS device drivers (I2C, SPI,
HSUART). When udev handles the event of the devices appearing the dw_dmac
module is missing. This patch will fix that.Signed-off-by: Andy Shevchenko
Acked-by: Viresh Kumar
Signed-off-by: Vinod Koul
05 Jul, 2013
1 commit
-
To simplify the driver development let's split driver to library and platform
code parts. It helps us to add PCI driver in future.Signed-off-by: Andy Shevchenko
Acked-by: Arnd Bergmann
Acked-by: Viresh Kumar
[Fixed compile error and few checkpatch issues]
Signed-off-by: Vinod Koul