Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b02872df authored by Jordan Crouse's avatar Jordan Crouse Committed by Rob Clark
Browse files

drm/msm/a6xx: Don't enable GPU state code if dependencies are missing



Add CONFIG_DRM_MSM_GPU_STATE to conditionally compile Adreno GPU state
code depending on the availability of the dependencies.

Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Reported-by: default avatarYueHaibing <yuehaibing@huawei.com>
Fixes: 1707add8 ("drm/msm/a6xx: Add a6xx gpu state")
Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent b55ee6b2
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -21,6 +21,11 @@ config DRM_MSM
	help
	  DRM/KMS driver for MSM/snapdragon.

config DRM_MSM_GPU_STATE
	bool
	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
	default y

config DRM_MSM_REGISTER_LOGGING
	bool "MSM DRM register logging"
	depends on DRM_MSM
+2 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ msm-y := \
	adreno/a6xx_gpu.o \
	adreno/a6xx_gmu.o \
	adreno/a6xx_hfi.o \
	adreno/a6xx_gpu_state.o \
	hdmi/hdmi.o \
	hdmi/hdmi_audio.o \
	hdmi/hdmi_bridge.o \
@@ -96,6 +95,8 @@ msm-y := \

msm-$(CONFIG_DEBUG_FS) += adreno/a5xx_debugfs.o

msm-$(CONFIG_DRM_MSM_GPU_STATE)	+= adreno/a6xx_gpu_state.o

msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o
msm-$(CONFIG_COMMON_CLK) += disp/mdp4/mdp4_lvds_pll.o
msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o
+3 −1
Original line number Diff line number Diff line
@@ -807,14 +807,16 @@ static const struct adreno_gpu_funcs funcs = {
		.active_ring = a6xx_active_ring,
		.irq = a6xx_irq,
		.destroy = a6xx_destroy,
#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
#if defined(CONFIG_DRM_MSM_GPU_STATE)
		.show = a6xx_show,
#endif
		.gpu_busy = a6xx_gpu_busy,
		.gpu_get_freq = a6xx_gmu_get_freq,
		.gpu_set_freq = a6xx_gmu_set_freq,
#if defined(CONFIG_DRM_MSM_GPU_STATE)
		.gpu_state_get = a6xx_gpu_state_get,
		.gpu_state_put = a6xx_gpu_state_put,
#endif
	},
	.get_timestamp = a6xx_get_timestamp,
};
+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ static int msm_gpu_open(struct inode *inode, struct file *file)
	struct msm_gpu_show_priv *show_priv;
	int ret;

	if (!gpu)
	if (!gpu || !gpu->funcs->gpu_state_get)
		return -ENODEV;

	show_priv = kmalloc(sizeof(*show_priv), GFP_KERNEL);