Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50e76151 authored by Paul Kocialkowski's avatar Paul Kocialkowski Committed by Mauro Carvalho Chehab
Browse files

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: default avatarPaul Kocialkowski <paul.kocialkowski@bootlin.com>
Acked-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
[hans.verkuil@cisco.com: dropped obsolete MEDIA_REQUEST_API from Kconfig]
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent a20625fb
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -663,6 +663,13 @@ L: linux-crypto@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/crypto/sunxi-ss/
F:	drivers/crypto/sunxi-ss/


ALLWINNER VPU DRIVER
M:	Maxime Ripard <maxime.ripard@bootlin.com>
M:	Paul Kocialkowski <paul.kocialkowski@bootlin.com>
L:	linux-media@vger.kernel.org
S:	Maintained
F:	drivers/staging/media/sunxi/cedrus/

ALPHA PORT
ALPHA PORT
M:	Richard Henderson <rth@twiddle.net>
M:	Richard Henderson <rth@twiddle.net>
M:	Ivan Kokshaysky <ink@jurassic.park.msu.ru>
M:	Ivan Kokshaysky <ink@jurassic.park.msu.ru>
+2 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,8 @@ source "drivers/staging/media/mt9t031/Kconfig"


source "drivers/staging/media/omap4iss/Kconfig"
source "drivers/staging/media/omap4iss/Kconfig"


source "drivers/staging/media/sunxi/Kconfig"

source "drivers/staging/media/tegra-vde/Kconfig"
source "drivers/staging/media/tegra-vde/Kconfig"


source "drivers/staging/media/zoran/Kconfig"
source "drivers/staging/media/zoran/Kconfig"
+1 −0
Original line number Original line Diff line number Diff line
@@ -5,5 +5,6 @@ obj-$(CONFIG_SOC_CAMERA_IMX074) += imx074/
obj-$(CONFIG_SOC_CAMERA_MT9T031)	+= mt9t031/
obj-$(CONFIG_SOC_CAMERA_MT9T031)	+= mt9t031/
obj-$(CONFIG_VIDEO_DM365_VPFE)	+= davinci_vpfe/
obj-$(CONFIG_VIDEO_DM365_VPFE)	+= davinci_vpfe/
obj-$(CONFIG_VIDEO_OMAP4)	+= omap4iss/
obj-$(CONFIG_VIDEO_OMAP4)	+= omap4iss/
obj-$(CONFIG_VIDEO_SUNXI)	+= sunxi/
obj-$(CONFIG_TEGRA_VDE)		+= tegra-vde/
obj-$(CONFIG_TEGRA_VDE)		+= tegra-vde/
obj-$(CONFIG_VIDEO_ZORAN)	+= zoran/
obj-$(CONFIG_VIDEO_ZORAN)	+= zoran/
+15 −0
Original line number Original line Diff line number Diff line
config VIDEO_SUNXI
	bool "Allwinner sunXi family Video Devices"
	depends on ARCH_SUNXI || COMPILE_TEST
	help
	  If you have an Allwinner SoC based on the sunXi family, say Y.

	  Note that this option doesn't include new drivers in the
	  kernel: saying N will just cause Kconfig to skip all the
	  questions about Allwinner media devices.

if VIDEO_SUNXI

source "drivers/staging/media/sunxi/cedrus/Kconfig"

endif
+1 −0
Original line number Original line Diff line number Diff line
obj-$(CONFIG_VIDEO_SUNXI_CEDRUS)	+= cedrus/
Loading