summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Nold <dannynold@freescale.com>2010-07-16 16:57:39 -0500
committerDanny Nold <dannynold@freescale.com>2010-07-19 11:44:54 -0500
commite79cae38523757bcd33c89b1a4d7f67548ef9097 (patch)
tree844a45add5e82bc5faf2edb6ea43d924986c1dfe
parent951ffdd08116d29c27f68096f76f8f15237fabe9 (diff)
ENGR00125259 - EPDC fb: Random display artifacts in unit tests
Random artifacts were caused by corruption of the EPDC working buffer. This occurred because the working buffer was being allocated too small. This meant other accesses to FB-maintained buffers was corrupting the working buffer and causing random data to be drawn to the display. Fixing the working buffer size causes the artifacts to disappear. Signed-off-by: Danny Nold <dannynold@freescale.com>
-rw-r--r--drivers/video/mxc/mxc_epdc_fb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/mxc/mxc_epdc_fb.c b/drivers/video/mxc/mxc_epdc_fb.c
index 515048f6bb7e..27f9faa64e53 100644
--- a/drivers/video/mxc/mxc_epdc_fb.c
+++ b/drivers/video/mxc/mxc_epdc_fb.c
@@ -2561,10 +2561,10 @@ int __devinit mxc_epdc_fb_probe(struct platform_device *pdev)
upd_list->size, upd_list->phys_addr);
}
- fb_data->working_buffer_size = pentry->y_res * pentry->x_res / 2;
+ fb_data->working_buffer_size = pentry->y_res * pentry->x_res * 2;
/* Allocate memory for EPDC working buffer */
fb_data->working_buffer_virt =
- dma_alloc_coherent(&pdev->dev, pentry->y_res * pentry->x_res / 2,
+ dma_alloc_coherent(&pdev->dev, fb_data->working_buffer_size,
&fb_data->working_buffer_phys, GFP_DMA);
if (fb_data->working_buffer_virt == NULL) {
dev_err(&pdev->dev, "Can't allocate mem for working buf!\n");