drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 ++ 1 file changed, 2 insertions(+)
Hash based multicast filtering is an optional feature. Currently,
driver overrides the value of multicast_filter_bins based on the hash
table size. If the feature is not supported, hash table size reads 0
however the value of multicast_filter_bins remains set to default
HASH_TABLE_SIZE which is incorrect. Let's extend the use of the property
snps,multicast-filter-bins to xgmac so it can be set to 0 via devicetree
to indicate multicast filtering is not supported.
Signed-off-by: Nikunj Kela <nikunj.kela@sima.ai>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index b80c1efdb323..4164b3a580d8 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -579,6 +579,8 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac)
plat->pmt = 1;
if (of_property_read_bool(np, "snps,tso"))
plat->flags |= STMMAC_FLAG_TSO_EN;
+ of_property_read_u32(np, "snps,multicast-filter-bins",
+ &plat->multicast_filter_bins);
}
dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg),
--
2.34.1
在 6/11/25 4:04 AM, Nikunj Kela 写道: > Hash based multicast filtering is an optional feature. Currently, > driver overrides the value of multicast_filter_bins based on the hash > table size. If the feature is not supported, hash table size reads 0 > however the value of multicast_filter_bins remains set to default > HASH_TABLE_SIZE which is incorrect. Let's extend the use of the property > snps,multicast-filter-bins to xgmac so it can be set to 0 via devicetree > to indicate multicast filtering is not supported. > > Signed-off-by: Nikunj Kela <nikunj.kela@sima.ai> Reviewed-by: Yanteng Si <si.yanteng@linux.dev> Thanks, Yanteng
© 2016 - 2025 Red Hat, Inc.