linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers
@ 2012-05-10 21:57 Timur Tabi
  2012-05-13 21:00 ` Florian Tobias Schandinat
  0 siblings, 1 reply; 2+ messages in thread
From: Timur Tabi @ 2012-05-10 21:57 UTC (permalink / raw)
  To: linux-fbdev

The THRESHOLDS register configures thresholds for two interrupts, but
these interrupts are not used in the DIU driver.  An early version of the
driver may have used the "lines before vsync" interrupt, which requires
the LS_BF_VS of THRESHOLDS to be initialized.

Unfortunately, the initialization of this register does not do a
read-modify-write to set only LS_BF_VS.  On the MPC8610, the value
written is correct.  On other chips, like the P1022, the value overwrites
some reserved bits.  This results in a performance drop on the P1022.

Since the default value is acceptable as-is on all SOCs, we should just
avoid touching this register.

Signed-off-by: Timur Tabi <timur@freescale.com>
---
 drivers/video/fsl-diu-fb.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c
index 6af3f16..458c006 100644
--- a/drivers/video/fsl-diu-fb.c
+++ b/drivers/video/fsl-diu-fb.c
@@ -834,7 +834,6 @@ static void update_lcdc(struct fb_info *info)
 	diu_ops.set_pixel_clock(var->pixclock);
 
 	out_be32(&hw->syn_pol, 0);	/* SYNC SIGNALS POLARITY */
-	out_be32(&hw->thresholds, 0x00037800); /* The Thresholds */
 	out_be32(&hw->int_status, 0);	/* INTERRUPT STATUS */
 	out_be32(&hw->plut, 0x01F5F666);
 
-- 
1.7.3.4



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

* Re: [PATCH] drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers
  2012-05-10 21:57 [PATCH] drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers Timur Tabi
@ 2012-05-13 21:00 ` Florian Tobias Schandinat
  0 siblings, 0 replies; 2+ messages in thread
From: Florian Tobias Schandinat @ 2012-05-13 21:00 UTC (permalink / raw)
  To: linux-fbdev

On 05/10/2012 09:57 PM, Timur Tabi wrote:
> The THRESHOLDS register configures thresholds for two interrupts, but
> these interrupts are not used in the DIU driver.  An early version of the
> driver may have used the "lines before vsync" interrupt, which requires
> the LS_BF_VS of THRESHOLDS to be initialized.
> 
> Unfortunately, the initialization of this register does not do a
> read-modify-write to set only LS_BF_VS.  On the MPC8610, the value
> written is correct.  On other chips, like the P1022, the value overwrites
> some reserved bits.  This results in a performance drop on the P1022.
> 
> Since the default value is acceptable as-is on all SOCs, we should just
> avoid touching this register.
> 
> Signed-off-by: Timur Tabi <timur@freescale.com>

Applied.


Thanks,

Florian Tobias Schandinat

> ---
>  drivers/video/fsl-diu-fb.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c
> index 6af3f16..458c006 100644
> --- a/drivers/video/fsl-diu-fb.c
> +++ b/drivers/video/fsl-diu-fb.c
> @@ -834,7 +834,6 @@ static void update_lcdc(struct fb_info *info)
>  	diu_ops.set_pixel_clock(var->pixclock);
>  
>  	out_be32(&hw->syn_pol, 0);	/* SYNC SIGNALS POLARITY */
> -	out_be32(&hw->thresholds, 0x00037800); /* The Thresholds */
>  	out_be32(&hw->int_status, 0);	/* INTERRUPT STATUS */
>  	out_be32(&hw->plut, 0x01F5F666);
>  


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

end of thread, other threads:[~2012-05-13 21:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10 21:57 [PATCH] drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers Timur Tabi
2012-05-13 21:00 ` Florian Tobias Schandinat

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).