Re: [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason()

2015-11-20 Thread Peter Ujfalusi
On 11/20/2015 12:58 PM, Arnd Bergmann wrote: >>> That way the vast majority of drivers can use one of the two nice interfaces >>> and the rest can be converted to use __dma_request_chan(). >>> >>> On a related topic, we had in the past considered providing a way for >>> platform code to register a

Re: [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason()

2015-11-20 Thread Peter Ujfalusi
On 11/19/2015 01:25 PM, Arnd Bergmann wrote: >> If we have two main APIs, one to request slave channels and one to get any >> channel with given capability >> dma_request_slave_channel(NULL, NULL, , fn, fn_param); /* Legacy slave >> */ >> dma_request_slave_channel(dev, name, NULL, NULL, NULL); /*

Re: [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason()

2015-11-19 Thread Peter Ujfalusi
On 11/18/2015 05:46 PM, Andy Shevchenko wrote: > On Wed, Nov 18, 2015 at 4:21 PM, Peter Ujfalusi <peter.ujfal...@ti.com> wrote: >> Hi Vinod, >> >> bringing this old thread back to life as I just started to work on this. > > What I remember we need to convert

Re: [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason()

2015-11-19 Thread Peter Ujfalusi
On 11/18/2015 05:07 PM, Arnd Bergmann wrote: > On Wednesday 18 November 2015 16:41:35 Peter Ujfalusi wrote: >> On 11/18/2015 04:29 PM, Arnd Bergmann wrote: >>> On Wednesday 18 November 2015 16:21:26 Peter Ujfalusi wrote: >>>> 2. non slave channel requests, where

Re: [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason()

2015-11-18 Thread Peter Ujfalusi
Hi Vinod, bringing this old thread back to life as I just started to work on this. On 06/24/2015 07:24 PM, Vinod Koul wrote: >> We would end up with the following APIs, all returning with error code on >> failure: >> dma_request_slave_channel(dev, name); >> dma_request_channel_legacy(mask, fn,

Re: [PATCH 02/13] dmaengine: Introduce dma_request_slave_channel_compat_reason()

2015-11-18 Thread Peter Ujfalusi
On 11/18/2015 04:29 PM, Arnd Bergmann wrote: > On Wednesday 18 November 2015 16:21:26 Peter Ujfalusi wrote: >> 2. non slave channel requests, where only the functionality matters, like >> memcpy, interleaved, memset, etc. >> We could have a simple: >> dma_request_chann

[PATCH 1/4] dmaengine: omap-dma: Correct status reporting for memcpy

2015-11-11 Thread Peter Ujfalusi
During mem copy both src and dst position moves at the same pace. Check the dst position for progress reporting. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Tested-by: Tomi Valkeinen <tomi.valkei...@ti.com> Signed-off-by: Jyri Sarha <jsa...@ti.com> --- drivers/dma/om

[PATCH 4/4] dmaengine: omap-dma: Handle cases when the channel is polled for completion

2015-11-11 Thread Peter Ujfalusi
and will not mark the transaction as done. Check the channel enable bit in the CCR when the status is queried and if the channel is no longer active, we call the omap_dma_callback() to handle the transfer completion. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/omap-dma.c | 6 +++

[PATCH 3/4] dmaengine: omap-dma: Remove tasklet to start the transfers

2015-11-11 Thread Peter Ujfalusi
) dmatest: dma0chan16-copy: summary 5000 tests, 0 failures 199 iops 638 KB/s (0) Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/omap-dma.c | 59 ++ 1 file changed, 2 insertions(+), 57 deletions(-) diff --git a/drivers/dm

[PATCH 2/4] dmaengine: omap-dma: Clean up the prep_slave_sg sg list walk code

2015-11-11 Thread Peter Ujfalusi
The for_each_sg() macro's last parameter is inteded to be used as counter. We can use 'i' instead of 'j' within the loop for indexes. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/omap-dma.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff

[PATCH 0/4] dmaengine: omap-dma: transfer start and short memcpy improvement

2015-11-11 Thread Peter Ujfalusi
sed by a client and the client is not using completion, but polling for the end of the transfer. Regards, Peter --- Peter Ujfalusi (4): dmaengine: omap-dma: Correct status reporting for memcpy dmaengine: omap-dma: Clean up the prep_slave_sg sg list walk code dmaengine: omap-dma: Remove t

[PATCH v4 0/3] ARM: OMAP2+ McASP(3) support for DRA7xx family

2015-11-11 Thread Peter Ujfalusi
. All in all, the McASP found in DRA7 needs all clocks to be enabled. To satisfy this I have introduced a new flag to hwmod, which means that the listed optional clocks need to be handled alongside with the fclk clock. Regards, Peter --- Peter Ujfalusi (3): ARM: DTS: dra7: Fix McASP3 node

[PATCH v4 3/3] ARM: OMAP: DRA7: hwmod: Add data for McASP3

2015-11-11 Thread Peter Ujfalusi
McASP3 is used by default on DRA7x based boards for audio. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Acked-by: Paul Walmsley <p...@pwsan.com> Tested-by: Felipe Balbi <ba...@ti.com> --- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 56 +++

[PATCH v4 2/3] ARM: OMAP2+: hwmod: Add hwmod flag for HWMOD_OPT_CLKS_NEEDED

2015-11-11 Thread Peter Ujfalusi
the module's address space. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Acked-by: Paul Walmsley <p...@pwsan.com> Tested-by: Felipe Balbi <ba...@ti.com> --- arch/arm/mach-omap2/omap_hwmod.c | 66 ++-- arch/arm/mach-omap2/omap_hwmod.

[PATCH v4 1/3] ARM: DTS: dra7: Fix McASP3 node regarding to clocks

2015-11-11 Thread Peter Ujfalusi
McASP node needs to list all mandatory clocks: gfclk and ahclkx Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Tested-by: Felipe Balbi <ba...@ti.com> --- arch/arm/boot/dts/dra7.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/dra7

Re: [PATCH] ARM: OMAP: DRA7: hwmod: Add data for McASP3

2015-11-11 Thread Peter Ujfalusi
Felipe, On 11/11/2015 07:07 PM, Felipe Balbi wrote: > From: Peter Ujfalusi <peter.ujfal...@ti.com> > > McASP3 is used by default on DRA7x based boards for audio. While this patch works, it is not the correct one(s) to apply. https://lkml.org/lkml/2015/10/30/91 is the series wh

Re: [PATCH v3 0/3] ARM: OMAP2+ McASP(3) support for DRA7xx family

2015-11-11 Thread Peter Ujfalusi
Tony, On 10/30/2015 06:11 PM, Paul Walmsley wrote: > Hi Péter > > On Fri, 30 Oct 2015, Peter Ujfalusi wrote: > >> Changes since v2: >> - DTS patch added which is needed because of the clock handling changes >> >> Felip Balbi reported that linux-next is

Re: [PATCH 12/13] [media] omap3isp: Support for deferred probing when requesting DMA channel

2015-11-09 Thread Peter Ujfalusi
the coming weeks. Thanks, Péter > > On Tuesday 26 May 2015 16:26:07 Peter Ujfalusi wrote: >> Switch to use ma_request_slave_channel_compat_reason() to request the DMA >> channel. Only fall back to pio mode if the error code returned is not >> -EPROBE_DEFER, otherwise retur

Re: [PATCH] ASoC: davinci-mcasp: Fix TDM slot rx/tx mask associations

2015-11-09 Thread Peter Ujfalusi
rx_mask as 0) for output-only codecs to control the TDM slot(s) > the McASP serial port uses for transmit. Before that, this scenario > would incorrectly rely on the rx_mask for this. > > Signed-off-by: Andreas Dannenberg <dannenb...@ti.com> Acked-by: Peter Ujfalusi <peter.ujf

Re: [PATCH v2 2/3] dmaengine: ti-dma-crossbar: dra7: Support for reserving DMA event ranges

2015-11-09 Thread Peter Ujfalusi
On 11/06/2015 11:53 PM, Rob Herring wrote: > On Fri, Oct 30, 2015 at 10:00:37AM +0200, Peter Ujfalusi wrote: >> In eDMA the events are directly mapped to a DMA channel (for example DMA >> event 14 can only be handled by DMA channel 14). If the memcpy is enabled

Re: [PATCH v2 13/14] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3

2015-11-04 Thread Peter Ujfalusi
On 11/04/2015 10:37 AM, Vinod Koul wrote: > On Mon, Nov 02, 2015 at 05:46:05PM +0200, Peter Ujfalusi wrote: >>> Okay I have reverted the two and applied the edma patch sent, can you please >>> verify topic/edma_fix before I merge it and send my PULL request. >> >>

Re: [PATCH] dmaengine: edma: fix build without CONFIG_OF

2015-11-04 Thread Peter Ujfalusi
On 11/04/2015 10:46 AM, Arnd Bergmann wrote: > On Wednesday 04 November 2015 09:42:35 Peter Ujfalusi wrote: >> On 11/03/2015 04:00 PM, Arnd Bergmann wrote: >>> During the edma rework, a build error was introduced for the >>> case that CONFIG_OF is disabled: >>>

[PATCH] mmc: omap_hsmmc: No need to check DMA channel validity at module remove

2015-11-03 Thread Peter Ujfalusi
The driver will not probe without valid DMA channels so no need to check if they are valid when the module is removed. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> CC: Ulf Hansson <ulf.hans...@linaro.org> --- drivers/mmc/host/omap_hsmmc.c | 6 ++ 1 file changed, 2 inse

Re: [PATCH] dmaengine: edma: fix build without CONFIG_OF

2015-11-03 Thread Peter Ujfalusi
On 11/03/2015 04:00 PM, Arnd Bergmann wrote: > During the edma rework, a build error was introduced for the > case that CONFIG_OF is disabled: > > drivers/built-in.o: In function `edma_tc_set_pm_state': > :(.text+0x43bf0): undefined reference to `of_find_device_by_node' > > As the

[PATCH] dmaengine: edma: Add dummy driver skeleton for edma3-tptc

2015-11-02 Thread Peter Ujfalusi
or remove callbacks provided. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Reported-by: Olof Johansson <o...@lixom.net> --- Hi, while it would have been possible to add the edma3-tptc compatible to be handled by the edma-tpcc driver (and when the device is tptc, do nothing) i

Re: [PATCH v2 13/14] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3

2015-11-02 Thread Peter Ujfalusi
Vinod, On 11/02/2015 05:40 PM, Vinod Koul wrote: > On Mon, Nov 02, 2015 at 02:13:01PM +0200, Peter Ujfalusi wrote: >> Vinod, >> >> On 11/02/2015 12:04 PM, Vinod Koul wrote: >>> On Mon, Nov 02, 2015 at 01:21:19AM -0800, Olof Johansson wrote: >>>> Hi,

[PATCH] ARM: OMAP: hwmod: AM33xx/43xx: Add HWMOD_INIT_NO_IDLE flag to tptc

2015-11-02 Thread Peter Ujfalusi
, the HWMOD_INIT_NO_IDLE need to be added. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- Vinod, Olof, This patch somehow got lost in my working branch. It was mixed within the patches I will have for 4.5 while it should have been within the new eDMA3 binding series.. Regards, Peter ar

Re: [PATCH v2 13/14] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3

2015-11-02 Thread Peter Ujfalusi
t; > > Thanks, > > -Olof > > On Fri, Oct 16, 2015 at 12:18 AM, Peter Ujfalusi <peter.ujfal...@ti.com> > wrote: >> Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and >> enable the DMA even crossbar with ti,am335x-edma-crossbar. >&

Re: [PATCH] ARM: OMAP: hwmod: AM33xx/43xx: Add HWMOD_INIT_NO_IDLE flag to tptc

2015-11-02 Thread Peter Ujfalusi
On 11/02/2015 12:24 PM, Vinod Koul wrote: > On Mon, Nov 02, 2015 at 12:11:00PM +0200, Peter Ujfalusi wrote: >> In Linux we do not have driver for TPTCs of eDMA3 since there is no need to >> do any configuration within TPTC for the eDMA3 to be operational. All >> configur

Re: [PATCH v2 13/14] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3

2015-11-02 Thread Peter Ujfalusi
Vinod, On 11/02/2015 12:04 PM, Vinod Koul wrote: > On Mon, Nov 02, 2015 at 01:21:19AM -0800, Olof Johansson wrote: >> Hi, >> >> 1) This seems to have broken BBB in -next for me, bisected down to this >> patch. >> >> For bootlog: >>

Re: [PATCH] ARM: OMAP: hwmod: AM33xx/43xx: Add HWMOD_INIT_NO_IDLE flag to tptc

2015-11-02 Thread Peter Ujfalusi
On 11/02/2015 12:23 PM, Peter Ujfalusi wrote: > On 11/02/2015 12:24 PM, Vinod Koul wrote: >> On Mon, Nov 02, 2015 at 12:11:00PM +0200, Peter Ujfalusi wrote: >>> In Linux we do not have driver for TPTCs of eDMA3 since there is no need to >>> do any configuratio

Re: [PATCH 0/3] dmaengine: ti-dma-crossbar: channel reserving and edma3-tcc support

2015-10-30 Thread Peter Ujfalusi
Vinod, On 10/29/2015 10:28 AM, Peter Ujfalusi wrote: > Hi, > > This series depends on the eDMA work I have done, which has been now applied: > https://lkml.org/lkml/2015/10/16/64 > > DRA7 family of chips have both sDMA and eDMA. Currently only sDMA can be used > becasue

[PATCH v2 0/3] dmaengine: ti-dma-crossbar: channel reserving and edma3-tpcc support

2015-10-30 Thread Peter Ujfalusi
out channels used for memcpy from the events we use for HW triggers. Regards, Peter --- Peter Ujfalusi (3): dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr dmaengine: ti-dma-crossbar: dra7: Support for reserving DMA event ranges dmaengine: ti-dma-crossbar: dra7: Support

[PATCH v2 2/3] dmaengine: ti-dma-crossbar: dra7: Support for reserving DMA event ranges

2015-10-30 Thread Peter Ujfalusi
can be shared with DSP in which case the crossbar driver should also avoid mapping xbar events to DSP used event numbers (or channels). Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- .../devicetree/bindings/dma/ti-dma-crossbar.txt| 6 +++ drivers/dma/ti-dma-cros

[PATCH v3 2/3] ARM: OMAP2+: hwmod: Add hwmod flag for HWMOD_OPT_CLKS_NEEDED

2015-10-30 Thread Peter Ujfalusi
the module's address space. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/mach-omap2/omap_hwmod.c | 66 ++-- arch/arm/mach-omap2/omap_hwmod.h | 3 ++ 2 files changed, 39 insertions(+), 30 deletions(-) diff --git a/arch/arm/mach

[PATCH v3 0/3] ARM: OMAP2+ McASP(3) support for DRA7xx family

2015-10-30 Thread Peter Ujfalusi
to hwmod, which means that the listed optional clocks need to be handled alongside with the fclk clock. Regards, Peter --- Peter Ujfalusi (3): ARM: DTS: dra7: Fix McASP3 node regarding to clocks ARM: OMAP2+: hwmod: Add hwmod flag for HWMOD_OPT_CLKS_NEEDED ARM: OMAP: DRA7: hwmod: Add data for McASP3

[PATCH v3 3/3] ARM: OMAP: DRA7: hwmod: Add data for McASP3

2015-10-30 Thread Peter Ujfalusi
McASP3 is used by default on DRA7x based boards for audio. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 56 +++ 1 file changed, 56 insertions(+) diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c

[PATCH v3 1/3] ARM: DTS: dra7: Fix McASP3 node regarding to clocks

2015-10-30 Thread Peter Ujfalusi
McASP node needs to list all mandatory clocks: gfclk and ahclkx Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/boot/dts/dra7.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi

Re: [PATCH 1/3] dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr

2015-10-30 Thread Peter Ujfalusi
For the record... On 10/29/2015 10:28 AM, Peter Ujfalusi wrote: > The use of idr was nice, but it was a bit heavy and we did not need the > features it provides. Using simple bitmap to track allocated DMA channels > is adequate here and it will be easier to add support for reserving &

[PATCH v2 1/3] dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr

2015-10-30 Thread Peter Ujfalusi
The use of idr was nice, but it was a bit heavy and we did not need the features it provides. Using simple bitmap to track allocated DMA channels is adequate here and it will be easier to add support for reserving channels later on. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.

[PATCH v2 3/3] dmaengine: ti-dma-crossbar: dra7: Support for eDMA with new bindings

2015-10-30 Thread Peter Ujfalusi
Allow the crossbar driver to be used with the eDMA node with non legacy binding. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/ti-dma-crossbar.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/dma/ti-dma-crossbar.c b/drivers/dma/ti-dma-crossbar.c

[PATCH 0/3] dmaengine: ti-dma-crossbar: channel reserving and edma3-tcc support

2015-10-29 Thread Peter Ujfalusi
(ARM, DSP, etc) and since ARM/Linux is the master we need to know which channels are used by other cores. Also we need to mask out channels used for memcpy from the events we use for HW triggers. Regards, Peter --- Peter Ujfalusi (3): dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr

[PATCH 3/3] dmaengine: ti-dma-crossbar: dra7: Support for eDMA with new bindings

2015-10-29 Thread Peter Ujfalusi
Allow the crossbar driver to be used with the eDMA node with non legacy binding. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/ti-dma-crossbar.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/dma/ti-dma-crossbar.c b/drivers/dma/ti-dma-crossbar.c

[PATCH 1/3] dmaengine: ti-dma-crossbar: dra7: Use bitops instead of idr

2015-10-29 Thread Peter Ujfalusi
The use of idr was nice, but it was a bit heavy and we did not need the features it provides. Using simple bitmap to track allocated DMA channels is adequate here and it will be easier to add support for reserving channels later on. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.

[PATCH 2/3] dmaengine: ti-dma-crossbar: dra7: Support for reserving DMA event ranges

2015-10-29 Thread Peter Ujfalusi
can be shared with DSP in which case the crossbar driver should also avoid mapping xbar events to DSP used event numbers (or channels). Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- .../devicetree/bindings/dma/ti-dma-crossbar.txt| 6 +++ drivers/dma/ti-dma-cros

Re: [PATCH v2 0/2] ARM: OMAP2+ McASP(3) support for DRA7xx family

2015-10-27 Thread Peter Ujfalusi
Hi Paul, On 10/14/2015 12:23 PM, Peter Ujfalusi wrote: > Hi Paul, > > This is the followup series for the hwmod changes needed to get audio working > on DRA7xx family based boards. > The DTS patches has been applied by Tony from the original series: > http://www.spinics.ne

[PATCH v2 07/14] dmaengine: edma: Refactor the dma device and channel struct initialization

2015-10-16 Thread Peter Ujfalusi
Move all code under one function to do the dma device and eDMA channel related setup so they are not scattered around the driver. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 79 +- 1 file chang

[PATCH v2 09/14] dmaengine: edma: Merge the of parsing functions

2015-10-16 Thread Peter Ujfalusi
Instead of nesting functions just merge them since the resulting function is still small and readable. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 24 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/drivers/dma/ed

[PATCH v2 10/14] dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx

2015-10-16 Thread Peter Ujfalusi
line. If different mux is selected, then the selected event is going to be routed to the given eDMA event. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- .../devicetree/bindings/dma/ti-dma-crossbar.txt| 15 +- drivers/dma/ti-dma-crossbar.c

[PATCH v2 12/14] dmaengine: edma: New device tree binding

2015-10-16 Thread Peter Ujfalusi
be assigned to any TC (to set priority) - PaRAM slots can be reserved for other cores to use - Dynamic power management for CC and TCs, if only TC0 is used all other TC can be powered down for example Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- Documentation/devicetree/bindings/

[PATCH v2 11/14] dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP

2015-10-16 Thread Peter Ujfalusi
Since the crossbar is needed for eDMA when it is used on OMAP like platforms (am335x/am437x and later DRA7xx), select the crossbar to be built if ARCH_OMAP is set. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/Kconfig | 1 + 1 file changed, 1 insertion(+) diff

[PATCH v2 13/14] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3

2015-10-16 Thread Peter Ujfalusi
with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/boot/dts/am335x-evm.dts| 9 +--- arch/arm/boot/dts/am335x-pepper.dts | 11 + arch/arm/bo

[PATCH v2 06/14] dmaengine: edma: Get qDMA channel information from HW also

2015-10-16 Thread Peter Ujfalusi
Query the number of qDMA channels from CCCFG register. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index eaf1f9e4bde0..ea851ab05c8e 100644 --- a/drivers/dma/

[PATCH v2 03/14] dmaengine: edma: Simplify function parameter list for channel operations

2015-10-16 Thread Peter Ujfalusi
the driver. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 396 + 1 file changed, 123 insertions(+), 273 deletions(-) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index c0165e3d3396..a64befecf477

[PATCH v2 08/14] dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot

2015-10-16 Thread Peter Ujfalusi
The channel/slot reservation is not supported when booted with DT so there is not need to allocate memory. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c

[PATCH v2 14/14] ARM: DTS: am437x: Use the new DT bindings for the eDMA3

2015-10-16 Thread Peter Ujfalusi
with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/boot/dts/am4372.dtsi | 82 - arch/arm/boot/dts/am437x-gp-e

[PATCH v2 05/14] dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq

2015-10-16 Thread Peter Ujfalusi
edma_assign_channel_eventq() is a wrapper around edma_map_dmach_to_queue() We can merge the content of the later so we will have only one function to be used for mapping channels to given eventq Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.

[PATCH v2 01/14] dmaengine: edma: Remove alignment constraint for memcpy

2015-10-16 Thread Peter Ujfalusi
Despite the claim by the original commit adding the memcpy support, eDMA does not have constraint on the alignment of src, dst or length in increment mode. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 13 ++--- 1 file changed, 6 insertions

[PATCH v2 00/14] dmaenigne: edma/ti-crossbar: fixes, new bindings

2015-10-16 Thread Peter Ujfalusi
maintaining this (and other patches) in my linux-next-wip branch if someone wants to try it out w/o needing to hunt for patches: https://github.com/omap-audio/linux-audio.git peter/linux-next-wip Regards, Peter --- Peter Ujfalusi (14): dmaengine: edma: Remove alignment constraint for memcpy

[PATCH v2 04/14] dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_)

2015-10-16 Thread Peter Ujfalusi
These inline functions are designed to modify parts of the PaRAM in eDMA. Change the names accordingly. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/dma/ed

[PATCH v2 02/14] dmaengine: edma: Optimize memcpy operation

2015-10-16 Thread Peter Ujfalusi
the remaining data. According to tests this patch increases the throughput of memcpy from ~3MB/s to 15MB/s Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 96 ++ 1 file changed, 75 insertions(+), 21 del

Re: [PATCH v5 00/24] dmaengine/ARM: Merge the edma drivers into one

2015-10-15 Thread Peter Ujfalusi
On 10/14/2015 05:31 PM, Vinod Koul wrote: > On Wed, Oct 14, 2015 at 02:42:42PM +0300, Peter Ujfalusi wrote: >> Hi, >> >> Cover letter: >> >> with this series the edma two driver setup will be changed to have only one >> driver to support eDMA3. The legacy

Re: [PATCH 00/11] ARM: OMAP/DTS: dra7/72-evm/beagle-x15: Audio support

2015-10-15 Thread Peter Ujfalusi
Tony, On 10/12/2015 11:57 PM, Tony Lindgren wrote: > * Tony Lindgren <t...@atomide.com> [150914 09:32]: >> * Peter Ujfalusi <peter.ujfal...@ti.com> [150914 01:54]: >>> Hi Tony, >>> >>> On 08/24/2015 10:19 AM, Peter Ujfalusi wrote: >>>

Re: [PATCH 10/13] dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx

2015-10-14 Thread Peter Ujfalusi
On 10/14/2015 05:48 PM, Vinod Koul wrote: > On Wed, Oct 14, 2015 at 04:12:21PM +0300, Peter Ujfalusi wrote: >> The DMA event crossbar on AM33xx/AM43xx is different from the one found in >> DRA7x family. >> Instead of a single event crossbar it has 64 identical mux attached

Re: [PATCH 02/13] dmaengine: edma: Optimize memcpy operation

2015-10-14 Thread Peter Ujfalusi
On 10/14/2015 05:41 PM, Vinod Koul wrote: > On Wed, Oct 14, 2015 at 04:12:13PM +0300, Peter Ujfalusi wrote: >> @@ -1320,41 +1317,92 @@ static struct dma_async_tx_descriptor >> *edma_prep_dma_memcpy( >> struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, >>

[PATCH v2 1/2] ARM: OMAP2+: hwmod: Add hwmod flag for HWMOD_OPT_CLKS_NEEDED

2015-10-14 Thread Peter Ujfalusi
the module's address space. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/mach-omap2/omap_hwmod.c | 66 ++-- arch/arm/mach-omap2/omap_hwmod.h | 3 ++ 2 files changed, 39 insertions(+), 30 deletions(-) diff --git a/arch/arm/mach

[PATCH v2 0/2] ARM: OMAP2+ McASP(3) support for DRA7xx family

2015-10-14 Thread Peter Ujfalusi
in the HW w/o any SW interaction. All in all, the McASP found in DRA7 needs all clocks to be enabled. To satisfy this I have introduced a new flag to hwmod, which means that the listed optional clocks need to be handled alongside with the fclk clock. Regards, Peter --- Peter Ujfalusi (2): ARM

[PATCH v2 2/2] ARM: OMAP: DRA7: hwmod: Add data for McASP3

2015-10-14 Thread Peter Ujfalusi
McASP3 is used by default on DRA7x based boards for audio. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 56 +++ 1 file changed, 56 insertions(+) diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c

Re: [PATCH v4 00/25] dmaengine/ARM: Merge the edma drivers into one

2015-10-14 Thread Peter Ujfalusi
On 10/14/2015 01:27 PM, Vinod Koul wrote: > On Thu, Sep 24, 2015 at 01:01:47PM +0300, Peter Ujfalusi wrote: >> Hi, >> >> Cover letter: >> >> with this series the edma two driver setup will be changed to have only one >> driver to support eDMA3. The legacy

Re: [PATCH v4 20/25] dmaengine: edma: Simplify the interrupt handling

2015-10-14 Thread Peter Ujfalusi
On 10/14/2015 01:20 PM, Vinod Koul wrote: > On Thu, Sep 24, 2015 at 01:02:07PM +0300, Peter Ujfalusi wrote: > >> +if (edesc->cyclic) { >> +vchan_cyclic_callback(>vdesc); >> +spin_unlock(>vchan.lock); >> +return; >&

Re: [PATCH v4 20/25] dmaengine: edma: Simplify the interrupt handling

2015-10-14 Thread Peter Ujfalusi
On 10/14/2015 02:12 PM, Peter Ujfalusi wrote: >>> + } else if (edma_read(ecc, EDMA_QEMR)) { >>> + dev_dbg(ecc->dev, "QEMR %02x\n", >>> + edma_read(ecc, EDMA_QEMR)); >

[PATCH v5 20/24] dmaengine: edma: Move the pending error check into helper function

2015-10-14 Thread Peter Ujfalusi
In the ccerr interrupt handler the code checks for pending errors in the error status registers in two different places. Move the check out to a helper function. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 20 1 file changed, 12 inse

[PATCH v5 00/24] dmaengine/ARM: Merge the edma drivers into one

2015-10-14 Thread Peter Ujfalusi
/ Regards, Peter --- Peter Ujfalusi (24): ARM: common: edma: Fix channel parameter for irq callbacks ARM: common: edma: Remove unused functions dmaengine: edma: Simplify and optimize the edma_execute path ARM: davinci/common: Convert edma driver to handle one eDMA instance per driver ARM

[PATCH v5 12/24] dmaengine: edma: Allocate memory dynamically for bitmaps and structures

2015-10-14 Thread Peter Ujfalusi
Instead of using defines to specify the size of different arrays and bitmaps, allocate the memory for them based on the information we get from the HW itself. Since these defines are set based on the worst case, there are devices where they are not valid. Signed-off-by: Peter Ujfalusi

[PATCH v5 11/24] ARM/dmaengine: edma: Merge the two drivers under drivers/dma/

2015-10-14 Thread Peter Ujfalusi
Move the code out from arch/arm/common and merge it inside of the dmaengine driver. This change is done with as minimal (if eny) functional change to the code as possible to avoid introducing regression. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Acked-by: Tony Lindg

[PATCH v5 17/24] dmaengine: edma: Print warning when linking slots from different eDMA

2015-10-14 Thread Peter Ujfalusi
Warning message in case of linking between paRAM slots in different eDMA controllers. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index f6653da0ee16..d33ae0

[PATCH v5 19/24] dmaengine: edma: Simplify the interrupt handling

2015-10-14 Thread Peter Ujfalusi
With the merger of the arch/arm/common/edma.c code into the dmaengine driver, there is no longer need to have per channel callback/data storage for interrupt events. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c

[PATCH v5 22/24] dmaengine: edma: Read channel mapping support only once from HW

2015-10-14 Thread Peter Ujfalusi
Instead of directly reading it from CCCFG register take the information out once when we set up the configuration from the HW. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drive

[PATCH v5 21/24] dmaengine: edma: Simplify and optimize ccerr interrupt handler

2015-10-14 Thread Peter Ujfalusi
No need to run through the bits in QEMR and CCERR events since they will not trigger any action, so just clearing the errors there is fine. In case of the missed event the loop can be optimized so we spend less time to handle the event. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.

[PATCH v5 10/24] ARM: davinci: Add dma_mask to eDMA devices

2015-10-14 Thread Peter Ujfalusi
The upcoming change to merge the arch/arm/common/edma.c into drivers/dma/edma.c will need this change when booting daVinci devices in no DT mode. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Acked-by: Sekhar Nori <nsek...@ti.com> --- arch/arm/mach-davinci/devices-da8xx.c

[PATCH v5 09/24] ARM: davinci: Use platform_device_register_full() to create pdev for eDMA

2015-10-14 Thread Peter Ujfalusi
Convert the eDMA platform device creation to use struct platform_device_info XX __initconst and platform_device_register_full() This will allow us to cleanly specify the dma_mask for the devices in an upcoming patch. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Acked-by: Sekha

[PATCH v5 03/24] dmaengine: edma: Simplify and optimize the edma_execute path

2015-10-14 Thread Peter Ujfalusi
-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 76 +- 1 file changed, 29 insertions(+), 47 deletions(-) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index 558b0b4e7536..19fa49d6f555 100644 --- a/drivers/dma/

[PATCH v5 08/24] ARM/dmaengine: edma: Remove limitation on the number of eDMA controllers

2015-10-14 Thread Peter Ujfalusi
Since the driver stack no longer depends on lookup with id number in a global array of pointers, the limitation for the number of eDMAs are no longer needed. We can handle as many eDMAs in legacy and DT boot as we have memory for them to allocate the needed structures. Signed-off-by: Peter

[PATCH v5 04/24] ARM: davinci/common: Convert edma driver to handle one eDMA instance per driver

2015-10-14 Thread Peter Ujfalusi
was not flexible enough and prevents the upcoming work. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> Acked-by: Sekhar Nori <nsek...@ti.com> --- arch/arm/common/edma.c| 356 +++--- arch/arm/mach-davinci/devices-da8xx.c | 110 --- arch/arm/

[PATCH v5 05/24] ARM/dmaengine: edma: Move of_dma_controller_register to the dmaengine driver

2015-10-14 Thread Peter Ujfalusi
. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/common/edma.c | 10 -- drivers/dma/edma.c | 16 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c index 7c2fe527e53b..d82fceda13a3

[PATCH v5 02/24] ARM: common: edma: Remove unused functions

2015-10-14 Thread Peter Ujfalusi
We no longer have users for these functions so they can be removed. Remove also unused enums from the header file. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/common/edma.c | 376 - include/linux/platform_data/edma.h

[PATCH v5 16/24] dmaengine: edma: Use the edma_write_slot instead open coded memcpy_toio

2015-10-14 Thread Peter Ujfalusi
edma_write_slot() is for writing an entire paRAM slot. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index 08f9bd0aa0b3..f6653da0ee16 100644 --- a/d

[PATCH v5 24/24] dmaengine: edma: Dynamic paRAM slot handling if HW supports it

2015-10-14 Thread Peter Ujfalusi
If the eDMA3 has support for channel paRAM slot mapping we can utilize it to allocate slots on demand and save precious slots for real transfers. On am335x the eDMA has 64 channels which means we can unlock 64 paRAM slots out from the available 256. Signed-off-by: Peter Ujfalusi <peter.uj

[PATCH v5 23/24] dmaengine: edma: Rename bitfields for slot and channel usage tracking

2015-10-14 Thread Peter Ujfalusi
The names chosen for the bitfields were quite confusing and given no real information on what they are used for... edma_inuse -> slot_inuse: tracks the slot usage/availability edma_unused -> channel_unused: tracks the channel usage/availability Signed-off-by: Peter Ujfalusi <pe

[PATCH v5 06/24] ARM: common: edma: Internal API to use pointer to 'struct edma'

2015-10-14 Thread Peter Ujfalusi
Merge the iomem into the 'struct edma' and change the internal (static) functions to use pointer to the edma_cc instead of the ctlr number. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/common/edma.c | 400 - 1 file c

[PATCH v5 18/24] dmaengine: edma: Consolidate the comments for functions

2015-10-14 Thread Peter Ujfalusi
Remove or rewrite the comments for the internal functions. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 86 +++--- 1 file changed, 11 insertions(+), 75 deletions(-) diff --git a/drivers/dma/edma.c b/drive

[PATCH v5 15/24] dmaengine: edma: Use dev_dbg instead pr_debug

2015-10-14 Thread Peter Ujfalusi
We have access to dev, so it is better to use the dev_dbg for debug prints. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c

[PATCH v5 07/24] ARM/dmaengine: edma: Public API to use private struct pointer

2015-10-14 Thread Peter Ujfalusi
Instead of relying on indexes pointing to edma private date in the global pointer array, pass the private data pointer via the public API. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/common/edma.c | 305 ++--- drivers/dma/

[PATCH v5 14/24] dmaengine: edma: Cleanup regarding the use of dev around the code

2015-10-14 Thread Peter Ujfalusi
Be consistent and do not mix the use of dev, >dev, etc in the functions. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 61 +++--- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/drivers/dma

[PATCH v5 13/24] dmaengine: edma: Use devm_kcalloc when possible

2015-10-14 Thread Peter Ujfalusi
When allocating a memory for number of items it is better (looks better) to use devm_kcalloc. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c

[PATCH v5 01/24] ARM: common: edma: Fix channel parameter for irq callbacks

2015-10-14 Thread Peter Ujfalusi
In case when the interrupt happened for the second eDMA the channel number was incorrectly passed to the client driver. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> CC: <sta...@vger.kernel.org> --- arch/arm/common/edma.c | 6 -- 1 file changed, 4 insertions(+), 2 deleti

[PATCH 12/13] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3

2015-10-14 Thread Peter Ujfalusi
with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/boot/dts/am335x-evm.dts| 9 +--- arch/arm/boot/dts/am335x-pepper.dts | 11 + arch/arm/bo

[PATCH 11/13] dmaengine: edma: New device tree binding

2015-10-14 Thread Peter Ujfalusi
be assigned to any TC (to set priority) - PaRAM slots can be reserved for other cores to use - Dynamic power management for CC and TCs, if only TC0 is used all other TC can be powered down for example Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- Documentation/devicetree/bindings/

[PATCH 13/13] ARM: DTS: am437x: Use the new DT bindings for the eDMA3

2015-10-14 Thread Peter Ujfalusi
with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- arch/arm/boot/dts/am4372.dtsi | 82 - arch/arm/boot/dts/am437x-gp-e

[PATCH 07/13] dmaengine: edma: Refactor the dma device and channel struct initialization

2015-10-14 Thread Peter Ujfalusi
Move all code under one function to do the dma device and eDMA channel related setup so they are not scattered around the driver. Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com> --- drivers/dma/edma.c | 79 +- 1 file chang

<    1   2   3   4   5   6   7   8   9   10   >