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
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); /*
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
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
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,
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
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
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 +++
)
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
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
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
.
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
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 +++
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.
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
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
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
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
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
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
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.
>>
>>
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:
>>>
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
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
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
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,
, 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
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.
>&
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
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:
>>
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
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
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
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
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
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
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
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
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
&
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.
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
(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
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
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.
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
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
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
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
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
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/
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
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
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/
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
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
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
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.
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
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
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
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
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
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:
>>>
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
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,
>>
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
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
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
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
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;
>&
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));
>
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
/
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
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
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
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
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
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
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.
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
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
-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/
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
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/
.
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
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
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
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
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
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
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
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
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/
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
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
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
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
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/
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
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
101 - 200 of 1965 matches
Mail list logo