On 13/01/2026 10:48, Neil Armstrong wrote:
On 1/12/26 13:33, David Heidelberg via B4 Relay wrote:
From: David Heidelberg <[email protected]>

If the OS does not support recovering the state left by the
bootloader it needs a way to reset display hardware, so that it can
start from a clean state. Add a reference to the relevant reset.

Signed-off-by: David Heidelberg <[email protected]>
---
It efficiently fixes nothing for us (at least what we're aware), so I
assume the state left by bootloader is good enough

In fact it does even more, perhaps in your usecase you're not affected but
it permits resetting the MDSS while switching the IOMMU from bypass to translated.

In the current IOMMU implementation, there's no current way to keep the IOMMU setup
for an SID without a cut, leading to fatal IOMMU errors.

With the hypervisor enabled, some IOMMU entries are left to fallback in bypass when switching, but in EL2 there's no fallback and the ARM SMMUv2 doesn't support
mapping _before_ attaching to a device leading to:
https://elixir.bootlin.com/linux/v6.18.4/source/drivers/iommu/iommu.c#L3046
     /*
      * Drivers are supposed to allow mappings to be installed in a domain
     * before device attachment, but some don't. Hack around this defect by
      * trying again after attaching. If this happens it means the device
      * will not continuously have the IOMMU_RESV_DIRECT map.
      */

Sorry for the digression!

Neil


Thank you, that's good to know! :)

David

[...]

Reply via email to