Subject: Re: [PATCH net-next 09/10] dt-bindings: net: snps,dwmac: add per channel irq support

From: Jisheng Zhang <[email-masked]>
Date: Wed, 26 Jul 2023 23:47:44 +0800

On Wed, Jul 26, 2023 at 09:24:39AM -0600, Rob Herring wrote:
> On Mon, Jul 24, 2023 at 12:10:28AM +0800, Jisheng Zhang wrote:
> > The IP supports per channel interrupt, add support for this usage case.
> > 
> > Signed-off-by: Jisheng Zhang <[email-masked]>
> > ---
> >  .../devicetree/bindings/net/snps,dwmac.yaml   | 23 +++++++++++++++++++
> >  1 file changed, 23 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > index bb80ca205d26..525210c2c06c 100644
> > --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > @@ -101,6 +101,11 @@ properties:
> >      minItems: 1
> >      maxItems: 2
> >  
> > +  snps,per-channel-interrupt:
> > +    $ref: /schemas/types.yaml#/definitions/flag
> > +    description:
> > +      Indicates that Rx and Tx complete will generate a unique interrupt for each channel
> 
> Can't you determine this based on the number of interrupts or interrupt 
> names?

Good idea! this flag can be dynamically detected based on the interrupt names.
The driver code will be patched a bit ugly, I will try and send out for review.

> 
> > +
> >    interrupts:
> >      minItems: 1
> >      items:
> > @@ -109,6 +114,8 @@ properties:
> >        - description: The interrupt that occurs when Rx exits the LPI state
> >        - description: The interrupt that occurs when Safety Feature Correctible Errors happen
> >        - description: The interrupt that occurs when Safety Feature Uncorrectible Errors happen
> > +      - description: All of the rx per-channel interrupts
> > +      - description: All of the tx per-channel interrupts
> 
> You added 2 interrupts here and...

I'm not sure how to write the description here, could it be one line
 "- description: All of the tx/rx per-channel interrupts"?

> 
> >  
> >    interrupt-names:
> >      minItems: 1
> > @@ -118,6 +125,22 @@ properties:
> >        - const: eth_lpi
> >        - const: sfty_ce_irq
> >        - const: sfty_ue_irq
> > +      - const: rx0
> > +      - const: rx1
> > +      - const: rx2
> > +      - const: rx3
> > +      - const: rx4
> > +      - const: rx5
> > +      - const: rx6
> > +      - const: rx7
> > +      - const: tx0
> > +      - const: tx1
> > +      - const: tx2
> > +      - const: tx3
> > +      - const: tx4
> > +      - const: tx5
> > +      - const: tx6
> > +      - const: tx7
> 
> And 16 here?
> 

oops, indeed HW supports up to 16 channels for tx and rx, thus
up to 16 interrupts.

> >    clocks:
> >      minItems: 1
> > -- 
> > 2.40.1