From: Vladimir Oltean <olteanv@gmail.com>
To: "Arınç ÜNAL" <arinc.unal@arinc9.com>
Cc: "Andrew Lunn" <andrew@lunn.ch>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Woojung Huh" <woojung.huh@microchip.com>,
UNGLinuxDriver@microchip.com,
"Linus Walleij" <linus.walleij@linaro.org>,
"Alvin Šipraga" <alsi@bang-olufsen.dk>,
"Daniel Golle" <daniel@makrotopia.org>,
"Landen Chao" <Landen.Chao@mediatek.com>,
"DENG Qingfang" <dqfext@gmail.com>,
"Sean Wang" <sean.wang@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
mithat.guner@xeront.com, erkin.bozoglu@xeront.com,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus
Date: Wed, 13 Sep 2023 10:42:31 +0300 [thread overview]
Message-ID: <20230913074231.5azwxqjuv2wp5nik@skbuf> (raw)
In-Reply-To: <6cec079e-991e-4222-a76d-d6156de0daca@arinc9.com>
On Wed, Sep 13, 2023 at 08:52:37AM +0300, Arınç ÜNAL wrote:
> On 12.09.2023 22:34, Vladimir Oltean wrote:
> > On Tue, Sep 12, 2023 at 10:23:51PM +0300, Arınç ÜNAL wrote:
> > > The phylink bindings for user ports I ended up making by looking up the
> > > existing devicetrees are different than the phylink bindings for the shared
> > > (CPU and DSA) ports currently enforced on all switches.
> > >
> > > My phylink bindings for user ports:
> > >
> > > allOf:
> > > - anyOf:
> > > - required: [ fixed-link ]
> > > - required: [ phy-handle ]
> > > - required: [ managed ]
> > >
> > > - if:
> > > required: [ fixed-link ]
> > > then:
> > > not:
> > > required: [ managed ]
> >
> > Right, it should have been anyOf and not oneOf.. my mistake. It is a bug
> > which should be fixed. It's the same phylink that gets used in both cases,
> > user ports and shared ports :)
>
> One more thing, I don't recall phy-mode being required to be defined for
> user ports as it will default to GMII. I don't believe this is the same
> case for shared ports so phy-mode is required only for them?
phy-mode is not strictly required, but I think there is a strong
preference to set it. IIRC, when looking at the DSA device trees, there
was no case where phy-mode would be absent on CPU/DSA ports if the other
link properties were also present, so we required it too. There were no
complaints in 1 year since dsa_shared_port_validate_of() is there. The
requirement can be relaxed to just a warning and no error in the kernel,
and the removal of "required" in the schema, if it helps making it
common with user ports.
I think that the fallback to PHY_INTERFACE_MODE_GMII applies only if
there is a phy_device (phy-handle). But otherwise, I don't remember if
the PHY_INTERFACE_MODE_NA passed to phylink_create() will persist at
runtime, or cause an error somewhere.
> > > The phylink bindings for shared ports enforced on all switches on
> > > dsa-port.yaml:
> > >
> > > allOf:
> > > - required:
> > > - phy-mode
> > > - oneOf:
> > > - required:
> > > - fixed-link
> > > - required:
> > > - phy-handle
> > > - required:
> > > - managed
> > >
> > > Here's what I understand:
> > >
> > > - For switches in dsa_switches_apply_workarounds[]
> > > - Enforce the latter for shared ports.
> > > - Enforce the former for user ports.
> > >
> > > - For switches not in dsa_switches_apply_workarounds[]
> > > - Enforce the former for all ports.
> >
> > No, no. We enforce the dt-schema regardless of switch presence in
> > dsa_switches_apply_workarounds[], to encourage users to fix device trees
> > (those who run schema validation). The kernel workaround consists in
> > doing something (skipping phylink) for the device trees where the schema
> > warns on shared ports. But there should be a single sub-schema for
> > validating phylink bindings, whatever port kind it is.
>
> Hmm, like writing phylink.yaml and then referring to it under the port
> pattern node? This could prevent a lot of repetition.
>
> Arınç
Yes, that would sound good.
next prev parent reply other threads:[~2023-09-13 7:42 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-12 9:17 [PATCH net-next 0/4] Document internal MDIO bus of DSA switch and support it on MT7530 Arınç ÜNAL
2023-08-12 9:17 ` [PATCH 1/4] dt-bindings: net: dsa: microchip,lan937x: add missing ethernet on example Arınç ÜNAL
2023-08-13 11:07 ` Vladimir Oltean
2023-08-13 11:23 ` Arınç ÜNAL
2023-08-14 14:54 ` Vladimir Oltean
2023-08-16 16:29 ` Florian Fainelli
2023-08-21 17:36 ` Rob Herring
2023-08-12 9:17 ` [PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus Arınç ÜNAL
2023-08-12 16:28 ` Arınç ÜNAL
2023-08-12 19:20 ` Arınç ÜNAL
2023-08-13 11:53 ` Vladimir Oltean
2023-08-13 12:59 ` Arınç ÜNAL
2023-08-13 14:58 ` Arınç ÜNAL
2023-08-13 19:02 ` Vladimir Oltean
2023-08-14 10:06 ` Arınç ÜNAL
2023-08-14 10:39 ` Vladimir Oltean
2023-08-13 19:01 ` Vladimir Oltean
2023-08-14 10:06 ` Arınç ÜNAL
2023-08-14 13:09 ` Andrew Lunn
2023-08-27 8:38 ` Arınç ÜNAL
2023-09-09 6:23 ` Arınç ÜNAL
2023-09-13 1:21 ` Andrew Lunn
2023-09-13 12:44 ` Arınç ÜNAL
2023-08-14 14:36 ` Vladimir Oltean
2023-08-27 8:33 ` Arınç ÜNAL
2023-08-27 12:12 ` Vladimir Oltean
2023-09-04 11:33 ` Arınç ÜNAL
2023-09-05 2:42 ` Luiz Angelo Daros de Luca
2023-09-05 11:00 ` Arınç ÜNAL
2023-09-05 11:05 ` Vladimir Oltean
2023-09-05 11:11 ` Vladimir Oltean
2023-09-05 12:13 ` Andrew Lunn
2023-09-09 8:53 ` Arınç ÜNAL
2023-09-09 14:35 ` Arınç ÜNAL
2023-09-09 19:53 ` Arınç ÜNAL
2023-09-09 21:16 ` Andrew Lunn
2023-09-12 18:09 ` Arınç ÜNAL
2023-09-11 22:51 ` Vladimir Oltean
2023-09-12 19:23 ` Arınç ÜNAL
2023-09-12 19:34 ` Vladimir Oltean
2023-09-13 5:52 ` Arınç ÜNAL
2023-09-13 7:42 ` Vladimir Oltean [this message]
2023-09-13 10:59 ` Arınç ÜNAL
2023-09-13 11:04 ` Vladimir Oltean
2023-09-13 11:35 ` Arınç ÜNAL
2023-09-13 13:00 ` Vladimir Oltean
2023-09-13 14:36 ` Arınç ÜNAL
2023-09-13 15:59 ` Russell King (Oracle)
2023-09-14 16:12 ` Vladimir Oltean
2023-09-14 18:06 ` Russell King (Oracle)
2023-09-14 18:07 ` Russell King (Oracle)
2023-09-15 12:18 ` Vladimir Oltean
2023-08-14 14:57 ` Vladimir Oltean
2023-08-21 17:44 ` Rob Herring
2023-08-27 8:42 ` Arınç ÜNAL
2023-08-13 11:15 ` Vladimir Oltean
2023-08-13 12:58 ` Arınç ÜNAL
2023-08-12 9:17 ` [PATCH 3/4] dt-bindings: net: dsa: realtek: require compatible property under mdio node Arınç ÜNAL
2023-08-12 16:31 ` Arınç ÜNAL
2023-08-14 14:53 ` Vladimir Oltean
2023-08-14 18:23 ` Linus Walleij
2023-08-16 16:28 ` Florian Fainelli
2023-08-12 9:17 ` [PATCH 4/4] net: dsa: mt7530: register OF node for internal MDIO bus Arınç ÜNAL
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230913074231.5azwxqjuv2wp5nik@skbuf \
--to=olteanv@gmail.com \
--cc=Landen.Chao@mediatek.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alsi@bang-olufsen.dk \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=arinc.unal@arinc9.com \
--cc=conor+dt@kernel.org \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dqfext@gmail.com \
--cc=edumazet@google.com \
--cc=erkin.bozoglu@xeront.com \
--cc=f.fainelli@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=mithat.guner@xeront.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh+dt@kernel.org \
--cc=sean.wang@mediatek.com \
--cc=woojung.huh@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox