On Wed, Oct 07, 2015 at 09:43:07AM +0100, Chris Wilson wrote: > On Tue, Oct 06, 2015 at 05:26:48PM +0300, Mika Kuoppala wrote: > > @@ -6973,8 +6989,12 @@ void intel_init_clock_gating(struct drm_device *dev) > > { > > struct drm_i915_private *dev_priv = dev->dev_private; > > > > + intel_wa_init(&dev_priv->mmio_workarounds); > > + > > if (dev_priv->display.init_clock_gating) > > dev_priv->display.init_clock_gating(dev); > > + > > + intel_wa_write_mmio(dev_priv, &dev_priv->mmio_workarounds); > > } > > Given that we have this function which is in charge of setting the w/a > regs and is supposed to be called when initialising the hw after > load/reset/resume, why? I think ideally we should move all the GT related w/as, or at least the ones clobbered by a GPU reset into ring init, or somewhere close by. The display stuff (and UCGCTL at least) could stay where they are. Although I suspect we should move the init_clock_gating earlier in the init/resume sequence anyway. I think now we might be a bit late in doing it. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx