Message ID | 20240529-configure_ethernet_host_dma_width-v1-1-3f2707851adf@quicinc.com |
---|---|
State | Superseded |
Headers | show |
Series | net: stmmac: dwmac-qcom-ethqos: Configure host DMA width | expand |
On Thu, May 30, 2024 at 12:22:52AM GMT, Andrew Lunn wrote: > On Wed, May 29, 2024 at 03:50:28PM -0500, Andrew Halaney wrote: > > $Subject should be have [PATCH net] since this targets the net tree: > > > > https://docs.kernel.org/process/maintainer-netdev.html > > > > On Wed, May 29, 2024 at 11:39:04AM GMT, Sagar Cheluvegowda wrote: > > > Fixes: 070246e4674b ("net: stmmac: Fix for mismatched host/device DMA address width") > > > Signed-off-by: Sagar Cheluvegowda <quic_scheluve@quicinc.com> > > > Also, I think the Fixes: here would be for adding support for this SoC > > in the driver, not what's listed? Might make more sense after you have a > > proper body though. > > This is a tricky one. > > Fixes: 070246e4674b ("net: stmmac: Fix for mismatched host/device DMA > address width") is when support for different DMA address widths was > added. This fix cannot easily be back ported past that. > > 070246e4674b first appears in v6.3-rc4. > > dwmac-qcom-ethqos.c first appears in v5.1-rc1. However, Qualcomm did > not start hacking on it until v6.7-rc6. It is unclear to me without a > deep dive when Qualcomm actually started using this driver. > > We might actually be looking at this the wrong way, and should in fact > be looking at when a DT patch was added that made use of the driver, > not the driver itself. If it was not used, it cannot be broken.... > I should have been more specific, sorry. I think this should be: Fixes: 8c4d92e82d500 ("net: stmmac: dwmac-qcom-ethqos: add support for emac4 on sa8775p platforms") Which appears after 070246e4674b ("net: stmmac: Fix for mismatched host/device DMA address width"). Reason being that specifically Sagar's patch is indicating that for the SoC's/compatibles that currently use emac_v4_0_0_data structure, the DMA address width needs to be specified. If we were modifying structs that were added prior to 070246e4674b then I agree, but at least the change as is I think could indicate the above Fixes. Thanks, Andrew
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index e254b21fdb59..65d7370b47d5 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -93,6 +93,7 @@ struct ethqos_emac_driver_data { bool has_emac_ge_3; const char *link_clk_name; bool has_integrated_pcs; + u32 dma_addr_width; struct dwmac4_addrs dwmac4_addrs; }; @@ -276,6 +277,7 @@ static const struct ethqos_emac_driver_data emac_v4_0_0_data = { .has_emac_ge_3 = true, .link_clk_name = "phyaux", .has_integrated_pcs = true, + .dma_addr_width = 36, .dwmac4_addrs = { .dma_chan = 0x00008100, .dma_chan_offset = 0x1000, @@ -845,6 +847,8 @@ static int qcom_ethqos_probe(struct platform_device *pdev) plat_dat->flags |= STMMAC_FLAG_RX_CLK_RUNS_IN_LPI; if (data->has_integrated_pcs) plat_dat->flags |= STMMAC_FLAG_HAS_INTEGRATED_PCS; + if (data->dma_addr_width) + plat_dat->host_dma_width = data->dma_addr_width; if (ethqos->serdes_phy) { plat_dat->serdes_powerup = qcom_ethqos_serdes_powerup;
Fixes: 070246e4674b ("net: stmmac: Fix for mismatched host/device DMA address width") Signed-off-by: Sagar Cheluvegowda <quic_scheluve@quicinc.com> --- Change-Id: Ifdf3490c6f0dd55afc062974c05acce42d5fb6a7 --- drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 4 ++++ 1 file changed, 4 insertions(+) --- base-commit: 1b10b390d945a19747d75b34a6e01035ac7b9155 change-id: 20240515-configure_ethernet_host_dma_width-c619d552992d Best regards,