if (dev_priv->fbc.false_color)
                dpfc_ctl |= FBC_CTL_FALSE_COLOR;
 
-       if (IS_IVYBRIDGE(dev_priv)) {
-               /* WaFbcAsynchFlipDisableFbcQueue:ivb */
-               intel_de_write(dev_priv, ILK_DISPLAY_CHICKEN1,
-                              intel_de_read(dev_priv, ILK_DISPLAY_CHICKEN1) | ILK_FBCQ_DIS);
-       } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
-               /* WaFbcAsynchFlipDisableFbcQueue:hsw,bdw */
-               intel_de_write(dev_priv, CHICKEN_PIPESL_1(params->crtc.pipe),
-                              intel_de_read(dev_priv, CHICKEN_PIPESL_1(params->crtc.pipe)) | HSW_FBCQ_DIS);
-       }
-
-       if (INTEL_GEN(dev_priv) >= 11)
-               /* Wa_1409120013:icl,ehl,tgl */
-               intel_de_write(dev_priv, ILK_DPFC_CHICKEN,
-                              ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
-
        intel_de_write(dev_priv, ILK_DPFC_CONTROL, dpfc_ctl | DPFC_CTL_EN);
 
        intel_fbc_recompress(dev_priv);
 
 
 static void icl_init_clock_gating(struct drm_i915_private *dev_priv)
 {
+       /* Wa_1409120013:icl,ehl */
+       I915_WRITE(ILK_DPFC_CHICKEN,
+                  ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
+
        /* This is not an Wa. Enable to reduce Sampler power */
        I915_WRITE(GEN10_DFR_RATIO_EN_AND_CHICKEN,
                   I915_READ(GEN10_DFR_RATIO_EN_AND_CHICKEN) & ~DFR_DISABLE);
        u32 vd_pg_enable = 0;
        unsigned int i;
 
+       /* Wa_1409120013:tgl */
+       I915_WRITE(ILK_DPFC_CHICKEN,
+                  ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
+
        /* This is not a WA. Enable VD HCP & MFX_ENC powergate */
        for (i = 0; i < I915_MAX_VCS; i++) {
                if (HAS_ENGINE(&dev_priv->gt, _VCS(i)))
 {
        enum pipe pipe;
 
+       /* WaFbcAsynchFlipDisableFbcQueue:hsw,bdw */
+       I915_WRITE(CHICKEN_PIPESL_1(PIPE_A),
+                  I915_READ(CHICKEN_PIPESL_1(PIPE_A)) |
+                  HSW_FBCQ_DIS);
+
        /* WaSwitchSolVfFArbitrationPriority:bdw */
        I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) | HSW_ECOCHK_ARB_PRIO_SOL);
 
 
 static void hsw_init_clock_gating(struct drm_i915_private *dev_priv)
 {
+       /* WaFbcAsynchFlipDisableFbcQueue:hsw,bdw */
+       I915_WRITE(CHICKEN_PIPESL_1(PIPE_A),
+                  I915_READ(CHICKEN_PIPESL_1(PIPE_A)) |
+                  HSW_FBCQ_DIS);
+
        /* This is required by WaCatErrorRejectionIssue:hsw */
        I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG,
                   I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) |
 
        I915_WRITE(ILK_DSPCLK_GATE_D, ILK_VRHUNIT_CLOCK_GATE_DISABLE);
 
+       /* WaFbcAsynchFlipDisableFbcQueue:ivb */
+       I915_WRITE(ILK_DISPLAY_CHICKEN1,
+                  I915_READ(ILK_DISPLAY_CHICKEN1) |
+                  ILK_FBCQ_DIS);
+
        /* WaDisableBackToBackFlipFix:ivb */
        I915_WRITE(IVB_CHICKEN3,
                   CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE |