From feaefbf236be3359a32be13fc236f45900cf9aaa Mon Sep 17 00:00:00 2001 From: Stephane Viau Date: Wed, 29 Apr 2015 15:57:29 -0400 Subject: drm/msm: switch to qti KGSL driver DRM msm driver has option to switch between qti kgsl driver and drm GPU driver. Qti kgsl driver is preferred over other driver to support rendering because it supports all qti features with custom optimization. This change allows to select qti kgsl driver if it is available. Change-Id: I031eeec6378b6ce436c09c1a8388401e7ff48f52 Signed-off-by: Stephane Viau --- drivers/gpu/drm/msm/Makefile | 12 ++++++++---- drivers/gpu/drm/msm/msm_drv.c | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index 762dfb8a314b..73c74a401f9d 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -5,10 +5,6 @@ ccflags-$(CONFIG_SYNC) += -Idrivers/staging/android ccflags-$(CONFIG_DRM_MSM_DSI_PLL) += -Idrivers/gpu/drm/msm/dsi msm-y := \ - adreno/adreno_device.o \ - adreno/adreno_gpu.o \ - adreno/a3xx_gpu.o \ - adreno/a4xx_gpu.o \ hdmi/hdmi.o \ hdmi/hdmi_audio.o \ hdmi/hdmi_bridge.o \ @@ -64,6 +60,14 @@ msm-y := \ msm_evtlog.o \ msm_prop.o \ +# use drm gpu driver only if qcom_kgsl driver not available +ifneq ($(CONFIG_QCOM_KGSL),y) +msm-y += adreno/adreno_device.o \ + adreno/adreno_gpu.o \ + adreno/a3xx_gpu.o \ + adreno/a4xx_gpu.o +endif + msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o msm-$(CONFIG_SYNC) += sde/sde_fence.o msm-$(CONFIG_COMMON_CLK) += mdp/mdp4/mdp4_lvds_pll.o diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 5209b4b39d20..fd0b0227d65a 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -450,6 +450,11 @@ fail: return ret; } +#ifdef CONFIG_QCOM_KGSL +static void load_gpu(struct drm_device *dev) +{ +} +#else static void load_gpu(struct drm_device *dev) { static DEFINE_MUTEX(init_lock); @@ -462,6 +467,7 @@ static void load_gpu(struct drm_device *dev) mutex_unlock(&init_lock); } +#endif static int msm_open(struct drm_device *dev, struct drm_file *file) { @@ -1167,6 +1173,16 @@ static struct platform_driver msm_platform_driver = { .id_table = msm_id, }; +#ifdef CONFIG_QCOM_KGSL +void __init adreno_register(void) +{ +} + +void __exit adreno_unregister(void) +{ +} +#endif + static int __init msm_drm_register(void) { DBG("init"); -- cgit v1.2.3