summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorClarence Ip <cip@codeaurora.org>2016-07-06 17:10:37 -0400
committerDhaval Patel <pdhaval@codeaurora.org>2016-08-01 11:58:14 -0700
commit64f9a26886686dee4803d979c5baecab8b71dcc1 (patch)
tree42a3a27b86758ae43ad4e8ed894ba2283aa84e4f /drivers/gpu
parent62fdcb1926682b4b6bbe15129c51eafe81f3efdb (diff)
drm/msm/sde: init private kms pointer before modeset init
Ensure that the device's private data kms pointer is set before attempting to initialize planes, crtc, etc. Change-Id: I4ad0dd10e5350e667575796bbd2d54d4553143de Signed-off-by: Clarence Ip <cip@codeaurora.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/msm/sde/sde_kms.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_kms.c b/drivers/gpu/drm/msm/sde/sde_kms.c
index 7a25ffa56bcf..e5bf75dd7a5b 100644
--- a/drivers/gpu/drm/msm/sde/sde_kms.c
+++ b/drivers/gpu/drm/msm/sde/sde_kms.c
@@ -540,6 +540,11 @@ struct msm_kms *sde_kms_init(struct drm_device *dev)
struct msm_kms *msm_kms;
int ret = 0;
+ if (!dev || !dev->dev_private) {
+ DRM_ERROR("invalid device\n");
+ goto fail;
+ }
+
sde_kms = sde_hw_setup(pdev);
if (IS_ERR(sde_kms)) {
ret = PTR_ERR(sde_kms);
@@ -548,6 +553,7 @@ struct msm_kms *sde_kms_init(struct drm_device *dev)
sde_kms->dev = dev;
msm_kms = &sde_kms->base;
+ priv->kms = msm_kms;
/*
* Currently hardcoding to MDSS version 1.7.0 (8996)