From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from perceval.ideasonboard.com ([213.167.242.64]:38256 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725948AbeHTMyx (ORCPT ); Mon, 20 Aug 2018 08:54:53 -0400 From: Laurent Pinchart To: Ulrich Hecht Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, jacopo+renesas@jmondi.org, kieran.bingham+renesas@ideasonboard.com, Koji Matsuoka Subject: Re: [PROTO][PATCH 06/10] drm: rcar-du: Fix procedure for extal and dotclkin selection Date: Mon, 20 Aug 2018 12:40:53 +0300 Message-ID: <2813766.zO1ETWMufQ@avalon> In-Reply-To: <1534254604-24204-7-git-send-email-uli+renesas@fpond.eu> References: <1534254604-24204-1-git-send-email-uli+renesas@fpond.eu> <1534254604-24204-7-git-send-email-uli+renesas@fpond.eu> 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 Ulrich, Thank you for the patch. On Tuesday, 14 August 2018 16:50:00 EEST Ulrich Hecht wrote: > From: Koji Matsuoka > > This patch corrects that the extal clock used with the fixed value > is acquired from the device tree. > Also, it is possible to select extal or dotclkin for R8A77995 and > R8A77990. This patch adds its selection procedure. > > Signed-off-by: Koji Matsuoka > --- > drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 12 ++++++++++++ > drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 2 ++ > drivers/gpu/drm/rcar-du/rcar_lvds_regs.h | 4 +--- DT bindings are missing for this clock. > 3 files changed, 15 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c index a903456..4e22d40 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > @@ -942,10 +942,22 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, > unsigned int swindex, return PTR_ERR(rcrtc->clock); > } > > + sprintf(clk_name, "extal"); > + clk = devm_clk_get(rcdu->dev, clk_name); Unless I'm mistaken, this clock is specific to the LVDS encoder, it's not used by the DU. Why is it handled in the DU driver ? > + if (!IS_ERR(clk)) { > + rcrtc->extclock = clk; > + rcrtc->extal_use = true; > + } else if (PTR_ERR(rcrtc->clock) == -EPROBE_DEFER) { > + dev_info(rcdu->dev, "can't get extal clock %u\n", > + hwindex); > + return -EPROBE_DEFER; > + } > + > sprintf(clk_name, "dclkin.%u", hwindex); > clk = devm_clk_get(rcdu->dev, clk_name); > if (!IS_ERR(clk)) { > rcrtc->extclock = clk; > + rcrtc->extal_use = false; > } else if (PTR_ERR(rcrtc->clock) == -EPROBE_DEFER) { > dev_info(rcdu->dev, "can't get external clock %u\n", hwindex); > return -EPROBE_DEFER; > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h > b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h index 65de551..fa27104 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h > +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h > @@ -45,6 +45,7 @@ struct rcar_du_vsp; > * @vsp: VSP feeding video to this CRTC > * @vsp_pipe: index of the VSP pipeline feeding video to this CRTC > * @lvds_ch: index of LVDS > + * @extal_use: extal clock use > */ > struct rcar_du_crtc { > struct drm_crtc crtc; > @@ -69,6 +70,7 @@ struct rcar_du_crtc { > struct rcar_du_vsp *vsp; > unsigned int vsp_pipe; > int lvds_ch; > + bool extal_use; This field is used in patch 04/10... It would be nice to make sure that each commit compiles when submitting a patch series. > }; > > #define to_rcar_crtc(c) container_of(c, struct rcar_du_crtc, crtc) > diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds_regs.h > b/drivers/gpu/drm/rcar-du/rcar_lvds_regs.h index e37db95..4899062 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_lvds_regs.h > +++ b/drivers/gpu/drm/rcar-du/rcar_lvds_regs.h > @@ -46,15 +46,13 @@ > #define LVDPLLCR_PLLDIVCNT_148M (0x046c1 << 0) > #define LVDPLLCR_PLLDIVCNT_MASK (0x7ffff << 0) > > -/* R-Car D3 */ > #define LVDPLLCR_PLLON (1 << 22) > #define LVDPLLCR_PLLSEL_PLL0 (0 << 20) > #define LVDPLLCR_PLLSEL_LVX (1 << 20) > #define LVDPLLCR_PLLSEL_PLL1 (2 << 20) > #define LVDPLLCR_CKSEL_LVX (1 << 17) > #define LVDPLLCR_CKSEL_EXTAL (3 << 17) > -#define LVDPLLCR_CKSEL_DU_DOTCLKIN0 (5 << 17) > -#define LVDPLLCR_CKSEL_DU_DOTCLKIN1 (7 << 17) > +#define LVDPLLCR_CKSEL_DU_DOTCLKIN(n) ((5 + (n) * 2) << 17) This seems to belong to patch 04/10. > #define LVDPLLCR_OCKSEL_7 (0 << 16) > #define LVDPLLCR_OCKSEL_NOT_DIVIDED (1 << 16) > #define LVDPLLCR_STP_CLKOUTE1_DIS (0 << 14) -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PROTO][PATCH 06/10] drm: rcar-du: Fix procedure for extal and dotclkin selection Date: Mon, 20 Aug 2018 12:40:53 +0300 Message-ID: <2813766.zO1ETWMufQ@avalon> References: <1534254604-24204-1-git-send-email-uli+renesas@fpond.eu> <1534254604-24204-7-git-send-email-uli+renesas@fpond.eu> 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 8D69589A32 for ; Mon, 20 Aug 2018 09:39:59 +0000 (UTC) In-Reply-To: <1534254604-24204-7-git-send-email-uli+renesas@fpond.eu> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ulrich Hecht Cc: linux-renesas-soc@vger.kernel.org, kieran.bingham+renesas@ideasonboard.com, jacopo+renesas@jmondi.org, Koji Matsuoka , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVWxyaWNoLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBUdWVzZGF5LCAxNCBBdWd1 c3QgMjAxOCAxNjo1MDowMCBFRVNUIFVscmljaCBIZWNodCB3cm90ZToKPiBGcm9tOiBLb2ppIE1h dHN1b2thIDxrb2ppLm1hdHN1b2thLnhtQHJlbmVzYXMuY29tPgo+IAo+IFRoaXMgcGF0Y2ggY29y cmVjdHMgdGhhdCB0aGUgZXh0YWwgY2xvY2sgdXNlZCB3aXRoIHRoZSBmaXhlZCB2YWx1ZQo+IGlz IGFjcXVpcmVkIGZyb20gdGhlIGRldmljZSB0cmVlLgo+IEFsc28sIGl0IGlzIHBvc3NpYmxlIHRv IHNlbGVjdCBleHRhbCBvciBkb3RjbGtpbiBmb3IgUjhBNzc5OTUgYW5kCj4gUjhBNzc5OTAuIFRo aXMgcGF0Y2ggYWRkcyBpdHMgc2VsZWN0aW9uIHByb2NlZHVyZS4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBLb2ppIE1hdHN1b2thIDxrb2ppLm1hdHN1b2thLnhtQHJlbmVzYXMuY29tPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYyAgIHwgMTIgKysrKysrKysrKysr Cj4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5oICAgfCAgMiArKwo+ICBk cml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2x2ZHNfcmVncy5oIHwgIDQgKy0tLQoKRFQgYmlu ZGluZ3MgYXJlIG1pc3NpbmcgZm9yIHRoaXMgY2xvY2suCgo+ICAzIGZpbGVzIGNoYW5nZWQsIDE1 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1k dS9yY2FyX2R1X2NydGMuYyBpbmRleCBhOTAzNDU2Li40ZTIyZDQwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMKPiBAQCAtOTQyLDEwICs5NDIsMjIgQEAgaW50IHJj YXJfZHVfY3J0Y19jcmVhdGUoc3RydWN0IHJjYXJfZHVfZ3JvdXAgKnJncnAsCj4gdW5zaWduZWQg aW50IHN3aW5kZXgsIHJldHVybiBQVFJfRVJSKHJjcnRjLT5jbG9jayk7Cj4gIAl9Cj4gCj4gKwlz cHJpbnRmKGNsa19uYW1lLCAiZXh0YWwiKTsKPiArCWNsayA9IGRldm1fY2xrX2dldChyY2R1LT5k ZXYsIGNsa19uYW1lKTsKClVubGVzcyBJJ20gbWlzdGFrZW4sIHRoaXMgY2xvY2sgaXMgc3BlY2lm aWMgdG8gdGhlIExWRFMgZW5jb2RlciwgaXQncyBub3QgdXNlZCAKYnkgdGhlIERVLiBXaHkgaXMg aXQgaGFuZGxlZCBpbiB0aGUgRFUgZHJpdmVyID8KCj4gKwlpZiAoIUlTX0VSUihjbGspKSB7Cj4g KwkJcmNydGMtPmV4dGNsb2NrID0gY2xrOwo+ICsJCXJjcnRjLT5leHRhbF91c2UgPSB0cnVlOwo+ ICsJfSBlbHNlIGlmIChQVFJfRVJSKHJjcnRjLT5jbG9jaykgPT0gLUVQUk9CRV9ERUZFUikgewo+ ICsJCWRldl9pbmZvKHJjZHUtPmRldiwgImNhbid0IGdldCBleHRhbCBjbG9jayAldVxuIiwKPiAr CQkJIGh3aW5kZXgpOwo+ICsJCXJldHVybiAtRVBST0JFX0RFRkVSOwo+ICsJfQo+ICsKPiAgCXNw cmludGYoY2xrX25hbWUsICJkY2xraW4uJXUiLCBod2luZGV4KTsKPiAgCWNsayA9IGRldm1fY2xr X2dldChyY2R1LT5kZXYsIGNsa19uYW1lKTsKPiAgCWlmICghSVNfRVJSKGNsaykpIHsKPiAgCQly Y3J0Yy0+ZXh0Y2xvY2sgPSBjbGs7Cj4gKwkJcmNydGMtPmV4dGFsX3VzZSA9IGZhbHNlOwo+ICAJ fSBlbHNlIGlmIChQVFJfRVJSKHJjcnRjLT5jbG9jaykgPT0gLUVQUk9CRV9ERUZFUikgewo+ICAJ CWRldl9pbmZvKHJjZHUtPmRldiwgImNhbid0IGdldCBleHRlcm5hbCBjbG9jayAldVxuIiwgaHdp bmRleCk7Cj4gIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1k dS9yY2FyX2R1X2NydGMuaCBpbmRleCA2NWRlNTUxLi5mYTI3MTA0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmgKPiBAQCAtNDUsNiArNDUsNyBAQCBzdHJ1Y3QgcmNh cl9kdV92c3A7Cj4gICAqIEB2c3A6IFZTUCBmZWVkaW5nIHZpZGVvIHRvIHRoaXMgQ1JUQwo+ICAg KiBAdnNwX3BpcGU6IGluZGV4IG9mIHRoZSBWU1AgcGlwZWxpbmUgZmVlZGluZyB2aWRlbyB0byB0 aGlzIENSVEMKPiAgICogQGx2ZHNfY2g6IGluZGV4IG9mIExWRFMKPiArICogQGV4dGFsX3VzZTog ZXh0YWwgY2xvY2sgdXNlCj4gICAqLwo+ICBzdHJ1Y3QgcmNhcl9kdV9jcnRjIHsKPiAgCXN0cnVj dCBkcm1fY3J0YyBjcnRjOwo+IEBAIC02OSw2ICs3MCw3IEBAIHN0cnVjdCByY2FyX2R1X2NydGMg ewo+ICAJc3RydWN0IHJjYXJfZHVfdnNwICp2c3A7Cj4gIAl1bnNpZ25lZCBpbnQgdnNwX3BpcGU7 Cj4gIAlpbnQgbHZkc19jaDsKPiArCWJvb2wgZXh0YWxfdXNlOwoKVGhpcyBmaWVsZCBpcyB1c2Vk IGluIHBhdGNoIDA0LzEwLi4uIEl0IHdvdWxkIGJlIG5pY2UgdG8gbWFrZSBzdXJlIHRoYXQgZWFj aCAKY29tbWl0IGNvbXBpbGVzIHdoZW4gc3VibWl0dGluZyBhIHBhdGNoIHNlcmllcy4KCj4gIH07 Cj4gCj4gICNkZWZpbmUgdG9fcmNhcl9jcnRjKGMpCWNvbnRhaW5lcl9vZihjLCBzdHJ1Y3QgcmNh cl9kdV9jcnRjLCBjcnRjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2x2ZHNfcmVncy5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2x2ZHNfcmVn cy5oIGluZGV4IGUzN2RiOTUuLjQ4OTkwNjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JjYXItZHUvcmNhcl9sdmRzX3JlZ3MuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfbHZkc19yZWdzLmgKPiBAQCAtNDYsMTUgKzQ2LDEzIEBACj4gICNkZWZpbmUgTFZEUExM Q1JfUExMRElWQ05UXzE0OE0JCSgweDA0NmMxIDw8IDApCj4gICNkZWZpbmUgTFZEUExMQ1JfUExM RElWQ05UX01BU0sJCSgweDdmZmZmIDw8IDApCj4gCj4gLS8qIFItQ2FyIEQzICovCj4gICNkZWZp bmUgTFZEUExMQ1JfUExMT04JCQkoMSA8PCAyMikKPiAgI2RlZmluZSBMVkRQTExDUl9QTExTRUxf UExMMAkJKDAgPDwgMjApCj4gICNkZWZpbmUgTFZEUExMQ1JfUExMU0VMX0xWWAkJKDEgPDwgMjAp Cj4gICNkZWZpbmUgTFZEUExMQ1JfUExMU0VMX1BMTDEJCSgyIDw8IDIwKQo+ICAjZGVmaW5lIExW RFBMTENSX0NLU0VMX0xWWAkJKDEgPDwgMTcpCj4gICNkZWZpbmUgTFZEUExMQ1JfQ0tTRUxfRVhU QUwJCSgzIDw8IDE3KQo+IC0jZGVmaW5lIExWRFBMTENSX0NLU0VMX0RVX0RPVENMS0lOMAkoNSA8 PCAxNykKPiAtI2RlZmluZSBMVkRQTExDUl9DS1NFTF9EVV9ET1RDTEtJTjEJKDcgPDwgMTcpCj4g KyNkZWZpbmUgTFZEUExMQ1JfQ0tTRUxfRFVfRE9UQ0xLSU4obikJKCg1ICsgKG4pICogMikgPDwg MTcpCgpUaGlzIHNlZW1zIHRvIGJlbG9uZyB0byBwYXRjaCAwNC8xMC4KCj4gICNkZWZpbmUgTFZE UExMQ1JfT0NLU0VMXzcJCSgwIDw8IDE2KQo+ICAjZGVmaW5lIExWRFBMTENSX09DS1NFTF9OT1Rf RElWSURFRAkoMSA8PCAxNikKPiAgI2RlZmluZSBMVkRQTExDUl9TVFBfQ0xLT1VURTFfRElTCSgw IDw8IDE0KQoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=