From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752367AbeEVQf4 (ORCPT ); Tue, 22 May 2018 12:35:56 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:41500 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752187AbeEVQfw (ORCPT ); Tue, 22 May 2018 12:35:52 -0400 Date: Tue, 22 May 2018 17:35:50 +0100 From: Liviu Dudau To: Eric Anholt Cc: Gustavo Padovan , Maarten Lankhorst , Sean Paul , Jonathan Corbet , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, David Airlie , Brian Starkey , Alexandru-Cosmin Gheorghe , Boris Brezillon , Maxime Ripard , Daniel Stone , Mihail Atanassov Subject: Re: [PATCH v8 2/3] drm: writeback: Add out-fences for writeback connectors Message-ID: <20180522163550.GE1582@e110455-lin.cambridge.arm.com> References: <20180518151743.29937-1-Liviu.Dudau@arm.com> <20180518151743.29937-3-Liviu.Dudau@arm.com> <87a7ssu91a.fsf@anholt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87a7ssu91a.fsf@anholt.net> User-Agent: Mutt/1.9.5 (2018-04-13) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 21, 2018 at 12:02:25PM -0700, Eric Anholt wrote: > Liviu Dudau writes: > > > From: Brian Starkey > > > > Add the WRITEBACK_OUT_FENCE_PTR property to writeback connectors, to > > enable userspace to get a fence which will signal once the writeback is > > complete. It is not allowed to request an out-fence without a > > framebuffer attached to the connector. > > > > A timeline is added to drm_writeback_connector for use by the writeback > > out-fences. > > > > diff --git a/include/drm/drm_writeback.h b/include/drm/drm_writeback.h > > index cf3a28676006a..6a7462c1821ad 100644 > > --- a/include/drm/drm_writeback.h > > +++ b/include/drm/drm_writeback.h > > @@ -49,6 +49,32 @@ struct drm_writeback_connector { > > * drm_writeback_signal_completion() > > */ > > struct list_head job_queue; > > + > > + /** > > + * @fence_context: > > + * > > + * timeline context used for fence operations. > > + */ > > + unsigned int fence_context; > > + /** > > + * @fence_lock: > > + * > > + * spinlock to protect the fences in the fence_context. > > + */ > > + spinlock_t fence_lock; > > + /** > > + * @fence_seqno: > > + * > > + * Seqno variable used as monotonic counter for the fences > > + * created on the connector's timeline. > > + */ > > + unsigned long fence_seqno; > > + /** > > + * @timeline_name: > > + * > > + * The name of the connector's fence timeline. > > + */ > > + char timeline_name[32]; > > }; > > > > struct drm_writeback_job { > > @@ -59,12 +85,14 @@ struct drm_writeback_job { > > * framebuffer reference to a workqueue. > > */ > > struct work_struct cleanup_work; > > + > > /** > > * @list_entry: > > * > > * List item for the connector's @job_queue > > */ > > struct list_head list_entry; > > + > > /** > > * @fb: > > * > > Move this hunk into patch 1? I can, however this is the only change I will be making. Is it worth respinning a new revision for it? > > Other than that, the series is: > > Reviewed-by: Eric Anholt Many thanks for that! > > It's pretty clean and makes sense to me. I only had some questions > about the job_queue, which seems superfluous if we aren't supporting > firing off a new writeback while an old one is outstanding (and maybe we > should throw an error in that case). Still, I think this is ready to land. I know Sean and Daniel are on holiday. Are you OK to pull this into drm-misc? Should I ask Gustavo to do it? Best regards, Liviu -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: Re: [PATCH v8 2/3] drm: writeback: Add out-fences for writeback connectors Date: Tue, 22 May 2018 17:35:50 +0100 Message-ID: <20180522163550.GE1582@e110455-lin.cambridge.arm.com> References: <20180518151743.29937-1-Liviu.Dudau@arm.com> <20180518151743.29937-3-Liviu.Dudau@arm.com> <87a7ssu91a.fsf@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by gabe.freedesktop.org (Postfix) with ESMTP id 2A11589308 for ; Tue, 22 May 2018 16:35:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87a7ssu91a.fsf@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt Cc: Maxime Ripard , Daniel Stone , Jonathan Corbet , David Airlie , Alexandru-Cosmin Gheorghe , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Boris Brezillon , Mihail Atanassov List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBNYXkgMjEsIDIwMTggYXQgMTI6MDI6MjVQTSAtMDcwMCwgRXJpYyBBbmhvbHQgd3Jv dGU6Cj4gTGl2aXUgRHVkYXUgPExpdml1LkR1ZGF1QGFybS5jb20+IHdyaXRlczoKPiAKPiA+IEZy b206IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJrZXlAYXJtLmNvbT4KPiA+Cj4gPiBBZGQgdGhl IFdSSVRFQkFDS19PVVRfRkVOQ0VfUFRSIHByb3BlcnR5IHRvIHdyaXRlYmFjayBjb25uZWN0b3Jz LCB0bwo+ID4gZW5hYmxlIHVzZXJzcGFjZSB0byBnZXQgYSBmZW5jZSB3aGljaCB3aWxsIHNpZ25h bCBvbmNlIHRoZSB3cml0ZWJhY2sgaXMKPiA+IGNvbXBsZXRlLiBJdCBpcyBub3QgYWxsb3dlZCB0 byByZXF1ZXN0IGFuIG91dC1mZW5jZSB3aXRob3V0IGEKPiA+IGZyYW1lYnVmZmVyIGF0dGFjaGVk IHRvIHRoZSBjb25uZWN0b3IuCj4gPgo+ID4gQSB0aW1lbGluZSBpcyBhZGRlZCB0byBkcm1fd3Jp dGViYWNrX2Nvbm5lY3RvciBmb3IgdXNlIGJ5IHRoZSB3cml0ZWJhY2sKPiA+IG91dC1mZW5jZXMu Cj4gCj4gCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3dyaXRlYmFjay5oIGIvaW5j bHVkZS9kcm0vZHJtX3dyaXRlYmFjay5oCj4gPiBpbmRleCBjZjNhMjg2NzYwMDZhLi42YTc0NjJj MTgyMWFkIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3dyaXRlYmFjay5oCj4gPiAr KysgYi9pbmNsdWRlL2RybS9kcm1fd3JpdGViYWNrLmgKPiA+IEBAIC00OSw2ICs0OSwzMiBAQCBz dHJ1Y3QgZHJtX3dyaXRlYmFja19jb25uZWN0b3Igewo+ID4gIAkgKiBkcm1fd3JpdGViYWNrX3Np Z25hbF9jb21wbGV0aW9uKCkKPiA+ICAJICovCj4gPiAgCXN0cnVjdCBsaXN0X2hlYWQgam9iX3F1 ZXVlOwo+ID4gKwo+ID4gKwkvKioKPiA+ICsJICogQGZlbmNlX2NvbnRleHQ6Cj4gPiArCSAqCj4g PiArCSAqIHRpbWVsaW5lIGNvbnRleHQgdXNlZCBmb3IgZmVuY2Ugb3BlcmF0aW9ucy4KPiA+ICsJ ICovCj4gPiArCXVuc2lnbmVkIGludCBmZW5jZV9jb250ZXh0Owo+ID4gKwkvKioKPiA+ICsJICog QGZlbmNlX2xvY2s6Cj4gPiArCSAqCj4gPiArCSAqIHNwaW5sb2NrIHRvIHByb3RlY3QgdGhlIGZl bmNlcyBpbiB0aGUgZmVuY2VfY29udGV4dC4KPiA+ICsJICovCj4gPiArCXNwaW5sb2NrX3QgZmVu Y2VfbG9jazsKPiA+ICsJLyoqCj4gPiArCSAqIEBmZW5jZV9zZXFubzoKPiA+ICsJICoKPiA+ICsJ ICogU2Vxbm8gdmFyaWFibGUgdXNlZCBhcyBtb25vdG9uaWMgY291bnRlciBmb3IgdGhlIGZlbmNl cwo+ID4gKwkgKiBjcmVhdGVkIG9uIHRoZSBjb25uZWN0b3IncyB0aW1lbGluZS4KPiA+ICsJICov Cj4gPiArCXVuc2lnbmVkIGxvbmcgZmVuY2Vfc2Vxbm87Cj4gPiArCS8qKgo+ID4gKwkgKiBAdGlt ZWxpbmVfbmFtZToKPiA+ICsJICoKPiA+ICsJICogVGhlIG5hbWUgb2YgdGhlIGNvbm5lY3Rvcidz IGZlbmNlIHRpbWVsaW5lLgo+ID4gKwkgKi8KPiA+ICsJY2hhciB0aW1lbGluZV9uYW1lWzMyXTsK PiA+ICB9Owo+ID4gIAo+ID4gIHN0cnVjdCBkcm1fd3JpdGViYWNrX2pvYiB7Cj4gPiBAQCAtNTks MTIgKzg1LDE0IEBAIHN0cnVjdCBkcm1fd3JpdGViYWNrX2pvYiB7Cj4gPiAgCSAqIGZyYW1lYnVm ZmVyIHJlZmVyZW5jZSB0byBhIHdvcmtxdWV1ZS4KPiA+ICAJICovCj4gPiAgCXN0cnVjdCB3b3Jr X3N0cnVjdCBjbGVhbnVwX3dvcms7Cj4gPiArCj4gPiAgCS8qKgo+ID4gIAkgKiBAbGlzdF9lbnRy eToKPiA+ICAJICoKPiA+ICAJICogTGlzdCBpdGVtIGZvciB0aGUgY29ubmVjdG9yJ3MgQGpvYl9x dWV1ZQo+ID4gIAkgKi8KPiA+ICAJc3RydWN0IGxpc3RfaGVhZCBsaXN0X2VudHJ5Owo+ID4gKwo+ ID4gIAkvKioKPiA+ICAJICogQGZiOgo+ID4gIAkgKgo+IAo+IE1vdmUgdGhpcyBodW5rIGludG8g cGF0Y2ggMT8KCkkgY2FuLCBob3dldmVyIHRoaXMgaXMgdGhlIG9ubHkgY2hhbmdlIEkgd2lsbCBi ZSBtYWtpbmcuIElzIGl0IHdvcnRoCnJlc3Bpbm5pbmcgYSBuZXcgcmV2aXNpb24gZm9yIGl0PwoK PiAKPiBPdGhlciB0aGFuIHRoYXQsIHRoZSBzZXJpZXMgaXM6Cj4gCj4gUmV2aWV3ZWQtYnk6IEVy aWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+CgpNYW55IHRoYW5rcyBmb3IgdGhhdCEKCj4gCj4g SXQncyBwcmV0dHkgY2xlYW4gYW5kIG1ha2VzIHNlbnNlIHRvIG1lLiAgSSBvbmx5IGhhZCBzb21l IHF1ZXN0aW9ucwo+IGFib3V0IHRoZSBqb2JfcXVldWUsIHdoaWNoIHNlZW1zIHN1cGVyZmx1b3Vz IGlmIHdlIGFyZW4ndCBzdXBwb3J0aW5nCj4gZmlyaW5nIG9mZiBhIG5ldyB3cml0ZWJhY2sgd2hp bGUgYW4gb2xkIG9uZSBpcyBvdXRzdGFuZGluZyAoYW5kIG1heWJlIHdlCj4gc2hvdWxkIHRocm93 IGFuIGVycm9yIGluIHRoYXQgY2FzZSkuICBTdGlsbCwgSSB0aGluayB0aGlzIGlzIHJlYWR5IHRv IGxhbmQuCgpJIGtub3cgU2VhbiBhbmQgRGFuaWVsIGFyZSBvbiBob2xpZGF5LiBBcmUgeW91IE9L IHRvIHB1bGwgdGhpcyBpbnRvCmRybS1taXNjPyBTaG91bGQgSSBhc2sgR3VzdGF2byB0byBkbyBp dD8KCkJlc3QgcmVnYXJkcywKTGl2aXUKCi0tIAo9PT09PT09PT09PT09PT09PT09PQp8IEkgd291 bGQgbGlrZSB0byB8CnwgZml4IHRoZSB3b3JsZCwgIHwKfCBidXQgdGhleSdyZSBub3QgfAp8IGdp dmluZyBtZSB0aGUgICB8CiBcIHNvdXJjZSBjb2RlISAgLwogIC0tLS0tLS0tLS0tLS0tLQogICAg wq9cXyjjg4QpXy/CrwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK