params->dco_fraction = dco & 0x7fff;
  }
  
- static bool
- __cnl_ddi_calculate_wrpll(struct intel_crtc_state *crtc_state,
-                         struct skl_wrpll_params *wrpll_params,
-                         int ref_clock)
- {
-       u32 afe_clock = crtc_state->port_clock * 5;
-       u32 dco_min = 7998000;
-       u32 dco_max = 10000000;
-       u32 dco_mid = (dco_min + dco_max) / 2;
-       static const int dividers[] = {  2,  4,  6,  8, 10, 12,  14,  16,
-                                        18, 20, 24, 28, 30, 32,  36,  40,
-                                        42, 44, 48, 50, 52, 54,  56,  60,
-                                        64, 66, 68, 70, 72, 76,  78,  80,
-                                        84, 88, 90, 92, 96, 98, 100, 102,
-                                         3,  5,  7,  9, 15, 21 };
-       u32 dco, best_dco = 0, dco_centrality = 0;
-       u32 best_dco_centrality = U32_MAX; /* Spec meaning of 999999 MHz */
-       int d, best_div = 0, pdiv = 0, qdiv = 0, kdiv = 0;
- 
-       for (d = 0; d < ARRAY_SIZE(dividers); d++) {
-               dco = afe_clock * dividers[d];
- 
-               if ((dco <= dco_max) && (dco >= dco_min)) {
-                       dco_centrality = abs(dco - dco_mid);
- 
-                       if (dco_centrality < best_dco_centrality) {
-                               best_dco_centrality = dco_centrality;
-                               best_div = dividers[d];
-                               best_dco = dco;
-                       }
-               }
-       }
- 
-       if (best_div == 0)
-               return false;
- 
-       cnl_wrpll_get_multipliers(best_div, &pdiv, &qdiv, &kdiv);
-       cnl_wrpll_params_populate(wrpll_params, best_dco, ref_clock,
-                                 pdiv, qdiv, kdiv);
- 
-       return true;
- }
- 
- static bool
- cnl_ddi_calculate_wrpll(struct intel_crtc_state *crtc_state,
-                       struct skl_wrpll_params *wrpll_params)
- {
-       struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
- 
-       return __cnl_ddi_calculate_wrpll(crtc_state, wrpll_params,
-                                        i915->dpll.ref_clks.nssc);
- }
- 
- static bool cnl_ddi_hdmi_pll_dividers(struct intel_crtc_state *crtc_state)
- {
-       u32 cfgcr0, cfgcr1;
-       struct skl_wrpll_params wrpll_params = { 0, };
- 
-       cfgcr0 = DPLL_CFGCR0_HDMI_MODE;
- 
-       if (!cnl_ddi_calculate_wrpll(crtc_state, &wrpll_params))
-               return false;
- 
-       cfgcr0 |= DPLL_CFGCR0_DCO_FRACTION(wrpll_params.dco_fraction) |
-               wrpll_params.dco_integer;
- 
-       cfgcr1 = DPLL_CFGCR1_QDIV_RATIO(wrpll_params.qdiv_ratio) |
-               DPLL_CFGCR1_QDIV_MODE(wrpll_params.qdiv_mode) |
-               DPLL_CFGCR1_KDIV(wrpll_params.kdiv) |
-               DPLL_CFGCR1_PDIV(wrpll_params.pdiv) |
-               DPLL_CFGCR1_CENTRAL_FREQ;
- 
-       memset(&crtc_state->dpll_hw_state, 0,
-              sizeof(crtc_state->dpll_hw_state));
- 
-       crtc_state->dpll_hw_state.cfgcr0 = cfgcr0;
-       crtc_state->dpll_hw_state.cfgcr1 = cfgcr1;
-       return true;
- }
- 
  /*
 - * Display WA #22010492432: ehl, tgl
 + * Display WA #22010492432: ehl, tgl, adl-p
   * Program half of the nominal DCO divider fraction value.
   */
  static bool
 
        intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN,
                   ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
  
 -      /* This is not an Wa. Enable to reduce Sampler power */
 -      intel_uncore_write(&dev_priv->uncore, GEN10_DFR_RATIO_EN_AND_CHICKEN,
 -                 intel_uncore_read(&dev_priv->uncore, GEN10_DFR_RATIO_EN_AND_CHICKEN) & ~DFR_DISABLE);
 -
        /*Wa_14010594013:icl, ehl */
        intel_uncore_rmw(&dev_priv->uncore, GEN8_CHICKEN_DCPR_1,
-                        0, CNL_DELAY_PMRSP);
+                        0, ICL_DELAY_PMRSP);
  }
  
  static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv)
  {
 -      /* Wa_1409120013:tgl,rkl,adl_s,dg1 */
 -      intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN,
 -                         ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
 +      /* Wa_1409120013:tgl,rkl,adl-s,dg1 */
 +      if (IS_TIGERLAKE(dev_priv) || IS_ROCKETLAKE(dev_priv) ||
 +          IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv))
 +              intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN,
 +                                 ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
  
        /* Wa_1409825376:tgl (pre-prod)*/
-       if (IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_B1))
+       if (IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_C0))
                intel_uncore_write(&dev_priv->uncore, GEN9_CLKGATE_DIS_3, intel_uncore_read(&dev_priv->uncore, GEN9_CLKGATE_DIS_3) |
                           TGL_VRH_GATING_DIS);