[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <5833a789-fa5a-ce40-f8e5-d91f4969a7c4@arinc9.com>
Date: Sat, 18 Feb 2023 20:07:53 +0300
From: Arınç ÜNAL <arinc.unal@...nc9.com>
To: Vladimir Oltean <olteanv@...il.com>,
Frank Wunderlich <frank-w@...lic-files.de>
Cc: netdev <netdev@...r.kernel.org>, erkin.bozoglu@...ont.com
Subject: Choose a default DSA CPU port
Hey there folks,
The problem is this. Frank and I have got a Bananapi BPI-R2 with MT7623
SoC. The port5 of MT7530 switch is wired to gmac1 of the SoC. Port6 is
wired to gmac0. Since DSA sets the first CPU port it finds on the
devicetree, port5 becomes the CPU port for all DSA slaves.
But we'd prefer port6 since it uses trgmii while port5 uses rgmii. There
are also some performance issues with the port5 - gmac1 link.
Now we could change it manually on userspace if the DSA subdriver
supported changing the DSA master.
I'd like to find a solution which would work for the cases of; the
driver not supporting changing the DSA master, or saving the effort of
manually changing it on userspace.
The solution that came to my mind:
Introduce a DT property to designate a CPU port as the default CPU port.
If this property exists on a CPU port, that port becomes the CPU port
for all DSA slaves.
If it doesn't exist, fallback to the first-found-cpu-port method.
Frank doesn't like this idea:
> maybe define the default cpu in driver which gets picked up by core
(define port6 as default if available).
> Imho additional dts-propperty is wrong approch...it should be handled
by driver. But cpu-port-selection is currently done in dsa-core which
makes it a bit difficult.
What are your thoughts?
Arınç
Powered by blists - more mailing lists