From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [RFC 0/3] render state initialization (bdw rc6) Date: Wed, 23 Apr 2014 11:04:48 -0700 Message-ID: <20140423180448.GD25941@bwidawsk.net> References: <1398187184-14919-1-git-send-email-mika.kuoppala@intel.com> <20140422205156.GA22645@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id 710D86EAB5 for ; Wed, 23 Apr 2014 11:05:08 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20140422205156.GA22645@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , Mika Kuoppala , intel-gfx@lists.freedesktop.org, miku@iki.fi, rafael.barbalho@intel.com List-Id: intel-gfx@lists.freedesktop.org On Tue, Apr 22, 2014 at 09:51:56PM +0100, Chris Wilson wrote: > On Tue, Apr 22, 2014 at 08:19:41PM +0300, Mika Kuoppala wrote: > > Hi, > > > > Here are patches to initialize first render context to a hopefully, > > valid state. If pipeline/context is not initialized and we enter rc6 on bdw, > > the render ring can hung on the first batch submitted. That is atleast > > the hypothesis this work is based on. > > > > The states are stripped from rendercopy_genX's from i-g-t/lib and > > the state generators are part of i-g-t also. The states are > > propably overshoot from what can be consider the minimal valid > > (null) state on the pipeline. I just initialized everything rendercopy > > does and haven't really put effort on optimizing the state until > > I get some test results that this indeed solves anything. > > > > The state generators can be found here but they are not needed for testing. > > http://cgit.freedesktop.org/~miku/intel-gpu-tools/log/?h=null_state_gen > > > > Gen7 and Gen8 seems to atleast survive the boot but Gen6 is totally > > untested. > > > > Here is the branch for testing: > > http://cgit.freedesktop.org/~miku/drm-intel/log/?h=render_state > > > > I am interested to know if these patches make matters better/worse for those > > who have issues with first batch hanging on bdw, but as always, any feedback > > is greatly appreciated. > > > > Mika Kuoppala (3): > > drm/i915: export vmap_batch from command parser > It's only a single page, it does not need to be vmapped. > > > drm/i915: add render state initialization > > drm/i915: add null render states for gen6, gen7 and gen8 > > I still don't buy that this is anything more than papering over a > problem. The state you load into the context is invalid as soon as it is > executed, which may lead to problems, we don't know since the problem is > not being discussed, and it will certainly be more explicit if the right > bits are poked into the context directly to keep the hw from falling over. > -Chris > Paper is better than no paper. Anyway there are a couple of units where we know NULL is better than not NULL (VFE is one). I have been unable to get an exact reason why this is needed so that we know exactly what to fix. It has been a very frustrating experience. We could try to get info on what Windows does, but we may not be able to get a, "why." -- Ben Widawsky, Intel Open Source Technology Center