summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMichael Minnick <michael.minnick@freescale.com>2012-10-12 13:52:36 -0500
committerMichael Minnick <michael.minnick@freescale.com>2012-10-15 10:10:49 -0500
commitef72abd9021929b629977acc52c617b8ddc4ffa5 (patch)
treefb2db0bc68b8042b1c5319894033334758b1e851 /drivers
parentbd36e05e8ef25d8c894959156022634868b80f13 (diff)
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 <michael.minnick@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/mxc/mxc_epdc_fb.c8
1 files changed, 7 insertions, 1 deletions
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) */
/*