Quoting Zhi Wang (2017-09-05 20:58:26) > static void gen6_gmch_remove(struct i915_address_space *vm) > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h > index e10ca89..575da15 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.h > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h > @@ -131,6 +131,13 @@ typedef u64 gen8_ppgtt_pml4e_t; > #define PPAT_CACHED_INDEX _PAGE_PAT /* WB LLCeLLC */ > #define PPAT_DISPLAY_ELLC_INDEX _PAGE_PCD /* WT eLLC */ > > +/* PPAT index = 4 * PAT + 2 * PCD + PWT */ > +static inline unsigned int ppat_bits_to_index(unsigned int bits) > +{ > + return (4 * !!(bits & _PAGE_PAT) + 2 * !!(bits & _PAGE_PCD) > + + !!(bits & _PAGE_PWT)); > +} Let's not let this leak out of the gtt.c. __alloc_ppat_entry(ppat, ppat_bits_to_index(PPAT_CACHED_PDE_INDEX), CHV_PPAT_SNOOP); is horrible. bits_to_index() on an index is nonsense. We have a severe naming issue here... -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx