#define BDW_SCRATCH1                                   _MMIO(0xb11c)
 #define  GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE     (1 << 2)
 
+/*GEN11 chicken */
+#define _PIPEA_CHICKEN                 0x70038
+#define _PIPEB_CHICKEN                 0x71038
+#define _PIPEC_CHICKEN                 0x72038
+#define  PER_PIXEL_ALPHA_BYPASS_EN     (1 << 7)
+#define PIPE_CHICKEN(pipe)             _MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
+                                                  _PIPEB_CHICKEN)
+
 /* PCH */
 
 /* south display engine interrupt: IBX */
 
        struct intel_atomic_state *old_intel_state =
                to_intel_atomic_state(old_state);
        bool psl_clkgate_wa;
+       u32 pipe_chicken;
 
        if (WARN_ON(intel_crtc->active))
                return;
         */
        intel_color_load_luts(&pipe_config->base);
 
+       /*
+        * Display WA #1153: enable hardware to bypass the alpha math
+        * and rounding for per-pixel values 00 and 0xff
+        */
+       if (INTEL_GEN(dev_priv) >= 11) {
+               pipe_chicken = I915_READ(PIPE_CHICKEN(pipe));
+               if (!(pipe_chicken & PER_PIXEL_ALPHA_BYPASS_EN))
+                       I915_WRITE_FW(PIPE_CHICKEN(pipe),
+                                     pipe_chicken | PER_PIXEL_ALPHA_BYPASS_EN);
+       }
+
        intel_ddi_set_pipe_settings(pipe_config);
        if (!transcoder_is_dsi(cpu_transcoder))
                intel_ddi_enable_transcoder_func(pipe_config);