Message ID | 20170620201720.225593-2-arnd@arndb.de (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Andy Gross |
Headers | show |
On Tue, Jun 20, 2017 at 10:16:51PM +0200, Arnd Bergmann wrote: > 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") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> (ARM && COMPILE_TEST) really gives the dependency checks a run for their money. I assume Bjorn is cool with this. Acked-by: Jordan Crouse <jcrouse@codeaurora.org> > --- > drivers/gpu/drm/msm/Kconfig | 2 +- > 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 > depends on ARCH_QCOM || (ARM && COMPILE_TEST) > depends on OF && COMMON_CLK > depends on MMU > - select QCOM_MDT_LOADER > + select QCOM_MDT_LOADER if ARCH_QCOM > select REGULATOR > select DRM_KMS_HELPER > select DRM_PANEL > diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c > index eee9ac81aaa1..b719a5b5b88a 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); > > #define GPU_PAS_ID 13 > > -#if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) > - > static int zap_shader_load_mdt(struct device *dev, const char *fwname) > { > const struct firmware *fw; > @@ -36,6 +34,9 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) > void *mem_region = NULL; > int ret; > > + if (!IS_ENABLED(CONFIG_ARCH_QCOM)) > + return -EINVAL; > + > /* Request the MDT file for the firmware */ > ret = request_firmware(&fw, fwname, dev); > if (ret) { > @@ -75,12 +76,6 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) > > return ret; > } > -#else > -static int zap_shader_load_mdt(struct device *dev, const char *fwname) > -{ > - return -ENODEV; > -} > -#endif > > static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, > struct msm_file_private *ctx) > -- > 2.9.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue 20 Jun 13:16 PDT 2017, Arnd Bergmann wrote: > 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. Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org> Regards, Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 depends on ARCH_QCOM || (ARM && COMPILE_TEST) depends on OF && COMMON_CLK depends on MMU - select QCOM_MDT_LOADER + select QCOM_MDT_LOADER if ARCH_QCOM select REGULATOR select DRM_KMS_HELPER select DRM_PANEL diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c index eee9ac81aaa1..b719a5b5b88a 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); #define GPU_PAS_ID 13 -#if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) - static int zap_shader_load_mdt(struct device *dev, const char *fwname) { const struct firmware *fw; @@ -36,6 +34,9 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) void *mem_region = NULL; int ret; + if (!IS_ENABLED(CONFIG_ARCH_QCOM)) + return -EINVAL; + /* Request the MDT file for the firmware */ ret = request_firmware(&fw, fwname, dev); if (ret) { @@ -75,12 +76,6 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) return ret; } -#else -static int zap_shader_load_mdt(struct device *dev, const char *fwname) -{ - return -ENODEV; -} -#endif static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, struct msm_file_private *ctx)
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") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/gpu/drm/msm/Kconfig | 2 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-)