summaryrefslogtreecommitdiff
path: root/drivers/media/platform/exynos4-is/fimc-is-regs.c
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2013-12-21 02:35:06 +0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-14 17:37:12 +0400
commit34947b8aebe3f2d4eceb65fceafa92bf8dc97d96 (patch)
treedf4846111c30f6dea67c284057daad23aef446d5 /drivers/media/platform/exynos4-is/fimc-is-regs.c
parentfa91f1056f17c87bc0fa601f80d1b1a4487fd701 (diff)
downloadlinux-34947b8aebe3f2d4eceb65fceafa92bf8dc97d96.tar.xz
[media] exynos4-is: Add the FIMC-IS ISP capture DMA driver
Add a video capture node for the FIMC-IS ISP IP block. The Exynos4x12 FIMC-IS ISP IP block has 2 DMA interfaces that allow to capture raw Bayer and YUV data to memory. Currently only the DMA2 output is and raw Bayer data capture is supported. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/platform/exynos4-is/fimc-is-regs.c')
-rw-r--r--drivers/media/platform/exynos4-is/fimc-is-regs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/media/platform/exynos4-is/fimc-is-regs.c b/drivers/media/platform/exynos4-is/fimc-is-regs.c
index 5c7bd2ac40d2..cfe4406a83ff 100644
--- a/drivers/media/platform/exynos4-is/fimc-is-regs.c
+++ b/drivers/media/platform/exynos4-is/fimc-is-regs.c
@@ -105,6 +105,20 @@ int fimc_is_hw_get_params(struct fimc_is *is, unsigned int num_args)
return 0;
}
+void fimc_is_hw_set_isp_buf_mask(struct fimc_is *is, unsigned int mask)
+{
+ if (hweight32(mask) == 1) {
+ dev_err(&is->pdev->dev, "%s(): not enough buffers (mask %#x)\n",
+ __func__, mask);
+ return;
+ }
+
+ if (mcuctl_read(is, MCUCTL_REG_ISSR(23)) != 0)
+ dev_dbg(&is->pdev->dev, "non-zero DMA buffer mask\n");
+
+ mcuctl_write(mask, is, MCUCTL_REG_ISSR(23));
+}
+
void fimc_is_hw_set_sensor_num(struct fimc_is *is)
{
pr_debug("setting sensor index to: %d\n", is->sensor_index);