From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH] drm/i915: paper over missed irq issues with force wake vodoo Date: Thu, 5 Jan 2012 23:29:44 +0000 Message-ID: <20120105232944.GB9925@cloud01> References: <1325695930-2524-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from cloud01.chad-versace.us (184-106-247-128.static.cloud-ips.com [184.106.247.128]) by gabe.freedesktop.org (Postfix) with ESMTP id F2EAEA0A2A for ; Thu, 5 Jan 2012 15:28:38 -0800 (PST) Content-Disposition: inline In-Reply-To: <1325695930-2524-1-git-send-email-daniel.vetter@ffwll.ch> 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: Daniel Vetter Cc: intel-gfx , stable@kernel.org, Eugeni Dodonov List-Id: intel-gfx@lists.freedesktop.org On Wed, Jan 04, 2012 at 05:52:10PM +0100, Daniel Vetter wrote: > Two things seem to do the trick on my ivb machine here: > - prevent the gt from powering down while waiting for seqno > notification interrupts by grabbing the force_wake in get_irq (and > dropping it in put_irq again). > - ordering writes from the ring's CS by reading a CS register, ACTHD > seems to work. > > Only the blt&bsd ring on ivb seem to be massively affected by this, > but for paranoia do this dance also on the render ring and on snb > (i.e. all gpus with forcewake). > > Tested with Eric's glCopyPixels loop which without this patch scores a > missed irq every few seconds. > > This patch needs my forcewake rework to use a spinlock instead of > dev->struct_mutex. > > Cc: stable@kernel.org > Cc: Eric Anholt > Cc: Kenneth Graunke > Cc: Eugeni Dodonov > Signed-Off-by: Daniel Vetter Reviewed-and-Tested-by: Ben Widawsky Please please please make it clear that we still don't understand exactly why this works. Ben