2023-05-10 09:20:54

by Sarath Babu Naidu Gaddam

[permalink] [raw]
Subject: [PATCH net-next V3 0/3] net: axienet: Introduce dmaengine

The axiethernet driver can use the dmaengine framework to communicate
with the xilinx DMAengine driver(AXIDMA, MCDMA). The inspiration behind
this dmaengine adoption is to reuse the in-kernel xilinx dma engine
driver[1] and remove redundant dma programming sequence[2] from the
ethernet driver. This simplifies the ethernet driver and also makes
it generic to be hooked to any complaint dma IP i.e AXIDMA, MCDMA
without any modification.

The dmaengine framework was extended for metadata API support during
the axidma RFC[3] discussion. However, it still needs further enhancements
to make it well suited for ethernet usecases.

Backward compatibility support:
To support backward compatibility, we are planning to use below approach,
1) Use "dmas" property as an optional for now to differentiate
dmaengine based ethernet Driver or built-in dma ethernet driver.
Will move this property to required property some time later.
2) after some time, will introduce a new compatible string to support
the dmaengine method, This new compatible name will use different
APIs for init and data transfer.

Comments, suggestions, thoughts to implement remaining functional features
are very welcome!

[1]: https://github.com/torvalds/linux/blob/master/drivers/dma/xilinx/xilinx_dma.c
[2]: https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/xilinx/xilinx_axienet_main.c#L238
[3]: http://lkml.iu.edu/hypermail/linux/kernel/1804.0/00367.html

Changes in V3:
1) Moved RFC to PATCH.
2) Removed ethtool get/set coalesce, will be added later.
3) Added backward comapatible support.
4) Split the dmaengine support patch of V2 into two patches(2/3 and 3/3).
https://lore.kernel.org/all/[email protected]/

Changes in V2:
1) Add ethtool get/set coalesce and DMA reset using DMAengine framework.
2) Add performance numbers.
3) Remove .txt and change the name of file to xlnx,axiethernet.yaml.
4) Fix DT check warning(Fix DT check warning('device_type' does not match
any of the regexes:'pinctrl-[0-9]+' From schema: Documentation/
devicetree/bindings/net/xilinx_axienet.yaml).

Radhey Shyam Pandey (1):
dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support

Sarath Babu Naidu Gaddam (2):
net: axienet: Preparatory changes for dmaengine support
net: axienet: Introduce dmaengine support

.../bindings/net/xlnx,axi-ethernet.yaml | 12 +
drivers/net/ethernet/xilinx/xilinx_axienet.h | 8 +
.../net/ethernet/xilinx/xilinx_axienet_main.c | 636 ++++++++++++++----
3 files changed, 533 insertions(+), 123 deletions(-)

--
2.25.1



2023-05-10 09:21:28

by Sarath Babu Naidu Gaddam

[permalink] [raw]
Subject: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support

From: Radhey Shyam Pandey <[email protected]>

The axiethernet driver will use dmaengine framework to communicate
with dma controller IP instead of built-in dma programming sequence.

To request dma transmit and receive channels the axiethernet driver uses
generic dmas, dma-names properties.

Also to support the backward compatibility, use "dmas" property to
identify as it should use dmaengine framework or legacy
driver(built-in dma programming).

At this point it is recommended to use dmaengine framework but it's
optional. Once the solution is stable will make dmas as
required properties.

Signed-off-by: Radhey Shyam Pandey <[email protected]>
Signed-off-by: Sarath Babu Naidu Gaddam <[email protected]>
---
These changes are on top of below txt to yaml conversion discussion
https://lore.kernel.org/all/[email protected]/#Z2e.:20230308061223.1358637-1-sarath.babu.naidu.gaddam::40amd.com:1bindings:net:xlnx::2caxi-ethernet.yaml

Changes in V3:
1) Reverted reg and interrupts property to support backward compatibility.
2) Moved dmas and dma-names properties from Required properties.

Changes in V2:
- None.
---
.../devicetree/bindings/net/xlnx,axi-ethernet.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
index 80843c177029..9dfa1976e260 100644
--- a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
+++ b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
@@ -122,6 +122,16 @@ properties:
modes, where "pcs-handle" should be used to point to the PCS/PMA PHY,
and "phy-handle" should point to an external PHY if exists.

