aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/Kconfig
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2013-10-16 01:36:47 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2013-10-28 13:17:30 -0400
commit4571912743ac6a04a6644e5a292bb9876bb5329b (patch)
tree6fb0b3c6ccd39e6c60336e7410d920eeeec593c8 /drivers/media/platform/Kconfig
parent213b8ee4001895dd60910c440f76682fb881b5cc (diff)
[media] v4l: ti-vpe: Add VPE mem to mem driver
VPE is a block which consists of a single memory to memory path which can perform chrominance up/down sampling, de-interlacing, scaling, and color space conversion of raster or tiled YUV420 coplanar, YUV422 coplanar or YUV422 interleaved video formats. We create a mem2mem driver based primarily on the mem2mem-testdev example. The de-interlacer, scaler and color space converter are all bypassed for now to keep the driver simple. Chroma up/down sampler blocks are implemented, so conversion beteen different YUV formats is possible. Each mem2mem context allocates a buffer for VPE MMR values which it will use when it gets access to the VPE HW via the mem2mem queue, it also allocates a VPDMA descriptor list to which configuration and data descriptors are added. Based on the information received via v4l2 ioctls for the source and destination queues, the driver configures the values for the MMRs, and stores them in the buffer. There are also some VPDMA parameters like frame start and line mode which needs to be configured, these are configured by direct register writes via the VPDMA helper functions. The driver's device_run() mem2mem op will add each descriptor based on how the source and destination queues are set up for the given ctx, once the list is prepared, it's submitted to VPDMA, these descriptors when parsed by VPDMA will upload MMR registers, start DMA of video buffers on the various input and output clients/ports. When the list is parsed completely(and the DMAs on all the output ports done), an interrupt is generated which we use to notify that the source and destination buffers are done. The rest of the driver is quite similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as the HW support coplanar formats. Signed-off-by: Archit Taneja <archit@ti.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/platform/Kconfig')
-rw-r--r--drivers/media/platform/Kconfig16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 29acc2d2aee6..2405ef7c6604 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -220,6 +220,22 @@ config VIDEO_RENESAS_VSP1
220 To compile this driver as a module, choose M here: the module 220 To compile this driver as a module, choose M here: the module
221 will be called vsp1. 221 will be called vsp1.
222 222
223config VIDEO_TI_VPE
224 tristate "TI VPE (Video Processing Engine) driver"
225 depends on VIDEO_DEV && VIDEO_V4L2 && SOC_DRA7XX
226 select VIDEOBUF2_DMA_CONTIG
227 select V4L2_MEM2MEM_DEV
228 default n
229 ---help---
230 Support for the TI VPE(Video Processing Engine) block
231 found on DRA7XX SoC.
232
233config VIDEO_TI_VPE_DEBUG
234 bool "VPE debug messages"
235 depends on VIDEO_TI_VPE
236 ---help---
237 Enable debug messages on VPE driver.
238
223endif # V4L_MEM2MEM_DRIVERS 239endif # V4L_MEM2MEM_DRIVERS
224 240
225menuconfig V4L_TEST_DRIVERS 241menuconfig V4L_TEST_DRIVERS