diff options
author | Michael Minnick <michael.minnick@freescale.com> | 2012-10-12 13:52:36 -0500 |
---|---|---|
committer | Michael Minnick <michael.minnick@freescale.com> | 2012-10-15 09:51:04 -0500 |
commit | f3e0a1c705ec207004c21afe7a166c2eea5f4c6a (patch) | |
tree | 350e64a6ea7baf5b7d7ea938ee02cd349058d239 | |
parent | 2a2f65bd07ad0f947794c2e5f2f825121805d663 (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>
-rw-r--r-- | drivers/video/mxc/mxc_epdc_fb.c | 8 |
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) */ /* |