From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [RFC 0/6] drm/fences: add in-fences to DRM Date: Thu, 24 Mar 2016 17:18:36 +0900 Message-ID: <56F3A2DC.8080507@samsung.com> References: <1458758847-21170-1-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D8116E52E for ; Thu, 24 Mar 2016 08:18:39 +0000 (UTC) Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O4J01QTOB30VN70@mailout4.samsung.com> for dri-devel@lists.freedesktop.org; Thu, 24 Mar 2016 17:18:36 +0900 (KST) In-reply-to: <1458758847-21170-1-git-send-email-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan , dri-devel@lists.freedesktop.org Cc: Daniel Stone , Daniel Vetter , =?UTF-8?B?QXJ2ZSBIasO4bm5ldsOlZw==?= , linux-kernel@vger.kernel.org, Riley Andrews , Gustavo Padovan , John Harrison List-Id: dri-devel@lists.freedesktop.org SGksCgoyMDE264WEIDAz7JuUIDI07J28IDAzOjQ37JeQIEd1c3Rhdm8gUGFkb3ZhbiDsnbQo6rCA KSDsk7Qg6riAOgo+IEZyb206IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxh Ym9yYS5jby51az4KPiAKPiBIaSwKPiAKPiBUaGlzIGlzIGEgZmlyc3QgcHJvcG9zYWwgdG8gZGlz Y3VzcyB0aGUgYWRkaXRpb24gb2YgaW4tZmVuY2VzIHN1cHBvcnQKPiB0byBEUk0uIEl0IGFkZHMg YSBuZXcgc3RydWN0IHRvIGZlbmNlLmMgdG8gYWJzdHJhY3QgdGhlIHVzZSBvZiBzeW5jX2ZpbGUK PiBpbiBEUk0gZHJpdmVycy4gVGhlIG5ldyBzdHJ1Y3QgZmVuY2VfY29sbGVjdGlvbiBjb250YWlu cyBhIGFycmF5IHdpdGggYWxsCj4gZmVuY2VzIHRoYXQgYSBhdG9taWMgY29tbWl0IG5lZWRzIHRv IHdhaXQgb24KCkFzIEkgbWVudGlvbmVkIGFscmVhZHkgbGlrZSBiZWxvdywKaHR0cDovL3d3dy5z cGluaWNzLm5ldC9saXN0cy9kcmktZGV2ZWwvbXNnMTAzMjI1Lmh0bWwKCkkgZG9uJ3Qgc2VlIHdo eSBBbmRyb2lkIHNwZWNpZmljIHRoaW5nIGlzIHRyaWVkIHRvIHByb3BhZ2F0ZSB0byBMaW51eCBE Uk0uIEluIExpbnV4IG1haW5saW5lLCBpdCBoYXMgYWxyZWFkeSBpbXBsaWNpdCBzeW5jIGludGVy ZmFjZXMgZm9yIERNQSBkZXZpY2VzIGNhbGxlZCBkbWEgZmVuY2Ugd2hpY2ggZm9yY2VzIHJlZ2lz dGVyaW5nIGEgZmVuY2Ugb2JlamN0IHRvIERNQUJVRiB0aHJvdWdoIGEgcmVzZXJ2YXRpb24gb2Jl amN0IHdoZW4gYSBkbWFidWYgb2JqZWN0IGlzIGNyZWF0ZWQuIEhvd2V2ZXIsIEFuZHJvaWQgc3lu YyBkcml2ZXIgY3JlYXRlcyBhIG5ldyBmaWxlIGZvciBhIHN5bmMgb2JqZWN0IGFuZCB0aGlzIHdv dWxkIGhhdmUgZGlmZmVyZW50IHBvaW50IG9mIHZpZXcuCgpJcyB0aGVyZSBhbnlvbmUgd2hvIGNh biBleHBsYW4gd2h5IEFuZHJvaWQgc3BlY2lmaWMgdGhpbmcgaXMgdHJpZWQgdG8gc3ByZWFkIGlu dG8gTGludXggRFJNPyBXYXMgdGhlcmUgYW55IGNvbnNlbnN1cyB0byB1c2UgQW5kcm9pZCBzeW5j IGRyaXZlciAtIHdoaWNoIHVzZXMgZXhwbGljaXQgc3luYyBpbnRlcmZhY2VzIC0gYXMgTGludXgg c3RhbmRhcmQ/CgpUaGFua3MsCklua2kgRGFlCgo+IAo+IC8qKgo+ICAqIHN0cnVjdCBmZW5jZV9j b2xsZWN0aW9uIC0gYWdncmVnYXRlIGZlbmNlcyB0b2dldGhlcgo+ICAqIEBudW1fZmVuY2VzOiBu dW1iZXIgb2YgZmVuY2UgaW4gdGhlIGNvbGxlY3Rpb24uCj4gICogQHVzZXJfZGF0YTogdXNlciBk YXRhLgo+ICAqIEBmdW5jOiB1c2VyIGNhbGxiYWNrIHRvIHB1dCB1c2VyIGRhdGEuCj4gICogQGZl bmNlczogYXJyYXkgb2YgQG51bV9mZW5jZXMgZmVuY2VzLgo+ICAqLwo+IHN0cnVjdCBmZW5jZV9j b2xsZWN0aW9uIHsKPiAgICAgICAgaW50IG51bV9mZW5jZXM7Cj4gICAgICAgIHZvaWQgKnVzZXJf ZGF0YTsKPiAgICAgICAgY29sbGVjdGlvbl9wdXRfZnVuY190IGZ1bmM7Cj4gICAgICAgIHN0cnVj dCBmZW5jZSAqZmVuY2VzW107Cj4gfTsKPiAKPiAKPiBUaGUgZmVuY2VfY29sbGVjdGlvbiBpcyBh bGxvY2F0ZWQgYW5kIGZpbGxlZCBieSBzeW5jX2ZpbGVfZmVuY2VzX2dldCgpIGFuZAo+IGF0b21p Y19jb21taXQgaGVscGVycyBjYW4gdXNlIGZlbmNlX2NvbGxlY3Rpb25fd2FpdCgpIHRvIHdhaXQg dGhlIGZlbmNlcyB0bwo+IHNpZ25hbC4KPiAKPiBUaGVzZSBwYXRjaGVzIGRlcGVuZHMgb24gdGhl IHN5bmMgQUJJIHJld29yazoKPiAKPiBodHRwczovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9kcmkt ZGV2ZWwvbXNnMTAyNzk1Lmh0bWwKPiAKPiBhbmQgdGhlIHBhdGNoIHRvIGRlLXN0YWdlIHRoZSBz eW5jIGZyYW1ld29yazoKPiAKPiBodHRwczovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9kcmktZGV2 ZWwvbXNnMTAyNzk5Lmh0bWwKPiAKPiAKPiBJIGFsc28gaGFja2VkIHRvZ2V0aGVyIHNvbWUgc3lu YyBzdXBwb3J0IGludG8gbW9kZXRlc3QgZm9yIHRlc3Rpbmc6Cj4gCj4gaHR0cHM6Ly9naXQuY29s bGFib3JhLmNvbS9jZ2l0L3VzZXIvcGFkb3Zhbi9saWJkcm0uZ2l0L2xvZy8/aD1hdG9taWMKPiAK PiAKPiAJR3VzdGF2bwo+IAo+IAo+IEd1c3Rhdm8gUGFkb3ZhbiAoNik6Cj4gICBkcm0vZmVuY2U6 IGFkZCBGRU5DRV9GRCBwcm9wZXJ0eSB0byBwbGFuZXMKPiAgIGRtYS1idWYvZmVuY2U6IGFkZCBz dHJ1Y3QgZmVuY2VfY29sbGVjdGlvbgo+ICAgZG1hLWJ1Zi9zeW5jX2ZpbGU6IGFkZCBzeW5jX2Zp bGVfZmVuY2VzX2dldCgpCj4gICBkbWEtYnVmL2ZlbmNlOiBhZGQgZmVuY2VfY29sbGVjdGlvbl9w dXQoKQo+ICAgZG1hLWJ1Zi9mZW5jZTogYWRkIGZlbmNlX2NvbGxlY3Rpb25fd2FpdCgpCj4gICBk cm0vZmVuY2U6IHN1cHBvcnQgZmVuY2VfY29sbGVjdGlvbiBvbiBhdG9taWMgY29tbWl0Cj4gCj4g IGRyaXZlcnMvZG1hLWJ1Zi9mZW5jZS5jICAgICAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYyAgICAgICAg IHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgMTMgKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDEwICsrKysrKy0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjLmMgICAgICAgICAgfCAgNyArKysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9j cnRjLmggICAgICAgICAgICAgIHwgIDUgKysrKy0KPiAgaW5jbHVkZS9saW51eC9mZW5jZS5oICAg ICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvbGludXgvc3lu Y19maWxlLmggICAgICAgICAgIHwgIDggKysrKysrKysKPiAgOCBmaWxlcyBjaGFuZ2VkLCAxMjYg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiAKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756610AbcCXISz (ORCPT ); Thu, 24 Mar 2016 04:18:55 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:37174 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932319AbcCXISi convert rfc822-to-8bit (ORCPT ); Thu, 24 Mar 2016 04:18:38 -0400 X-AuditID: cbfee690-f79646d000001316-ac-56f3a2dc895c MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT Message-id: <56F3A2DC.8080507@samsung.com> Date: Thu, 24 Mar 2016 17:18:36 +0900 From: Inki Dae User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Gustavo Padovan , dri-devel@lists.freedesktop.org Cc: Daniel Stone , Daniel Vetter , =?UTF-8?B?QXJ2ZSBIasO4bm5ldsOlZw==?= , linux-kernel@vger.kernel.org, Riley Andrews , Gustavo Padovan , John Harrison Subject: Re: [RFC 0/6] drm/fences: add in-fences to DRM References: <1458758847-21170-1-git-send-email-gustavo@padovan.org> In-reply-to: <1458758847-21170-1-git-send-email-gustavo@padovan.org> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRmVeSWpSXmKPExsWyRsSkWPfOos9hBnevy1m8/3ufzWLhw7vM Fpv6t7JbXPn6ns3i0+pWdoudD3axW0x6+oDN4vKuOWwWrzf9ZXTg9Ni2exurx9/n11k8dtxd wuix99sCFo/Fe14yedzvPs7ksXPSXiaPz5vkAjiiuGxSUnMyy1KL9O0SuDIOrysraJSo6O84 zdLA2CzcxcjJISFgInF+4RpWCFtM4sK99WxdjFwcQgIrGCWa1+xhgSnqONwPViQksJRRomGb AIjNKyAo8WPyPaAaDg5mAXWJKVNyQcLMAiISf3buZoKwtSWWLXzNDDHzAaPE/af32CF6tSSm nWgHm88ioCpx8OUksAY2IHviivtsIDNFBSIkuk9UgoRFBLwkns1bygIyh1lgG5NE97I+sHuE Bcwleh92Qt3mLHH5322wmZwCLhJL72yHeuwnu0RXszrELgGJb5MPgd0sISArsekAM0SJpMTB FTdYJjCKz0Ly2SyEz2Yh+WwWks8WMLKsYhRNLUguKE5KLzLRK07MLS7NS9dLzs/dxAiM6NP/ nk3YwXjvgPUhRgEORiUe3htcn8OEWBPLiitzDzGaAh00kVlKNDkfmDbySuINjc2MLExNTI2N zC3NlMR5X0v9DBYSSE8sSc1OTS1ILYovKs1JLT7EyMTBKdXAaF0n0zIp+MXqXfFBdTnsDm+b ljJffq+5PXDevJ1f3jcdOst2YGKA2s0NkuYWX5aIX3F7tfyO/ZVwYWONXdJnhd8dcJBZ/lv8 w9dLZdq394vEn4qpeS9WPT1XekfgD7UbWf7yttPZH3ZMieaIlA9wXJBt1HwxbJZM/+pJE0TS XU1u2bw+9O0shxJLcUaioRZzUXEiAJYrEYfjAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplleLIzCtJLcpLzFFi42I5/e+xgO6dRZ/DDNY2SFq8/3ufzWLhw7vM Fpv6t7JbXPn6ns3i0+pWdoudD3axW0x6+oDN4vKuOWwWrzf9ZXTg9Ni2exurx9/n11k8dtxd wuix99sCFo/Fe14yedzvPs7ksXPSXiaPz5vkAjiiGhhtMlITU1KLFFLzkvNTMvPSbZW8g+Od 403NDAx1DS0tzJUU8hJzU22VXHwCdN0yc4AOVFIoS8wpBQoFJBYXK+nbYZoQGuKmawHTGKHr GxIE12NkgAYS1jBm9L84xF5wUrzi7uwFbA2Mp4W6GDk5JARMJDoO97NC2GISF+6tZwOxhQSW Mko0bBMAsXkFBCV+TL7H0sXIwcEsIC9x5FI2hKkuMWVKbhcjF1D1A0aJ+0/vsUOUa0lMO9HO AmKzCKhKHHw5iQnEZgOyJ664zwbSKyoQIdF9ohIkLCLgJfFs3lIWkDnMAtuYJLqX9YGdIyxg LtH7sJMV4hxnicv/boPN5BRwkVh6ZzvrBEaBWUium4Vw3SyE6xYwMq9ilEgtSC4oTkrPNcxL LdcrTswtLs1L10vOz93ECE4Cz6R2MB7c5X6IUYCDUYmH9wbX5zAh1sSy4srcQ4wSHMxKIrwb 5wOFeFMSK6tSi/Lji0pzUosPMZoCvTeRWUo0OR+YoPJK4g2NTcyMLI3MDS2MjM2VxHkf/18X JiSQnliSmp2aWpBaBNPHxMEp1cBYcs/sRsrl0K8qV14m32f57F4nIVl39pes9IHCpbcVMiIX hbJaaiyYlJ/QkdxuMYGr8+z1otzpoSdSVvK8KpVXP3/bz3iyu/x14WMuR/KSHqn7av87svr5 FM4vRYfvdnOt3ceWwTK1++L+ryaru7U0dPwP/PU/vjG34Xdnz5kFLnv31utznmVUYinOSDTU Yi4qTgQAYUsfoRgDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, 2016년 03월 24일 03:47에 Gustavo Padovan 이(가) 쓴 글: > From: Gustavo Padovan > > Hi, > > This is a first proposal to discuss the addition of in-fences support > to DRM. It adds a new struct to fence.c to abstract the use of sync_file > in DRM drivers. The new struct fence_collection contains a array with all > fences that a atomic commit needs to wait on As I mentioned already like below, http://www.spinics.net/lists/dri-devel/msg103225.html I don't see why Android specific thing is tried to propagate to Linux DRM. In Linux mainline, it has already implicit sync interfaces for DMA devices called dma fence which forces registering a fence obejct to DMABUF through a reservation obejct when a dmabuf object is created. However, Android sync driver creates a new file for a sync object and this would have different point of view. Is there anyone who can explan why Android specific thing is tried to spread into Linux DRM? Was there any consensus to use Android sync driver - which uses explicit sync interfaces - as Linux standard? Thanks, Inki Dae > > /** > * struct fence_collection - aggregate fences together > * @num_fences: number of fence in the collection. > * @user_data: user data. > * @func: user callback to put user data. > * @fences: array of @num_fences fences. > */ > struct fence_collection { > int num_fences; > void *user_data; > collection_put_func_t func; > struct fence *fences[]; > }; > > > The fence_collection is allocated and filled by sync_file_fences_get() and > atomic_commit helpers can use fence_collection_wait() to wait the fences to > signal. > > These patches depends on the sync ABI rework: > > https://www.spinics.net/lists/dri-devel/msg102795.html > > and the patch to de-stage the sync framework: > > https://www.spinics.net/lists/dri-devel/msg102799.html > > > I also hacked together some sync support into modetest for testing: > > https://git.collabora.com/cgit/user/padovan/libdrm.git/log/?h=atomic > > > Gustavo > > > Gustavo Padovan (6): > drm/fence: add FENCE_FD property to planes > dma-buf/fence: add struct fence_collection > dma-buf/sync_file: add sync_file_fences_get() > dma-buf/fence: add fence_collection_put() > dma-buf/fence: add fence_collection_wait() > drm/fence: support fence_collection on atomic commit > > drivers/dma-buf/fence.c | 33 +++++++++++++++++++++++++++++++++ > drivers/dma-buf/sync_file.c | 36 ++++++++++++++++++++++++++++++++++++ > drivers/gpu/drm/drm_atomic.c | 13 +++++++++++++ > drivers/gpu/drm/drm_atomic_helper.c | 10 ++++++---- > drivers/gpu/drm/drm_crtc.c | 7 +++++++ > include/drm/drm_crtc.h | 5 ++++- > include/linux/fence.h | 19 +++++++++++++++++++ > include/linux/sync_file.h | 8 ++++++++ > 8 files changed, 126 insertions(+), 5 deletions(-) >