From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from galahad.ideasonboard.com ([185.26.127.97]:33686 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968329AbdADPNw (ORCPT ); Wed, 4 Jan 2017 10:13:52 -0500 From: Laurent Pinchart To: Daniel Vetter Cc: Laurent Pinchart , dri-devel , "open list:DRM DRIVERS FOR RENESAS" Subject: Re: [PATCH v3 06/13] drm: bridge: Add LVDS encoder driver Date: Wed, 04 Jan 2017 17:13:23 +0200 Message-ID: <7936513.8Ot9e1G3ck@avalon> In-Reply-To: <20170104145824.bnjdsv77bay75ie2@phenom.ffwll.local> References: <1480410283-28698-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <2223998.87cnrdv6Vi@avalon> <20170104145824.bnjdsv77bay75ie2@phenom.ffwll.local> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: Hi Daniel, On Wednesday 04 Jan 2017 15:58:25 Daniel Vetter wrote: > On Wed, Jan 04, 2017 at 04:33:57PM +0200, Laurent Pinchart wrote: > > On Wednesday 04 Jan 2017 14:51:48 Daniel Vetter wrote: > >> Hm, something like drm_bridge_panel_bridge_init(dev, panel) should be > >> enough, or not? My idea is to use this for the case where the only > >> thing in dt is the panel, with no real bridge chip. And I think we > >> don't need anything beyond that one _init function, plus maybe some > >> additional paramaters ... > > > > There should be no bridge then. If you want the DRM core to manage panels > > automatically, then we should create specific helpers for that, not abuse > > the bridge infrastructure. Bridges should be instantiated from a hardware > > device and bound to drivers as usual. > > I guess that's the part where I disagree: Just because there's physically > no bridge doesn't mean we shouldn't just treat it as one in the software > abstraction. If it looks and acts like a bridge (even an empty one), then > imo it can be a bridge. > > If you insist on panels being panels, then I guess we need some other kind > of glue to bind them into arbitrary bridge chains. But given that the > callbacks match very closely, I don't see the point. > > In an idea world a panel would probably derive from a drm_bridge, but > we're not in that universe unfortunately ;-) Or both would derive from another object, but I agree that's how it should work. That's what I want to achieve, one step at a time. Creating dummy bridges isn't a step in that direction in my opinion, so I'd rather not do that, but work towards the right abstraction. -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v3 06/13] drm: bridge: Add LVDS encoder driver Date: Wed, 04 Jan 2017 17:13:23 +0200 Message-ID: <7936513.8Ot9e1G3ck@avalon> References: <1480410283-28698-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <2223998.87cnrdv6Vi@avalon> <20170104145824.bnjdsv77bay75ie2@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id D6EEB6E74B for ; Wed, 4 Jan 2017 15:13:18 +0000 (UTC) In-Reply-To: <20170104145824.bnjdsv77bay75ie2@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: "open list:DRM DRIVERS FOR RENESAS" , Laurent Pinchart , dri-devel List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gV2VkbmVzZGF5IDA0IEphbiAyMDE3IDE1OjU4OjI1IERhbmllbCBWZXR0 ZXIgd3JvdGU6Cj4gT24gV2VkLCBKYW4gMDQsIDIwMTcgYXQgMDQ6MzM6NTdQTSArMDIwMCwgTGF1 cmVudCBQaW5jaGFydCB3cm90ZToKPiA+IE9uIFdlZG5lc2RheSAwNCBKYW4gMjAxNyAxNDo1MTo0 OCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4+IEhtLCBzb21ldGhpbmcgbGlrZSBkcm1fYnJpZGdl X3BhbmVsX2JyaWRnZV9pbml0KGRldiwgcGFuZWwpIHNob3VsZCBiZQo+ID4+IGVub3VnaCwgb3Ig bm90PyBNeSBpZGVhIGlzIHRvIHVzZSB0aGlzIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgb25seQo+ ID4+IHRoaW5nIGluIGR0IGlzIHRoZSBwYW5lbCwgd2l0aCBubyByZWFsIGJyaWRnZSBjaGlwLiBB bmQgSSB0aGluayB3ZQo+ID4+IGRvbid0IG5lZWQgYW55dGhpbmcgYmV5b25kIHRoYXQgb25lIF9p bml0IGZ1bmN0aW9uLCBwbHVzIG1heWJlIHNvbWUKPiA+PiBhZGRpdGlvbmFsIHBhcmFtYXRlcnMg Li4uCj4gPiAKPiA+IFRoZXJlIHNob3VsZCBiZSBubyBicmlkZ2UgdGhlbi4gSWYgeW91IHdhbnQg dGhlIERSTSBjb3JlIHRvIG1hbmFnZSBwYW5lbHMKPiA+IGF1dG9tYXRpY2FsbHksIHRoZW4gd2Ug c2hvdWxkIGNyZWF0ZSBzcGVjaWZpYyBoZWxwZXJzIGZvciB0aGF0LCBub3QgYWJ1c2UKPiA+IHRo ZSBicmlkZ2UgaW5mcmFzdHJ1Y3R1cmUuIEJyaWRnZXMgc2hvdWxkIGJlIGluc3RhbnRpYXRlZCBm cm9tIGEgaGFyZHdhcmUKPiA+IGRldmljZSBhbmQgYm91bmQgdG8gZHJpdmVycyBhcyB1c3VhbC4K PiAKPiBJIGd1ZXNzIHRoYXQncyB0aGUgcGFydCB3aGVyZSBJIGRpc2FncmVlOiBKdXN0IGJlY2F1 c2UgdGhlcmUncyBwaHlzaWNhbGx5Cj4gbm8gYnJpZGdlIGRvZXNuJ3QgbWVhbiB3ZSBzaG91bGRu J3QganVzdCB0cmVhdCBpdCBhcyBvbmUgaW4gdGhlIHNvZnR3YXJlCj4gYWJzdHJhY3Rpb24uIElm IGl0IGxvb2tzIGFuZCBhY3RzIGxpa2UgYSBicmlkZ2UgKGV2ZW4gYW4gZW1wdHkgb25lKSwgdGhl bgo+IGltbyBpdCBjYW4gYmUgYSBicmlkZ2UuCj4gCj4gSWYgeW91IGluc2lzdCBvbiBwYW5lbHMg YmVpbmcgcGFuZWxzLCB0aGVuIEkgZ3Vlc3Mgd2UgbmVlZCBzb21lIG90aGVyIGtpbmQKPiBvZiBn bHVlIHRvIGJpbmQgdGhlbSBpbnRvIGFyYml0cmFyeSBicmlkZ2UgY2hhaW5zLiBCdXQgZ2l2ZW4g dGhhdCB0aGUKPiBjYWxsYmFja3MgbWF0Y2ggdmVyeSBjbG9zZWx5LCBJIGRvbid0IHNlZSB0aGUg cG9pbnQuCj4gCj4gSW4gYW4gaWRlYSB3b3JsZCBhIHBhbmVsIHdvdWxkIHByb2JhYmx5IGRlcml2 ZSBmcm9tIGEgZHJtX2JyaWRnZSwgYnV0Cj4gd2UncmUgbm90IGluIHRoYXQgdW5pdmVyc2UgdW5m b3J0dW5hdGVseSA7LSkKCk9yIGJvdGggd291bGQgZGVyaXZlIGZyb20gYW5vdGhlciBvYmplY3Qs IGJ1dCBJIGFncmVlIHRoYXQncyBob3cgaXQgc2hvdWxkIAp3b3JrLiBUaGF0J3Mgd2hhdCBJIHdh bnQgdG8gYWNoaWV2ZSwgb25lIHN0ZXAgYXQgYSB0aW1lLiBDcmVhdGluZyBkdW1teSAKYnJpZGdl cyBpc24ndCBhIHN0ZXAgaW4gdGhhdCBkaXJlY3Rpb24gaW4gbXkgb3Bpbmlvbiwgc28gSSdkIHJh dGhlciBub3QgZG8gCnRoYXQsIGJ1dCB3b3JrIHRvd2FyZHMgdGhlIHJpZ2h0IGFic3RyYWN0aW9u LgoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK