From: Dario Binacchi <dariobin@libero.it> To: linux-kernel@vger.kernel.org Cc: Dario Binacchi <dariobin@libero.it>, Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>, Jyri Sarha <jyri.sarha@iki.fi>, Tomi Valkeinen <tomba@kernel.org>, dri-devel@lists.freedesktop.org Subject: [PATCH v2 2/3] drm/tilcdc: fix LCD pixel clock setting Date: Sun, 21 Mar 2021 09:31:52 +0100 [thread overview] Message-ID: <20210321083153.2810-3-dariobin@libero.it> (raw) In-Reply-To: <20210321083153.2810-1-dariobin@libero.it> The tilcdc_pclk_diff() compares the requested pixel clock rate to the real one, so passing it clk_rate instead of clk_rate / clkdiv caused it to fail even if the clk_rate was properly set. Adding the real_pclk_rate variable makes the code more readable. Signed-off-by: Dario Binacchi <dariobin@libero.it> --- Changes in v2: - Rename clk_div_rate to real_pclk_rate. - Provide pixel clock rate to tilcdc_pclk_diff(). drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c index aeec5786617d..ac6228cb04d9 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -203,7 +203,7 @@ static void tilcdc_crtc_set_clk(struct drm_crtc *crtc) struct drm_device *dev = crtc->dev; struct tilcdc_drm_private *priv = dev->dev_private; struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); - unsigned long clk_rate, real_rate, pclk_rate; + unsigned long clk_rate, real_rate, real_pclk_rate, pclk_rate; unsigned int clkdiv; int ret; @@ -214,7 +214,8 @@ static void tilcdc_crtc_set_clk(struct drm_crtc *crtc) ret = clk_set_rate(priv->clk, pclk_rate * clkdiv); clk_rate = clk_get_rate(priv->clk); - if (ret < 0 || tilcdc_pclk_diff(pclk_rate, clk_rate) > 5) { + real_pclk_rate = clk_rate / clkdiv; + if (ret < 0 || tilcdc_pclk_diff(pclk_rate, real_pclk_rate) > 5) { /* * If we fail to set the clock rate (some architectures don't * use the common clock framework yet and may not implement -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Dario Binacchi <dariobin@libero.it> To: linux-kernel@vger.kernel.org Cc: Tomi Valkeinen <tomba@kernel.org>, David Airlie <airlied@linux.ie>, dri-devel@lists.freedesktop.org, Jyri Sarha <jyri.sarha@iki.fi>, Dario Binacchi <dariobin@libero.it> Subject: [PATCH v2 2/3] drm/tilcdc: fix LCD pixel clock setting Date: Sun, 21 Mar 2021 09:31:52 +0100 [thread overview] Message-ID: <20210321083153.2810-3-dariobin@libero.it> (raw) In-Reply-To: <20210321083153.2810-1-dariobin@libero.it> The tilcdc_pclk_diff() compares the requested pixel clock rate to the real one, so passing it clk_rate instead of clk_rate / clkdiv caused it to fail even if the clk_rate was properly set. Adding the real_pclk_rate variable makes the code more readable. Signed-off-by: Dario Binacchi <dariobin@libero.it> --- Changes in v2: - Rename clk_div_rate to real_pclk_rate. - Provide pixel clock rate to tilcdc_pclk_diff(). drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c index aeec5786617d..ac6228cb04d9 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -203,7 +203,7 @@ static void tilcdc_crtc_set_clk(struct drm_crtc *crtc) struct drm_device *dev = crtc->dev; struct tilcdc_drm_private *priv = dev->dev_private; struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc); - unsigned long clk_rate, real_rate, pclk_rate; + unsigned long clk_rate, real_rate, real_pclk_rate, pclk_rate; unsigned int clkdiv; int ret; @@ -214,7 +214,8 @@ static void tilcdc_crtc_set_clk(struct drm_crtc *crtc) ret = clk_set_rate(priv->clk, pclk_rate * clkdiv); clk_rate = clk_get_rate(priv->clk); - if (ret < 0 || tilcdc_pclk_diff(pclk_rate, clk_rate) > 5) { + real_pclk_rate = clk_rate / clkdiv; + if (ret < 0 || tilcdc_pclk_diff(pclk_rate, real_pclk_rate) > 5) { /* * If we fail to set the clock rate (some architectures don't * use the common clock framework yet and may not implement -- 2.17.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2021-03-21 8:35 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-21 8:31 [PATCH v2 0/3] drm/tilcdc: fix LCD pixel clock setting Dario Binacchi 2021-03-21 8:31 ` Dario Binacchi 2021-03-21 8:31 ` [PATCH v2 1/3] drm/tilcdc: rename req_rate to pclk_rate Dario Binacchi 2021-03-21 8:31 ` Dario Binacchi 2021-03-21 8:31 ` Dario Binacchi [this message] 2021-03-21 8:31 ` [PATCH v2 2/3] drm/tilcdc: fix LCD pixel clock setting Dario Binacchi 2021-03-21 8:31 ` [PATCH v2 3/3] drm/tilcdc: fix pixel clock setting warning message Dario Binacchi 2021-03-21 8:31 ` Dario Binacchi 2021-03-22 7:26 ` Tomi Valkeinen 2021-03-22 7:26 ` Tomi Valkeinen 2021-03-21 19:08 ` [PATCH v2 0/3] drm/tilcdc: fix LCD pixel clock setting Jyri Sarha 2021-03-21 19:08 ` Jyri Sarha 2021-03-22 7:28 ` Tomi Valkeinen 2021-03-22 7:28 ` Tomi Valkeinen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210321083153.2810-3-dariobin@libero.it \ --to=dariobin@libero.it \ --cc=airlied@linux.ie \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=jyri.sarha@iki.fi \ --cc=linux-kernel@vger.kernel.org \ --cc=tomba@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.