Message ID | 1608597876-32367-4-git-send-email-isaacm@codeaurora.org |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 2020-12-22 19:49, isaacm@codeaurora.org wrote: > On 2020-12-22 11:27, Robin Murphy wrote: >> On 2020-12-22 00:44, Isaac J. Manjarres wrote: >>> The SMMU driver depends on the availability of the ARM LPAE and >>> ARM V7S io-pgtable format code to work properly. In preparation >> >> Nit: we don't really depend on v7s - we *can* use it if it's >> available, address constraints are suitable, and the SMMU >> implementation actually supports it (many don't), but we can still >> quite happily not use it even so. LPAE is mandatory in the >> architecture so that's our only hard requirement, embodied in the >> kconfig select. >> >> This does mean there may technically still be a corner case involving >> ARM_SMMU=y and IO_PGTABLE_ARM_V7S=m, but at worst it's now a runtime >> failure rather than a build error, so unless and until anyone >> demonstrates that it actually matters I don't feel particularly >> inclined to give it much thought. >> >> Robin. >> > Okay, I'll fix up the commit message, as well as the code, so that it > only depends on io-pgtable-arm. Well, IIUC it would make sense to keep the softdep for when the v7s module *is* present; I just wanted to clarify that it's more of a nice-to-have rather than a necessity. Robin. > Thanks, > Isaac >>> for having the io-pgtable formats as modules, add a "pre" >>> dependency with MODULE_SOFTDEP() to ensure that the io-pgtable >>> format modules are loaded before loading the ARM SMMU driver module. >>> >>> Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> >>> --- >>> drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c >>> b/drivers/iommu/arm/arm-smmu/arm-smmu.c >>> index d8c6bfd..a72649f 100644 >>> --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c >>> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c >>> @@ -2351,3 +2351,4 @@ MODULE_DESCRIPTION("IOMMU API for ARM >>> architected SMMU implementations"); >>> MODULE_AUTHOR("Will Deacon <will@kernel.org>"); >>> MODULE_ALIAS("platform:arm-smmu"); >>> MODULE_LICENSE("GPL v2"); >>> +MODULE_SOFTDEP("pre: io-pgtable-arm io-pgtable-arm-v7s"); >>> >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 2020-12-23 05:05, Robin Murphy wrote: > On 2020-12-22 19:49, isaacm@codeaurora.org wrote: >> On 2020-12-22 11:27, Robin Murphy wrote: >>> On 2020-12-22 00:44, Isaac J. Manjarres wrote: >>>> The SMMU driver depends on the availability of the ARM LPAE and >>>> ARM V7S io-pgtable format code to work properly. In preparation >>> >>> Nit: we don't really depend on v7s - we *can* use it if it's >>> available, address constraints are suitable, and the SMMU >>> implementation actually supports it (many don't), but we can still >>> quite happily not use it even so. LPAE is mandatory in the >>> architecture so that's our only hard requirement, embodied in the >>> kconfig select. >>> >>> This does mean there may technically still be a corner case involving >>> ARM_SMMU=y and IO_PGTABLE_ARM_V7S=m, but at worst it's now a runtime >>> failure rather than a build error, so unless and until anyone >>> demonstrates that it actually matters I don't feel particularly >>> inclined to give it much thought. >>> >>> Robin. >>> >> Okay, I'll fix up the commit message, as well as the code, so that it >> only depends on io-pgtable-arm. > > Well, IIUC it would make sense to keep the softdep for when the v7s > module *is* present; I just wanted to clarify that it's more of a > nice-to-have rather than a necessity. > > Robin. > Understood, I will keep it there and reword the commit msg. I just tried it out in an environment where the io-pgtable-arm-v7s module isn't present, and I didn't see any warnings or error messages, and the SMMU driver module was loaded properly, so yes, it's good to have it. Thanks, Isaac >> Thanks, >> Isaac >>>> for having the io-pgtable formats as modules, add a "pre" >>>> dependency with MODULE_SOFTDEP() to ensure that the io-pgtable >>>> format modules are loaded before loading the ARM SMMU driver module. >>>> >>>> Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> >>>> --- >>>> drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c >>>> b/drivers/iommu/arm/arm-smmu/arm-smmu.c >>>> index d8c6bfd..a72649f 100644 >>>> --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c >>>> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c >>>> @@ -2351,3 +2351,4 @@ MODULE_DESCRIPTION("IOMMU API for ARM >>>> architected SMMU implementations"); >>>> MODULE_AUTHOR("Will Deacon <will@kernel.org>"); >>>> MODULE_ALIAS("platform:arm-smmu"); >>>> MODULE_LICENSE("GPL v2"); >>>> +MODULE_SOFTDEP("pre: io-pgtable-arm io-pgtable-arm-v7s"); >>>> >>> >>> _______________________________________________ >>> linux-arm-kernel mailing list >>> linux-arm-kernel@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c index d8c6bfd..a72649f 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c @@ -2351,3 +2351,4 @@ MODULE_DESCRIPTION("IOMMU API for ARM architected SMMU implementations"); MODULE_AUTHOR("Will Deacon <will@kernel.org>"); MODULE_ALIAS("platform:arm-smmu"); MODULE_LICENSE("GPL v2"); +MODULE_SOFTDEP("pre: io-pgtable-arm io-pgtable-arm-v7s");
The SMMU driver depends on the availability of the ARM LPAE and ARM V7S io-pgtable format code to work properly. In preparation for having the io-pgtable formats as modules, add a "pre" dependency with MODULE_SOFTDEP() to ensure that the io-pgtable format modules are loaded before loading the ARM SMMU driver module. Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> --- drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 + 1 file changed, 1 insertion(+)