Re: [PATCH v4 05/16] iommu: Move bus setup to IOMMU device registration

From: Jon Hunter
Date: Thu Oct 06 2022 - 10:01:35 EST

Hi Robin,

On 15/08/2022 17:20, Robin Murphy wrote:
Move the bus setup to iommu_device_register(). This should allow
bus_iommu_probe() to be correctly replayed for multiple IOMMU instances,
and leaves bus_set_iommu() as a glorified no-op to be cleaned up next.

At this point we can also handle cleanup better than just rolling back
the most-recently-touched bus upon failure - which may release devices
owned by other already-registered instances, and still leave devices on
other buses with dangling pointers to the failed instance. Now it's easy
to clean up the exact footprint of a given instance, no more, no less.

Since this change, I have noticed that the DRM driver on Tegra20 is failing to probe and I am seeing ...

tegra-gr2d 54140000.gr2d: failed to attach to domain: -19
drm drm: failed to initialize 54140000.gr2d: -19

Bisect points to this change and reverting it fixes it. Let me know if you have any thoughts.