* onwards to drive newly added DMC (Display microcontroller) in display
   * engine to save and restore the state of display engine when it enter into
   * low-power state and comes back to normal.
 - *
 - * Firmware loading status will be one of the below states: FW_UNINITIALIZED,
 - * FW_LOADED, FW_FAILED.
 - *
 - * Once the firmware is written into the registers status will be moved from
 - * FW_UNINITIALIZED to FW_LOADED and for any erroneous condition status will
 - * be moved to FW_FAILED.
   */
  
- #define I915_CSR_KBL "i915/kbl_dmc_ver1_01.bin"
+ #define I915_CSR_KBL "i915/kbl_dmc_ver1.bin"
  MODULE_FIRMWARE(I915_CSR_KBL);
  #define KBL_CSR_VERSION_REQUIRED      CSR_VERSION(1, 1)
  
 
   * code duplication.
   */
  static inline int gen8_emit_flush_coherentl3_wa(struct intel_engine_cs *engine,
 -                                              uint32_t *const batch,
 +                                              uint32_t *batch,
                                                uint32_t index)
  {
+       struct drm_i915_private *dev_priv = engine->i915;
        uint32_t l3sqc4_flush = (0x40400000 | GEN8_LQSC_FLUSH_COHERENT_LINES);
  
        /*
                return ret;
        index = ret;
  
 +      /* WaDisableGatherAtSetShaderCommonSlice:skl,bxt,kbl */
 +      wa_ctx_emit(batch, index, MI_LOAD_REGISTER_IMM(1));
 +      wa_ctx_emit_reg(batch, index, COMMON_SLICE_CHICKEN2);
 +      wa_ctx_emit(batch, index, _MASKED_BIT_DISABLE(
 +                          GEN9_DISABLE_GATHER_AT_SET_SHADER_COMMON_SLICE));
 +      wa_ctx_emit(batch, index, MI_NOOP);
 +
        /* WaClearSlmSpaceAtContextSwitch:kbl */
        /* Actual scratch location is at 128 bytes offset */
-       if (IS_KBL_REVID(engine->i915, 0, KBL_REVID_A0)) {
+       if (IS_KBL_REVID(dev_priv, 0, KBL_REVID_A0)) {
                uint32_t scratch_addr
                        = engine->scratch.gtt_offset + 2*CACHELINE_BYTES;