[PATCH 5/5] ARM: dts: BCM5301X: Disable unused gmac0 and gmac2 on Asus RT-AC88U
Arınç ÜNAL
arinc.unal at arinc9.com
Fri Apr 1 04:36:26 PDT 2022
On 01/04/2022 13:40, Rafał Miłecki wrote:
> On 2022-04-01 12:20, Arınç ÜNAL wrote:
>> Disable gmac0 and gmac2 which are currently not used. This doesn't
>> seem to
>> be implemented yet on drivers/net/ethernet/broadcom/bgmac-bcma.c but this
>> change is harmless, nonetheless.
>
> It doesn't matter whether Linux respects that.
>
>
>> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>> ---
>> arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
>> b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
>> index 2f944d1c0330..0f5c5d576814 100644
>> --- a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
>> +++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
>> @@ -242,11 +242,19 @@ fixed-link {
>> };
>> };
>>
>> +&gmac0 {
>> + status = "disabled";
>> +};
>> +
>> &gmac1 {
>> nvmem-cells = <&et1macaddr>;
>> nvmem-cell-names = "mac-address";
>> };
>>
>> +&gmac2 {
>> + status = "disabled";
>> +};
>
> I don't think that is correct. Those interfaces are still there and
> they are actually connected to switch ports. If you configure your
> switch properly you can use them.
>
> Someone may want to use e.g. gmac0 & gmac1 with two sets of ports to
> speed up network communication.
>
> I think gmac2 is required if you want to enable FA (flow acceleration /
> accelerator) - even though there isn't Linux driver for it yet.
>
> They are not disabled / unpopulated / non functional interfaces.
I understand your point. However, while we're not supposed to care
whether the kernel respects the bindings, don't we also need to make the
bindings work on the version of the Linux kernel we're submitting the
bindings to?
With the current way DSA works, only one switch port can be used as a
CPU port. If we were to remove the status = "disabled" property from
port at 8 which connects to gmac2, it'd break the communication between the
switch and the CPU on the current Linux kernel.
If a new driver or a feature is introduced, we should update the
bindings accordingly afterwards.
For this reason, I don't see an issue with explaining the driver side of
it on the commit log for DT bindings.
DT bindings are not exactly static either. Someone could want to use
gmac2 instead of gmac1. In that case, I think they should change the
bindings themselves as it's for their own use.
By the way, gmac0 would be wired to port at 5 but since port at 5 is wired to
realtek switch's port at 6 instead, it's actually non-functional.
Arınç
More information about the linux-arm-kernel
mailing list