drm/i915/ehl/dsi: Enable AFE over PPI strap
authorJosé Roberto de Souza <jose.souza@intel.com>
Wed, 19 Jun 2019 23:31:34 +0000 (16:31 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Thu, 20 Jun 2019 20:18:04 +0000 (13:18 -0700)
The other additional step in the DSI sequence for EHL.

v2:
- Using REG_BIT()(Matt)
- Fixed commit message typo(Vandita)

BSpec: 20597
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190619233134.20009-2-jose.souza@intel.com
drivers/gpu/drm/i915/display/icl_dsi.c
drivers/gpu/drm/i915/i915_reg.h

index 8b4d589be4b42de9a6339ad51520575f77302837..b8673debf9322ac06edc95950f8b5505108284d0 100644 (file)
@@ -544,6 +544,14 @@ static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
                        I915_WRITE(DSI_TA_TIMING_PARAM(port), tmp);
                }
        }
+
+       if (IS_ELKHARTLAKE(dev_priv)) {
+               for_each_dsi_port(port, intel_dsi->ports) {
+                       tmp = I915_READ(ICL_DPHY_CHKN(port));
+                       tmp |= ICL_DPHY_CHKN_AFE_OVER_PPI_STRAP;
+                       I915_WRITE(ICL_DPHY_CHKN(port), tmp);
+               }
+       }
 }
 
 static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
index 969c3b23d519817b75d71eff7e866dccef241034..6ccc713d85b35dec09c11a76344be751e3aab5ab 100644 (file)
@@ -1993,6 +1993,10 @@ enum i915_power_well_id {
 #define   N_SCALAR(x)                  ((x) << 24)
 #define   N_SCALAR_MASK                        (0x7F << 24)
 
+#define _ICL_DPHY_CHKN_REG                     0x194
+#define ICL_DPHY_CHKN(port)                    _MMIO(_ICL_COMBOPHY(port) + _ICL_DPHY_CHKN_REG)
+#define   ICL_DPHY_CHKN_AFE_OVER_PPI_STRAP     REG_BIT(7)
+
 #define MG_PHY_PORT_LN(ln, port, ln0p1, ln0p2, ln1p1) \
        _MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))