OSDN Git Service

media: platform: Add Cedrus VPU decoder driver
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>
Thu, 13 Sep 2018 14:51:55 +0000 (10:51 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 24 Sep 2018 14:47:10 +0000 (10:47 -0400)
commit50e761516f2b8c0cdeb31a8c6ca1b4ef98cd13f1
tree28ad6401e53e50245d2161481d9f9f52c3787918
parenta20625fb03df9d84378b63540c2ad6b34703af33
media: platform: Add Cedrus VPU decoder driver

This introduces the Cedrus VPU driver that supports the VPU found in
Allwinner SoCs, also known as Video Engine. It is implemented through
a V4L2 M2M decoder device and a media device (used for media requests).
So far, it only supports MPEG-2 decoding.

Since this VPU is stateless, synchronization with media requests is
required in order to ensure consistency between frame headers that
contain metadata about the frame to process and the raw slice data that
is used to generate the frame.

This driver was made possible thanks to the long-standing effort
carried out by the linux-sunxi community in the interest of reverse
engineering, documenting and implementing support for the Allwinner VPU.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
[hans.verkuil@cisco.com: dropped obsolete MEDIA_REQUEST_API from Kconfig]
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
18 files changed:
MAINTAINERS
drivers/staging/media/Kconfig
drivers/staging/media/Makefile
drivers/staging/media/sunxi/Kconfig [new file with mode: 0644]
drivers/staging/media/sunxi/Makefile [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/Kconfig [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/Makefile [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/TODO [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus.c [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus.h [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_dec.c [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_dec.h [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_hw.c [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_hw.h [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_regs.h [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_video.c [new file with mode: 0644]
drivers/staging/media/sunxi/cedrus/cedrus_video.h [new file with mode: 0644]