drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers
authorTimur Tabi <timur@freescale.com>
Thu, 10 May 2012 21:57:28 +0000 (16:57 -0500)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Sun, 13 May 2012 13:08:56 +0000 (13:08 +0000)
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>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/fsl-diu-fb.c

index 6af3f16754f0e2bd8e5062312164f05a80219a78..458c00664ade6110a6b26d58397086b2b1d4290f 100644 (file)
@@ -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);