summaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorManjunathappa, Prakash <prakash.pm@ti.com>2012-07-18 21:03:36 +0530
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2012-07-29 01:11:09 +0000
commitfb8fa9431971b9847aafaf89281570ca41bd0b40 (patch)
tree952b060a48b8c08ce013ee6f434e6260a6adfa82 /include/video
parentdeb95c6c958f5ba97b6b89ab18917bf79cb8ce7b (diff)
downloadop-kernel-dev-fb8fa9431971b9847aafaf89281570ca41bd0b40.zip
op-kernel-dev-fb8fa9431971b9847aafaf89281570ca41bd0b40.tar.gz
video: da8xx-fb: configure FIFO threshold to reduce underflow errors
Patch works around the below silicon errata: During LCDC initialization, there is the potential for a FIFO underflow condition to occur. A FIFO underflow condition occurs when the input FIFO is completely empty and the LCDC raster controller logic that drives data to the output pins attempts to fetch data from the FIFO. When a FIFO underflow condition occurs, incorrect data will be driven out on the LCDC data pins. Software should poll the FUF bit field in the LCD_STAT register to check if an error condition has occurred or service the interrupt if FUF_EN is enabled when FUF occurs. If the FUF bit field has been set to 1, this will indicate an underflow condition has occurred and then the software should execute a reset of the LCDC via the LPSC. This problem may occur if the LCDC FIFO threshold size (LCDDMA_CTRL[TH_FIFO_READY]) is left at its default value after reset. Increasing the FIFO threshold size will reduce or eliminate underflows. Setting the threshold size to 256 double words or larger is recommended. Above issue is described in section 2.1.3 of silicon errata http://www.ti.com/lit/er/sprz313e/sprz313e.pdf Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com> Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/da8xx-fb.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/video/da8xx-fb.h b/include/video/da8xx-fb.h
index 89d43b3..5a0e4f9 100644
--- a/include/video/da8xx-fb.h
+++ b/include/video/da8xx-fb.h
@@ -82,6 +82,9 @@ struct lcd_ctrl_config {
/* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */
unsigned char raster_order;
+
+ /* DMA FIFO threshold */
+ int fifo_th;
};
struct lcd_sync_arg {
OpenPOWER on IntegriCloud