diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2010-12-08 10:48:23 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-21 19:31:39 -0400 |
commit | d9160afd31565e44ebbd909b283baad8c9a3c224 (patch) | |
tree | c0e86da3ea2cff2f0d35364bf829fc5340fb381f /drivers/media | |
parent | e9654ef28740867c0aa151bbaec93f090f60cd24 (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.c | 11 | ||||
-rw-r--r-- | drivers/media/video/s5p-fimc/regs-fimc.h | 4 |
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 |