summaryrefslogtreecommitdiff
path: root/drivers/media/video/s5p-fimc
diff options
context:
space:
mode:
authorHyunwoong Kim <khw0178.kim@samsung.com>2010-12-29 07:08:32 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 20:31:40 -0300
commit5bbe425e57d3ca715cfe9c98bac5f8f07a96c81a (patch)
treefa18dbad47696c0c4910ece797e7bc8bc16fc427 /drivers/media/video/s5p-fimc
parent65777e5c58bd3b25fcba39eddb98d8a8ce35d3be (diff)
[media] s5p-fimc: fix MSCTRL.FIFO_CTRL for performance enhancement
This patch fixes the value of FIFO_CTRL in MSCTRL. Main-scaler has the value to specify a basis FIFO control of input DMA. The description of FIFO_CTRL has been changed as below. 0 = FIFO Empty (Next burst transaction is possible when FIFO is empty) 1 = FIFO Full (Next burst transaction is possible except Full FIFO) Value '1' is recommended to enhance the FIMC operation performance. Reviewed-by: Jonghun Han <jonghun.han@samsung.com> Signed-off-by: Hyunwoong Kim <khw0178.kim@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/s5p-fimc')
-rw-r--r--drivers/media/video/s5p-fimc/fimc-reg.c4
-rw-r--r--drivers/media/video/s5p-fimc/regs-fimc.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/video/s5p-fimc/fimc-reg.c b/drivers/media/video/s5p-fimc/fimc-reg.c
index 8e5a0bbae580..10684aef5b2d 100644
--- a/drivers/media/video/s5p-fimc/fimc-reg.c
+++ b/drivers/media/video/s5p-fimc/fimc-reg.c
@@ -437,7 +437,9 @@ void fimc_hw_set_in_dma(struct fimc_ctx *ctx)
| S5P_MSCTRL_C_INT_IN_MASK
| S5P_MSCTRL_2P_IN_ORDER_MASK);
- cfg |= S5P_MSCTRL_IN_BURST_COUNT(4) | S5P_MSCTRL_INPUT_MEMORY;
+ cfg |= (S5P_MSCTRL_IN_BURST_COUNT(4)
+ | S5P_MSCTRL_INPUT_MEMORY
+ | S5P_MSCTRL_FIFO_CTRL_FULL);
switch (frame->fmt->color) {
case S5P_FIMC_RGB565...S5P_FIMC_RGB888:
diff --git a/drivers/media/video/s5p-fimc/regs-fimc.h b/drivers/media/video/s5p-fimc/regs-fimc.h
index 04669a54a3c2..0fea3e635d76 100644
--- a/drivers/media/video/s5p-fimc/regs-fimc.h
+++ b/drivers/media/video/s5p-fimc/regs-fimc.h
@@ -226,6 +226,7 @@
#define S5P_MSCTRL_FLIP_X_MIRROR (1 << 13)
#define S5P_MSCTRL_FLIP_Y_MIRROR (2 << 13)
#define S5P_MSCTRL_FLIP_180 (3 << 13)
+#define S5P_MSCTRL_FIFO_CTRL_FULL (1 << 12)
#define S5P_MSCTRL_ORDER422_SHIFT 4
#define S5P_MSCTRL_ORDER422_YCBYCR (0 << 4)
#define S5P_MSCTRL_ORDER422_CBYCRY (1 << 4)