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.
Cheers
Jon
--
nvpublic