+ dmas:
+ items:
+ - description: TX DMA Channel phandle and DMA request line number
+ - description: RX DMA Channel phandle and DMA request line number
+
+ dma-names:
+ items:
+ - const: tx_chan0
+ - const: rx_chan0
+
required:
- compatible
- interrupts
@@ -157,6 +167,8 @@ examples:
clocks = <&axi_clk>, <&axi_clk>, <&pl_enet_ref_clk>, <&mgt_clk>;
phy-mode = "mii";
reg = <0x40c00000 0x40000>,<0x50c00000 0x40000>;
+ dmas = <&xilinx_dma 0>, <&xilinx_dma 1>;
+ dma-names = "tx_chan0", "rx_chan0";
xlnx,rxcsum = <0x2>;
xlnx,rxmem = <0x800>;
xlnx,txcsum = <0x2>;
--
2.25.1


2023-05-10 10:14:13

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support

On 10/05/2023 10:50, Sarath Babu Naidu Gaddam wrote:
> From: Radhey Shyam Pandey <[email protected]>
>
> The axiethernet driver will use dmaengine framework to communicate
> with dma controller IP instead of built-in dma programming sequence.

Subject: drop second/last, redundant "bindings". The "dt-bindings"
prefix is already stating that these are bindings.

Actually also drop "dmaenging" as it is Linuxism. Focus on hardware,
e.g. "Add DMA support".

>
> To request dma transmit and receive channels the axiethernet driver uses
> generic dmas, dma-names properties.
>
> Also to support the backward compatibility, use "dmas" property to
> identify as it should use dmaengine framework or legacy
> driver(built-in dma programming).
>
> At this point it is recommended to use dmaengine framework but it's
> optional. Once the solution is stable will make dmas as
> required properties.
>
> Signed-off-by: Radhey Shyam Pandey <[email protected]>
> Signed-off-by: Sarath Babu Naidu Gaddam <[email protected]>
> ---
> These changes are on top of below txt to yaml conversion discussion
> https://lore.kernel.org/all/[email protected]/#Z2e.:20230308061223.1358637-1-sarath.babu.naidu.gaddam::40amd.com:1bindings:net:xlnx::2caxi-ethernet.yaml
>
> Changes in V3:
> 1) Reverted reg and interrupts property to support backward compatibility.
> 2) Moved dmas and dma-names properties from Required properties.
>
> Changes in V2:
> - None.
> ---
> .../devicetree/bindings/net/xlnx,axi-ethernet.yaml | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> index 80843c177029..9dfa1976e260 100644
> --- a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> +++ b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> @@ -122,6 +122,16 @@ properties:
> modes, where "pcs-handle" should be used to point to the PCS/PMA PHY,
> and "phy-handle" should point to an external PHY if exists.
>
> + dmas:
> + items:
> + - description: TX DMA Channel phandle and DMA request line number
> + - description: RX DMA Channel phandle and DMA request line number
> +
> + dma-names:
> + items:
> + - const: tx_chan0

tx

> + - const: rx_chan0

rx

Why doing these differently than all other devices?


Best regards,
Krzysztof


2023-05-11 11:56:15

by Sarath Babu Naidu Gaddam

[permalink] [raw]
Subject: RE: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support



