[PATCH 2/2] drm/msm: gpu: call qcom_mdt interfaces only for ARCH_QCOM

Jordan Crouse jcrouse at codeaurora.org
Wed Jun 21 14:58:55 UTC 2017


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 at 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 at 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 at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


More information about the dri-devel mailing list