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@xxxxxxx> > Signed-off-by: Shijie Qin <shijie.qin@xxxxxxx> > Signed-off-by: Zhou Peng <eagle.zhou@xxxxxxx> > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Tested-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx> > --- > 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