From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755004AbcC1MVH (ORCPT ); Mon, 28 Mar 2016 08:21:07 -0400 Received: from mail-wm0-f41.google.com ([74.125.82.41]:35051 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753627AbcC1MVE convert rfc822-to-8bit (ORCPT ); Mon, 28 Mar 2016 08:21:04 -0400 MIME-Version: 1.0 In-Reply-To: <1867694.1mDULrSexE@phil> References: <1458552518-25527-1-git-send-email-ykk@rock-chips.com> <1511371.I0NIYzh3kP@diego> <56EFE66A.8020404@rock-chips.com> <1867694.1mDULrSexE@phil> Date: Mon, 28 Mar 2016 13:21:02 +0100 Message-ID: Subject: Re: [RFC PATCH v1 0/4] Add Rockchip RGA support From: Emil Velikov To: Heiko Stuebner Cc: Yakir Yang , David Airlie , Mark Yao , Joonyoung Shim , Kumar Gala , Ian Campbell , Rob Herring , Pawel Moll , Russell King , devicetree , "Linux-Kernel@Vger. Kernel. Org" , ML dri-devel , linux-rockchip , LAKML Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22 March 2016 at 00:42, Heiko Stuebner wrote: > Hi Yakir, > > Am Montag, 21. März 2016, 20:17:46 schrieb Yakir Yang: >> On 03/21/2016 07:29 PM, Heiko Stübner wrote: >> > Am Montag, 21. März 2016, 17:28:38 schrieb Yakir Yang: >> >> This patch set would add the RGA direct rendering based 2d graphics >> >> acceleration module. >> > >> > very cool to see that. >> >> ;) >> >> >> This patch set is based on git repository below: >> >> git://people.freedesktop.org/~airlied/linux drm-next >> >> commit id: 568d7c764ae01f3706085ac8f0d8a8ac7e826bd7 >> >> >> >> And the RGA driver is based on Exynos G2D driver, it only manages the >> >> command lists received from user, so user should make the command list >> >> to data and registers needed by operation to use. >> >> >> >> I have prepared an userspace demo application for testing: >> >> https://github.com/yakir-Yang/libdrm-rockchip >> >> >> >> That is a rockchip libdrm library, and I have write a simple test case >> >> "rockchip_rga_test" that would test the below RGA features: >> >> - solid >> >> - copy >> >> - rotation >> >> - flip >> >> - window clip >> >> - dithering >> > >> > Did you submit your libdrm changes as well? >> > >> > Userspace-interfaces need to be stable so the other side must also get >> > accepted - even before the kernel change if I remember correctly. >> >> Got it, and I just saw exynos_fimg2d already landed at mainline libdrm. >> But I don't find the way to submit patches to libdrm, would you like >> share some helps here ;) > > Looking at the libdrm sources on cgit.freedesktop.org, I did not find any > specific manual on submitting patches. > > But looking at the dri-list archive, dri-devel@lists.freedesktop.org is the > right list and looking at the libdrm history it looks like Emil Velikov > seems to be doing maintenance-stuff in libdrm. > And as a 3rd recipient, please also include the linux-rockchip list. > > @Emil, please shout if I read that wrong :-) > You got it spot on Heiko. There are a few notes though... As one reuses the existing hardware/IP block, it would be better to avoid copy/pasting code around. Namely: - (if possible) factor out the exynos g2d kernel functionality to a separate kernel module and wire up the rockhip (via dt ?) to use it - factor out the g2d specifics out of exynos_drm.h (into exynos_g2d_drm.h perhaps ?) and make sure exynos_drm.h includes the new header - if neither of these are possible, then please ensure that the new header uses correct types (see the docs [1]), use MIT/X11 license (if possible) and link where upstream userspace is happy with the interface (ideally more than a simple test app like libdrm) These might sound like an overkill, although getting UAPI right and maintaining it forever forces us to do so. Regards, Emil [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/ioctl/botching-up-ioctls.txt From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: Re: [RFC PATCH v1 0/4] Add Rockchip RGA support Date: Mon, 28 Mar 2016 13:21:02 +0100 Message-ID: References: <1458552518-25527-1-git-send-email-ykk@rock-chips.com> <1511371.I0NIYzh3kP@diego> <56EFE66A.8020404@rock-chips.com> <1867694.1mDULrSexE@phil> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1867694.1mDULrSexE@phil> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Heiko Stuebner Cc: devicetree , Russell King , Pawel Moll , Ian Campbell , "Linux-Kernel@Vger. Kernel. Org" , ML dri-devel , linux-rockchip , Rob Herring , Kumar Gala , LAKML List-Id: devicetree@vger.kernel.org T24gMjIgTWFyY2ggMjAxNiBhdCAwMDo0MiwgSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5k ZT4gd3JvdGU6Cj4gSGkgWWFraXIsCj4KPiBBbSBNb250YWcsIDIxLiBNw6RyeiAyMDE2LCAyMDox Nzo0NiBzY2hyaWViIFlha2lyIFlhbmc6Cj4+IE9uIDAzLzIxLzIwMTYgMDc6MjkgUE0sIEhlaWtv IFN0w7xibmVyIHdyb3RlOgo+PiA+IEFtIE1vbnRhZywgMjEuIE3DpHJ6IDIwMTYsIDE3OjI4OjM4 IHNjaHJpZWIgWWFraXIgWWFuZzoKPj4gPj4gVGhpcyBwYXRjaCBzZXQgd291bGQgYWRkIHRoZSBS R0EgZGlyZWN0IHJlbmRlcmluZyBiYXNlZCAyZCBncmFwaGljcwo+PiA+PiBhY2NlbGVyYXRpb24g bW9kdWxlLgo+PiA+Cj4+ID4gdmVyeSBjb29sIHRvIHNlZSB0aGF0Lgo+Pgo+PiA7KQo+Pgo+PiA+ PiBUaGlzIHBhdGNoIHNldCBpcyBiYXNlZCBvbiBnaXQgcmVwb3NpdG9yeSBiZWxvdzoKPj4gPj4g Z2l0Oi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+YWlybGllZC9saW51eCBkcm0tbmV4dAo+PiA+ PiBjb21taXQgaWQ6IDU2OGQ3Yzc2NGFlMDFmMzcwNjA4NWFjOGYwZDhhOGFjN2U4MjZiZDcKPj4g Pj4KPj4gPj4gQW5kIHRoZSBSR0EgZHJpdmVyIGlzIGJhc2VkIG9uIEV4eW5vcyBHMkQgZHJpdmVy LCBpdCBvbmx5IG1hbmFnZXMgdGhlCj4+ID4+IGNvbW1hbmQgbGlzdHMgcmVjZWl2ZWQgZnJvbSB1 c2VyLCBzbyB1c2VyIHNob3VsZCBtYWtlIHRoZSBjb21tYW5kIGxpc3QKPj4gPj4gdG8gZGF0YSBh bmQgcmVnaXN0ZXJzIG5lZWRlZCBieSBvcGVyYXRpb24gdG8gdXNlLgo+PiA+Pgo+PiA+PiBJIGhh dmUgcHJlcGFyZWQgYW4gdXNlcnNwYWNlIGRlbW8gYXBwbGljYXRpb24gZm9yIHRlc3Rpbmc6Cj4+ ID4+ICAgIGh0dHBzOi8vZ2l0aHViLmNvbS95YWtpci1ZYW5nL2xpYmRybS1yb2NrY2hpcAo+PiA+ Pgo+PiA+PiBUaGF0IGlzIGEgcm9ja2NoaXAgbGliZHJtIGxpYnJhcnksIGFuZCBJIGhhdmUgd3Jp dGUgYSBzaW1wbGUgdGVzdCBjYXNlCj4+ID4+ICJyb2NrY2hpcF9yZ2FfdGVzdCIgdGhhdCB3b3Vs ZCB0ZXN0IHRoZSBiZWxvdyBSR0EgZmVhdHVyZXM6Cj4+ID4+IC0gc29saWQKPj4gPj4gLSBjb3B5 Cj4+ID4+IC0gcm90YXRpb24KPj4gPj4gLSBmbGlwCj4+ID4+IC0gd2luZG93IGNsaXAKPj4gPj4g LSBkaXRoZXJpbmcKPj4gPgo+PiA+IERpZCB5b3Ugc3VibWl0IHlvdXIgbGliZHJtIGNoYW5nZXMg YXMgd2VsbD8KPj4gPgo+PiA+IFVzZXJzcGFjZS1pbnRlcmZhY2VzIG5lZWQgdG8gYmUgc3RhYmxl IHNvIHRoZSBvdGhlciBzaWRlIG11c3QgYWxzbyBnZXQKPj4gPiBhY2NlcHRlZCAtIGV2ZW4gYmVm b3JlIHRoZSBrZXJuZWwgY2hhbmdlIGlmIEkgcmVtZW1iZXIgY29ycmVjdGx5Lgo+Pgo+PiBHb3Qg aXQsIGFuZCBJIGp1c3Qgc2F3IGV4eW5vc19maW1nMmQgYWxyZWFkeSBsYW5kZWQgYXQgbWFpbmxp bmUgbGliZHJtLgo+PiBCdXQgSSBkb24ndCBmaW5kIHRoZSB3YXkgdG8gc3VibWl0IHBhdGNoZXMg dG8gbGliZHJtLCB3b3VsZCB5b3UgbGlrZQo+PiBzaGFyZSBzb21lIGhlbHBzIGhlcmUgOykKPgo+ IExvb2tpbmcgYXQgdGhlIGxpYmRybSBzb3VyY2VzIG9uIGNnaXQuZnJlZWRlc2t0b3Aub3JnLCBJ IGRpZCBub3QgZmluZCBhbnkKPiBzcGVjaWZpYyBtYW51YWwgb24gc3VibWl0dGluZyBwYXRjaGVz Lgo+Cj4gQnV0IGxvb2tpbmcgYXQgdGhlIGRyaS1saXN0IGFyY2hpdmUsIGRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcgaXMgdGhlCj4gcmlnaHQgbGlzdCBhbmQgbG9va2luZyBhdCB0aGUg bGliZHJtIGhpc3RvcnkgaXQgbG9va3MgbGlrZSBFbWlsIFZlbGlrb3YKPiA8ZW1pbC5sLnZlbGlr b3ZAZ21haWwuY29tPiBzZWVtcyB0byBiZSBkb2luZyBtYWludGVuYW5jZS1zdHVmZiBpbiBsaWJk cm0uCj4gQW5kIGFzIGEgM3JkIHJlY2lwaWVudCwgcGxlYXNlIGFsc28gaW5jbHVkZSB0aGUgbGlu dXgtcm9ja2NoaXAgbGlzdC4KPgo+IEBFbWlsLCBwbGVhc2Ugc2hvdXQgaWYgSSByZWFkIHRoYXQg d3JvbmcgOi0pCj4KWW91IGdvdCBpdCBzcG90IG9uIEhlaWtvLiBUaGVyZSBhcmUgYSBmZXcgbm90 ZXMgdGhvdWdoLi4uCgpBcyBvbmUgcmV1c2VzIHRoZSBleGlzdGluZyBoYXJkd2FyZS9JUCBibG9j aywgaXQgd291bGQgYmUgYmV0dGVyIHRvCmF2b2lkIGNvcHkvcGFzdGluZyBjb2RlIGFyb3VuZC4K TmFtZWx5OgogLSAoaWYgcG9zc2libGUpIGZhY3RvciBvdXQgdGhlIGV4eW5vcyBnMmQga2VybmVs IGZ1bmN0aW9uYWxpdHkgdG8gYQpzZXBhcmF0ZSBrZXJuZWwgbW9kdWxlIGFuZCB3aXJlIHVwIHRo ZSByb2NraGlwICh2aWEgZHQgPykgdG8gdXNlIGl0CiAtIGZhY3RvciBvdXQgdGhlIGcyZCBzcGVj aWZpY3Mgb3V0IG9mIGV4eW5vc19kcm0uaCAoaW50bwpleHlub3NfZzJkX2RybS5oIHBlcmhhcHMg PykgYW5kIG1ha2Ugc3VyZSBleHlub3NfZHJtLmggaW5jbHVkZXMgdGhlCm5ldyBoZWFkZXIKIC0g aWYgbmVpdGhlciBvZiB0aGVzZSBhcmUgcG9zc2libGUsIHRoZW4gcGxlYXNlIGVuc3VyZSB0aGF0 IHRoZSBuZXcKaGVhZGVyIHVzZXMgY29ycmVjdCB0eXBlcyAoc2VlIHRoZSBkb2NzIFsxXSksIHVz ZSBNSVQvWDExIGxpY2Vuc2UgKGlmCnBvc3NpYmxlKSBhbmQgbGluayB3aGVyZSB1cHN0cmVhbSB1 c2Vyc3BhY2UgaXMgaGFwcHkgd2l0aCB0aGUKaW50ZXJmYWNlIChpZGVhbGx5IG1vcmUgdGhhbiBh IHNpbXBsZSB0ZXN0IGFwcCBsaWtlIGxpYmRybSkKClRoZXNlIG1pZ2h0IHNvdW5kIGxpa2UgYW4g b3ZlcmtpbGwsIGFsdGhvdWdoIGdldHRpbmcgVUFQSSByaWdodCBhbmQKbWFpbnRhaW5pbmcgaXQg Zm9yZXZlciBmb3JjZXMgdXMgdG8gZG8gc28uCgpSZWdhcmRzLApFbWlsCgpbMV0gaHR0cHM6Ly9n aXQua2VybmVsLm9yZy9jZ2l0L2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3Ry ZWUvRG9jdW1lbnRhdGlvbi9pb2N0bC9ib3RjaGluZy11cC1pb2N0bHMudHh0Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: emil.l.velikov@gmail.com (Emil Velikov) Date: Mon, 28 Mar 2016 13:21:02 +0100 Subject: [RFC PATCH v1 0/4] Add Rockchip RGA support In-Reply-To: <1867694.1mDULrSexE@phil> References: <1458552518-25527-1-git-send-email-ykk@rock-chips.com> <1511371.I0NIYzh3kP@diego> <56EFE66A.8020404@rock-chips.com> <1867694.1mDULrSexE@phil> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 22 March 2016 at 00:42, Heiko Stuebner wrote: > Hi Yakir, > > Am Montag, 21. M?rz 2016, 20:17:46 schrieb Yakir Yang: >> On 03/21/2016 07:29 PM, Heiko St?bner wrote: >> > Am Montag, 21. M?rz 2016, 17:28:38 schrieb Yakir Yang: >> >> This patch set would add the RGA direct rendering based 2d graphics >> >> acceleration module. >> > >> > very cool to see that. >> >> ;) >> >> >> This patch set is based on git repository below: >> >> git://people.freedesktop.org/~airlied/linux drm-next >> >> commit id: 568d7c764ae01f3706085ac8f0d8a8ac7e826bd7 >> >> >> >> And the RGA driver is based on Exynos G2D driver, it only manages the >> >> command lists received from user, so user should make the command list >> >> to data and registers needed by operation to use. >> >> >> >> I have prepared an userspace demo application for testing: >> >> https://github.com/yakir-Yang/libdrm-rockchip >> >> >> >> That is a rockchip libdrm library, and I have write a simple test case >> >> "rockchip_rga_test" that would test the below RGA features: >> >> - solid >> >> - copy >> >> - rotation >> >> - flip >> >> - window clip >> >> - dithering >> > >> > Did you submit your libdrm changes as well? >> > >> > Userspace-interfaces need to be stable so the other side must also get >> > accepted - even before the kernel change if I remember correctly. >> >> Got it, and I just saw exynos_fimg2d already landed at mainline libdrm. >> But I don't find the way to submit patches to libdrm, would you like >> share some helps here ;) > > Looking at the libdrm sources on cgit.freedesktop.org, I did not find any > specific manual on submitting patches. > > But looking at the dri-list archive, dri-devel at lists.freedesktop.org is the > right list and looking at the libdrm history it looks like Emil Velikov > seems to be doing maintenance-stuff in libdrm. > And as a 3rd recipient, please also include the linux-rockchip list. > > @Emil, please shout if I read that wrong :-) > You got it spot on Heiko. There are a few notes though... As one reuses the existing hardware/IP block, it would be better to avoid copy/pasting code around. Namely: - (if possible) factor out the exynos g2d kernel functionality to a separate kernel module and wire up the rockhip (via dt ?) to use it - factor out the g2d specifics out of exynos_drm.h (into exynos_g2d_drm.h perhaps ?) and make sure exynos_drm.h includes the new header - if neither of these are possible, then please ensure that the new header uses correct types (see the docs [1]), use MIT/X11 license (if possible) and link where upstream userspace is happy with the interface (ideally more than a simple test app like libdrm) These might sound like an overkill, although getting UAPI right and maintaining it forever forces us to do so. Regards, Emil [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/ioctl/botching-up-ioctls.txt