Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] media: atmel-isi: increase the burst length to improve the performance

The burst length could be BEATS_4/8/16. Before this patch, isi use default
value BEATS_4. To imporve the performance we could set it to BEATS_16.

Otherwise sometime it would cause the ISI overflow error.

Reported-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

authored by

Josh Wu and committed by
Mauro Carvalho Chehab
ce037f19 0e661006

+6
+2
drivers/media/platform/soc_camera/atmel-isi.c
··· 843 843 if (isi->pdata.full_mode) 844 844 cfg1 |= ISI_CFG1_FULL_MODE; 845 845 846 + cfg1 |= ISI_CFG1_THMASK_BEATS_16; 847 + 846 848 isi_writel(isi, ISI_CTRL, ISI_CTRL_DIS); 847 849 isi_writel(isi, ISI_CFG1, cfg1); 848 850
+4
include/media/atmel-isi.h
··· 59 59 #define ISI_CFG1_FRATE_DIV_MASK (7 << 8) 60 60 #define ISI_CFG1_DISCR (1 << 11) 61 61 #define ISI_CFG1_FULL_MODE (1 << 12) 62 + /* Definition for THMASK(ISI_V2) */ 63 + #define ISI_CFG1_THMASK_BEATS_4 (0 << 13) 64 + #define ISI_CFG1_THMASK_BEATS_8 (1 << 13) 65 + #define ISI_CFG1_THMASK_BEATS_16 (2 << 13) 62 66 63 67 /* Bitfields in CFG2 */ 64 68 #define ISI_CFG2_GRAYSCALE (1 << 13)