From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/2] drm/i915/vlv: Replaced Blitter ring based flips with MMIO Flips for VLV. Date: Fri, 7 Mar 2014 15:30:17 +0200 Message-ID: <20140307133017.GL3852@intel.com> References: <1389266799-13317-1-git-send-email-akash.goel@intel.com> <1389266799-13317-3-git-send-email-akash.goel@intel.com> <20140109113135.GB31852@nuc-i3427.alporthouse.com> <8BF5CF93467D8C498F250C96583BC09CC3095F@BGSMSX103.gar.corp.intel.com> <8BF5CF93467D8C498F250C96583BC09CC6CDEA@BGSMSX103.gar.corp.intel.com> <20140207144717.GY17001@phenom.ffwll.local> <8BF5CF93467D8C498F250C96583BC09CC718E3@BGSMSX103.gar.corp.intel.com> <65889429B5341B4E95B705EB9142B0600943DD@BGSMSX103.gar.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id AF575FB2BE for ; Fri, 7 Mar 2014 05:30:21 -0800 (PST) Content-Disposition: inline In-Reply-To: <65889429B5341B4E95B705EB9142B0600943DD@BGSMSX103.gar.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: "Gupta, Sourab" Cc: "intel-gfx@lists.freedesktop.org" , "Goel, Akash" List-Id: intel-gfx@lists.freedesktop.org On Fri, Mar 07, 2014 at 01:17:17PM +0000, Gupta, Sourab wrote: > Hi Daniel/Chris, > = > > As Chris said, instead of rolling your own code to track when flips are= emitted to the ring simply add a real request (with the add_request functi= on) like the execbuf paths.Then add any additional trackin you need to our = request structure. > = > We can use the 'add_request' function. But since we already have & can tr= ack the seqno of the object (for which we want the rendering to complete), = we think there shall be no additional benefit in adding a new request & the= n tracking the same. > = > > Rather exporting deep magic from i915_gem, just emit the request after = the mmio flip and use the normal signalling mechanisms. There are other use= rs who could also use a request after a flip. > = > We had the following point in mind, when implementing the Mmio based Page= flips : > We wanted to completely avoid locking of the device mutex from the flip p= ath. As we had seen sometimes the flips getting delayed because of concurre= nt exec buffers processing, while we are waiting for them to release the mu= tex. = > Since the public functions (i915_wait_seqno ) require mutex to be taken b= eforehand, we had no choice but to expose the private __wait_seqno function= in order to do so. > Also, we couldn't find any other signaling mechanism (other than wait_seq= no type of functions) to do so. > = > Can you please provide your feedback on the above points. I'd like to move this towards the atomic age. In my atomic branch I had an interrupt driven mechanism for issuing the flips when the target seqno(s) is/are reached. So my hope would be to move towards something similar so that it can be easily used for the nuclear flip later. Here's my latest code for that: https://gitorious.org/vsyrjala/linux/commit/4cad93ab1ac09d4649419789a80408c= 5d8505cdc -- = Ville Syrj=E4l=E4 Intel OTC