diff options
author | Danny Nold <dannynold@freescale.com> | 2010-07-16 16:57:39 -0500 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2010-12-17 12:10:52 -0500 |
commit | ee7ed985bb53ccba77007393c8be2d14c8a2cdf2 (patch) | |
tree | 844a45add5e82bc5faf2edb6ea43d924986c1dfe | |
parent | 1728ffc96d44134591a0321d83e442d9f13be2dd (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.c | 4 |
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"); |