public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Mikko Perttunen <mperttunen@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Aaron Kling <webgeek1234@gmail.com>
Cc: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	devicetree@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] Revert "arm64: tegra: Disable ISO SMMU for Tegra194"
Date: Thu, 22 Jan 2026 19:22:51 +0900	[thread overview]
Message-ID: <5289895.R56niFO833@senjougahara> (raw)
In-Reply-To: <CALHNRZ-YQe7_7UGfFNsBe6pdvFjK+1sS0Sye7od6WF+yqAYttQ@mail.gmail.com>

On Tuesday, December 9, 2025 1:21 PM Aaron Kling wrote:
> On Mon, Nov 3, 2025 at 12:05 PM Aaron Kling <webgeek1234@gmail.com> wrote:
> >
> > On Mon, Nov 3, 2025 at 5:07 AM Thierry Reding <thierry.reding@gmail.com> wrote:
> > >
> > > On Sat, Nov 01, 2025 at 06:13:26PM -0500, Aaron Kling wrote:
> > > > On Sat, Nov 1, 2025 at 6:01 PM Aaron Kling via B4 Relay
> > > > <devnull+webgeek1234.gmail.com@kernel.org> wrote:
> > > > >
> > > > > From: Aaron Kling <webgeek1234@gmail.com>
> > > > >
> > > > > This reverts commit ebea268ea583ba4970df425dfef8c8e21d0a4e12.
> > > > >
> > > > > Mmu is now being enabled for the display controllers.
> > > > >
> > > > > Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
> > > > > ---
> > > > >  arch/arm64/boot/dts/nvidia/tegra194.dtsi | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> > > > > index 1399342f23e1c4f73b278adc66dfb948fc30d326..854ed6d46aa1d8eedcdfbae1fdde1374adf40337 100644
> > > > > --- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> > > > > +++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> > > > > @@ -1807,7 +1807,7 @@ iommu@10000000 {
> > > > >                         #iommu-cells = <1>;
> > > > >
> > > > >                         nvidia,memory-controller = <&mc>;
> > > > > -                       status = "disabled";
> > > > > +                       status = "okay";
> > > > >                 };
> > > > >
> > > > >                 smmu: iommu@12000000 {
> > > > >
> > > > > --
> > > > > 2.51.0
> > > > >
> > > > >
> > > >
> > > > Question for Jon as the author of the commit being reverted. The
> > > > commit message states "we do not have a way to pass frame-buffer
> > > > memory from the bootloader to the kernel". If I understand this
> > > > correctly, this is talking about seamless handoff. What does this have
> > > > to do with enabling mmu on the display controllers? Seamless does not
> > > > work on any tegra arch as far as I'm aware, but Tegra194 is the only
> > > > one that doesn't have mmu enabled for the dc's. But enabling mmu
> > > > allows for better and faster memory allocation. My initial attempts to
> > > > enable this didn't work because I tried to attach them to the main mmu
> > > > unit, see the related freedesktop issue [0]. After noticing in the
> > > > downstream dt that the dc's are on a separate unit, I made it work.
> > > > And so far, it seems to work just as well as Tegra186. Then when I was
> > > > packaging up the change to submit, I found that this had been
> > > > explicitly disabled. But I'm not seeing why. Am I missing some
> > > > additional factors?
> > >
> > > This isn't seamless handoff to the Tegra DRM driver for display, but
> > > rather to simple-framebuffer. While this does technically work, it also
> > > causes a spew of SMMU faults during early boot because the firmware does
> > > not properly pass the SMMU mapping information to the kernel.
> > >
> > > In a nutshell what happens is that the firmware sets up the display
> > > controller to scan out from a reserved memory region, but it does so
> > > without involving the SMMU, so it uses physical addresses directly. When
> > > the kernel boots and the SMMU is enabled the continued accesses from
> > > display hardware cause SMMU faults (because there is no mapping for the
> > > framebuffer addresses).
> > >
> > > That said, we did solve these issues and this may not be happening
> > > anymore with the most recent L4T releases, so it may be okay to revert
> > > this now. We should find out exactly which release includes all the
> > > needed changes so that it can be referenced in the commit message. I
> > > want to avoid people running new kernels with an old L4T release and
> > > then seeing these errors without any reference as to why that might
> > > suddenly happen.
> >
> > For reference, I have rolled back my Android usecase to use the L4T
> > r32.7.6 bootloaders on T194 for a variety of reasons. So I am using
> > cboot as the final bootloader and not edk2 as in L4T r34/r35. I have a
> > pending cboot patch to support simple-framebuffer handoff, but haven't
> > fully verified it as tegra-drm is currently unable to takeover from
> > simplefb like openrm does for t234. But all that to say that since I
> > no longer use r35 for t194 I don't have the setup to easily verify
> > which point release works here and what doesn't.
> 
> Any further thoughts on this patch?
> 
> Aaron

FWIW,

looks like the edk2 patch to update iommu-addresses --

commit 6071946461389221d2314cbbae0377610b5b1f6a
Author: Jan Bobek <jbobek@nvidia.com>
Date:   Tue Mar 21 00:15:27 2023 +0000

    feat(NvDisplayControllerDxe): update FDT with framebuffer info
    
    On ready-to-boot and whenever FDT is installed, update FDT with
    framebuffer mode information, base address and size.
    
    Signed-off-by: Jan Bobek <jbobek@nvidia.com>
    Reviewed-by: Ashish Singhal <ashishsingha@nvidia.com>

is in since r36.2

$ git tag --contains 6071946461389221d2314cbbae0377610b5b1f6a | grep "^r"                                                                 
r36.2
r36.3.0
r36.4.0
r36.4.3
r36.4.4
r36.4.5
r38.2
r38.4

Not so good for T194 since r36 only supports Orin.

I'll look into getting this cherry-picked to r35.

Mikko



  reply	other threads:[~2026-01-22 10:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-01 23:01 [PATCH 0/2] arm64: tegra: Enable mmu on Tegra194 display controllers Aaron Kling via B4 Relay
2025-11-01 23:01 ` [PATCH 1/2] Revert "arm64: tegra: Disable ISO SMMU for Tegra194" Aaron Kling via B4 Relay
2025-11-01 23:13   ` Aaron Kling
2025-11-03 11:07     ` Thierry Reding
2025-11-03 18:05       ` Aaron Kling
2025-12-09  4:21         ` Aaron Kling
2026-01-22 10:22           ` Mikko Perttunen [this message]
2026-02-17  3:53             ` Mikko Perttunen
2026-02-17 10:13               ` Thierry Reding
2025-11-01 23:01 ` [PATCH 2/2] arm64: tegra: Enable mmu on Tegra194 display controllers Aaron Kling via B4 Relay

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5289895.R56niFO833@senjougahara \
    --to=mperttunen@nvidia.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jonathanh@nvidia.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=webgeek1234@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox