From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from perceval.ideasonboard.com ([213.167.242.64]:57256 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726008AbeIESb7 (ORCPT ); Wed, 5 Sep 2018 14:31:59 -0400 From: Laurent Pinchart To: Geert Uytterhoeven Cc: Laurent Pinchart , DRI Development , Linux-Renesas Subject: Re: [PATCH 05/16] drm: rcar-du: lvds: D3/E3 support Date: Wed, 05 Sep 2018 17:01:43 +0300 Message-ID: <4417675.15G9f8jK7e@avalon> In-Reply-To: References: <20180904121027.24031-1-laurent.pinchart+renesas@ideasonboard.com> <20180904121027.24031-6-laurent.pinchart+renesas@ideasonboard.com> 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 Geert, On Tuesday, 4 September 2018 17:29:29 EEST Geert Uytterhoeven wrote: > On Tue, Sep 4, 2018 at 2:10 PM Laurent Pinchart wrote: > > The LVDS encoders in the D3 and E3 SoCs differ significantly from those > > in the other R-Car Gen3 family members: > > > > - The LVDS PLL architecture is more complex and requires computing PLL > > parameters manually. > > > > - The PLL uses external clocks as inputs, which need to be retrieved > > from DT. > > > > - In addition to the different PLL setup, the startup sequence has > > changed *again* (seems someone had trouble making his/her mind). > > > > Supporting all this requires DT bindings extensions for external clocks, > > brand new PLL setup code, and a few quirks to handle the differences in > > the startup sequence. > > > > The implementation doesn't support all hardware features yet, namely > > > > - Using the LV[01] clocks generated by the CPG as PLL input. > > - Providing the LVDS PLL clock to the DU for use with the RGB output. > > > > Those features can be added later when the need will arise. > > > > Signed-off-by: Laurent Pinchart > > > > Thanks for your patch! > > > --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c > > +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c > > > > +static void rcar_lvds_d3_e3_pll_calc(struct rcar_lvds *lvds, struct clk > > *clk, + unsigned long target, struct > > pll_info *pll) +{ > > > > +#if defined(CONFIG_DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) > > + { > > As this code has no dependencies, you can improve compile coverage: > > if (IS_ENABLED(...) || ...) { > > BTW, was CONFIG_DEBUG intended? Or just DEBUG? It should have been just DEBUG, yes. I was trying to guard against dev_dbg() being defined as a no-op and gcc throwing unused variables warnings, but it looks like that has never been an issue in the first place, so I'll drop the guard. -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 05/16] drm: rcar-du: lvds: D3/E3 support Date: Wed, 05 Sep 2018 17:01:43 +0300 Message-ID: <4417675.15G9f8jK7e@avalon> References: <20180904121027.24031-1-laurent.pinchart+renesas@ideasonboard.com> <20180904121027.24031-6-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id E273489FAC for ; Wed, 5 Sep 2018 14:01:38 +0000 (UTC) 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: Geert Uytterhoeven Cc: Linux-Renesas , Laurent Pinchart , DRI Development List-Id: dri-devel@lists.freedesktop.org SGkgR2VlcnQsCgpPbiBUdWVzZGF5LCA0IFNlcHRlbWJlciAyMDE4IDE3OjI5OjI5IEVFU1QgR2Vl cnQgVXl0dGVyaG9ldmVuIHdyb3RlOgo+IE9uIFR1ZSwgU2VwIDQsIDIwMTggYXQgMjoxMCBQTSBM YXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ID4gVGhlIExWRFMgZW5jb2RlcnMgaW4gdGhlIEQzIGFu ZCBFMyBTb0NzIGRpZmZlciBzaWduaWZpY2FudGx5IGZyb20gdGhvc2UKPiA+IGluIHRoZSBvdGhl ciBSLUNhciBHZW4zIGZhbWlseSBtZW1iZXJzOgo+ID4gCj4gPiAtIFRoZSBMVkRTIFBMTCBhcmNo aXRlY3R1cmUgaXMgbW9yZSBjb21wbGV4IGFuZCByZXF1aXJlcyBjb21wdXRpbmcgUExMCj4gPiAg IHBhcmFtZXRlcnMgbWFudWFsbHkuCj4gPiAKPiA+IC0gVGhlIFBMTCB1c2VzIGV4dGVybmFsIGNs b2NrcyBhcyBpbnB1dHMsIHdoaWNoIG5lZWQgdG8gYmUgcmV0cmlldmVkCj4gPiAgIGZyb20gRFQu Cj4gPiAKPiA+IC0gSW4gYWRkaXRpb24gdG8gdGhlIGRpZmZlcmVudCBQTEwgc2V0dXAsIHRoZSBz dGFydHVwIHNlcXVlbmNlIGhhcwo+ID4gICBjaGFuZ2VkICphZ2FpbiogKHNlZW1zIHNvbWVvbmUg aGFkIHRyb3VibGUgbWFraW5nIGhpcy9oZXIgbWluZCkuCj4gPiAKPiA+IFN1cHBvcnRpbmcgYWxs IHRoaXMgcmVxdWlyZXMgRFQgYmluZGluZ3MgZXh0ZW5zaW9ucyBmb3IgZXh0ZXJuYWwgY2xvY2tz LAo+ID4gYnJhbmQgbmV3IFBMTCBzZXR1cCBjb2RlLCBhbmQgYSBmZXcgcXVpcmtzIHRvIGhhbmRs ZSB0aGUgZGlmZmVyZW5jZXMgaW4KPiA+IHRoZSBzdGFydHVwIHNlcXVlbmNlLgo+ID4gCj4gPiBU aGUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBzdXBwb3J0IGFsbCBoYXJkd2FyZSBmZWF0dXJlcyB5 ZXQsIG5hbWVseQo+ID4gCj4gPiAtIFVzaW5nIHRoZSBMVlswMV0gY2xvY2tzIGdlbmVyYXRlZCBi eSB0aGUgQ1BHIGFzIFBMTCBpbnB1dC4KPiA+IC0gUHJvdmlkaW5nIHRoZSBMVkRTIFBMTCBjbG9j ayB0byB0aGUgRFUgZm9yIHVzZSB3aXRoIHRoZSBSR0Igb3V0cHV0Lgo+ID4gCj4gPiBUaG9zZSBm ZWF0dXJlcyBjYW4gYmUgYWRkZWQgbGF0ZXIgd2hlbiB0aGUgbmVlZCB3aWxsIGFyaXNlLgo+ID4g Cj4gPiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0Cj4gPiA8bGF1cmVudC5waW5jaGFy dCtyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+Cj4gCj4gVGhhbmtzIGZvciB5b3VyIHBhdGNoIQo+ IAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCj4gPiAKPiA+ICtzdGF0aWMgdm9p ZCByY2FyX2x2ZHNfZDNfZTNfcGxsX2NhbGMoc3RydWN0IHJjYXJfbHZkcyAqbHZkcywgc3RydWN0 IGNsawo+ID4gKmNsaywgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgdGFyZ2V0LCBzdHJ1Y3QKPiA+IHBsbF9pbmZvICpwbGwpICt7Cj4gPiAKPiA+ICsj aWYgZGVmaW5lZChDT05GSUdfREVCVUcpIHx8IGRlZmluZWQoQ09ORklHX0RZTkFNSUNfREVCVUcp Cj4gPiArICAgICAgIHsKPiAKPiBBcyB0aGlzIGNvZGUgaGFzIG5vIGRlcGVuZGVuY2llcywgeW91 IGNhbiBpbXByb3ZlIGNvbXBpbGUgY292ZXJhZ2U6Cj4gCj4gICAgIGlmIChJU19FTkFCTEVEKC4u LikgfHwgLi4uKSB7Cj4gCj4gQlRXLCB3YXMgQ09ORklHX0RFQlVHIGludGVuZGVkPyBPciBqdXN0 IERFQlVHPwoKSXQgc2hvdWxkIGhhdmUgYmVlbiBqdXN0IERFQlVHLCB5ZXMuCgpJIHdhcyB0cnlp bmcgdG8gZ3VhcmQgYWdhaW5zdCBkZXZfZGJnKCkgYmVpbmcgZGVmaW5lZCBhcyBhIG5vLW9wIGFu ZCBnY2MgCnRocm93aW5nIHVudXNlZCB2YXJpYWJsZXMgd2FybmluZ3MsIGJ1dCBpdCBsb29rcyBs aWtlIHRoYXQgaGFzIG5ldmVyIGJlZW4gYW4gCmlzc3VlIGluIHRoZSBmaXJzdCBwbGFjZSwgc28g SSdsbCBkcm9wIHRoZSBndWFyZC4KCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK