On Fri, 2016-02-12 at 11:34 +0200, David Weinehall wrote: > On Thu, Feb 11, 2016 at 09:00:47AM -0800, Rodrigo Vivi wrote: > > Framecounter register is read-only so DMC cannot restore it > > after exiting DC5 and DC6. > > > > Easiest way to go is to avoid the counter and use vblank > > interruptions for this platform and for all the following > > ones since DMC came to stay. At least while we can't change > > this register to read-write. > > > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/i915_irq.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_irq.c > > b/drivers/gpu/drm/i915/i915_irq.c > > index 25a8937..c294a4b 100644 > > --- a/drivers/gpu/drm/i915/i915_irq.c > > +++ b/drivers/gpu/drm/i915/i915_irq.c > > @@ -4556,7 +4556,10 @@ void intel_irq_init(struct drm_i915_private > > *dev_priv) > > > > pm_qos_add_request(&dev_priv->pm_qos, > > PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE); > > > > - if (IS_GEN2(dev_priv)) { > > + if (INTEL_INFO(dev_priv)->gen >= 9) { > > + dev->max_vblank_count = 0; > > + dev->driver->get_vblank_counter = > > g4x_get_vblank_counter; > > + } else if (IS_GEN2(dev_priv)) { > > dev->max_vblank_count = 0; > > dev->driver->get_vblank_counter = > > i8xx_get_vblank_counter; > > } else if (IS_G4X(dev_priv) || INTEL_INFO(dev_priv)->gen > > >= 5) { > > @@ -4572,7 +4575,7 @@ void intel_irq_init(struct drm_i915_private > > *dev_priv) > > * Gen2 doesn't have a hardware frame counter and so > > depends on > > * vblank interrupts to produce sane vblank seuquence > > numbers. > > */ > > - if (!IS_GEN2(dev_priv)) > > + if (!IS_GEN2(dev_priv) && !INTEL_INFO(dev_priv)->gen >= 9) > > I think this should be: > > if (INTEL_INFO(dev_priv)->gen < 9) Yeap, < 9 is better... > > If gen < 9, then IS_GEN2 is always true, also ! has higher precedence > than >=, so you're essentially comparing whether the logical negation > of > INTEL_INFO(dev_priv)->gen is >= 9. but it is also !gen2 So I believe the right is if (INTEL_INFO(dev_priv)->gen < 9 && !IS_GEN2(dev_priv)) agree? > > > Kind regards, David _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx