[PATCH net v4 2/7] net: dsa: mt7530: fix trapping frames with multiple CPU ports on MT7530
Arınç ÜNAL
arinc.unal at arinc9.com
Tue Jun 13 10:16:59 PDT 2023
On 13.06.2023 00:09, Russell King (Oracle) wrote:
> On Mon, Jun 12, 2023 at 10:59:40AM +0300, arinc9.unal at gmail.com wrote:
>> From: Arınç ÜNAL <arinc.unal at arinc9.com>
>>
>> The CPU_PORT bits represent the CPU port to trap frames to for the MT7530
>> switch. This switch traps frames received from a user port to the CPU port
>> set on the CPU_PORT bits, regardless of the affinity of the user port from
>> which the frames are received.
>
> I think:
>
> "On the MT7530, the CPU_PORT() field indicates which CPU port to trap
> frames to, regardless of the affinity of the inbound user port."
>
> covers everything necessary in the first paragraph? Sorry to be a pain
> about this, but commit logs should be understandable.
Sounds good to me.
>
>> When multiple CPU ports are being used, the trapped frames won't be
>> received when the DSA conduit interface, which the frames are supposed to
>> be trapped to, is down because it's not affine to any user port. This
>> requires the DSA conduit interface to be manually set up for the trapped
>> frames to be received.
>
> "When multiple CPU ports are in use, if the DSA conduit interface is
> down, trapped frames won't be passed to the conduit interface."
Ok.
>
>> To fix this, implement ds->ops->master_state_change() on this subdriver and
>> set the CPU_PORT bits to the CPU port which the DSA conduit interface its
>
> ... "to the first CPU port" - isn't that what the code is doing with
> __ffs(priv->active_cpu_ports)? You're giving priority to the lowest
> numbered port, and I think that should be stated in the commit message.
Will do.
Arınç
More information about the linux-arm-kernel
mailing list