summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Nold <dannynold@freescale.com>2010-07-16 16:57:39 -0500
committerJustin Waters <justin.waters@timesys.com>2010-12-17 12:10:52 -0500
commitee7ed985bb53ccba77007393c8be2d14c8a2cdf2 (patch)
tree844a45add5e82bc5faf2edb6ea43d924986c1dfe
parent1728ffc96d44134591a0321d83e442d9f13be2dd (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");