[PATCH v16 03/13] media: amphion: add amphion vpu device driver

Hans Verkuil hverkuil-cisco at xs4all.nl
Tue Feb 22 00:14:29 PST 2022



On 2/21/22 07:10, Ming Qian wrote:
> The amphion vpu codec ip contains encoder and decoder.
> Windsor is the encoder, it supports to encode H.264.
> Malone is the decoder, it features a powerful
> video processing unit able to decode many formats,
> such as H.264, HEVC, and other formats.
> 
> This Driver is for this IP that is based on the v4l2 mem2mem framework.
> 
> Supported SoCs are: IMX8QXP, IMX8QM
> 
> Signed-off-by: Ming Qian <ming.qian at nxp.com>
> Signed-off-by: Shijie Qin <shijie.qin at nxp.com>
> Signed-off-by: Zhou Peng <eagle.zhou at nxp.com>
> Reported-by: kernel test robot <lkp at intel.com>
> Tested-by: Nicolas Dufresne <nicolas.dufresne at collabora.com>
> ---
>  arch/arm64/configs/defconfig               |   1 +
>  drivers/media/platform/Kconfig             |  19 ++
>  drivers/media/platform/Makefile            |   2 +
>  drivers/media/platform/amphion/Makefile    |  20 ++
>  drivers/media/platform/amphion/vpu.h       | 356 +++++++++++++++++++++
>  drivers/media/platform/amphion/vpu_defs.h  | 187 +++++++++++
>  drivers/media/platform/amphion/vpu_drv.c   | 260 +++++++++++++++
>  drivers/media/platform/amphion/vpu_imx8q.c | 271 ++++++++++++++++
>  drivers/media/platform/amphion/vpu_imx8q.h | 115 +++++++
>  9 files changed, 1231 insertions(+)
>  create mode 100644 drivers/media/platform/amphion/Makefile
>  create mode 100644 drivers/media/platform/amphion/vpu.h
>  create mode 100644 drivers/media/platform/amphion/vpu_defs.h
>  create mode 100644 drivers/media/platform/amphion/vpu_drv.c
>  create mode 100644 drivers/media/platform/amphion/vpu_imx8q.c
>  create mode 100644 drivers/media/platform/amphion/vpu_imx8q.h
> 
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 30516dc0b70e..5423075730f8 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -662,6 +662,7 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
>  CONFIG_VIDEO_RCAR_CSI2=m
>  CONFIG_VIDEO_RCAR_VIN=m
>  CONFIG_VIDEO_SUN6I_CSI=m
> +CONFIG_VIDEO_AMPHION_VPU=m
>  CONFIG_V4L_MEM2MEM_DRIVERS=y
>  CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
>  CONFIG_VIDEO_SAMSUNG_S5P_MFC=m

This must be a separate patch! The media subsystem doesn't maintain defconfig.

> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index 9fbdba0fd1e7..947ae16c73f5 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -216,6 +216,25 @@ config VIDEO_RCAR_ISP
>  	  To compile this driver as a module, choose M here: the
>  	  module will be called rcar-isp.
>  
> +config VIDEO_AMPHION_VPU
> +	tristate "Amphion VPU (Video Processing Unit) Codec IP"
> +	depends on ARCH_MXC || COMPILE_TEST
> +	depends on MEDIA_SUPPORT
> +	depends on VIDEO_DEV
> +	depends on VIDEO_V4L2
> +	select MEDIA_CONTROLLER
> +	select V4L2_MEM2MEM_DEV
> +	select VIDEOBUF2_DMA_CONTIG
> +	select VIDEOBUF2_VMALLOC
> +	help
> +	  Amphion VPU Codec IP contains two parts: Windsor and Malone.
> +	  Windsor is encoder that supports H.264, and Malone is decoder
> +	  that supports H.264, HEVC, and other video formats.
> +	  This is a V4L2 driver for NXP MXC 8Q video accelerator hardware.
> +	  It accelerates encoding and decoding operations on
> +	  various NXP SoCs.
> +	  To compile this driver as a module choose m here.
> +
>  endif # V4L_PLATFORM_DRIVERS
>  
>  menuconfig V4L_MEM2MEM_DRIVERS

This Kconfig entry is in the wrong place: this driver is a mem2mem driver, so
it should be in the following section (V4L_MEM2MEM_DRIVERS).

Regards,

	Hans



More information about the linux-arm-kernel mailing list