From: Michael Minnick Date: Fri, 12 Oct 2012 18:52:36 +0000 (-0500) Subject: ENGR00229291 EPDC: MX6: Treat fully-collided VOID update as a collision X-Git-Tag: v3.0.35-fsl~360 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=419faff552ce6481ef5757a03741b36e2d9a69b2;p=karo-tx-linux.git ENGR00229291 EPDC: MX6: Treat fully-collided VOID update as a collision The EPDC set the UPD_VOID (i.e. cancelled) bit in two cases: 1. No pixels needed updating 2. All pixels collided (COL bit also set) The driver was miss-handling case 2. This fix causes case 2 to be treated as a collision and the update to be resubmitted. Signed-off-by: Michael Minnick --- diff --git a/drivers/video/mxc/mxc_epdc_fb.c b/drivers/video/mxc/mxc_epdc_fb.c index 38a183c8d861..727c6ebc575c 100644 --- a/drivers/video/mxc/mxc_epdc_fb.c +++ b/drivers/video/mxc/mxc_epdc_fb.c @@ -3700,7 +3700,13 @@ static void epdc_intr_work_func(struct work_struct *work) next_marker->update_marker); complete(&next_marker->update_completion); } - } else if (epdc_lut_cancelled) { + } else if (epdc_lut_cancelled && !epdc_collision) { + /* + * Note: The update may be cancelled (void) if all + * pixels collided. In that case we handle it as a + * collision, not a cancel. + */ + /* Clear LUT status (might be set if no AUTOWV used) */ /*