[PATCH v5 10/17] iommu: Do iommu_group_create_direct_mappings() before attach
Robin Murphy
robin.murphy at arm.com
Mon Jun 5 07:00:24 PDT 2023
On 2023-06-05 14:47, Jason Gunthorpe wrote:
> On Mon, Jun 05, 2023 at 09:09:59AM +0200, Ricardo Cañuelo wrote:
>> [ 16.267594] Call trace:
>> [ 16.267597] mtk_iommu_flush_iotlb_all+0x18/0x70
>> [ 16.267603] iommu_create_device_direct_mappings.part.0+0x13c/0x21c
>> [ 16.267608] iommu_setup_default_domain+0x27c/0x430
>> [ 16.267611] iommu_probe_device+0x7c/0x144
>> [ 16.267615] of_iommu_configure+0x114/0x200
>> [ 16.267619] of_dma_configure_id+0x1e0/0x3b4
>
> This is definitely some problem in the mtk driver.. But I can't guess
> what is wrong:
>
> static void mtk_iommu_flush_iotlb_all(struct iommu_domain *domain)
> {
> struct mtk_iommu_domain *dom = to_mtk_domain(domain);
>
> if (dom->bank)
> mtk_iommu_tlb_flush_all(dom->bank->parent_data);
> }
>
> We know domain != NULL since the caller checked (and de-ref'd)
> it.
>
> dom->bank should either be NULL (if pre-finalize) or a devm tracked
> pointer.
>
> parent_data is always valid if bank is valid.
>
> So I'm at a loss.. Can you debug a bit more and find out where mtk is
> crashing?
The log says it's next-20230530 - the fix you're seeing there from
commit b3fc95709c54 landed 2 days later :)
Robin.
More information about the Linux-mediatek
mailing list