summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c
diff options
context:
space:
mode:
authorRob Clark2014-11-04 19:33:14 +0100
committerRob Clark2014-11-16 20:22:42 +0100
commit067fef372c7356f64e4d307218df0fae49f9c88e (patch)
tree208fe0b1e8dca420a2ae9849a54b91f907e5e4ba /drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c
parentdrm/msm: update generated headers (diff)
downloadkernel-qcow2-linux-067fef372c7356f64e4d307218df0fae49f9c88e.tar.gz
kernel-qcow2-linux-067fef372c7356f64e4d307218df0fae49f9c88e.tar.xz
kernel-qcow2-linux-067fef372c7356f64e4d307218df0fae49f9c88e.zip
drm/msm/hdmi: refactor bind/init
Split up hdmi_init() into hdmi_init() (done at hdmi sub-device bind/probe time) and hdmi_modeset_init() done from master driver's modeset_init(). Anything that can fail due to dependencies on other drivers which may be missing or not probed yet should go in hdmi_init(), so that devm error/cleanup paths work properly. Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c
index f2b985bc2adf..812c59bbaf7f 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c
@@ -82,6 +82,7 @@ irqreturn_t mdp5_irq(struct msm_kms *kms)
{
struct mdp_kms *mdp_kms = to_mdp_kms(kms);
struct mdp5_kms *mdp5_kms = to_mdp5_kms(mdp_kms);
+ struct msm_drm_private *priv = mdp5_kms->dev->dev_private;
uint32_t intr;
intr = mdp5_read(mdp5_kms, REG_MDP5_HW_INTR_STATUS);
@@ -92,7 +93,7 @@ irqreturn_t mdp5_irq(struct msm_kms *kms)
mdp5_irq_mdp(mdp_kms);
if (intr & MDP5_HW_INTR_STATUS_INTR_HDMI)
- hdmi_irq(0, mdp5_kms->hdmi);
+ hdmi_irq(0, priv->hdmi);
return IRQ_HANDLED;
}