[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <228D0565-DCFF-4314-A4AA-C58EBAD77D22@goldelico.com>
Date: Mon, 12 Apr 2021 16:53:03 +0200
From: "H. Nikolaus Schaller" <hns@...delico.com>
To: Paul Cercueil <paul@...pouillou.net>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
Sam Ravnborg <sam@...nborg.org>, od@...c.me,
linux-mips@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH] drm/ingenic: Fix pixclock rate for 24-bit serial panels
> Am 12.04.2021 um 16:34 schrieb Paul Cercueil <paul@...pouillou.net>:
>
> Hi,
>
> Can I have an ACK for this patch?
>
> Then I can apply it to drm-misc-next-fixes.
>
> Cheers,
> -Paul
>
>
> Le mar. 23 mars 2021 à 14:40, Paul Cercueil <paul@...pouillou.net> a écrit :
>> When using a 24-bit panel on a 8-bit serial bus, the pixel clock
>> requested by the panel has to be multiplied by 3, since the subpixels
>> are shifted sequentially.
>> The code (in ingenic_drm_encoder_atomic_check) already computed
>> crtc_state->adjusted_mode->crtc_clock accordingly, but clk_set_rate()
>> used crtc_state->adjusted_mode->clock instead.
>> Fixes: 28ab7d35b6e0 ("drm/ingenic: Properly compute timings when using a 3x8-bit panel")
>> Cc: stable@...r.kernel.org # v5.10
Tested-by: H. Nikolaus Schaller <hns@...delico.com> # CI20/jz4780 (HDMI) and Alpha400/jz4730 (LCD)
>> Signed-off-by: Paul Cercueil <paul@...pouillou.net>
>> ---
>> drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
>> index d60e1eefc9d1..cba68bf52ec5 100644
>> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
>> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
>> @@ -342,7 +342,7 @@ static void ingenic_drm_crtc_atomic_flush(struct drm_crtc *crtc,
>> if (priv->update_clk_rate) {
>> mutex_lock(&priv->clk_mutex);
>> clk_set_rate(priv->pix_clk,
>> - crtc_state->adjusted_mode.clock * 1000);
>> + crtc_state->adjusted_mode.crtc_clock * 1000);
>> priv->update_clk_rate = false;
>> mutex_unlock(&priv->clk_mutex);
>> }
>> --
>> 2.30.2
>
>
Powered by blists - more mailing lists