diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-07-26 11:52:44 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2017-08-01 19:25:51 -0400 |
commit | bdab8e8b2bc89dce73b6bcabcd295806ce2e5ef9 (patch) | |
tree | 943b95f2532699165813f96739e9dd82395c523d | |
parent | 541de4c9c953438b677c31072e7762115ac11299 (diff) |
drm/msm: gpu: call qcom_mdt interfaces only for ARCH_QCOM
When compile-testing for something other than ARCH_QCOM,
we run into a link error:
drivers/gpu/drm/msm/adreno/a5xx_gpu.o: In function `a5xx_hw_init':
a5xx_gpu.c:(.text.a5xx_hw_init+0x600): undefined reference to `qcom_mdt_get_size'
a5xx_gpu.c:(.text.a5xx_hw_init+0x93c): undefined reference to `qcom_mdt_load'
There is already an #ifdef that tries to check for CONFIG_QCOM_MDT_LOADER,
but that symbol is only meaningful when building for ARCH_QCOM.
This adds a compile-time check for ARCH_QCOM, and clarifies the
Kconfig select statement so we don't even try it for other targets.
The check for CONFIG_QCOM_MDT_LOADER can then go away, which also
improves compile-time coverage and makes the code a little nicer
to read.
Fixes: 7c65817e6d38 ("drm/msm: gpu: Enable zap shader for A5XX")
Acked-by: Jordan Crouse <jcrouse@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r-- | drivers/gpu/drm/msm/Kconfig | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 11 |
2 files changed, 4 insertions, 9 deletions
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig index b638d192ce5e..99d39b2aefa6 100644 --- a/drivers/gpu/drm/msm/Kconfig +++ b/drivers/gpu/drm/msm/Kconfig | |||
@@ -5,7 +5,7 @@ config DRM_MSM | |||
5 | depends on ARCH_QCOM || (ARM && COMPILE_TEST) | 5 | depends on ARCH_QCOM || (ARM && COMPILE_TEST) |
6 | depends on OF && COMMON_CLK | 6 | depends on OF && COMMON_CLK |
7 | depends on MMU | 7 | depends on MMU |
8 | select QCOM_MDT_LOADER | 8 | select QCOM_MDT_LOADER if ARCH_QCOM |
9 | select REGULATOR | 9 | select REGULATOR |
10 | select DRM_KMS_HELPER | 10 | select DRM_KMS_HELPER |
11 | select DRM_PANEL | 11 | select DRM_PANEL |
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c index 33763b005b7b..a3393e1dc497 100644 --- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c | |||
@@ -26,8 +26,6 @@ static void a5xx_dump(struct msm_gpu *gpu); | |||
26 | 26 | ||
27 | #define GPU_PAS_ID 13 | 27 | #define GPU_PAS_ID 13 |
28 | 28 | ||
29 | #if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) | ||
30 | |||
31 | static int zap_shader_load_mdt(struct device *dev, const char *fwname) | 29 | static int zap_shader_load_mdt(struct device *dev, const char *fwname) |
32 | { | 30 | { |
33 | const struct firmware *fw; | 31 | const struct firmware *fw; |
@@ -36,6 +34,9 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) | |||
36 | void *mem_region = NULL; | 34 | void *mem_region = NULL; |
37 | int ret; | 35 | int ret; |
38 | 36 | ||
37 | if (!IS_ENABLED(CONFIG_ARCH_QCOM)) | ||
38 | return -EINVAL; | ||
39 | |||
39 | /* Request the MDT file for the firmware */ | 40 | /* Request the MDT file for the firmware */ |
40 | ret = request_firmware(&fw, fwname, dev); | 41 | ret = request_firmware(&fw, fwname, dev); |
41 | if (ret) { | 42 | if (ret) { |
@@ -73,12 +74,6 @@ out: | |||
73 | 74 | ||
74 | return ret; | 75 | return ret; |
75 | } | 76 | } |
76 | #else | ||
77 | static int zap_shader_load_mdt(struct device *dev, const char *fwname) | ||
78 | { | ||
79 | return -ENODEV; | ||
80 | } | ||
81 | #endif | ||
82 | 77 | ||
83 | static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, | 78 | static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, |
84 | struct msm_file_private *ctx) | 79 | struct msm_file_private *ctx) |