stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fbdev/omap: fix max fclk divider for omap36xx
@ 2019-10-18 13:05 Adam Ford
  2019-10-21  8:44 ` Tomi Valkeinen
  2019-11-08 13:10 ` Adam Ford
  0 siblings, 2 replies; 7+ messages in thread
From: Adam Ford @ 2019-10-18 13:05 UTC (permalink / raw)
  To: linux-fbdev
  Cc: linux-omap, linux-kernel, tomi.valkeinen, adam.ford, Adam Ford, stable

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: Adam Ford <aford173@gmail.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: stable@vger.kernel.org # linux-4.4.y only

diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c
index 9200a8668b49..a57c3a5f4bf8 100644
--- a/drivers/video/fbdev/omap2/dss/dss.c
+++ b/drivers/video/fbdev/omap2/dss/dss.c
@@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
 };
 
 static const struct dss_features omap3630_dss_feats = {
-	.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,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] fbdev/omap: fix max fclk divider for omap36xx
  2019-10-18 13:05 [PATCH] fbdev/omap: fix max fclk divider for omap36xx Adam Ford
@ 2019-10-21  8:44 ` Tomi Valkeinen
  2019-10-21 11:07   ` Adam Ford
  2019-11-08 13:10 ` Adam Ford
  1 sibling, 1 reply; 7+ messages in thread
From: Tomi Valkeinen @ 2019-10-21  8:44 UTC (permalink / raw)
  To: Adam Ford, linux-fbdev; +Cc: linux-omap, linux-kernel, adam.ford, stable

On 18/10/2019 16:05, Adam Ford wrote:
> 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: Adam Ford <aford173@gmail.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: stable@vger.kernel.org # linux-4.4.y only
> 
> diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c
> index 9200a8668b49..a57c3a5f4bf8 100644
> --- a/drivers/video/fbdev/omap2/dss/dss.c
> +++ b/drivers/video/fbdev/omap2/dss/dss.c
> @@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
>   };
>   
>   static const struct dss_features omap3630_dss_feats = {
> -	.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,
> 

To clarify, this patch is only for the v4.4 stable, whereas the previous 
patch was for next merge window and v4.9+ stable. Right?

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

  Tomi

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fbdev/omap: fix max fclk divider for omap36xx
  2019-10-21  8:44 ` Tomi Valkeinen
@ 2019-10-21 11:07   ` Adam Ford
  0 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2019-10-21 11:07 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: linux-fbdev, Linux-OMAP, Linux Kernel Mailing List, Adam Ford, stable

On Mon, Oct 21, 2019 at 3:44 AM Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>
> On 18/10/2019 16:05, Adam Ford wrote:
> > 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: Adam Ford <aford173@gmail.com>
> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> > Cc: stable@vger.kernel.org # linux-4.4.y only
> >
> > diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c
> > index 9200a8668b49..a57c3a5f4bf8 100644
> > --- a/drivers/video/fbdev/omap2/dss/dss.c
> > +++ b/drivers/video/fbdev/omap2/dss/dss.c
> > @@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
> >   };
> >
> >   static const struct dss_features omap3630_dss_feats = {
> > -     .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,
> >
>
> To clarify, this patch is only for the v4.4 stable, whereas the previous
> patch was for next merge window and v4.9+ stable. Right?

That is correct.  The patch I did for 4.9+ didn't apply cleanly on
4.4, so I had to do a separate patch for 4.4.

adam
>
> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>
>   Tomi
>
> --
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fbdev/omap: fix max fclk divider for omap36xx
  2019-10-18 13:05 [PATCH] fbdev/omap: fix max fclk divider for omap36xx Adam Ford
  2019-10-21  8:44 ` Tomi Valkeinen
