From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 26/53] drm/i915/bdw: New logical ring submission mechanism Date: Mon, 23 Jun 2014 14:13:55 +0100 Message-ID: <20140623131355.GA14360@nuc-i3427.alporthouse.com> References: <1402673891-14618-1-git-send-email-oscar.mateo@intel.com> <1402673891-14618-27-git-send-email-oscar.mateo@intel.com> <20140620210035.GC32083@bdvolkin-ubuntu-desktop> <92648605EABDA246B775AAB04C95A7A3137BEC32@IRSMSX103.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id C18B46E3B3 for ; Mon, 23 Jun 2014 06:13:59 -0700 (PDT) Content-Disposition: inline In-Reply-To: <92648605EABDA246B775AAB04C95A7A3137BEC32@IRSMSX103.ger.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Mateo Lozano, Oscar" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org On Mon, Jun 23, 2014 at 01:09:37PM +0000, Mateo Lozano, Oscar wrote: > So far, yes, but that=B4s only because I artificially made intel_lrc.c se= lf-contained, as Daniel requested. What if we need to execute commands from= somewhere else, like in intel_gen7_queue_flip()? > = > And this takes me to another discussion: this logical ring vs legacy ring= split is probably a good idea (time will tell), but we should provide a wa= y of sending commands for execution without knowing if Execlists are enable= d or not. In the early series that was easy because we reused the ring_begi= n, ring_emit & ring_advance functions, but this is not the case anymore. An= d without this, sooner or later somebody will break legacy or execlists (th= is already happened last week, when somebody here was implementing native s= ync without knowing about Execlists). > = > So, the questions is: how do you feel about a dev_priv.gt vfunc that take= s a context, a ring, an array of DWORDS and a BB length and does the intel_= (logical)_ring_begin/emit/advance based on i915.enable_execlists? I'm still baffled by the design. intel_ring_begin() and friends should be able to find their context (logical or legacy) from the ring and dtrt. -Chris -- = Chris Wilson, Intel Open Source Technology Centre