From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755458AbdEEDlL convert rfc822-to-8bit (ORCPT ); Thu, 4 May 2017 23:41:11 -0400 Received: from smtp.csie.ntu.edu.tw ([140.112.30.61]:38236 "EHLO smtp.csie.ntu.edu.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752496AbdEEDkm (ORCPT ); Thu, 4 May 2017 23:40:42 -0400 MIME-Version: 1.0 In-Reply-To: References: <20170504114858.9008-1-icenowy@aosc.io> <20170504114858.9008-9-icenowy@aosc.io> <20170504130535.6nokhni5a3uxwy66@lukather> From: Chen-Yu Tsai Date: Fri, 5 May 2017 11:40:17 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [linux-sunxi] Re: [PATCH v6 08/13] drm/sun4i: add support for Allwinner DE2 mixers To: Icenowy Zheng Cc: Maxime Ripard , Rob Herring , Chen-Yu Tsai , linux-clk , devicetree , linux-arm-kernel , linux-kernel , dri-devel , linux-sunxi 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 Fri, May 5, 2017 at 12:52 AM, wrote: > 在 2017-05-04 21:05,Maxime Ripard 写道: >> >> On Thu, May 04, 2017 at 07:48:53PM +0800, Icenowy Zheng wrote: >>> >>> Allwinner have a new "Display Engine 2.0" in their new SoCs, which comes >>> with mixers to do graphic processing and feed data to TCON, like the old >>> backends and frontends. >>> >>> Add support for the mixer on Allwinner V3s SoC; it's the simplest one. >>> >>> Currently a lot of functions are still missing -- more investigations >>> are needed to gain enough information for them. >>> >>> Signed-off-by: Icenowy Zheng >>> --- >>> Changes in v6: >>> - Rebased on wens's multi-pipeline patchset. >>> Changes in v5: >>> - Changed some code alignment. >>> - Request real 32-bit DMA (prepare for 64-bit SoCs). >>> Changes in v4: >>> - Killed some dead code according to Jernej. >>> >>> drivers/gpu/drm/sun4i/Kconfig | 10 + >>> drivers/gpu/drm/sun4i/Makefile | 3 + >>> drivers/gpu/drm/sun4i/sun8i_layer.c | 140 +++++++++++++ >>> drivers/gpu/drm/sun4i/sun8i_layer.h | 36 ++++ >>> drivers/gpu/drm/sun4i/sun8i_mixer.c | 394 >>> ++++++++++++++++++++++++++++++++++++ >>> drivers/gpu/drm/sun4i/sun8i_mixer.h | 137 +++++++++++++ >>> 6 files changed, 720 insertions(+) >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.c >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.h >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_mixer.c >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_mixer.h >>> [...] >>> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> b/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> new file mode 100644 >>> index 000000000000..e216b84d5bb2 >>> --- /dev/null >>> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> @@ -0,0 +1,394 @@ [...] >>> + list_add_tail(&mixer->engine.list, &drv->engine_list); >> >> >> You didn't call INIT_LIST_HEAD on that list. > > > So didn't the sun4i_backend driver... > > I think the mixer->engine.list only means an item in the > engine_list, and the drv->engine_list is initialized in the > sun4i_drv source code. I read [1] that if the item is subsequently added to a list, you could omit the INIT_LIST_HEAD call. Makes sense, though you have to be sure you aren't doing anything else with the list element. ChenYu [1] https://isis.poly.edu/kulesh/stuff/src/klist/ From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen-Yu Tsai Subject: Re: Re: [PATCH v6 08/13] drm/sun4i: add support for Allwinner DE2 mixers Date: Fri, 5 May 2017 11:40:17 +0800 Message-ID: References: <20170504114858.9008-1-icenowy@aosc.io> <20170504114858.9008-9-icenowy@aosc.io> <20170504130535.6nokhni5a3uxwy66@lukather> Reply-To: wens-jdAy2FN1RRM@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: Icenowy Zheng Cc: Maxime Ripard , Rob Herring , Chen-Yu Tsai , linux-clk , devicetree , linux-arm-kernel , linux-kernel , dri-devel , linux-sunxi List-Id: devicetree@vger.kernel.org On Fri, May 5, 2017 at 12:52 AM, wrote: > =E5=9C=A8 2017-05-04 21:05=EF=BC=8CMaxime Ripard =E5=86=99=E9=81=93=EF=BC= =9A >> >> On Thu, May 04, 2017 at 07:48:53PM +0800, Icenowy Zheng wrote: >>> >>> Allwinner have a new "Display Engine 2.0" in their new SoCs, which come= s >>> with mixers to do graphic processing and feed data to TCON, like the ol= d >>> backends and frontends. >>> >>> Add support for the mixer on Allwinner V3s SoC; it's the simplest one. >>> >>> Currently a lot of functions are still missing -- more investigations >>> are needed to gain enough information for them. >>> >>> Signed-off-by: Icenowy Zheng >>> --- >>> Changes in v6: >>> - Rebased on wens's multi-pipeline patchset. >>> Changes in v5: >>> - Changed some code alignment. >>> - Request real 32-bit DMA (prepare for 64-bit SoCs). >>> Changes in v4: >>> - Killed some dead code according to Jernej. >>> >>> drivers/gpu/drm/sun4i/Kconfig | 10 + >>> drivers/gpu/drm/sun4i/Makefile | 3 + >>> drivers/gpu/drm/sun4i/sun8i_layer.c | 140 +++++++++++++ >>> drivers/gpu/drm/sun4i/sun8i_layer.h | 36 ++++ >>> drivers/gpu/drm/sun4i/sun8i_mixer.c | 394 >>> ++++++++++++++++++++++++++++++++++++ >>> drivers/gpu/drm/sun4i/sun8i_mixer.h | 137 +++++++++++++ >>> 6 files changed, 720 insertions(+) >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.c >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.h >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_mixer.c >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_mixer.h >>> [...] >>> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> b/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> new file mode 100644 >>> index 000000000000..e216b84d5bb2 >>> --- /dev/null >>> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> @@ -0,0 +1,394 @@ [...] >>> + list_add_tail(&mixer->engine.list, &drv->engine_list); >> >> >> You didn't call INIT_LIST_HEAD on that list. > > > So didn't the sun4i_backend driver... > > I think the mixer->engine.list only means an item in the > engine_list, and the drv->engine_list is initialized in the > sun4i_drv source code. I read [1] that if the item is subsequently added to a list, you could omit the INIT_LIST_HEAD call. Makes sense, though you have to be sure you aren't doing anything else with the list element. ChenYu [1] https://isis.poly.edu/kulesh/stuff/src/klist/ --=20 You received this message because you are subscribed to the Google Groups "= linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 In-Reply-To: References: <20170504114858.9008-1-icenowy@aosc.io> <20170504114858.9008-9-icenowy@aosc.io> <20170504130535.6nokhni5a3uxwy66@lukather> From: Chen-Yu Tsai Date: Fri, 5 May 2017 11:40:17 +0800 Message-ID: Subject: Re: [linux-sunxi] Re: [PATCH v6 08/13] drm/sun4i: add support for Allwinner DE2 mixers To: Icenowy Zheng List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree , linux-sunxi , linux-kernel , dri-devel , Chen-Yu Tsai , Rob Herring , Maxime Ripard , linux-clk , linux-arm-kernel Content-Type: text/plain; charset="utf-8" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+mturquette=baylibre.com@lists.infradead.org List-ID: T24gRnJpLCBNYXkgNSwgMjAxNyBhdCAxMjo1MiBBTSwgIDxpY2Vub3d5QGFvc2MuaW8+IHdyb3Rl Ogo+IOWcqCAyMDE3LTA1LTA0IDIxOjA177yMTWF4aW1lIFJpcGFyZCDlhpnpgZPvvJoKPj4KPj4g T24gVGh1LCBNYXkgMDQsIDIwMTcgYXQgMDc6NDg6NTNQTSArMDgwMCwgSWNlbm93eSBaaGVuZyB3 cm90ZToKPj4+Cj4+PiBBbGx3aW5uZXIgaGF2ZSBhIG5ldyAiRGlzcGxheSBFbmdpbmUgMi4wIiBp biB0aGVpciBuZXcgU29Dcywgd2hpY2ggY29tZXMKPj4+IHdpdGggbWl4ZXJzIHRvIGRvIGdyYXBo aWMgcHJvY2Vzc2luZyBhbmQgZmVlZCBkYXRhIHRvIFRDT04sIGxpa2UgdGhlIG9sZAo+Pj4gYmFj a2VuZHMgYW5kIGZyb250ZW5kcy4KPj4+Cj4+PiBBZGQgc3VwcG9ydCBmb3IgdGhlIG1peGVyIG9u IEFsbHdpbm5lciBWM3MgU29DOyBpdCdzIHRoZSBzaW1wbGVzdCBvbmUuCj4+Pgo+Pj4gQ3VycmVu dGx5IGEgbG90IG9mIGZ1bmN0aW9ucyBhcmUgc3RpbGwgbWlzc2luZyAtLSBtb3JlIGludmVzdGln YXRpb25zCj4+PiBhcmUgbmVlZGVkIHRvIGdhaW4gZW5vdWdoIGluZm9ybWF0aW9uIGZvciB0aGVt Lgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IEljZW5vd3kgWmhlbmcgPGljZW5vd3lAYW9zYy5pbz4K Pj4+IC0tLQo+Pj4gQ2hhbmdlcyBpbiB2NjoKPj4+IC0gUmViYXNlZCBvbiB3ZW5zJ3MgbXVsdGkt cGlwZWxpbmUgcGF0Y2hzZXQuCj4+PiBDaGFuZ2VzIGluIHY1Ogo+Pj4gLSBDaGFuZ2VkIHNvbWUg Y29kZSBhbGlnbm1lbnQuCj4+PiAtIFJlcXVlc3QgcmVhbCAzMi1iaXQgRE1BIChwcmVwYXJlIGZv ciA2NC1iaXQgU29DcykuCj4+PiBDaGFuZ2VzIGluIHY0Ogo+Pj4gLSBLaWxsZWQgc29tZSBkZWFk IGNvZGUgYWNjb3JkaW5nIHRvIEplcm5lai4KPj4+Cj4+PiAgZHJpdmVycy9ncHUvZHJtL3N1bjRp L0tjb25maWcgICAgICAgfCAgMTAgKwo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9NYWtlZmls ZSAgICAgIHwgICAzICsKPj4+ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbGF5ZXIuYyB8 IDE0MCArKysrKysrKysrKysrCj4+PiAgZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjhpX2xheWVy LmggfCAgMzYgKysrKwo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV9taXhlci5jIHwg Mzk0Cj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICBkcml2ZXJz L2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuaCB8IDEzNyArKysrKysrKysrKysrCj4+PiAgNiBm aWxlcyBjaGFuZ2VkLCA3MjAgaW5zZXJ0aW9ucygrKQo+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbGF5ZXIuYwo+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbGF5ZXIuaAo+Pj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuYwo+Pj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuaAo+Pj4KClsuLi5dCgo+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV9taXhlci5jCj4+PiBi L2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV9taXhlci5jCj4+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMjE2Yjg0ZDViYjIKPj4+IC0tLSAvZGV2L251 bGwKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV9taXhlci5jCj4+PiBAQCAt MCwwICsxLDM5NCBAQAoKWy4uLl0KCj4+PiArICAgICAgIGxpc3RfYWRkX3RhaWwoJm1peGVyLT5l bmdpbmUubGlzdCwgJmRydi0+ZW5naW5lX2xpc3QpOwo+Pgo+Pgo+PiBZb3UgZGlkbid0IGNhbGwg SU5JVF9MSVNUX0hFQUQgb24gdGhhdCBsaXN0Lgo+Cj4KPiBTbyBkaWRuJ3QgdGhlIHN1bjRpX2Jh Y2tlbmQgZHJpdmVyLi4uCj4KPiBJIHRoaW5rIHRoZSBtaXhlci0+ZW5naW5lLmxpc3Qgb25seSBt ZWFucyBhbiBpdGVtIGluIHRoZQo+IGVuZ2luZV9saXN0LCBhbmQgdGhlIGRydi0+ZW5naW5lX2xp c3QgaXMgaW5pdGlhbGl6ZWQgaW4gdGhlCj4gc3VuNGlfZHJ2IHNvdXJjZSBjb2RlLgoKSSByZWFk IFsxXSB0aGF0IGlmIHRoZSBpdGVtIGlzIHN1YnNlcXVlbnRseSBhZGRlZCB0byBhIGxpc3QsCnlv dSBjb3VsZCBvbWl0IHRoZSBJTklUX0xJU1RfSEVBRCBjYWxsLgoKTWFrZXMgc2Vuc2UsIHRob3Vn aCB5b3UgaGF2ZSB0byBiZSBzdXJlIHlvdSBhcmVuJ3QgZG9pbmcgYW55dGhpbmcKZWxzZSB3aXRo IHRoZSBsaXN0IGVsZW1lbnQuCgpDaGVuWXUKClsxXSBodHRwczovL2lzaXMucG9seS5lZHUva3Vs ZXNoL3N0dWZmL3NyYy9rbGlzdC8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: wens@csie.org (Chen-Yu Tsai) Date: Fri, 5 May 2017 11:40:17 +0800 Subject: [linux-sunxi] Re: [PATCH v6 08/13] drm/sun4i: add support for Allwinner DE2 mixers In-Reply-To: References: <20170504114858.9008-1-icenowy@aosc.io> <20170504114858.9008-9-icenowy@aosc.io> <20170504130535.6nokhni5a3uxwy66@lukather> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, May 5, 2017 at 12:52 AM, wrote: > ? 2017-05-04 21:05?Maxime Ripard ??? >> >> On Thu, May 04, 2017 at 07:48:53PM +0800, Icenowy Zheng wrote: >>> >>> Allwinner have a new "Display Engine 2.0" in their new SoCs, which comes >>> with mixers to do graphic processing and feed data to TCON, like the old >>> backends and frontends. >>> >>> Add support for the mixer on Allwinner V3s SoC; it's the simplest one. >>> >>> Currently a lot of functions are still missing -- more investigations >>> are needed to gain enough information for them. >>> >>> Signed-off-by: Icenowy Zheng >>> --- >>> Changes in v6: >>> - Rebased on wens's multi-pipeline patchset. >>> Changes in v5: >>> - Changed some code alignment. >>> - Request real 32-bit DMA (prepare for 64-bit SoCs). >>> Changes in v4: >>> - Killed some dead code according to Jernej. >>> >>> drivers/gpu/drm/sun4i/Kconfig | 10 + >>> drivers/gpu/drm/sun4i/Makefile | 3 + >>> drivers/gpu/drm/sun4i/sun8i_layer.c | 140 +++++++++++++ >>> drivers/gpu/drm/sun4i/sun8i_layer.h | 36 ++++ >>> drivers/gpu/drm/sun4i/sun8i_mixer.c | 394 >>> ++++++++++++++++++++++++++++++++++++ >>> drivers/gpu/drm/sun4i/sun8i_mixer.h | 137 +++++++++++++ >>> 6 files changed, 720 insertions(+) >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.c >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_layer.h >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_mixer.c >>> create mode 100644 drivers/gpu/drm/sun4i/sun8i_mixer.h >>> [...] >>> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> b/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> new file mode 100644 >>> index 000000000000..e216b84d5bb2 >>> --- /dev/null >>> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c >>> @@ -0,0 +1,394 @@ [...] >>> + list_add_tail(&mixer->engine.list, &drv->engine_list); >> >> >> You didn't call INIT_LIST_HEAD on that list. > > > So didn't the sun4i_backend driver... > > I think the mixer->engine.list only means an item in the > engine_list, and the drv->engine_list is initialized in the > sun4i_drv source code. I read [1] that if the item is subsequently added to a list, you could omit the INIT_LIST_HEAD call. Makes sense, though you have to be sure you aren't doing anything else with the list element. ChenYu [1] https://isis.poly.edu/kulesh/stuff/src/klist/