It wasn't possible to enable some features like
memory-to-memory transfers or multi block transfers via DT.
It is fixed by these patches.
* Rename is_private to is-private as ordered by DT policy.
(just for cleanup) The change leaves the support for the
old format.
* Add is-memcpu property, so it is possible to
enable memory-to-memory transfers support via DT.
* Add hw-llp property, so it is possible to enable
hardware multi block transfers support via DT.
* Update DW DMAC device tree documentation.
Eugeniy Paltsev (4):
DW DMAC: rename is_private property as ordered by DT policy
DW DMAC: add is-memcpu property to device tree
DW DMAC: add hw-llp property to device tree
Update device tree Synopsys DW DMAC documentation
Documentation/devicetree/bindings/dma/snps-dma.txt | 10 ++++++++--
drivers/dma/dw/core.c | 2 +-
drivers/dma/dw/platform.c | 10 ++++++++++
include/linux/platform_data/dma-dw.h | 4 ++--
4 files changed, 21 insertions(+), 5 deletions(-)
--
2.5.5
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Rename is_private to is-private as ordered by DT policy.
The change leaves the support for the old format.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
drivers/dma/dw/platform.c | 2 ++
1 file changed, 2 insertions(+)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: 2016-11-16 15:14:11
On Wed, 2016-11-16 at 16:56 +0300, Eugeniy Paltsev wrote:
quoted hunk
Rename is_private to is-private as ordered by DT policy.
The change leaves the support for the old format.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
drivers/dma/dw/platform.c | 2 ++
1 file changed, 2 insertions(+)
Memory-to-memory dma transfers were disabled by default if we
used DT to cofigure DMAC.
Add is-memcpu property, so it became possible to enable
memory-to-memory transfers support via DT.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
drivers/dma/dw/platform.c | 3 +++
1 file changed, 3 insertions(+)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: 2016-11-16 15:14:02
On Wed, 2016-11-16 at 16:56 +0300, Eugeniy Paltsev wrote:
Memory-to-memory dma transfers were disabled by default if we
used DT to cofigure DMAC.
Add is-memcpu property, so it became possible to enable
memory-to-memory transfers support via DT.
Several versions of DW DMAC have multi block transfers hardware
support. Hardware support of multi block transfers is disabled
by default if we use DT to configure DMAC and software emulation
of multi block transfers used instead.
Add hw-llp property, so it is possible to enable hardware
multi block transfers (if present) via DT.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
drivers/dma/dw/core.c | 2 +-
drivers/dma/dw/platform.c | 5 +++++
include/linux/platform_data/dma-dw.h | 4 ++--
3 files changed, 8 insertions(+), 3 deletions(-)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: 2016-11-16 15:14:09
On Wed, 2016-11-16 at 16:56 +0300, Eugeniy Paltsev wrote:
Several versions of DW DMAC have multi block transfers hardware
support. Hardware support of multi block transfers is disabled
by default if we use DT to configure DMAC and software emulation
of multi block transfers used instead.
Add hw-llp property, so it is possible to enable hardware
multi block transfers (if present) via DT.
You forgot to explain the conversion from per device value to per
channel one.
* @is_private: The device channels should be marked as private and
not for
* by the general purpose DMA channel allocator.
* @is_memcpy: The device channels do support memory-to-memory
transfers.
- * @is_nollp: The device channels does not support multi block
transfers.
* @chan_allocation_order: Allocate channels starting from 0 or 7
* @chan_priority: Set channel priority increasing from 0 to 7 or 7
to 0.
* @block_size: Maximum block size supported by the controller
* @nr_masters: Number of AHB masters supported by the controller
* @data_width: Maximum data width supported by hardware per AHB
master
* (in bytes, power of 2)
+ * @hw_llp: Multi block transfers supported by hardware per AHB
master.
*/
struct dw_dma_platform_data {
unsigned int nr_channels;
bool is_private;
bool is_memcpy;
- bool is_nollp;
#define CHAN_ALLOCATION_ASCENDING 0 /* zero to seven */
#define CHAN_ALLOCATION_DESCENDING 1 /* seven to zero
*/
unsigned char chan_allocation_order;
* Rename is_private to is-private as ordered by DT policy.
The change leaves the support for the old format.
* Add is-memcpu property, so it is possible to
enable memory-to-memory transfers support via DT.
* Add hw-llp property, so it is possible to enable
hardware multi block transfers support via DT.
Fix white spaces.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
Documentation/devicetree/bindings/dma/snps-dma.txt | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
@@ -20,13 +20,19 @@ Required properties: Deprecated properties: - data_width: Maximum data width supported by hardware per AHB master (0 - 8bits, 1 - 16bits, ..., 5 - 256bits)+- is_private: The device channels should be marked as private and not for by the+ general purpose DMA channel allocator. False if not passed. Optional properties: - interrupt-parent: Should be the phandle for the interrupt controller that services interrupts for this device-- is_private: The device channels should be marked as private and not for by the+- is-private: The device channels should be marked as private and not for by the general purpose DMA channel allocator. False if not passed.+- is-memcpu: The device channels do support memory-to-memory transfers. False+ if not passed.+- hw-llp: Multi block transfers supported by hardware per AHB master.+ 0 (default): not supported, 1: supported. Example:
@@ -56,7 +62,7 @@ The four cells in order are: 4. Peripheral master for transfers on allocated channel Example:-+ serial@e0000000 { compatible = "arm,pl011", "arm,primecell"; reg = <0xe0000000 0x1000>;
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: 2016-11-16 15:13:50
On Wed, 2016-11-16 at 16:56 +0300, Eugeniy Paltsev wrote:
quoted hunk
* Rename is_private to is-private as ordered by DT policy.
The change leaves the support for the old format.
* Add is-memcpu property, so it is possible to
enable memory-to-memory transfers support via DT.
* Add hw-llp property, so it is possible to enable
hardware multi block transfers support via DT.
Fix white spaces.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
---
Documentation/devicetree/bindings/dma/snps-dma.txt | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
Deprecated properties:
- data_width: Maximum data width supported by hardware per AHB master
(0 - 8bits, 1 - 16bits, ..., 5 - 256bits)
+- is_private: The device channels should be marked as private and not
for by the
+ general purpose DMA channel allocator. False if not passed.
This...
Optional properties:
- interrupt-parent: Should be the phandle for the interrupt
controller
that services interrupts for this device
-- is_private: The device channels should be marked as private and not
for by the
+- is-private: The device channels should be marked as private and not
for by the
general purpose DMA channel allocator. False if not passed.
...and this is a part of patch 1.
+- is-memcpu: The device channels do support memory-to-memory
memcpy
transfers.
False
+ if not passed.
+- hw-llp: Multi block transfers supported by hardware per AHB master.
+ 0 (default): not supported, 1: supported.
Overall, since we are going to expose some properties to the Device Tree
I would really think twice about naming. Better if we reuse something
existing already.
So, what I can see is
dmacap,private
dmacap,memcpy
Here is a selling point as well, i.e. standardization.
'hw-llp' sounds too tricky, perhaps 'multi-block' is better and could be
re-used.
quoted hunk
Example:
@@ -56,7 +62,7 @@ The four cells in order are:
4. Peripheral master for transfers on allocated channel
Example:
-
+
No, no need to touch this.
--
Andy Shevchenko [off-list ref]
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Andy,
On Wed, 2016-11-16 at 17:10 +0200, Andy Shevchenko wrote:
Overall, since we are going to expose some properties to the Device
Tree
I would really think twice about naming. Better if we reuse something
existing already.
So, what I can see is
dmacap,private
dmacap,memcpy
Here is a selling point as well, i.e. standardization.
As I can see these property name used only in "mv_xor" driver. And
they are marked as deprecated.
So, I'm not sure if I should used these names.
I agree with other comments.
--
Paltsev Eugeniy
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: 2016-11-16 18:11:32
On Wed, 2016-11-16 at 17:01 +0000, Eugeniy Paltsev wrote:
On Wed, 2016-11-16 at 17:10 +0200, Andy Shevchenko wrote:
quoted
Overall, since we are going to expose some properties to the Device
Tree
I would really think twice about naming. Better if we reuse
something
existing already.
So, what I can see is
dmacap,private
dmacap,memcpy
Here is a selling point as well, i.e. standardization.
As I can see these property name used only in "mv_xor" driver. And
they are marked as deprecated.
So, I'm not sure if I should used these names.
Oh, good catch! So, then I leave this to DT experienced guys to decide.
Rob?
--
Andy Shevchenko [off-list ref]
Intel Finland Oy
From: Rob Herring <robh+dt@kernel.org> Date: 2016-11-16 18:15:20
On Wed, Nov 16, 2016 at 12:08 PM, Andy Shevchenko
[off-list ref] wrote:
On Wed, 2016-11-16 at 17:01 +0000, Eugeniy Paltsev wrote:
quoted
On Wed, 2016-11-16 at 17:10 +0200, Andy Shevchenko wrote:
quoted
Overall, since we are going to expose some properties to the Device
Tree
I would really think twice about naming. Better if we reuse
something
existing already.
So, what I can see is
dmacap,private
dmacap,memcpy
Here is a selling point as well, i.e. standardization.
As I can see these property name used only in "mv_xor" driver. And
they are marked as deprecated.
So, I'm not sure if I should used these names.
Oh, good catch! So, then I leave this to DT experienced guys to decide.
Rob?
Well, maybe they were deprecated for a reason? This all seems like
user configuration to me. So either they don't belong in DT or should
be common if they do.
Rob
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: 2016-11-16 15:19:05
On Wed, 2016-11-16 at 16:56 +0300, Eugeniy Paltsev wrote:
It wasn't possible to enable some features like
memory-to-memory transfers or multi block transfers via DT.
It is fixed by these patches.
* Rename is_private to is-private as ordered by DT policy.
(just for cleanup) The change leaves the support for the
old format.
* Add is-memcpu property, so it is possible to
enable memory-to-memory transfers support via DT.
* Add hw-llp property, so it is possible to enable
hardware multi block transfers support via DT.
* Update DW DMAC device tree documentation.
I have few comments I posted. Besides that don't forget about current
users of the DT properties you standardized (by naming). Better you
convert them at the same time. Older DT (blobs) are being still
supported.
Otherwise looks okay after you address all my comments and maybe others
will do some. The DT people ACK is a must before this goes somewhere.
Also, please keep Cc list as small as possible. For example I'm not sure
Viresh has time to look at them, but he might keep an eye on the
dmaengine mailing list. Same about Dan.
Eugeniy Paltsev (4):
DW DMAC: rename is_private property as ordered by DT policy
DW DMAC: add is-memcpu property to device tree
DW DMAC: add hw-llp property to device tree
Update device tree Synopsys DW DMAC documentation
Documentation/devicetree/bindings/dma/snps-dma.txt | 10 ++++++++--
drivers/dma/dw/core.c | 2 +-
drivers/dma/dw/platform.c | 10 ++++++++++
include/linux/platform_data/dma-dw.h | 4 ++--
4 files changed, 21 insertions(+), 5 deletions(-)
--
Andy Shevchenko [off-list ref]
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html