diff mbox series

drm/msm/gpu: fix link failure with QCOM_SCM=m

Message ID 20210802145321.1153989-1-arnd@kernel.org
State New
Headers show
Series drm/msm/gpu: fix link failure with QCOM_SCM=m | expand

Commit Message

Arnd Bergmann Aug. 2, 2021, 2:53 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>


Another missed dependency when SCM is a loadable module
and adreno is built-in:

drivers/gpu/drm/msm/adreno/adreno_gpu.o: In function `adreno_zap_shader_load':
adreno_gpu.c:(.text+0x1e8): undefined reference to `qcom_scm_is_available'
drivers/gpu/drm/msm/adreno/a5xx_gpu.o: In function `a5xx_hw_init':
a5xx_gpu.c:(.text+0x28a6): undefined reference to `qcom_scm_set_remote_state'

Change it so the dependency on QCOM_SCM and QCOM_MDT_LOADER can be
ignored if we are not building for ARCH_QCOM, but prevent the
link error during compile testing when SCM is a loadable module
and ARCH_QCOM is disabled.

Fixes: a9e2559c931d ("drm/msm/gpu: Move zap shader loading to adreno")
Fixes: 5ea4dba68305 ("drm/msm/a6xx: add CONFIG_QCOM_LLCC dependency")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/gpu/drm/msm/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.29.2

Comments

Arnd Bergmann Aug. 4, 2021, 7:43 a.m. UTC | #1
On Mon, Aug 2, 2021 at 4:53 PM Arnd Bergmann <arnd@kernel.org> wrote:
>

> From: Arnd Bergmann <arnd@arndb.de>

>

> Another missed dependency when SCM is a loadable module

> and adreno is built-in:

>

> drivers/gpu/drm/msm/adreno/adreno_gpu.o: In function `adreno_zap_shader_load':

> adreno_gpu.c:(.text+0x1e8): undefined reference to `qcom_scm_is_available'

> drivers/gpu/drm/msm/adreno/a5xx_gpu.o: In function `a5xx_hw_init':

> a5xx_gpu.c:(.text+0x28a6): undefined reference to `qcom_scm_set_remote_state'

>

> Change it so the dependency on QCOM_SCM and QCOM_MDT_LOADER can be

> ignored if we are not building for ARCH_QCOM, but prevent the

> link error during compile testing when SCM is a loadable module

> and ARCH_QCOM is disabled.

>

> Fixes: a9e2559c931d ("drm/msm/gpu: Move zap shader loading to adreno")

> Fixes: 5ea4dba68305 ("drm/msm/a6xx: add CONFIG_QCOM_LLCC dependency")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Oh, this is still wrong, for two reasons:

> ---

>  drivers/gpu/drm/msm/Kconfig | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

>

> diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig

> index 52536e7adb95..69fbfe4568b2 100644

> --- a/drivers/gpu/drm/msm/Kconfig

> +++ b/drivers/gpu/drm/msm/Kconfig

> @@ -9,14 +9,14 @@ config DRM_MSM

>         depends on QCOM_OCMEM || QCOM_OCMEM=n

>         depends on QCOM_LLCC || QCOM_LLCC=n

>         depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n

> +       depends on QCOM_SCM || (QCOM_SCM=n && ARCH_QCOM=n)

> +       depends on QCOM_MDT_LOADER || ARCH_QCOM=n


* Only QCOM_SCM has become user-selectable, but QCOM_MDT_LOADER
   is still meant to only be selected by its users, so we cannot depend on it
   here

* There are two other drivers that have the broken 'select QCOM_SCM if
   ARCH_QCOM', we have to fix them all at once.

         Arnd
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index 52536e7adb95..69fbfe4568b2 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -9,14 +9,14 @@  config DRM_MSM
 	depends on QCOM_OCMEM || QCOM_OCMEM=n
 	depends on QCOM_LLCC || QCOM_LLCC=n
 	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
+	depends on QCOM_SCM || (QCOM_SCM=n && ARCH_QCOM=n)
+	depends on QCOM_MDT_LOADER || ARCH_QCOM=n
 	select IOMMU_IO_PGTABLE
-	select QCOM_MDT_LOADER if ARCH_QCOM
 	select REGULATOR
 	select DRM_KMS_HELPER
 	select DRM_PANEL
 	select SHMEM
 	select TMPFS
-	select QCOM_SCM if ARCH_QCOM
 	select WANT_DEV_COREDUMP
 	select SND_SOC_HDMI_CODEC if SND_SOC
 	select SYNC_FILE