drm/i915/icl: Ungate ddi clocks before IO enable
authorVandita Kulkarni <vandita.kulkarni@intel.com>
Mon, 25 Mar 2019 11:26:41 +0000 (16:56 +0530)
committerJani Nikula <jani.nikula@intel.com>
Wed, 10 Apr 2019 12:37:26 +0000 (15:37 +0300)
IO enable sequencing needs ddi clocks enabled.
These clocks will be gated at a later point in
the enable sequence.

v2: Fix the commit header (Uma)
v3: Remove the redundant read (Ville)

Fixes: 949fc52af19e ("drm/i915/icl: add pll mapping for DSI")
Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1553513202-13863-1-git-send-email-vandita.kulkarni@intel.com
drivers/gpu/drm/i915/icl_dsi.c

index 6fc48479c97b36f33d2547954235d071a406c854..be1cfbced8e940eb09496056789e171d4bb3098b 100644 (file)
@@ -602,6 +602,12 @@ static void gen11_dsi_map_pll(struct intel_encoder *encoder,
                val |= DPCLKA_CFGCR0_DDI_CLK_SEL(pll->info->id, port);
        }
        I915_WRITE(DPCLKA_CFGCR0_ICL, val);
+
+       for_each_dsi_port(port, intel_dsi->ports) {
+               val &= ~DPCLKA_CFGCR0_DDI_CLK_OFF(port);
+       }
+       I915_WRITE(DPCLKA_CFGCR0_ICL, val);
+
        POSTING_READ(DPCLKA_CFGCR0_ICL);
 
        mutex_unlock(&dev_priv->dpll_lock);