> -----Original Message-----
> From: Krzysztof Kozlowski <[email protected]>
> Sent: Wednesday, May 10, 2023 3:39 PM
> To: Gaddam, Sarath Babu Naidu
> <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Cc: [email protected]; Simek, Michal <[email protected]>;
> Pandey, Radhey Shyam <[email protected]>;
> [email protected]; [email protected]; linux-arm-
> [email protected]; [email protected]; Sarangi,
> Anirudha <[email protected]>; Katakam, Harini
> <[email protected]>; git (AMD-Xilinx) <[email protected]>
> Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet:
> Introduce dmaengine binding support
>
> On 10/05/2023 10:50, Sarath Babu Naidu Gaddam wrote:
> > From: Radhey Shyam Pandey <[email protected]>
> >
> > The axiethernet driver will use dmaengine framework to communicate
> > with dma controller IP instead of built-in dma programming sequence.
>
> Subject: drop second/last, redundant "bindings". The "dt-bindings"
> prefix is already stating that these are bindings.
>
> Actually also drop "dmaenging" as it is Linuxism. Focus on hardware, e.g.
> "Add DMA support".
>
> >
> > To request dma transmit and receive channels the axiethernet driver
> > uses generic dmas, dma-names properties.
> >
> > Also to support the backward compatibility, use "dmas" property to
> > identify as it should use dmaengine framework or legacy
> > driver(built-in dma programming).
> >
> > At this point it is recommended to use dmaengine framework but it's
> > optional. Once the solution is stable will make dmas as required
> > properties.
> >
> > Signed-off-by: Radhey Shyam Pandey
> <[email protected]>
> > Signed-off-by: Sarath Babu Naidu Gaddam
> > <[email protected]>
> > ---
> > These changes are on top of below txt to yaml conversion discussion
> > https://lore.kernel.org/all/20230308061223.1358637-1-
> sarath.babu.naidu
> > [email protected]/#Z2e.:20230308061223.1358637-1-
> sarath.babu.naidu.gadda
> > m::40amd.com:1bindings:net:xlnx::2caxi-ethernet.yaml
> >
> > Changes in V3:
> > 1) Reverted reg and interrupts property to support backward
> compatibility.
> > 2) Moved dmas and dma-names properties from Required properties.
> >
> > Changes in V2:
> > - None.
> > ---
> > .../devicetree/bindings/net/xlnx,axi-ethernet.yaml | 12
> ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> > b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> > index 80843c177029..9dfa1976e260 100644
> > --- a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> > +++ b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> > @@ -122,6 +122,16 @@ properties:
> > modes, where "pcs-handle" should be used to point to the PCS/PMA
> PHY,
> > and "phy-handle" should point to an external PHY if exists.
> >
> > + dmas:
> > + items:
> > + - description: TX DMA Channel phandle and DMA request line
> number
> > + - description: RX DMA Channel phandle and DMA request line
> > + number
> > +
> > + dma-names:
> > + items:
> > + - const: tx_chan0
>
> tx
>
> > + - const: rx_chan0
>
> rx

We want to support more channels in the future, currently we support
AXI DMA which has only one tx and rx channel. In future we want to
extend support for multichannel DMA (MCDMA) which has 16 TX and
16 RX channels. To uniquely identify each channel, we are using chan
suffix. Depending on the usecase AXI ethernet driver can request any
combination of multichannel DMA channels.

dma-names = tx_chan0, tx_chan1, rx_chan0, rx_chan1;

will update the commit message with same.

> Why doing these differently than all other devices?

To make the axi ethernet driver generic to be hooked to any complaint
dma IP i.e AXIDMA, AXIMCDMA without any modification.The inspiration
behind this dmaengine adoption is to reuse the in-kernel xilinx dma engine
driver and remove redundant dma programming sequence from the
ethernet driver.

Above information is explained in the cover letter
https://lore.kernel.org/all/[email protected]/

Thanks,
Sarath

2023-05-12 06:31:33

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support

