From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 2/2] drm/bridge: sii902x: add optional power supplies Date: Thu, 19 Apr 2018 14:00:47 +0300 Message-ID: <2003583.WmldKZVqDK@avalon> References: <20180410051927.8268-1-philippe.cornu@st.com> <3775994.jviQhGlOpf@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philippe CORNU Cc: Mark Rutland , "devicetree@vger.kernel.org" , Alexandre TORGUE , David Airlie , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Yannick FERTRE , Rob Herring List-Id: devicetree@vger.kernel.org SGkgUGhpbGlwcGUsCgpPbiBUaHVyc2RheSwgMTkgQXByaWwgMjAxOCAxMjo0NjozMSBFRVNUIFBo aWxpcHBlIENPUk5VIHdyb3RlOgo+IE9uIDA0LzE5LzIwMTggMTA6MjAgQU0sIExhdXJlbnQgUGlu Y2hhcnQgd3JvdGU6Cj4gPiBPbiBUdWVzZGF5LCAxMCBBcHJpbCAyMDE4IDA4OjE5OjI3IEVFU1Qg UGhpbGlwcGUgQ29ybnUgd3JvdGU6Cj4gPiAKPiA+PiBBZGQgdGhlIDMgb3B0aW9uYWwgcG93ZXIg c3VwcGxpZXMgdXNpbmcgdGhlIGV4YWN0IGRlc2NyaXB0aW9uCj4gPj4gZm91bmQgaW4gdGhlIGRv Y3VtZW50IG5hbWVkCj4gPj4gIlNpSTkwMjJBL1NpSTkwMjRBIEhETUkgVHJhbnNtaXR0ZXIgRGF0 YSBTaGVldCAoQXVndXN0IDIwMTYpIi4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IFBoaWxpcHBl IENvcm51IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+Cj4gPj4gLS0tCj4gPj4gZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9zaWk5MDJ4LmMgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLQo+ID4+IDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5j Cj4gPj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyBpbmRleCA2MDM3M2Q3ZWIy MjAuLmUxN2JhNmRiMWVjOAo+ID4+IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2Uvc2lpOTAyeC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4 LmMKCltzbmlwXQoKPiA+PiBAQCAtNDQzLDYgKzQ3MSw5IEBAIHN0YXRpYyBpbnQgc2lpOTAyeF9y ZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKPiA+Pgo+ID4+ICAgCWRybV9icmlkZ2Vf cmVtb3ZlKCZzaWk5MDJ4LT5icmlkZ2UpOwo+ID4+Cj4gPj4gKwlyZWd1bGF0b3JfYnVsa19kaXNh YmxlKEFSUkFZX1NJWkUoc2lpOTAyeC0+c3VwcGxpZXMpLAo+ID4+ICsJCQkgICAgICAgc2lpOTAy eC0+c3VwcGxpZXMpOwo+ID4+ICsKPiA+IAo+ID4gV2hpbGUgdGhpcyBzZWVtcyBmdW5jdGlvbmFs bHkgY29ycmVjdCwgd291bGQgaXQgYmUgdXNlZnVsIHRvIG9ubHkgZW5hYmxlCj4gPiBwb3dlciBz dXBwbGllcyB3aGVuIG5lZWRlZCB0byBzYXZlIHBvd2VyID8KIAo+IHRoYXQgaXMgYSBnb29kIHBv aW50LiBJIGRvIG5vdCBrbm93IHdlbGwgKHlldCkgdGhpcyBicmlkZ2UuIE1heWJlIEkgY2FuIAo+ IGFkZCBhIDNyZCBwYXRjaCB3aXRoIGJyaWRnZSBwcmVfZW5hYmxlKCkgYW5kIHBvc3RfZGlzYWJs ZSgpIGNvbnRhaW5pbmcgCj4gcmVzZXQgJiBzdXBwbGllcyBtYW5hZ2VtZW50LiBPciBJIGNhbiBw dXQgcmVzZXQmc3VwcGxpZXMgaW4gYnJpZGdlIAo+IGVuYWJsZSgpICYgZGlzYWJsZSgpIGJ1dCBp dCBjb3VsZCBiZSBhIGxpdHRsZSBtZXNzeS4KPiAKPiBBbnkgb3Bpbmlvbi9hZHZpY2U/CgpJJ20g bm90IGZhbWlsaWFyIHdpdGggdGhpcyBicmlkZ2UgeWV0LCBzbyB3ZSBuZWVkIHRvIGJlIGNhcmVm dWwuIFRoZSBmaXJzdCAKcG9pbnQgeW91IG5lZWQgdG8gY2hlY2sgaXMgdGhlIGhhcmR3YXJlIHJl cXVpcmVtZW50cyByZWdhcmRpbmcgcG93ZXIgc3VwcGx5IApzZXF1ZW5jaW5nLiBGb3IgaW5zdGFu Y2UgY291bGQgaXQgZGFtYWdlIHRoZSBjaGlwIGlmIHRoZSBJL08gc3VwcGx5IGlzIHR1cm5lZCAK b2ZmIHdoaWxlIHRoZSBJL08gcGlucyBhcmUgZXh0ZXJuYWxseSBkcml2ZW4gPyBDYW4gdGhlIGNv cmUgc3VwcGxpZXMgYmUgdHVybmVkIApvZmYgd2l0aCB0aGUgSS9PIHN1cHBseSBvbiA/IFRoZW4s IGJhc2VkIG9uIHRoZSBoYXJkd2FyZSBsaW1pdGF0aW9ucywgeW91IApzaG91bGQgcGljayB0aGUg YXBwcm9wcmlhdGUgbG9jYXRpb24gZm9yIHBvd2VyIGhhbmRsaW5nLgoKPiA+PiAgIAlyZXR1cm4g MDsKPiA+PiAgIH0KCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752844AbeDSLAl (ORCPT ); Thu, 19 Apr 2018 07:00:41 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:34934 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752686AbeDSLAk (ORCPT ); Thu, 19 Apr 2018 07:00:40 -0400 From: Laurent Pinchart To: Philippe CORNU Cc: Archit Taneja , Andrzej Hajda , David Airlie , Rob Herring , Mark Rutland , "dri-devel@lists.freedesktop.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Yannick FERTRE , Benjamin Gaignard , Alexandre TORGUE Subject: Re: [PATCH 2/2] drm/bridge: sii902x: add optional power supplies Date: Thu, 19 Apr 2018 14:00:47 +0300 Message-ID: <2003583.WmldKZVqDK@avalon> Organization: Ideas on Board Oy In-Reply-To: References: <20180410051927.8268-1-philippe.cornu@st.com> <3775994.jviQhGlOpf@avalon> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Philippe, On Thursday, 19 April 2018 12:46:31 EEST Philippe CORNU wrote: > On 04/19/2018 10:20 AM, Laurent Pinchart wrote: > > On Tuesday, 10 April 2018 08:19:27 EEST Philippe Cornu wrote: > > > >> Add the 3 optional power supplies using the exact description > >> found in the document named > >> "SiI9022A/SiI9024A HDMI Transmitter Data Sheet (August 2016)". > >> > >> Signed-off-by: Philippe Cornu > >> --- > >> drivers/gpu/drm/bridge/sii902x.c | 39 +++++++++++++++++++++++++++++++---- > >> 1 file changed, 35 insertions(+), 4 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/bridge/sii902x.c > >> b/drivers/gpu/drm/bridge/sii902x.c index 60373d7eb220..e17ba6db1ec8 > >> 100644 > >> --- a/drivers/gpu/drm/bridge/sii902x.c > >> +++ b/drivers/gpu/drm/bridge/sii902x.c [snip] > >> @@ -443,6 +471,9 @@ static int sii902x_remove(struct i2c_client *client) > >> > >> drm_bridge_remove(&sii902x->bridge); > >> > >> + regulator_bulk_disable(ARRAY_SIZE(sii902x->supplies), > >> + sii902x->supplies); > >> + > > > > While this seems functionally correct, would it be useful to only enable > > power supplies when needed to save power ? > that is a good point. I do not know well (yet) this bridge. Maybe I can > add a 3rd patch with bridge pre_enable() and post_disable() containing > reset & supplies management. Or I can put reset&supplies in bridge > enable() & disable() but it could be a little messy. > > Any opinion/advice? I'm not familiar with this bridge yet, so we need to be careful. The first point you need to check is the hardware requirements regarding power supply sequencing. For instance could it damage the chip if the I/O supply is turned off while the I/O pins are externally driven ? Can the core supplies be turned off with the I/O supply on ? Then, based on the hardware limitations, you should pick the appropriate location for power handling. > >> return 0; > >> } -- Regards, Laurent Pinchart