aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2010-12-08 10:48:23 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 19:31:39 -0400
commitd9160afd31565e44ebbd909b283baad8c9a3c224 (patch)
treec0e86da3ea2cff2f0d35364bf829fc5340fb381f /drivers/media
parente9654ef28740867c0aa151bbaec93f090f60cd24 (diff)
[media] s5p-fimc: Use default input DMA burst count
Increase the input DMA "successive burst count" to default value 4 to improve DMA performance. Minor cleanup. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/s5p-fimc/fimc-reg.c11
-rw-r--r--drivers/media/video/s5p-fimc/regs-fimc.h4
2 files changed, 5 insertions, 10 deletions
diff --git a/drivers/media/video/s5p-fimc/fimc-reg.c b/drivers/media/video/s5p-fimc/fimc-reg.c
index 63660119ef7f..c4703b5800c4 100644
--- a/drivers/media/video/s5p-fimc/fimc-reg.c
+++ b/drivers/media/video/s5p-fimc/fimc-reg.c
@@ -417,12 +417,10 @@ void fimc_hw_set_in_dma(struct fimc_ctx *ctx)
417 | S5P_MSCTRL_C_INT_IN_MASK 417 | S5P_MSCTRL_C_INT_IN_MASK
418 | S5P_MSCTRL_2P_IN_ORDER_MASK); 418 | S5P_MSCTRL_2P_IN_ORDER_MASK);
419 419
420 cfg |= (S5P_MSCTRL_FRAME_COUNT(1) | S5P_MSCTRL_INPUT_MEMORY); 420 cfg |= S5P_MSCTRL_IN_BURST_COUNT(4) | S5P_MSCTRL_INPUT_MEMORY;
421 421
422 switch (frame->fmt->color) { 422 switch (frame->fmt->color) {
423 case S5P_FIMC_RGB565: 423 case S5P_FIMC_RGB565...S5P_FIMC_RGB888:
424 case S5P_FIMC_RGB666:
425 case S5P_FIMC_RGB888:
426 cfg |= S5P_MSCTRL_INFORMAT_RGB; 424 cfg |= S5P_MSCTRL_INFORMAT_RGB;
427 break; 425 break;
428 case S5P_FIMC_YCBCR420: 426 case S5P_FIMC_YCBCR420:
@@ -434,10 +432,7 @@ void fimc_hw_set_in_dma(struct fimc_ctx *ctx)
434 cfg |= S5P_MSCTRL_C_INT_IN_3PLANE; 432 cfg |= S5P_MSCTRL_C_INT_IN_3PLANE;
435 433
436 break; 434 break;
437 case S5P_FIMC_YCBYCR422: 435 case S5P_FIMC_YCBYCR422...S5P_FIMC_CRYCBY422:
438 case S5P_FIMC_YCRYCB422:
439 case S5P_FIMC_CBYCRY422:
440 case S5P_FIMC_CRYCBY422:
441 if (frame->fmt->colplanes == 1) { 436 if (frame->fmt->colplanes == 1) {
442 cfg |= ctx->in_order_1p 437 cfg |= ctx->in_order_1p
443 | S5P_MSCTRL_INFORMAT_YCBCR422_1P; 438 | S5P_MSCTRL_INFORMAT_YCBCR422_1P;
diff --git a/drivers/media/video/s5p-fimc/regs-fimc.h b/drivers/media/video/s5p-fimc/regs-fimc.h
index 57e33f84fcfa..74ca705df765 100644
--- a/drivers/media/video/s5p-fimc/regs-fimc.h
+++ b/drivers/media/video/s5p-fimc/regs-fimc.h
@@ -210,7 +210,7 @@
210 210
211/* Input DMA control */ 211/* Input DMA control */
212#define S5P_MSCTRL 0xfc 212#define S5P_MSCTRL 0xfc
213#define S5P_MSCTRL_IN_BURST_COUNT_MASK (3 << 24) 213#define S5P_MSCTRL_IN_BURST_COUNT_MASK (0xF << 24)
214#define S5P_MSCTRL_2P_IN_ORDER_MASK (3 << 16) 214#define S5P_MSCTRL_2P_IN_ORDER_MASK (3 << 16)
215#define S5P_MSCTRL_2P_IN_ORDER_SHIFT 16 215#define S5P_MSCTRL_2P_IN_ORDER_SHIFT 16
216#define S5P_MSCTRL_C_INT_IN_3PLANE (0 << 15) 216#define S5P_MSCTRL_C_INT_IN_3PLANE (0 << 15)
@@ -237,7 +237,7 @@
237#define S5P_MSCTRL_INFORMAT_RGB (3 << 1) 237#define S5P_MSCTRL_INFORMAT_RGB (3 << 1)
238#define S5P_MSCTRL_INFORMAT_MASK (3 << 1) 238#define S5P_MSCTRL_INFORMAT_MASK (3 << 1)
239#define S5P_MSCTRL_ENVID (1 << 0) 239#define S5P_MSCTRL_ENVID (1 << 0)
240#define S5P_MSCTRL_FRAME_COUNT(x) ((x) << 24) 240#define S5P_MSCTRL_IN_BURST_COUNT(x) ((x) << 24)
241 241
242/* Output DMA Y/Cb/Cr offset */ 242/* Output DMA Y/Cb/Cr offset */
243#define S5P_CIOYOFF 0x168 243#define S5P_CIOYOFF 0x168