summaryrefslogtreecommitdiff
path: root/drivers/media/video/mxc/capture/mx27_prpsw.c
diff options
context:
space:
mode:
authorQuinn Jensen <quinn.jensen@freescale.com>2007-10-24 21:27:32 -0600
committerQuinn Jensen <quinn.jensen@freescale.com>2007-10-24 21:27:32 -0600
commit04d61c58040f259b08e5170d62e2fb49ae8fd19b (patch)
treee1ab1a95a9f8c27741533ec0fcee94743329763c /drivers/media/video/mxc/capture/mx27_prpsw.c
parent9e4175807497c24b82d5866076d8c7c80cdd5a94 (diff)
Bugzilla 605. Fix tearing when VPU rotates images.2.6.22-mx27ads-2007102503272.6.22-mx27-200710250327
Patch for Bugzilla 605. Fix tearing when VPU rotates images. A diagonal line appears when the VPU rotates the picture, at the encode stage. The PRP driver updates the buffer addresses while the PRP is processing data. Applies to linux 2.6.22 kernel for MX27 platform. http://www.bitshrine.org/gpp/linux-2.6.22-mx-Bugzilla-605.-Fix-tearing-when-VPU-rotates.patch
Diffstat (limited to 'drivers/media/video/mxc/capture/mx27_prpsw.c')
-rw-r--r--drivers/media/video/mxc/capture/mx27_prpsw.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/media/video/mxc/capture/mx27_prpsw.c b/drivers/media/video/mxc/capture/mx27_prpsw.c
index b39623f25c1f..b4bfccc745b1 100644
--- a/drivers/media/video/mxc/capture/mx27_prpsw.c
+++ b/drivers/media/video/mxc/capture/mx27_prpsw.c
@@ -293,12 +293,11 @@ static irqreturn_t prp_isr(int irq, void *dev_id)
} else if (cam->capture_on) {
if (status & PRP_INTRSTAT_CH2OVF) {
prphw_disable(PRP_CHANNEL_2);
- prphw_enable(PRP_CHANNEL_2);
cam->enc_callback(1, cam);
- }
- else if (status &
- (PRP_INTRSTAT_CH2BUF1 | PRP_INTRSTAT_CH2BUF2)) {
- cam->enc_callback(0, cam);
+ } else if (status &
+ (PRP_INTRSTAT_CH2BUF1 | PRP_INTRSTAT_CH2BUF2)) {
+ if (cam->overflow != 1)
+ cam->enc_callback(0, cam);
}
}
if (cam->overlay_on
@@ -1003,7 +1002,6 @@ static int prp_resize_check_ch1(emma_prp_cfg * cfg)
}
}
-
pr_debug("Ch1 resize error.\n");
return -1;