From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wj0-f193.google.com ([209.85.210.193]:32948 "EHLO mail-wj0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753066AbcK2UWh (ORCPT ); Tue, 29 Nov 2016 15:22:37 -0500 Received: by mail-wj0-f193.google.com with SMTP id kp2so19627618wjc.0 for ; Tue, 29 Nov 2016 12:22:37 -0800 (PST) Date: Tue, 29 Nov 2016 21:22:39 +0100 From: Daniel Vetter To: Laurent Pinchart Cc: Archit Taneja , linux-renesas-soc@vger.kernel.org, Laurent Pinchart , dri-devel@lists.freedesktop.org Subject: Re: [PATCH v3 04/13] drm: bridge: Detach bridge from encoder at encoder cleanup time Message-ID: <20161129202239.ip7xctghyoxypbz2@phenom.ffwll.local> References: <1480410283-28698-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1480410283-28698-5-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <510cedf6-ce51-5eaf-3053-0002f7757f6f@codeaurora.org> <11051003.Od02k5E7cU@avalon> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <11051003.Od02k5E7cU@avalon> Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: On Tue, Nov 29, 2016 at 08:56:44PM +0200, Laurent Pinchart wrote: > Hi Archit, > > On Tuesday 29 Nov 2016 16:04:08 Archit Taneja wrote: > > On 11/29/2016 02:34 PM, Laurent Pinchart wrote: > > > Most drivers that use bridges forgot to detach them at cleanup time. > > > Instead of fixing them one by one, detach the bridge in the core > > > drm_encoder_cleanup() function. > > > > > > Signed-off-by: Laurent Pinchart > > > > > > --- > > > > > > drivers/gpu/drm/drm_encoder.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/drm_encoder.c b/drivers/gpu/drm/drm_encoder.c > > > index 5c067719164d..9c1f99646e0d 100644 > > > --- a/drivers/gpu/drm/drm_encoder.c > > > +++ b/drivers/gpu/drm/drm_encoder.c > > > @@ -164,6 +164,9 @@ void drm_encoder_cleanup(struct drm_encoder *encoder) > > > * the indices on the drm_encoder after us in the encoder_list. > > > */ > > > + if (encoder->bridge) > > > + drm_bridge_detach(encoder->bridge); > > > > This would require the kms driver to still detach the remaining > > n - 1 bridges in a possible chain. We could probably detach all of > > them here, or maybe leave detaching of all to the kms driver, and just > > report a warning here. > > I'd prefer detaching them all here, but that's a bit intrusive and should be > tested correctly. The patch series is already growing big, could we do that in > a separate patch ? I think you're bridge-for-panels driver is the first one that's actually getting chained. I guess you do have to fix this here ;-) And if you go through with making drm_bridge_detach be a purely drm.ko internal thing, we can make it recursive like all the other functions. Problem solved. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 04/13] drm: bridge: Detach bridge from encoder at encoder cleanup time Date: Tue, 29 Nov 2016 21:22:39 +0100 Message-ID: <20161129202239.ip7xctghyoxypbz2@phenom.ffwll.local> References: <1480410283-28698-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1480410283-28698-5-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <510cedf6-ce51-5eaf-3053-0002f7757f6f@codeaurora.org> <11051003.Od02k5E7cU@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wj0-x241.google.com (mail-wj0-x241.google.com [IPv6:2a00:1450:400c:c01::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6163B6E6B7 for ; Tue, 29 Nov 2016 20:22:37 +0000 (UTC) Received: by mail-wj0-x241.google.com with SMTP id jb2so19623170wjb.3 for ; Tue, 29 Nov 2016 12:22:37 -0800 (PST) Content-Disposition: inline In-Reply-To: <11051003.Od02k5E7cU@avalon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: linux-renesas-soc@vger.kernel.org, Laurent Pinchart , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMjksIDIwMTYgYXQgMDg6NTY6NDRQTSArMDIwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBIaSBBcmNoaXQsCj4gCj4gT24gVHVlc2RheSAyOSBOb3YgMjAxNiAxNjowNDow OCBBcmNoaXQgVGFuZWphIHdyb3RlOgo+ID4gT24gMTEvMjkvMjAxNiAwMjozNCBQTSwgTGF1cmVu dCBQaW5jaGFydCB3cm90ZToKPiA+ID4gTW9zdCBkcml2ZXJzIHRoYXQgdXNlIGJyaWRnZXMgZm9y Z290IHRvIGRldGFjaCB0aGVtIGF0IGNsZWFudXAgdGltZS4KPiA+ID4gSW5zdGVhZCBvZiBmaXhp bmcgdGhlbSBvbmUgYnkgb25lLCBkZXRhY2ggdGhlIGJyaWRnZSBpbiB0aGUgY29yZQo+ID4gPiBk cm1fZW5jb2Rlcl9jbGVhbnVwKCkgZnVuY3Rpb24uCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBMYXVyZW50IFBpbmNoYXJ0Cj4gPiA+IDxsYXVyZW50LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNv bmJvYXJkLmNvbT4KPiA+ID4gLS0tCj4gPiA+IAo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9l bmNvZGVyLmMgfCAzICsrKwo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+ ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9lbmNvZGVyLmMKPiA+ID4gaW5kZXggNWMwNjc3MTkxNjRkLi45 YzFmOTk2NDZlMGQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rl ci5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5jCj4gPiA+IEBAIC0x NjQsNiArMTY0LDkgQEAgdm9pZCBkcm1fZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcikKPiA+ID4gIAkgKiB0aGUgaW5kaWNlcyBvbiB0aGUgZHJtX2VuY29kZXIgYWZ0 ZXIgdXMgaW4gdGhlIGVuY29kZXJfbGlzdC4KPiA+ID4gIAkgKi8KPiA+ID4gKwlpZiAoZW5jb2Rl ci0+YnJpZGdlKQo+ID4gPiArCQlkcm1fYnJpZGdlX2RldGFjaChlbmNvZGVyLT5icmlkZ2UpOwo+ ID4gCj4gPiBUaGlzIHdvdWxkIHJlcXVpcmUgdGhlIGttcyBkcml2ZXIgdG8gc3RpbGwgZGV0YWNo IHRoZSByZW1haW5pbmcKPiA+IG4gLSAxIGJyaWRnZXMgaW4gYSBwb3NzaWJsZSBjaGFpbi4gV2Ug Y291bGQgcHJvYmFibHkgZGV0YWNoIGFsbCBvZgo+ID4gdGhlbSBoZXJlLCBvciBtYXliZSBsZWF2 ZSBkZXRhY2hpbmcgb2YgYWxsIHRvIHRoZSBrbXMgZHJpdmVyLCBhbmQganVzdAo+ID4gcmVwb3J0 IGEgd2FybmluZyBoZXJlLgo+IAo+IEknZCBwcmVmZXIgZGV0YWNoaW5nIHRoZW0gYWxsIGhlcmUs IGJ1dCB0aGF0J3MgYSBiaXQgaW50cnVzaXZlIGFuZCBzaG91bGQgYmUgCj4gdGVzdGVkIGNvcnJl Y3RseS4gVGhlIHBhdGNoIHNlcmllcyBpcyBhbHJlYWR5IGdyb3dpbmcgYmlnLCBjb3VsZCB3ZSBk byB0aGF0IGluIAo+IGEgc2VwYXJhdGUgcGF0Y2ggPwoKSSB0aGluayB5b3UncmUgYnJpZGdlLWZv ci1wYW5lbHMgZHJpdmVyIGlzIHRoZSBmaXJzdCBvbmUgdGhhdCdzIGFjdHVhbGx5CmdldHRpbmcg Y2hhaW5lZC4gSSBndWVzcyB5b3UgZG8gaGF2ZSB0byBmaXggdGhpcyBoZXJlIDstKSBBbmQgaWYg eW91IGdvCnRocm91Z2ggd2l0aCBtYWtpbmcgZHJtX2JyaWRnZV9kZXRhY2ggYmUgYSBwdXJlbHkg ZHJtLmtvIGludGVybmFsIHRoaW5nLAp3ZSBjYW4gbWFrZSBpdCByZWN1cnNpdmUgbGlrZSBhbGwg dGhlIG90aGVyIGZ1bmN0aW9ucy4gUHJvYmxlbSBzb2x2ZWQuCi1EYW5pZWwKLS0gCkRhbmllbCBW ZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=