[PATCH net-next v5 3/3] net: ti: icssg-prueth: Add support for ICSSG switch firmware

MD Danish Anwar danishanwar at ti.com
Mon May 27 22:28:35 PDT 2024



On 28/05/24 3:44 am, Andrew Lunn wrote:
> On Mon, May 27, 2024 at 10:57:38AM +0530, MD Danish Anwar wrote:
>> Add support for ICSSG switch firmware using existing Dual EMAC driver
>> with switchdev.
>>
>> Limitations:
>> VLAN offloading is limited to 0-256 IDs.
>> MDB/FDB static entries are limited to 511 entries and different FDBs can
>> hash to same bucket and thus may not completely offloaded
>>
>> Example assuming ETH1 and ETH2 as ICSSG2 interfaces:
>>
>> Switch to ICSSG Switch mode:
>>  ip link add name br0 type bridge
>>  ip link set dev eth1 master br0
>>  ip link set dev eth2 master br0
>>  ip link set dev br0 up
>>  bridge vlan add dev br0 vid 1 pvid untagged self
>>
>> Going back to Dual EMAC mode:
>>
>>  ip link set dev br0 down
>>  ip link set dev eth1 nomaster
>>  ip link set dev eth2 nomaster
>>  ip link del name br0 type bridge
>>
>> By default, Dual EMAC firmware is loaded, and can be changed to switch
>> mode by above steps
>>
>> Signed-off-by: MD Danish Anwar <danishanwar at ti.com>
>>  static int prueth_emac_buffer_setup(struct prueth_emac *emac)
>>  {
>>  	struct icssg_buffer_pool_cfg __iomem *bpool_cfg;
>> @@ -321,25 +401,63 @@ static void icssg_init_emac_mode(struct prueth *prueth)
>>  	/* When the device is configured as a bridge and it is being brought
>>  	 * back to the emac mode, the host mac address has to be set as 0.
>>  	 */
>> +	u32 addr = prueth->shram.pa + EMAC_ICSSG_SWITCH_DEFAULT_VLAN_TABLE_OFFSET;
>> +	int i;
>>  	u8 mac[ETH_ALEN] = { 0 };
> 
> nitpick: Reverse Christmas tree
> 
> Reviewed-by: Andrew Lunn <andrew at lunn.ch>

Thanks for the review. I will change this to "Reverse Christmas tree"
and send next revision.

> 
>     Andrew

-- 
Thanks and Regards,
Danish



More information about the linux-arm-kernel mailing list