diff options
author | Quinn Jensen <quinn.jensen@freescale.com> | 2007-10-24 21:26:49 -0600 |
---|---|---|
committer | Quinn Jensen <quinn.jensen@freescale.com> | 2007-10-24 21:26:49 -0600 |
commit | ad48d19287b55d81884f33b319707ced4906e9c7 (patch) | |
tree | ee4c933405d07124d90f6f9a8ce1a446acf9393f /drivers | |
parent | 23c0a9c5dd350701e0ef3f428d37da4130f382ce (diff) |
CR ENGR00053136 fix mx27 v4l2 rotation cacheflush
Patch for CR ENGR00053136: Fix mx27 v4l2 rotation cacheflush.
This patch fixes cache invalidation by MX27 V4L2 driver when rotation is
used. The consistent_sync function was is restricted to kernel direct
mapped addresses. Applies to linux 2.6.22 kernel on MX27 platform.
http://www.bitshrine.org/gpp/linux-2.6.22-mx-CR-ENGR00053136-fix-mx27-v4l2-rotation-cac.patch
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/mxc/capture/mx27_prpsw.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/video/mxc/capture/mx27_prpsw.c b/drivers/media/video/mxc/capture/mx27_prpsw.c index 4e6c50e73294..b39623f25c1f 100644 --- a/drivers/media/video/mxc/capture/mx27_prpsw.c +++ b/drivers/media/video/mxc/capture/mx27_prpsw.c @@ -23,6 +23,7 @@ #include <linux/string.h> #include <linux/fb.h> #include <linux/pci.h> +#include <asm/cacheflush.h> #include <asm/io.h> #include <asm/irq.h> @@ -830,7 +831,7 @@ static void rotation(unsigned long private) * Similarly we don't flush the data after SW rotation/mirroring. */ if (size < 320 * 240 * 2) - consistent_sync(src, size, DMA_FROM_DEVICE); + dmac_inv_range(src, src + size); switch (cam->rotation) { case V4L2_MXC_ROTATE_VERT_FLIP: opl_vmirror_u16(src, s_stride, width, height, dst, d_stride); |