Re: [PATCH 3.16 013/136] drm/omap: fix max fclk divider for omap36xx

From: Adam Ford
Date: Mon Dec 23 2019 - 09:00:31 EST


On Mon, Dec 16, 2019 at 6:51 PM Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote:
>
> 3.16.80-rc1 review patch. If anyone has any objections, please let me know.
>
> ------------------

I tried to do the same for 4.4, 4.9 and 4.14, but I haven't seen
anything applied yet.

I just looked at the upstream fbdev driver for the dss, and it's still
showing 32 and the value.

Even though the fbdev driver isn't enabled by default any more, I
wonder if it should be fixed as part of the justification for the
backports.

adam
>
> From: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
>
> commit e2c4ed148cf3ec8669a1d90dc66966028e5fad70 upstream.
>
> The OMAP36xx and AM/DM37x TRMs say that the maximum divider for DSS fclk
> (in CM_CLKSEL_DSS) is 32. Experimentation shows that this is not
> correct, and using divider of 32 breaks DSS with a flood or underflows
> and sync losts. Dividers up to 31 seem to work fine.
>
> There is another patch to the DT files to limit the divider correctly,
> but as the DSS driver also needs to know the maximum divider to be able
> to iteratively find good rates, we also need to do the fix in the DSS
> driver.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
> Cc: Adam Ford <aford173@xxxxxxxxx>
> Link: https://patchwork.freedesktop.org/patch/msgid/20191002122542.8449-1-tomi.valkeinen@xxxxxx
> Tested-by: Adam Ford <aford173@xxxxxxxxx>
> Reviewed-by: Jyri Sarha <jsarha@xxxxxx>
> [bwh: Backported to 3.16: adjust filename, context]
> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> ---
> drivers/video/fbdev/omap2/dss/dss.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/video/fbdev/omap2/dss/dss.c
> +++ b/drivers/video/fbdev/omap2/dss/dss.c
> @@ -708,7 +708,7 @@ static const struct dss_features omap34x
> };
>
> static const struct dss_features omap3630_dss_feats __initconst = {
> - .fck_div_max = 32,
> + .fck_div_max = 31,
> .dss_fck_multiplier = 1,
> .parent_clk_name = "dpll4_ck",
> .dpi_select_source = &dss_dpi_select_source_omap2_omap3,
>