On 11/05/2023 13:32, Gaddam, Sarath Babu Naidu wrote:
>
>
>> -----Original Message-----
>> From: Krzysztof Kozlowski <[email protected]>
>> Sent: Wednesday, May 10, 2023 3:39 PM
>> To: Gaddam, Sarath Babu Naidu
>> <[email protected]>; [email protected];
>> [email protected]; [email protected]; [email protected];
>> [email protected]; [email protected]
>> Cc: [email protected]; Simek, Michal <[email protected]>;
>> Pandey, Radhey Shyam <[email protected]>;
>> [email protected]; [email protected]; linux-arm-
>> [email protected]; [email protected]; Sarangi,
>> Anirudha <[email protected]>; Katakam, Harini
>> <[email protected]>; git (AMD-Xilinx) <[email protected]>
>> Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet:
>> Introduce dmaengine binding support
>>
>> On 10/05/2023 10:50, Sarath Babu Naidu Gaddam wrote:
>>> From: Radhey Shyam Pandey <[email protected]>
>>>
>>> The axiethernet driver will use dmaengine framework to communicate
>>> with dma controller IP instead of built-in dma programming sequence.
>>
>> Subject: drop second/last, redundant "bindings". The "dt-bindings"
>> prefix is already stating that these are bindings.
>>
>> Actually also drop "dmaenging" as it is Linuxism. Focus on hardware, e.g.
>> "Add DMA support".
>>
>>>
>>> To request dma transmit and receive channels the axiethernet driver
>>> uses generic dmas, dma-names properties.
>>>
>>> Also to support the backward compatibility, use "dmas" property to
>>> identify as it should use dmaengine framework or legacy
>>> driver(built-in dma programming).
>>>
>>> At this point it is recommended to use dmaengine framework but it's
>>> optional. Once the solution is stable will make dmas as required
>>> properties.
>>>
>>> Signed-off-by: Radhey Shyam Pandey
>> <[email protected]>
>>> Signed-off-by: Sarath Babu Naidu Gaddam
>>> <[email protected]>
>>> ---
>>> These changes are on top of below txt to yaml conversion discussion
>>> https://lore.kernel.org/all/20230308061223.1358637-1-
>> sarath.babu.naidu
>>> [email protected]/#Z2e.:20230308061223.1358637-1-
>> sarath.babu.naidu.gadda
>>> m::40amd.com:1bindings:net:xlnx::2caxi-ethernet.yaml
>>>
>>> Changes in V3:
>>> 1) Reverted reg and interrupts property to support backward
>> compatibility.
>>> 2) Moved dmas and dma-names properties from Required properties.
>>>
>>> Changes in V2:
>>> - None.
>>> ---
>>> .../devicetree/bindings/net/xlnx,axi-ethernet.yaml | 12
>> ++++++++++++
>>> 1 file changed, 12 insertions(+)
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
>>> b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
>>> index 80843c177029..9dfa1976e260 100644
>>> --- a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
>>> +++ b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
>>> @@ -122,6 +122,16 @@ properties:
>>> modes, where "pcs-handle" should be used to point to the PCS/PMA
>> PHY,
>>> and "phy-handle" should point to an external PHY if exists.
>>>
>>> + dmas:
>>> + items:
>>> + - description: TX DMA Channel phandle and DMA request line
>> number
>>> + - description: RX DMA Channel phandle and DMA request line
>>> + number
>>> +
>>> + dma-names:
>>> + items:
>>> + - const: tx_chan0
>>
>> tx
>>
>>> + - const: rx_chan0
>>
>> rx
>
> We want to support more channels in the future, currently we support
> AXI DMA which has only one tx and rx channel. In future we want to
> extend support for multichannel DMA (MCDMA) which has 16 TX and
> 16 RX channels. To uniquely identify each channel, we are using chan
> suffix. Depending on the usecase AXI ethernet driver can request any
> combination of multichannel DMA channels.
>
> dma-names = tx_chan0, tx_chan1, rx_chan0, rx_chan1;
>
> will update the commit message with same.

I expect the binding to be complete, otherwise you get comments like
this. Add missing parts to the binding and resend.

Best regards,
Krzysztof


2023-05-17 12:17:13

by Sarath Babu Naidu Gaddam

[permalink] [raw]
Subject: RE: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support



