[PATCH] pxafb: allow zero for smart panel timings
pieterg at gmx.com
pieterg at gmx.com
Mon Aug 6 08:56:18 EDT 2012
From: Pieter Grimmerink <p.grimmerink at inepro.com>
The LCCR1[BLW] description states:
"For LCD panels with an internal frame buffer, BLW
specifies the pulse width of the Write or Read signal
(...) which is equal to (BLW+1)*LCD_CLK_PERIOD"
And the LCD Smart Panel Timing Specifications states:
"L_PCLK_WR pulse width duration:
Min: 1
Typical: LCCR1[BLW] + 1
Max: 256
Units: LCLK"
The BLW field has a value range of 0 to 255, resulting in
a write or read pulse width range of
1*LCD_CLK_PERIOD..256*LCD_CLK_PERIOD
So LCCR1[BLW] = 0 is a valid configuration.
The same is the case for LCCR1[ELW] and LCCR3[PCD],
the other two smart panel timing values.
---
drivers/video/pxafb.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 04c395a..7ea5e23 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -1223,8 +1223,7 @@ int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int n_cmds)
static unsigned int __smart_timing(unsigned time_ns, unsigned long lcd_clk)
{
- unsigned int t = (time_ns * (lcd_clk / 1000000) / 1000);
- return (t == 0) ? 1 : t;
+ return time_ns * (lcd_clk / 1000000) / 1000;
}
static void setup_smart_timing(struct pxafb_info *fbi,
--
1.7.9.5
More information about the linux-arm-kernel
mailing list