Re: [PATCH net-next v9 0/6] net: stmmac: qcom-ethqos: add support for SCMI power domains

Radu Rendec
2026-03-16T18:31:16Z

On Mon, 2026-03-16 at 13:05 +0100, Bartosz Golaszewski wrote:
> Add support for the firmware-managed variant of the DesignWare MAC on
> the sa8255p platform. This series contains new DT bindings and driver
> changes required to support the MAC in the STMMAC driver.
>
> It also reorganizes the ethqos code quite a bit to make the introduction
> of power domains into the driver a bit easier on the eye.
>
> The DTS changes will go in separately.

I'm seeing some weird behavior with this version. The probe part looks
good (but see below), but when I try to bring an interface up, it fails
with ETIMEDOUT. The relevant part of the stack trace leading to the
error is this:

dwmac4_dma_reset+0x208/0x220 [stmmac]
stmmac_reset+0x2c/0x68 [stmmac]
stmmac_init_dma_engine+0x108/0x400 [stmmac]
stmmac_hw_setup+0x5c/0x538 [stmmac]
__stmmac_open+0xc8/0x2a0 [stmmac]
stmmac_open+0xcc/0x238 [stmmac]
__dev_open+0x138/0x2a8

Now dwmac4_dma_reset() is very simple. It sets the soft reset bit in
the DMA_BUS_MODE register, then waits for the hardware to clear it, and
that never happens.

Now, getting back to the probe part, there is one extra message
(compared to my previous successful test on v7), which I see at the
very end of the probing:

qcom-ethqos 23040000.ethernet: clk_csr value out of range (0xffffff00
exceeds mask 0x00000f00), truncating

This is a sa8775p ride board, so there are two stmmac devices. I only
see that message for the 2nd one, which is also the one I'm trying to
enable, and which fails.

I realize this may or may not be related to your changes. But there is
no way to test on a SCMI-pd board without them. I'm not sure how
relevant it would be to test on the non-SCMI variant. I'm assuming the
DMA part should work the same way (regardless of SCMI-pd), so if I can
reproduce it there, and since I know it works on mainline Linux (that's
where I tested v7), I could bisect and see which commit in net-next
breaks it. If you don't have any better idea, let me know and I can
try. Meanwhile, I'll keep poking at v9.

Radu

> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> ---
> Changes in v9:
> - Rebase on top of current linux-next again
> - Link to v8: https://patch.msgid.link/20260311-qcom-sa8255p-emac-v8-0-58227bcf1018@oss.qualcomm.com
>
> Changes in v8:
> - Rebase on top of recent changes in linux-next which required an
>   extensive rework
> - Drop partial R-b tags
> - Link to v7: https://patch.msgid.link/20260306-qcom-sa8255p-emac-v7-0-d6a3013094b7@oss.qualcomm.com
>
> Changes in v7:
> - Restored the correct authorship after learning git uses .mailmap for
>   the --author switch
> - Rebased on top of changes from Russell
> - Fixed resource management issues in error paths
> - Link to v6: https://lore.kernel.org/r/20260112-qcom-sa8255p-emac-v6-0-86a3d4b2ad83@oss.qualcomm.com
>
> Changes in v6:
> - Fix $id value in the bindings
> - Drop patch 3/8 from the series
> - Update init/exit callback signatures
> - Link to v5: https://lore.kernel.org/r/20251107-qcom-sa8255p-emac-v5-0-01d3e3aaf388@linaro.org
> - Link to v6: https://lore.kernel.org/r/20251219-qcom-sa8255p-emac-v6-0-487f1082461e@oss.qualcomm.com
>
> Changes in v5:
> - Name the DT binding document after the new compatbile
> - Add missing space
> - Make the power-domains limits stricter
> - Link to v4: https://lore.kernel.org/r/20251104-qcom-sa8255p-emac-v4-0-f76660087cea@linaro.org
>
> Changes in v4:
> - Remove the phys property from the SCMI bindings
> - Mark the power-domain-names property as required
> - Set maxItems for power-domains to 1 for all existing bindings to
>   maintain the current requirements after modifying the value in the
>   top-level document
> - Link to v3: https://lore.kernel.org/r/20251027-qcom-sa8255p-emac-v3-0-75767b9230ab@linaro.org
>
> Changes in v3:
> - Drop 'power' and 'perf' prefixes from power domain names
> - Rebase on top of Russell's changes to dwmac
> - Rebase on top of even more changes from Russell that are not yet
>   in next (E1vB6ld-0000000BIPy-2Qi4@rmk-PC.armlinux.org.uk)
> - Link to v2: https://lore.kernel.org/all/20251008-qcom-sa8255p-emac-v2-0-92bc29309fce@linaro.org/
>
> Changes in v2:
> - Fix the power-domains property in DT bindings
> - Rework the DT bindings example
> - Drop the DTS patch, it will go upstream separately
> - Link to v1: https://lore.kernel.org/r/20250910-qcom-sa8255p-emac-v1-0-32a79cf1e668@linaro.org
>
> ---
> Bartosz Golaszewski (6):
>       dt-bindings: net: qcom: document the ethqos device for SCMI-based systems
>       net: stmmac: qcom-ethqos: use generic device properties
>       net: stmmac: qcom-ethqos: wrap emac driver data in additional structure
>       net: stmmac: qcom-ethqos: split power management fields into a separate structure
>       net: stmmac: qcom-ethqos: split power management context into a separate struct
>       net: stmmac: qcom-ethqos: add support for sa8255p
>
>  .../bindings/net/allwinner,sun7i-a20-gmac.yaml     |   3 +
>  .../bindings/net/altr,socfpga-stmmac.yaml          |   3 +
>  .../bindings/net/amlogic,meson-dwmac.yaml          |   3 +
>  .../devicetree/bindings/net/eswin,eic7700-eth.yaml |   3 +
>  .../devicetree/bindings/net/intel,dwmac-plat.yaml  |   3 +
>  .../bindings/net/loongson,ls1b-gmac.yaml           |   3 +
>  .../bindings/net/loongson,ls1c-emac.yaml           |   3 +
>  .../devicetree/bindings/net/nxp,dwmac-imx.yaml     |   3 +
>  .../devicetree/bindings/net/nxp,lpc1850-dwmac.yaml |   3 +
>  .../devicetree/bindings/net/nxp,s32-dwmac.yaml     |   3 +
>  .../devicetree/bindings/net/qcom,ethqos.yaml       |   3 +
>  .../bindings/net/qcom,sa8255p-ethqos.yaml          |  98 +++++
>  .../devicetree/bindings/net/renesas,rzn1-gmac.yaml |   3 +
>  .../bindings/net/renesas,rzv2h-gbeth.yaml          |   3 +
>  .../devicetree/bindings/net/rockchip-dwmac.yaml    |   3 +
>  .../devicetree/bindings/net/snps,dwmac.yaml        |   5 +-
>  .../bindings/net/sophgo,cv1800b-dwmac.yaml         |   3 +
>  .../bindings/net/sophgo,sg2044-dwmac.yaml          |   3 +
>  .../bindings/net/starfive,jh7110-dwmac.yaml        |   3 +
>  .../devicetree/bindings/net/stm32-dwmac.yaml       |   3 +
>  .../devicetree/bindings/net/tesla,fsd-ethqos.yaml  |   3 +
>  .../devicetree/bindings/net/thead,th1520-gmac.yaml |   3 +
>  .../bindings/net/toshiba,visconti-dwmac.yaml       |   3 +
>  MAINTAINERS                                        |   1 +
>  drivers/net/ethernet/stmicro/stmmac/Kconfig        |   2 +-
>  .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c    | 401 +++++++++++++++++----
>  26 files changed, 498 insertions(+), 72 deletions(-)
> ---
> base-commit: dac1315bf558e4895665aa1c278fd30113ca119d
> change-id: 20250704-qcom-sa8255p-emac-8460235ac512
>
> Best regards,