Thread (17 messages) 17 messages, 3 authors, 2018-01-12

[PATCH 1/9] iommu/of: Drop early initialisation hooks

From: m.szyprowski@samsung.com (Marek Szyprowski)
Date: 2018-01-11 12:26:39
Also in: linux-arm-msm, linux-devicetree, linux-iommu, linux-samsung-soc, lkml

Hi Jeffy,

On 2018-01-11 12:14, JeffyChen wrote:
Hi Marek,

Thanks for your reply.

On 01/11/2018 05:40 PM, Marek Szyprowski wrote:
quoted
Hi Jeffy,

On 2018-01-11 09:22, Jeffy Chen wrote:
quoted
With the probe-deferral mechanism, early initialisation hooks are no
longer needed.

Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Jeffy Chen <redacted>
---

? drivers/iommu/arm-smmu-v3.c? |? 2 +-
? drivers/iommu/arm-smmu.c???? | 12 ++++++------
? drivers/iommu/exynos-iommu.c |? 2 +-
For Exynos IOMMU:
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>

IPMMU and MSM IOMMU are no longer multi-platform safe after this patch.
It breaks them in the same way as my commit 928055a01b3f ("iommu/exynos:
Remove custom platform device registration code") broke Exynos IOMMU.

You need a similar fix for them:
https://www.spinics.net/lists/arm-kernel/msg627648.html
hmmm, right, i did saw this fix in the rockchip iommu driver too.

and there're also some other iommu drivers put bus_set_iommu in their 
probe() to avoid that.

maybe we can do it in the iommu framework?

for example:
1/ add a bus type member to struct iommu_device
2/ and a iommu_device_set_bus()
3/ do the bus_set_iommu stuff in iommu_device_register()
4/ undo bus_set_iommu in iommu_device_unregister()
Frankly, in case the device-tree based systems bus_set_iommu()
should not be needed at all. However for some legacy reasons it
is still required by a few bits of code (at least it was needed
some time ago). Probably it would be best if this is finally
resolved.

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help