> -----Original Message-----
> From: Krzysztof Kozlowski <[email protected]>
> Sent: Friday, May 12, 2023 11:57 AM
> To: Gaddam, Sarath Babu Naidu
> <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Cc: [email protected]; Simek, Michal <[email protected]>;
> Pandey, Radhey Shyam <[email protected]>;
> [email protected]; [email protected]; linux-arm-
> [email protected]; [email protected]; Sarangi,
> Anirudha <[email protected]>; Katakam, Harini
> <[email protected]>; git (AMD-Xilinx) <[email protected]>
> Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet:
> Introduce dmaengine binding support
>
> On 11/05/2023 13:32, Gaddam, Sarath Babu Naidu wrote:
> >
> >
> >> -----Original Message-----
> >> From: Krzysztof Kozlowski <[email protected]>
> >> Sent: Wednesday, May 10, 2023 3:39 PM
> >> To: Gaddam, Sarath Babu Naidu
> >> <[email protected]>; [email protected];
> >> [email protected]; [email protected]; [email protected];
> >> [email protected]; [email protected]
> >> Cc: [email protected]; Simek, Michal <[email protected]>;
> >> Pandey, Radhey Shyam <[email protected]>;
> >> [email protected]; [email protected]; linux-arm-
> >> [email protected]; [email protected]; Sarangi,
> >> Anirudha <[email protected]>; Katakam, Harini
> >> <[email protected]>; git (AMD-Xilinx) <[email protected]>
> >> Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet:
> >> Introduce dmaengine binding support
> >>
> >> On 10/05/2023 10:50, Sarath Babu Naidu Gaddam wrote:
> >>> From: Radhey Shyam Pandey <[email protected]>
> >>>
> >>> The axiethernet driver will use dmaengine framework to communicate
> >>> with dma controller IP instead of built-in dma programming sequence.
> >>
> >> Subject: drop second/last, redundant "bindings". The "dt-bindings"
> >> prefix is already stating that these are bindings.
> >>
> >> Actually also drop "dmaenging" as it is Linuxism. Focus on hardware,
> e.g.
> >> "Add DMA support".
> >>
> >>>
> >>> To request dma transmit and receive channels the axiethernet driver
> >>> uses generic dmas, dma-names properties.
> >>>
> >>> Also to support the backward compatibility, use "dmas" property to
> >>> identify as it should use dmaengine framework or legacy
> >>> driver(built-in dma programming).
> >>>
> >>> At this point it is recommended to use dmaengine framework but it's
> >>> optional. Once the solution is stable will make dmas as required
> >>> properties.
> >>>
> >>> Signed-off-by: Radhey Shyam Pandey
> >> <[email protected]>
> >>> Signed-off-by: Sarath Babu Naidu Gaddam
> >>> <[email protected]>
> >>> ---
> >>> These changes are on top of below txt to yaml conversion discussion
> >>> https://lore.kernel.org/all/20230308061223.1358637-1-
> >> sarath.babu.naidu
> >>> [email protected]/#Z2e.:20230308061223.1358637-1-
> >> sarath.babu.naidu.gadda
> >>> m::40amd.com:1bindings:net:xlnx::2caxi-ethernet.yaml
> >>>
> >>> Changes in V3:
> >>> 1) Reverted reg and interrupts property to support backward
> >> compatibility.
> >>> 2) Moved dmas and dma-names properties from Required properties.
> >>>
> >>> Changes in V2:
> >>> - None.
> >>> ---
> >>> .../devicetree/bindings/net/xlnx,axi-ethernet.yaml | 12
> >> ++++++++++++
> >>> 1 file changed, 12 insertions(+)
> >>>
> >>> diff --git
> >>> a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> >>> b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> >>> index 80843c177029..9dfa1976e260 100644
> >>> --- a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
> >>> +++ b/Documentation/devicetree/bindings/net/xlnx,axi-
> ethernet.yaml
> >>> @@ -122,6 +122,16 @@ properties:
> >>> modes, where "pcs-handle" should be used to point to the
> >>> PCS/PMA
> >> PHY,
> >>> and "phy-handle" should point to an external PHY if exists.
> >>>
> >>> + dmas:
> >>> + items:
> >>> + - description: TX DMA Channel phandle and DMA request line
> >> number
> >>> + - description: RX DMA Channel phandle and DMA request line
> >>> + number
> >>> +
> >>> + dma-names:
> >>> + items:
> >>> + - const: tx_chan0
> >>
> >> tx
> >>
> >>> + - const: rx_chan0
> >>
> >> rx
> >
> > We want to support more channels in the future, currently we support
> > AXI DMA which has only one tx and rx channel. In future we want to
> > extend support for multichannel DMA (MCDMA) which has 16 TX and
> > 16 RX channels. To uniquely identify each channel, we are using chan
> > suffix. Depending on the usecase AXI ethernet driver can request any
> > combination of multichannel DMA channels.
> >
> > dma-names = tx_chan0, tx_chan1, rx_chan0, rx_chan1;
> >
> > will update the commit message with same.
>
> I expect the binding to be complete, otherwise you get comments like this.
> Add missing parts to the binding and resend.

Binding is complete for current supported DMA (single channel). We will
extend when we add MCDMA.

We will describe the reason for using channel suffix in the description as
below.

dma-names:
items:
- const: tx_chan0
- const: rx_chan0
description: |
Chan suffix is used for identifying each channel uniquely.
Current DMA has only one Tx and Rx channel but it will be
extended to support for multichannel DMA (MCDMA) which
has 16 TX and 16 RX channels. Depending on the usecase AXI
ethernet driver can request any combination of multichannel
DMA channels.

Thanks,
Sarath



2023-05-17 15:12:59

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support

On 17/05/2023 14:06, Gaddam, Sarath Babu Naidu wrote:
>>>>> + dma-names:
>>>>> + items:
>>>>> + - const: tx_chan0
>>>>
>>>> tx
>>>>
>>>>> + - const: rx_chan0
>>>>
>>>> rx
>>>
>>> We want to support more channels in the future, currently we support
>>> AXI DMA which has only one tx and rx channel. In future we want to
>>> extend support for multichannel DMA (MCDMA) which has 16 TX and
>>> 16 RX channels. To uniquely identify each channel, we are using chan
>>> suffix. Depending on the usecase AXI ethernet driver can request any
>>> combination of multichannel DMA channels.
>>>
>>> dma-names = tx_chan0, tx_chan1, rx_chan0, rx_chan1;
>>>
>>> will update the commit message with same.
>>
>> I expect the binding to be complete, otherwise you get comments like this.
>> Add missing parts to the binding and resend.
>
> Binding is complete for current supported DMA (single channel). We will
> extend when we add MCDMA.

