From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Zhong Subject: Re: [PATCH v4 06/13] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver Date: Thu, 26 Nov 2015 18:05:55 +0800 Message-ID: <5656D983.8090203@rock-chips.com> References: <1448007339-10966-1-git-send-email-zyw@rock-chips.com> <1448007339-10966-7-git-send-email-zyw@rock-chips.com> <20151120160706.GE3300@ulmo.nvidia.com> <5656AEDA.4080607@rock-chips.com> <20151126080447.GA28064@ulmo.nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20151126080447.GA28064@ulmo.nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: Vincent Palatin , Andrew Bresticker , emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Andy Yan , rmk+kernel@arm.linux.org.uk, Rahul Sharma , ajaykumar.rs@samsung.com List-Id: linux-rockchip.vger.kernel.org CgpPbiAxMS8yNi8yMDE1IDA0OjA0IFBNLCBUaGllcnJ5IFJlZGluZyB3cm90ZToKPiBPbiBUaHUs IE5vdiAyNiwgMjAxNSBhdCAwMzowMzo1NFBNICswODAwLCBDaHJpcyBaaG9uZyB3cm90ZToKPj4g SGkgVGhpZXJyeQo+Pgo+PiBUaGFua3MgZm9yIHlvdXIgZmVlZGJhY2suCj4+Cj4+Cj4+IE9uIDEx LzIxLzIwMTUgMTI6MDcgQU0sIFRoaWVycnkgUmVkaW5nIHdyb3RlOgo+Pj4gT24gRnJpLCBOb3Yg MjAsIDIwMTUgYXQgMDQ6MTU6MzJQTSArMDgwMCwgQ2hyaXMgWmhvbmcgd3JvdGU6Cj4+Pj4gYWRk IFN5bm9wc3lzIERlc2lnbldhcmUgTUlQSSBEU0kgaG9zdCBjb250cm9sbGVyIGRyaXZlciBzdXBw b3J0Lgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgWmhvbmcgPHp5d0Byb2NrLWNoaXBz LmNvbT4KPj4+PiAtLS0KPj4+Pgo+Pj4+IENoYW5nZXMgaW4gdjQ6Cj4+Pj4gZWxpbWluYXRlIHNv bWUgd2Fybm5pbmcKPj4+Pgo+Pj4+IENoYW5nZXMgaW4gdjM6IE5vbmUKPj4+PiBDaGFuZ2VzIGlu IHYyOiBOb25lCj4+Pj4KPj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZyAgICAg ICB8ICAgMTEgKwo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmlsZSAgICAgIHwg ICAgMSArCj4+Pj4gICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmMgfCAxMDU2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+PiAgIGluY2x1ZGUvZHJtL2Jy aWRnZS9kd19taXBpX2RzaS5oICAgICB8ICAgMjcgKwo+Pj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCAx MDk1IGluc2VydGlvbnMoKykKPj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2R3X21pcGlfZHNpLmMKPj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaAo+Pj4+Cj4+Pj4KPj4+PiArc3RydWN0IGR3X21pcGlf ZHNpIHsKPj4+PiArCXN0cnVjdCBtaXBpX2RzaV9ob3N0IGRzaV9ob3N0Owo+Pj4+ICsJc3RydWN0 IGRybV9jb25uZWN0b3IgY29ubmVjdG9yOwo+Pj4+ICsJc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyOwo+Pj4gc3RydWN0IGRybV9icmlkZ2UgYWxyZWFkeSBoYXMgYSBwb2ludGVyIHRvIGFuIGVu Y29kZXIsIGNhbid0IHlvdSByZXVzZQo+Pj4gdGhhdCBpbnN0ZWFkPwo+Pj4KPj4+PiArCXN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2U7Cj4+PiBUeXBpY2FsbHkgeW91J2QgZW1iZWQgdGhlIGJyaWRn ZSBpbnRvIHRoZSBkcml2ZXIgc3RydWN0dXJlLgo+PiBJJ20gYWxtb3N0IGRvbmUgd2l0aCBhbGwg dGhlIG1vZGlmaWNhdGlvbnMgYWNjb3JkaW5nIHRvIHlvdXIgY29tbWVudHMuCj4+IFJlbWFpbmlu ZyB0aGlzIHBvaW50IEkgY2FuIG5vdCB1bmRlcnN0YW5kLCB0aGUgZHNpIGlzIGEgcG9pbnRlciBv Zgo+PiBkcm1fYnJpZGdlLAo+PiBoZW5jZSBJIGNhbiBub3QgZ2V0IHRoZSBicmlkZ2UgYnkgY29u dGFpbmVyX29mLgo+PiBBbHRob3VnaCwgdGhlICJicmlkZ2UtPmRyaXZlcl9wcml2YXRlID0gZHNp IiBoYXZlIGRvbmUgaW4KPj4gZHdfbWlwaV9kc2lfcmVnaXN0ZXIuCj4gSSBkb24ndCB1bmRlcnN0 YW5kLiBJZiB5b3UgZG9uJ3QgbWFrZSBicmlkZ2UgYSBwb2ludGVyLCBidXQgcmF0aGVyIGVtYmVk Cj4gaXQgd2l0aGluIHRoZSBzdHJ1Y3R1cmUsIHRoZW4geW91IGNhbiB1c2UgY29udGFpbmVyX29m KCksIGNhbid0IHlvdT8gWW91Cj4gZ2V0IGl0IGFsbG9jYXRlZCBhdXRvbWF0aWNhbGx5IGFzIHBh cnQgb2YgYWxsb2NhdGluZyB0aGUgZHdfbWlwaV9kc2kKPiBzdHJ1Y3R1cmUuIFNlZSBmb3IgZXhh bXBsZSB0aGUgcHM4NjIyIGFuZCBwdG4zNDYwIGJyaWRnZSBkcml2ZXJzLgpZZWFoLCBnb3QgaXQs IHRoYW5rcy4gOikKSSBhbSBnb2luZyB0byBtb2RpZnkgaXQgaW4gbmV4dCB2ZXJzaW9uIHBhdGNo Lgo+Cj4gT24gYSBzbGlnaHRseSB1bnJlbGF0ZWQgbm90ZSwgSSdtIG5vdCBzdXJlIGlmIHdlIGRp c2N1c3NlZCB0aGlzIGFscmVhZHkKPiBvciBpZiBpdCB3YXMgaW4gYW5vdGhlciB0aHJlYWQsIGJ1 dCB3aHkgaXMgdGhpcyBldmVuIGEgYnJpZGdlIGRyaXZlcj8gQQo+IGJyaWRnZSBpcyB0eXBpY2Fs bHkgc29tZSBJQyBvdXRzaWRlIG9mIHRoZSBTb0MsIHdoZXJlYXMgdGhpcyBjbGVhcmx5IGlzCj4g SVAgZGVzaWduZWQgaW50byB0aGUgU29DLiBTbyBpdCdzIHJlYWxseSBtb3JlIG9mIGFuIGVuY29k ZXIgcmF0aGVyIHRoYW4KPiBhIGJyaWRnZS4KSSBndWVzcyB5b3UgbWVhbiB0aGlzIHRocmVhZCA8 aHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC81ODE2OTkxLz4KSSB0aGluayB0aGUg YnJpZGdlIGlzIGJlbmVmaWNpYWwgdG8gc2hhcmUgdGhlIGR3LW1pcGkgZHJpdmVyIGZvciAKZGlm ZmVyZW50IHNvYwp3aXRoIHNhbWUgdmVyc2lvbiBkdy1taXBpIElQLgoKPgo+IFRoaWVycnkKCgoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753214AbbKZKGT (ORCPT ); Thu, 26 Nov 2015 05:06:19 -0500 Received: from regular1.263xmail.com ([211.150.99.134]:60515 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750845AbbKZKGN (ORCPT ); Thu, 26 Nov 2015 05:06:13 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: zyw@rock-chips.com X-FST-TO: architt@codeaurora.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: zyw@rock-chips.com X-UNIQUE-TAG: <05bb3e5ab90456088ec1b5b1fb7dccd6> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v4 06/13] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver To: Thierry Reding References: <1448007339-10966-1-git-send-email-zyw@rock-chips.com> <1448007339-10966-7-git-send-email-zyw@rock-chips.com> <20151120160706.GE3300@ulmo.nvidia.com> <5656AEDA.4080607@rock-chips.com> <20151126080447.GA28064@ulmo.nvidia.com> Cc: heiko@sntech.de, linux-rockchip@lists.infradead.org, mark.yao@rock-chips.com, emil.l.velikov@gmail.com, airlied@linux.ie, ajaykumar.rs@samsung.com, rmk+kernel@arm.linux.org.uk, dri-devel@lists.freedesktop.org, Inki Dae , Takashi Iwai , Vincent Palatin , Andy Yan , Rahul Sharma , Sean Paul , Andrew Bresticker , linux-kernel@vger.kernel.org, architt@codeaurora.org From: Chris Zhong Message-ID: <5656D983.8090203@rock-chips.com> Date: Thu, 26 Nov 2015 18:05:55 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151126080447.GA28064@ulmo.nvidia.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/26/2015 04:04 PM, Thierry Reding wrote: > On Thu, Nov 26, 2015 at 03:03:54PM +0800, Chris Zhong wrote: >> Hi Thierry >> >> Thanks for your feedback. >> >> >> On 11/21/2015 12:07 AM, Thierry Reding wrote: >>> On Fri, Nov 20, 2015 at 04:15:32PM +0800, Chris Zhong wrote: >>>> add Synopsys DesignWare MIPI DSI host controller driver support. >>>> >>>> Signed-off-by: Chris Zhong >>>> --- >>>> >>>> Changes in v4: >>>> eliminate some warnning >>>> >>>> Changes in v3: None >>>> Changes in v2: None >>>> >>>> drivers/gpu/drm/bridge/Kconfig | 11 + >>>> drivers/gpu/drm/bridge/Makefile | 1 + >>>> drivers/gpu/drm/bridge/dw_mipi_dsi.c | 1056 ++++++++++++++++++++++++++++++++++ >>>> include/drm/bridge/dw_mipi_dsi.h | 27 + >>>> 4 files changed, 1095 insertions(+) >>>> create mode 100644 drivers/gpu/drm/bridge/dw_mipi_dsi.c >>>> create mode 100644 include/drm/bridge/dw_mipi_dsi.h >>>> >>>> >>>> +struct dw_mipi_dsi { >>>> + struct mipi_dsi_host dsi_host; >>>> + struct drm_connector connector; >>>> + struct drm_encoder *encoder; >>> struct drm_bridge already has a pointer to an encoder, can't you reuse >>> that instead? >>> >>>> + struct drm_bridge *bridge; >>> Typically you'd embed the bridge into the driver structure. >> I'm almost done with all the modifications according to your comments. >> Remaining this point I can not understand, the dsi is a pointer of >> drm_bridge, >> hence I can not get the bridge by container_of. >> Although, the "bridge->driver_private = dsi" have done in >> dw_mipi_dsi_register. > I don't understand. If you don't make bridge a pointer, but rather embed > it within the structure, then you can use container_of(), can't you? You > get it allocated automatically as part of allocating the dw_mipi_dsi > structure. See for example the ps8622 and ptn3460 bridge drivers. Yeah, got it, thanks. :) I am going to modify it in next version patch. > > On a slightly unrelated note, I'm not sure if we discussed this already > or if it was in another thread, but why is this even a bridge driver? A > bridge is typically some IC outside of the SoC, whereas this clearly is > IP designed into the SoC. So it's really more of an encoder rather than > a bridge. I guess you mean this thread I think the bridge is beneficial to share the dw-mipi driver for different soc with same version dw-mipi IP. > > Thierry