Messages in this thread |  | | Date | Wed, 18 Jan 2023 11:19:02 +0000 | | Subject | Re: [PATCH] drm/panfrost: fix GENERIC_ATOMIC64 dependency | | From | Robin Murphy <> |
| |
On 2023-01-18 11:09, Steven Price wrote: > On 17/01/2023 16:44, Arnd Bergmann wrote: >> From: Arnd Bergmann <arnd@arndb.de> >> >> On ARMv5 and earlier, a randconfig build can still run into >> >> WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE >> Depends on [n]: IOMMU_SUPPORT [=y] && (ARM [=y] || ARM64 || COMPILE_TEST [=y]) && !GENERIC_ATOMIC64 [=y] >> Selected by [y]: >> - DRM_PANFROST [=y] && HAS_IOMEM [=y] && DRM [=y] && (ARM [=y] || ARM64 || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y]) && MMU [=y] >> >> Rework the dependencies to always require a working cmpxchg64. >> >> Fixes: db594ba3fcf9 ("drm/panfrost: depend on !GENERIC_ATOMIC64 when using COMPILE_TEST") > > Looking at db594ba3fcf9 - it states: > >> Since panfrost has a 'select' on IOMMU_IO_PGTABLE_LPAE we must depend on >> the same set of flags. Otherwise IOMMU_IO_PGTABLE_LPAE will be forced on >> even though it cannot build (no support for cmpxchg64). > > And at the time the dependencies on IOMMU_IO_PGTABLE_LPAE were exactly > these. > > However d286a58bc8f4 ("iommu: Tidy up io-pgtable dependencies") > (currently in the iommu tree) changed the depends to split the > !GENERIC_ATOMIC64 out. So we could argue that really that's the commit > that should be blamed in the fixes line.
Oh bum... indeed this is entirely my fault for forgetting about our one "foreign" io-pgtable user in that commit, sorry about that.
> However there's no harm in this being backported further than it > strictly needs to be, and it's clearly better having the > !GENERIC_ATOMIC64 split out. So I'll merge this to drm-misc-fixes.
Thanks both!
Robin.
> > Reviewed-by: Steven Price <steven.price@arm.com> > > Thanks! > > Steve > >> Signed-off-by: Arnd Bergmann <arnd@arndb.de> >> --- >> drivers/gpu/drm/panfrost/Kconfig | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/panfrost/Kconfig b/drivers/gpu/drm/panfrost/Kconfig >> index 079600328be1..e6403a9d66ad 100644 >> --- a/drivers/gpu/drm/panfrost/Kconfig >> +++ b/drivers/gpu/drm/panfrost/Kconfig >> @@ -3,7 +3,8 @@ >> config DRM_PANFROST >> tristate "Panfrost (DRM support for ARM Mali Midgard/Bifrost GPUs)" >> depends on DRM >> - depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64) >> + depends on ARM || ARM64 || COMPILE_TEST >> + depends on !GENERIC_ATOMIC64 # for IOMMU_IO_PGTABLE_LPAE >> depends on MMU >> select DRM_SCHED >> select IOMMU_SUPPORT >
|  |