On Tue, Feb 13, 2024 at 11:16:23AM +0000, Will Deacon wrote: > On Tue, Feb 13, 2024 at 12:55:38PM +0200, Dmitry Baryshkov wrote: > > On Tue, 13 Feb 2024 at 12:20, Robin Murphy <robin.murphy@xxxxxxx> wrote: > > > On 2024-02-13 7:51 am, Dmitry Baryshkov wrote: > > > > On Sat, 10 Feb 2024 at 00:23, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > > >> And then we may get a clue from the backtraces it generates. I only > > > >> saw one iommu group reported in your log so I'd expect one trace? > > > > > > > > I added dev_info + mdelays() around the arm_smmu_init_domain_context() > > > > and I can see that it crashes within that function. > > > > > > Yeah, this is totally broken. We can't just call the unmodified > > > arm_smmu_init_domain_context() at domain allocation because half of what > > > it's doing belongs to the attach operation. We should not be allocating > > > context banks, IRQs, etc. for a not-yet-attached domain, and we > > > certainly shouldn't be touching hardware there outside of RPM. > > > > Should I send a revert? > > If reverting the patch fixes the issue for you, then yes please! Not the whole thing though, just remove the 'if (dev)' like you tested, thanks. If you want I will send it > Hopefully you can help Jason test a reworked verson for the future, as > it's evident that Tegra doesn't tickle the power management side of things > in the same way. It can stay, as long as it uses the alloc_domain_paging() that is enough for the core code to move forward. I included it only because we were able to test it, most of the other drivers I did not try to move their "finalize". Jason