Quoting Zhi Wang (2017-08-29 09:00:51) > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index b74fa9d..b99b6ca 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -2816,41 +2816,215 @@ static int ggtt_probe_common(struct i915_ggtt *ggtt, u64 size) > return 0; > } > > -static void cnl_setup_private_ppat(struct drm_i915_private *dev_priv) > +static struct intel_ppat_entry *alloc_ppat_entry(struct intel_ppat *ppat, > + unsigned int index, > + u8 value) > { > + struct intel_ppat_entry *entry = &ppat->entries[index]; Considering the magic numbers flying around (using values defined elsewhere) add GEM_BUG_ON(index >= ppat->max_entries); GEM_BUG_ON(test_bit(index, ppat->used)); > + > + entry->ppat = ppat; > + entry->value = value; > + kref_init(&entry->ref_count); > + set_bit(index, ppat->used); > + set_bit(index, ppat->dirty); > + > + return entry; > +} > + > +static void free_ppat_entry(struct intel_ppat_entry *entry) > +{ > + struct intel_ppat *ppat = entry->ppat; > + int index = entry - ppat->entries; unsigned int index; GEM_BUG_ON(index >= ppat->max_entries); GEM_BUG_ON(!test_bit(index, ppat->used)); > + > + entry->value = ppat->dummy_value; > + clear_bit(index, ppat->used); > + set_bit(index, ppat->dirty); > +} _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx