]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00229291 EPDC: MX6: Treat fully-collided VOID update as a collision
authorMichael Minnick <michael.minnick@freescale.com>
Fri, 12 Oct 2012 18:52:36 +0000 (13:52 -0500)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:34 +0000 (08:35 +0200)
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 <michael.minnick@freescale.com>
drivers/video/mxc/mxc_epdc_fb.c

index 38a183c8d861a17a55a88e84cba773db7f4b032e..727c6ebc575c5bf6cff56b983d8c2268cff2ebfb 100644 (file)
@@ -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) */
 
                        /*