What doe sit mean "current supported DMA"? By driver? or by hardware? If
the former, then how does it matter for the bindings?

If the latter, then your hardware is going to change? Then you will have
different set of compatibles and then can use different names.

>
> We will describe the reason for using channel suffix in the description as
> below.
>
> dma-names:
> items:
> - const: tx_chan0
> - const: rx_chan0
> description: |
> Chan suffix is used for identifying each channel uniquely.
> Current DMA has only one Tx and Rx channel but it will be
> extended to support for multichannel DMA (MCDMA) which
> has 16 TX and 16 RX channels. Depending on the usecase AXI
> ethernet driver can request any combination of multichannel
> DMA channels.

No, because I don't understand what is "will be extended". Bindings
should be complete. If they are going to be extended, it means they are
not complete. If they cannot be complete, which happens, please provide
a reason. There was no reason so far, except your claim it is complete.

Best regards,
Krzysztof


2023-05-18 09:11:59

by Sarath Babu Naidu Gaddam

[permalink] [raw]
Subject: RE: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet: Introduce dmaengine binding support



> -----Original Message-----
> From: Krzysztof Kozlowski <[email protected]>
> Sent: Wednesday, May 17, 2023 8:19 PM
> To: Gaddam, Sarath Babu Naidu
> <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Cc: [email protected]; Simek, Michal <[email protected]>;
> Pandey, Radhey Shyam <[email protected]>;
> [email protected]; [email protected]; linux-arm-
> [email protected]; [email protected]; Sarangi,
> Anirudha <[email protected]>; Katakam, Harini
> <[email protected]>; git (AMD-Xilinx) <[email protected]>
> Subject: Re: [PATCH net-next V3 1/3] dt-bindings: net: xilinx_axienet:
> Introduce dmaengine binding support
>
> On 17/05/2023 14:06, Gaddam, Sarath Babu Naidu wrote:
> >>>>> + dma-names:
> >>>>> + items:
> >>>>> + - const: tx_chan0
> >>>>
> >>>> tx
> >>>>
> >>>>> + - const: rx_chan0
> >>>>
> >>>> rx
> >>>
> >>> We want to support more channels in the future, currently we
> support
> >>> AXI DMA which has only one tx and rx channel. In future we want to
> >>> extend support for multichannel DMA (MCDMA) which has 16 TX and
> >>> 16 RX channels. To uniquely identify each channel, we are using chan
> >>> suffix. Depending on the usecase AXI ethernet driver can request any
> >>> combination of multichannel DMA channels.
> >>>
> >>> dma-names = tx_chan0, tx_chan1, rx_chan0, rx_chan1;
> >>>
> >>> will update the commit message with same.
> >>
> >> I expect the binding to be complete, otherwise you get comments like
> this.
> >> Add missing parts to the binding and resend.
> >
> > Binding is complete for current supported DMA (single channel). We
> > will extend when we add MCDMA.
>
> What doe sit mean "current supported DMA"? By driver? or by hardware?
> If the former, then how does it matter for the bindings?
>
> If the latter, then your hardware is going to change? Then you will have
> different set of compatibles and then can use different names.
>
> >
> > We will describe the reason for using channel suffix in the
> > description as below.
> >
> > dma-names:
> > items:
> > - const: tx_chan0
> > - const: rx_chan0
> > description: |
> > Chan suffix is used for identifying each channel uniquely.
> > Current DMA has only one Tx and Rx channel but it will be
> > extended to support for multichannel DMA (MCDMA) which
> > has 16 TX and 16 RX channels. Depending on the usecase AXI
> > ethernet driver can request any combination of multichannel
> > DMA channels.
>
> No, because I don't understand what is "will be extended". Bindings
> should be complete. If they are going to be extended, it means they are
> not complete. If they cannot be complete, which happens, please provide
> a reason. There was no reason so far, except your claim it is complete.

We will re-spin another series with complete bindings including MCDMA
support.

Thanks,
Sarath