summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorStephane Viau <sviau@codeaurora.org>2015-04-29 15:57:29 -0400
committerDhaval Patel <pdhaval@codeaurora.org>2016-08-01 11:58:16 -0700
commitfeaefbf236be3359a32be13fc236f45900cf9aaa (patch)
tree2cc7d849f474ea7ffe1c8a8ea1c8bae88fb9cae3 /drivers/gpu
parent82d0ee8384bd9941de33f0b224f42cb4d280e3f8 (diff)
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 <sviau@codeaurora.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/msm/Makefile12
-rw-r--r--drivers/gpu/drm/msm/msm_drv.c16
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");