From b6d013b3260be4c82a7ef9b1cb98b874b209a50c Mon Sep 17 00:00:00 2001 From: "Russell King (Oracle)" Date: Fri, 14 Nov 2025 15:29:00 +0000 Subject: [PATCH] net: stmmac: setup default RX channel map in stmmac_plat_dat_alloc() Setup the default 1:1 RX channel map in stmmac_plat_dat_alloc() and remove 1:1 initialisations from platform glue drivers. Signed-off-by: Russell King (Oracle) Link: https://patch.msgid.link/E1vJvjQ-0000000EVk6-05z7@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 1 - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 +++++ drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 1 - drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 5 ++--- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c index 55f97b2f4e04e..1fd6faa0c70ca 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c @@ -618,7 +618,6 @@ static int intel_mgbe_common_data(struct pci_dev *pdev, for (i = 0; i < plat->rx_queues_to_use; i++) { plat->rx_queues_cfg[i].mode_to_use = MTL_QUEUE_DCB; - plat->rx_queues_cfg[i].chan = i; /* Disable Priority config by default */ plat->rx_queues_cfg[i].use_prio = false; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index c7763db011d65..d08ff8f5ff153 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -7558,6 +7558,7 @@ static void stmmac_unregister_devlink(struct stmmac_priv *priv) struct plat_stmmacenet_data *stmmac_plat_dat_alloc(struct device *dev) { struct plat_stmmacenet_data *plat_dat; + int i; plat_dat = devm_kzalloc(dev, sizeof(*plat_dat), GFP_KERNEL); if (!plat_dat) @@ -7580,6 +7581,10 @@ struct plat_stmmacenet_data *stmmac_plat_dat_alloc(struct device *dev) plat_dat->tx_queues_to_use = 1; plat_dat->rx_queues_to_use = 1; + /* Setup the default RX queue channel map */ + for (i = 0; i < ARRAY_SIZE(plat_dat->rx_queues_cfg); i++) + plat_dat->rx_queues_cfg[i].chan = i; + return plat_dat; } EXPORT_SYMBOL_GPL(stmmac_plat_dat_alloc); diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c index 8c7188ff658be..ded44846f74ae 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c @@ -86,7 +86,6 @@ static int snps_gmac5_default_data(struct pci_dev *pdev, plat->rx_queues_cfg[i].use_prio = false; plat->rx_queues_cfg[i].mode_to_use = MTL_QUEUE_DCB; plat->rx_queues_cfg[i].pkt_route = 0x0; - plat->rx_queues_cfg[i].chan = i; } plat->bus_id = 1; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index e1e23ee0b48ef..7eb22511acf59 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -177,9 +177,8 @@ static int stmmac_mtl_setup(struct platform_device *pdev, else plat->rx_queues_cfg[queue].mode_to_use = MTL_QUEUE_DCB; - if (of_property_read_u32(q_node, "snps,map-to-dma-channel", - &plat->rx_queues_cfg[queue].chan)) - plat->rx_queues_cfg[queue].chan = queue; + of_property_read_u32(q_node, "snps,map-to-dma-channel", + &plat->rx_queues_cfg[queue].chan); /* TODO: Dynamic mapping to be included in the future */ if (of_property_read_u32(q_node, "snps,priority", -- 2.47.3