From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH 05/24] drm/i915: reuse Ivybridge interrupts code for Haswell Date: Mon, 30 Apr 2012 16:55:13 -0700 Message-ID: <20120430165513.1b8f2275@jbarnes-desktop> References: <1335464479-648-1-git-send-email-eugeni.dodonov@intel.com> <1335464479-648-6-git-send-email-eugeni.dodonov@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from oproxy8-pub.bluehost.com (oproxy8-pub.bluehost.com [69.89.22.20]) by gabe.freedesktop.org (Postfix) with SMTP id 521E5A020D for ; Mon, 30 Apr 2012 16:55:16 -0700 (PDT) In-Reply-To: <1335464479-648-6-git-send-email-eugeni.dodonov@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Eugeni Dodonov Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Thu, 26 Apr 2012 15:21:00 -0300 Eugeni Dodonov wrote: > v2: prevent possible conflicts with VLV. > > v3: simplify IRQ handling for Gen5+ onwards. > > v1 Reviewed-by: Rodrigo Vivi > Signed-off-by: Eugeni Dodonov > --- > drivers/gpu/drm/i915/i915_irq.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 0211263..bc8b80c 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -2006,7 +2006,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev) > > INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); > INIT_WORK(&dev_priv->error_work, i915_error_work_func); > - if (IS_GEN6(dev) || IS_IVYBRIDGE(dev)) > + if (IS_GEN6(dev) || IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) > INIT_WORK(&dev_priv->rps_work, gen6_pm_rps_work); > > I915_WRITE(HWSTAM, 0xeffe); > @@ -2627,8 +2627,7 @@ void intel_irq_init(struct drm_device *dev) > { > dev->driver->get_vblank_counter = i915_get_vblank_counter; > dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ > - if (IS_G4X(dev) || IS_GEN5(dev) || IS_GEN6(dev) || IS_IVYBRIDGE(dev) || > - IS_VALLEYVIEW(dev)) { > + if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5) { > dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */ > dev->driver->get_vblank_counter = gm45_get_vblank_counter; > } > @@ -2646,7 +2645,7 @@ void intel_irq_init(struct drm_device *dev) > dev->driver->irq_uninstall = valleyview_irq_uninstall; > dev->driver->enable_vblank = valleyview_enable_vblank; > dev->driver->disable_vblank = valleyview_disable_vblank; > - } else if (IS_IVYBRIDGE(dev)) { > + } else if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) { > /* Share pre & uninstall handlers with ILK/SNB */ > dev->driver->irq_handler = ivybridge_irq_handler; > dev->driver->irq_preinstall = ironlake_irq_preinstall; Needs to be rebased on top of Chris's recent cleanups. Should make things a little nicer. -- Jesse Barnes, Intel Open Source Technology Center