[PATCH v1 1/1] net: stmmac: dwmac-tegra: Read iommu stream id from device tree
Andrew Lunn
andrew at lunn.ch
Mon Nov 18 16:50:18 PST 2024
> This is not a new dt property, the "iommus" property is an existing property
> that is parsed by the Nvidia implementation of the arm-smmu driver.
>
> Here is a snippet from the device tree:
>
> smmu_niso0: iommu at 12000000 {
> compatible = "nvidia,tegra234-smmu", "nvidia,smmu-500";
> ...
> }
>
> /* MGBE0 */
> ethernet at 6800000 {
> compatible = "nvidia,tegra234-mgbe";
> ...
> iommus = <&smmu_niso0 TEGRA234_SID_MGBE>;
> ...
> }
>
> /* MGBE1 */
> ethernet at 6900000 {
> compatible = "nvidia,tegra234-mgbe";
> ...
> iommus = <&smmu_niso0 TEGRA234_SID_MGBE_VF1>;
> ...
> }
What i was meaning does the nvidia,tegra234-mgbe binding allow iommus?
I just checked, yes it does.
> If the iommus property is missing completely from the MGBE's device tree node it
> causes secure read/write errors which spam the kernel log and can cause crashes.
>
> I can add the fallback in V2 with a warning if that is preferred.
The fact it crashed makes me think it is optional. Any existing users
must work, otherwise it would crash, and then be debugged. I guess you
are pushing the usage further, and so have come across this condition.
Is the iommus a SoC property, or a board property? If it is a SoC
property, could you review all the SoC .dtsi files and fix up any
which are missing the property?
Adding a warning is O.K, but ideally the missing property should be
added first.
The merge window is open now, so patches will need to wait two weeks.
Andrew
More information about the linux-arm-kernel
mailing list