drm/msm/a6xx: add CONFIG_QCOM_LLCC dependency
authorArnd Bergmann <arnd@arndb.de>
Wed, 2 Jun 2021 21:52:51 +0000 (14:52 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 3 Jun 2021 08:47:55 +0000 (10:47 +0200)
When LLCC support is in a loadable module, the adreno support
cannot be built-in:

aarch64-linux-ld: drivers/gpu/drm/msm/adreno/a6xx_gpu.o: in function `a6xx_gpu_init':
a6xx_gpu.c:(.text+0xe0): undefined reference to `llcc_slice_getd'
a6xx_gpu.c:(.text+0xe0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `llcc_slice_getd'
aarch64-linux-ld: a6xx_gpu.c:(.text+0xec): undefined reference to `llcc_slice_getd'
a6xx_gpu.c:(.text+0xec): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `llcc_slice_getd'
aarch64-linux-ld: drivers/gpu/drm/msm/adreno/a6xx_gpu.o: in function `a6xx_destroy':
a6xx_gpu.c:(.text+0x274): undefined reference to `llcc_slice_putd'
a6xx_gpu.c:(.text+0x274): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `llcc_slice_putd'
aarch64-linux-ld: a6xx_gpu.c:(.text+0x27c): undefined reference to `llcc_slice_putd'

Add a Kconfig dependency that disallows the broken configuration
but allows all working ones.

Fixes: 474dadb8b0d5 ("drm/msm/a6xx: Add support for using system cache(LLC)")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210103140407.3917405-1-arnd@kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210602215252.695994-3-keescook@chromium.org
drivers/gpu/drm/msm/Kconfig

index 10f693e..52536e7 100644 (file)
@@ -7,6 +7,8 @@ config DRM_MSM
        depends on IOMMU_SUPPORT
        depends on OF && COMMON_CLK
        depends on QCOM_OCMEM || QCOM_OCMEM=n
+       depends on QCOM_LLCC || QCOM_LLCC=n
+       depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
        select IOMMU_IO_PGTABLE
        select QCOM_MDT_LOADER if ARCH_QCOM
        select REGULATOR
@@ -15,7 +17,6 @@ config DRM_MSM
        select SHMEM
        select TMPFS
        select QCOM_SCM if ARCH_QCOM
-       select QCOM_COMMAND_DB if ARCH_QCOM
        select WANT_DEV_COREDUMP
        select SND_SOC_HDMI_CODEC if SND_SOC
        select SYNC_FILE