@ 2019-11-08 13:10 ` Adam Ford
  1 sibling, 0 replies; 7+ messages in thread
From: Adam Ford @ 2019-11-08 13:10 UTC (permalink / raw)
  To: linux-fbdev
  Cc: Linux-OMAP, Linux Kernel Mailing List, Tomi Valkeinen, Adam Ford, stable

On Fri, Oct 18, 2019 at 8:05 AM Adam Ford <aford173@gmail.com> wrote:
>
> 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: Adam Ford <aford173@gmail.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: stable@vger.kernel.org # linux-4.4.y only

This is basically the same patch as the only Tomi reviewed for 4.9,
but it is based on 4.4.

Is there any way these can be integrated?

thank you,

adam
>
> diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c
> index 9200a8668b49..a57c3a5f4bf8 100644
> --- a/drivers/video/fbdev/omap2/dss/dss.c
> +++ b/drivers/video/fbdev/omap2/dss/dss.c
> @@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
>  };
>
>  static const struct dss_features omap3630_dss_feats = {
> -       .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,
> --
> 2.17.1
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fbdev/omap: fix max fclk divider for omap36xx
  2019-10-21  8:42 ` Tomi Valkeinen
@ 2019-11-08 13:09   ` Adam Ford
  0 siblings, 0 replies; 7+ messages in thread
From: Adam Ford @ 2019-11-08 13:09 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: linux-fbdev, Linux-OMAP, Linux Kernel Mailing List, Adam Ford, stable

On Mon, Oct 21, 2019 at 3:42 AM Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>
> On 18/10/2019 15:49, Adam Ford wrote:
> > 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: Adam Ford <aford173@gmail.com>
> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> > Cc: stable@vger.kernel.org #linux-4.9.y+
> >
> > diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.c b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> > index 48c6500c24e1..4429ad37b64c 100644
> > --- a/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> > +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> > @@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
> >   };
> >
> >   static const struct dss_features omap3630_dss_feats = {
> > -     .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,
> >
>
> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

What is the next step to get these integrated into 4.9+?

adam
>
>   Tomi
>
> --
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fbdev/omap: fix max fclk divider for omap36xx
  2019-10-18 12:49 Adam Ford
@ 2019-10-21  8:42 ` Tomi Valkeinen
  2019-11-08 13:09   ` Adam Ford
  0 siblings, 1 reply; 7+ messages in thread
From: Tomi Valkeinen @ 2019-10-21  8:42 UTC (permalink / raw)
  To: Adam Ford, linux-fbdev; +Cc: linux-omap, linux-kernel, adam.ford, stable

On 18/10/2019 15:49, Adam Ford wrote:
> 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: Adam Ford <aford173@gmail.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: stable@vger.kernel.org #linux-4.9.y+
> 
> diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.c b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> index 48c6500c24e1..4429ad37b64c 100644
> --- a/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> @@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
>   };
>   
>   static const struct dss_features omap3630_dss_feats = {
> -	.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,
> 

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

  Tomi

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] fbdev/omap: fix max fclk divider for omap36xx
@ 2019-10-18 12:49 Adam Ford
  2019-10-21  8:42 ` Tomi Valkeinen
  0 siblings, 1 reply; 7+ messages in thread
From: Adam Ford @ 2019-10-18 12:49 UTC (permalink / raw)
  To: linux-fbdev
  Cc: linux-omap, linux-kernel, tomi.valkeinen, adam.ford, Adam Ford, stable

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: Adam Ford <aford173@gmail.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: stable@vger.kernel.org #linux-4.9.y+

diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.c b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
index 48c6500c24e1..4429ad37b64c 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dss.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
@@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
 };
 
 static const struct dss_features omap3630_dss_feats = {
-	.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,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-11-08 13:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-18 13:05 [PATCH] fbdev/omap: fix max fclk divider for omap36xx Adam Ford
2019-10-21  8:44 ` Tomi Valkeinen
2019-10-21 11:07   ` Adam Ford
2019-11-08 13:10 ` Adam Ford
  -- strict thread matches above, loose matches on Subject: below --
2019-10-18 12:49 Adam Ford
2019-10-21  8:42 ` Tomi Valkeinen
2019-11-08 13:09   ` Adam Ford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).