Re: [PATCH] media: destage Hantro VPU driver

From: Nicolas Dufresne
Date: Tue Jul 19 2022 - 15:33:24 EST


Le lundi 18 juillet 2022 à 18:41 -0300, Ezequiel Garcia a écrit :
> The Hantro mainline driver has been used in production
> since several years and was only kept as a staging driver
> due the stateless CODEC controls.
>
> Now that all the stateless CODEC controls have been moved
> out of staging, graduate the driver as well.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>

Acked-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>

> ---
> MAINTAINERS | 2 +-
> drivers/media/platform/Kconfig | 1 +
> drivers/media/platform/Makefile | 1 +
> .../media/hantro => media/platform/verisilicon}/Kconfig | 6 +++++-
> .../media/hantro => media/platform/verisilicon}/Makefile | 0
> .../media/hantro => media/platform/verisilicon}/hantro.h | 0
> .../hantro => media/platform/verisilicon}/hantro_drv.c | 0
> .../media/hantro => media/platform/verisilicon}/hantro_g1.c | 0
> .../platform/verisilicon}/hantro_g1_h264_dec.c | 0
> .../platform/verisilicon}/hantro_g1_mpeg2_dec.c | 0
> .../hantro => media/platform/verisilicon}/hantro_g1_regs.h | 0
> .../platform/verisilicon}/hantro_g1_vp8_dec.c | 0
> .../media/hantro => media/platform/verisilicon}/hantro_g2.c | 0
> .../platform/verisilicon}/hantro_g2_hevc_dec.c | 0
> .../hantro => media/platform/verisilicon}/hantro_g2_regs.h | 0
> .../platform/verisilicon}/hantro_g2_vp9_dec.c | 0
> .../platform/verisilicon}/hantro_h1_jpeg_enc.c | 0
> .../hantro => media/platform/verisilicon}/hantro_h1_regs.h | 0
> .../hantro => media/platform/verisilicon}/hantro_h264.c | 0
> .../hantro => media/platform/verisilicon}/hantro_hevc.c | 0
> .../media/hantro => media/platform/verisilicon}/hantro_hw.h | 0
> .../hantro => media/platform/verisilicon}/hantro_jpeg.c | 0
> .../hantro => media/platform/verisilicon}/hantro_jpeg.h | 0
> .../hantro => media/platform/verisilicon}/hantro_mpeg2.c | 0
> .../hantro => media/platform/verisilicon}/hantro_postproc.c | 0
> .../hantro => media/platform/verisilicon}/hantro_v4l2.c | 0
> .../hantro => media/platform/verisilicon}/hantro_v4l2.h | 0
> .../hantro => media/platform/verisilicon}/hantro_vp8.c | 0
> .../hantro => media/platform/verisilicon}/hantro_vp9.c | 0
> .../hantro => media/platform/verisilicon}/hantro_vp9.h | 0
> .../hantro => media/platform/verisilicon}/imx8m_vpu_hw.c | 0
> .../platform/verisilicon}/rockchip_vpu2_hw_h264_dec.c | 0
> .../platform/verisilicon}/rockchip_vpu2_hw_jpeg_enc.c | 0
> .../platform/verisilicon}/rockchip_vpu2_hw_mpeg2_dec.c | 0
> .../platform/verisilicon}/rockchip_vpu2_hw_vp8_dec.c | 0
> .../platform/verisilicon}/rockchip_vpu2_regs.h | 0
> .../hantro => media/platform/verisilicon}/rockchip_vpu_hw.c | 0
> .../hantro => media/platform/verisilicon}/sama5d4_vdec_hw.c | 0
> .../hantro => media/platform/verisilicon}/sunxi_vpu_hw.c | 0
> drivers/staging/media/Kconfig | 2 --
> drivers/staging/media/Makefile | 1 -
> drivers/staging/media/hantro/TODO | 2 --
> 42 files changed, 8 insertions(+), 7 deletions(-)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/Kconfig (91%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/Makefile (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_drv.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g1.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g1_h264_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g1_mpeg2_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g1_regs.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g1_vp8_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g2.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g2_hevc_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g2_regs.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_g2_vp9_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_h1_jpeg_enc.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_h1_regs.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_h264.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_hevc.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_hw.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_jpeg.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_jpeg.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_mpeg2.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_postproc.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_v4l2.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_v4l2.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_vp8.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_vp9.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/hantro_vp9.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/imx8m_vpu_hw.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/rockchip_vpu2_hw_h264_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/rockchip_vpu2_hw_jpeg_enc.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/rockchip_vpu2_hw_mpeg2_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/rockchip_vpu2_hw_vp8_dec.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/rockchip_vpu2_regs.h (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/rockchip_vpu_hw.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/sama5d4_vdec_hw.c (100%)
> rename drivers/{staging/media/hantro => media/platform/verisilicon}/sunxi_vpu_hw.c (100%)
> delete mode 100644 drivers/staging/media/hantro/TODO
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index fee2ac9a98f4..07ed4aaf545d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -8686,7 +8686,7 @@ S: Maintained
> F: Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
> F: Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
> F: Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> -F: drivers/staging/media/hantro/
> +F: drivers/media/platform/verisilicon/
>
> HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
> M: Frank Seidel <frank@xxxxxxxxxxx>
> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index f1056ceaf5a8..a9334263fa9b 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -81,6 +81,7 @@ source "drivers/media/platform/samsung/Kconfig"
> source "drivers/media/platform/st/Kconfig"
> source "drivers/media/platform/sunxi/Kconfig"
> source "drivers/media/platform/ti/Kconfig"
> +source "drivers/media/platform/verisilicon/Kconfig"
> source "drivers/media/platform/via/Kconfig"
> source "drivers/media/platform/xilinx/Kconfig"
>
> diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
> index a881e97bae95..a91f42024273 100644
> --- a/drivers/media/platform/Makefile
> +++ b/drivers/media/platform/Makefile
> @@ -24,6 +24,7 @@ obj-y += samsung/
> obj-y += st/
> obj-y += sunxi/
> obj-y += ti/
> +obj-y += verisilicon/
> obj-y += via/
> obj-y += xilinx/
>
> diff --git a/drivers/staging/media/hantro/Kconfig b/drivers/media/platform/verisilicon/Kconfig
> similarity index 91%
> rename from drivers/staging/media/hantro/Kconfig
> rename to drivers/media/platform/verisilicon/Kconfig
> index 0172a6822ec2..e65b836b9d78 100644
> --- a/drivers/staging/media/hantro/Kconfig
> +++ b/drivers/media/platform/verisilicon/Kconfig
> @@ -1,7 +1,11 @@
> -# SPDX-License-Identifier: GPL-2.0
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +comment "Verisilicon media platform drivers"
> +
> config VIDEO_HANTRO
> tristate "Hantro VPU driver"
> depends on ARCH_MXC || ARCH_ROCKCHIP || ARCH_AT91 || ARCH_SUNXI || COMPILE_TEST
> + depends on V4L_MEM2MEM_DRIVERS
> depends on VIDEO_DEV
> select MEDIA_CONTROLLER
> select MEDIA_CONTROLLER_REQUEST_API
> diff --git a/drivers/staging/media/hantro/Makefile b/drivers/media/platform/verisilicon/Makefile
> similarity index 100%
> rename from drivers/staging/media/hantro/Makefile
> rename to drivers/media/platform/verisilicon/Makefile
> diff --git a/drivers/staging/media/hantro/hantro.h b/drivers/media/platform/verisilicon/hantro.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro.h
> rename to drivers/media/platform/verisilicon/hantro.h
> diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_drv.c
> rename to drivers/media/platform/verisilicon/hantro_drv.c
> diff --git a/drivers/staging/media/hantro/hantro_g1.c b/drivers/media/platform/verisilicon/hantro_g1.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g1.c
> rename to drivers/media/platform/verisilicon/hantro_g1.c
> diff --git a/drivers/staging/media/hantro/hantro_g1_h264_dec.c b/drivers/media/platform/verisilicon/hantro_g1_h264_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g1_h264_dec.c
> rename to drivers/media/platform/verisilicon/hantro_g1_h264_dec.c
> diff --git a/drivers/staging/media/hantro/hantro_g1_mpeg2_dec.c b/drivers/media/platform/verisilicon/hantro_g1_mpeg2_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g1_mpeg2_dec.c
> rename to drivers/media/platform/verisilicon/hantro_g1_mpeg2_dec.c
> diff --git a/drivers/staging/media/hantro/hantro_g1_regs.h b/drivers/media/platform/verisilicon/hantro_g1_regs.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g1_regs.h
> rename to drivers/media/platform/verisilicon/hantro_g1_regs.h
> diff --git a/drivers/staging/media/hantro/hantro_g1_vp8_dec.c b/drivers/media/platform/verisilicon/hantro_g1_vp8_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g1_vp8_dec.c
> rename to drivers/media/platform/verisilicon/hantro_g1_vp8_dec.c
> diff --git a/drivers/staging/media/hantro/hantro_g2.c b/drivers/media/platform/verisilicon/hantro_g2.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g2.c
> rename to drivers/media/platform/verisilicon/hantro_g2.c
> diff --git a/drivers/staging/media/hantro/hantro_g2_hevc_dec.c b/drivers/media/platform/verisilicon/hantro_g2_hevc_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g2_hevc_dec.c
> rename to drivers/media/platform/verisilicon/hantro_g2_hevc_dec.c
> diff --git a/drivers/staging/media/hantro/hantro_g2_regs.h b/drivers/media/platform/verisilicon/hantro_g2_regs.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g2_regs.h
> rename to drivers/media/platform/verisilicon/hantro_g2_regs.h
> diff --git a/drivers/staging/media/hantro/hantro_g2_vp9_dec.c b/drivers/media/platform/verisilicon/hantro_g2_vp9_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_g2_vp9_dec.c
> rename to drivers/media/platform/verisilicon/hantro_g2_vp9_dec.c
> diff --git a/drivers/staging/media/hantro/hantro_h1_jpeg_enc.c b/drivers/media/platform/verisilicon/hantro_h1_jpeg_enc.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_h1_jpeg_enc.c
> rename to drivers/media/platform/verisilicon/hantro_h1_jpeg_enc.c
> diff --git a/drivers/staging/media/hantro/hantro_h1_regs.h b/drivers/media/platform/verisilicon/hantro_h1_regs.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_h1_regs.h
> rename to drivers/media/platform/verisilicon/hantro_h1_regs.h
> diff --git a/drivers/staging/media/hantro/hantro_h264.c b/drivers/media/platform/verisilicon/hantro_h264.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_h264.c
> rename to drivers/media/platform/verisilicon/hantro_h264.c
> diff --git a/drivers/staging/media/hantro/hantro_hevc.c b/drivers/media/platform/verisilicon/hantro_hevc.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_hevc.c
> rename to drivers/media/platform/verisilicon/hantro_hevc.c
> diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/media/platform/verisilicon/hantro_hw.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_hw.h
> rename to drivers/media/platform/verisilicon/hantro_hw.h
> diff --git a/drivers/staging/media/hantro/hantro_jpeg.c b/drivers/media/platform/verisilicon/hantro_jpeg.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_jpeg.c
> rename to drivers/media/platform/verisilicon/hantro_jpeg.c
> diff --git a/drivers/staging/media/hantro/hantro_jpeg.h b/drivers/media/platform/verisilicon/hantro_jpeg.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_jpeg.h
> rename to drivers/media/platform/verisilicon/hantro_jpeg.h
> diff --git a/drivers/staging/media/hantro/hantro_mpeg2.c b/drivers/media/platform/verisilicon/hantro_mpeg2.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_mpeg2.c
> rename to drivers/media/platform/verisilicon/hantro_mpeg2.c
> diff --git a/drivers/staging/media/hantro/hantro_postproc.c b/drivers/media/platform/verisilicon/hantro_postproc.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_postproc.c
> rename to drivers/media/platform/verisilicon/hantro_postproc.c
> diff --git a/drivers/staging/media/hantro/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_v4l2.c
> rename to drivers/media/platform/verisilicon/hantro_v4l2.c
> diff --git a/drivers/staging/media/hantro/hantro_v4l2.h b/drivers/media/platform/verisilicon/hantro_v4l2.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_v4l2.h
> rename to drivers/media/platform/verisilicon/hantro_v4l2.h
> diff --git a/drivers/staging/media/hantro/hantro_vp8.c b/drivers/media/platform/verisilicon/hantro_vp8.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_vp8.c
> rename to drivers/media/platform/verisilicon/hantro_vp8.c
> diff --git a/drivers/staging/media/hantro/hantro_vp9.c b/drivers/media/platform/verisilicon/hantro_vp9.c
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_vp9.c
> rename to drivers/media/platform/verisilicon/hantro_vp9.c
> diff --git a/drivers/staging/media/hantro/hantro_vp9.h b/drivers/media/platform/verisilicon/hantro_vp9.h
> similarity index 100%
> rename from drivers/staging/media/hantro/hantro_vp9.h
> rename to drivers/media/platform/verisilicon/hantro_vp9.h
> diff --git a/drivers/staging/media/hantro/imx8m_vpu_hw.c b/drivers/media/platform/verisilicon/imx8m_vpu_hw.c
> similarity index 100%
> rename from drivers/staging/media/hantro/imx8m_vpu_hw.c
> rename to drivers/media/platform/verisilicon/imx8m_vpu_hw.c
> diff --git a/drivers/staging/media/hantro/rockchip_vpu2_hw_h264_dec.c b/drivers/media/platform/verisilicon/rockchip_vpu2_hw_h264_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/rockchip_vpu2_hw_h264_dec.c
> rename to drivers/media/platform/verisilicon/rockchip_vpu2_hw_h264_dec.c
> diff --git a/drivers/staging/media/hantro/rockchip_vpu2_hw_jpeg_enc.c b/drivers/media/platform/verisilicon/rockchip_vpu2_hw_jpeg_enc.c
> similarity index 100%
> rename from drivers/staging/media/hantro/rockchip_vpu2_hw_jpeg_enc.c
> rename to drivers/media/platform/verisilicon/rockchip_vpu2_hw_jpeg_enc.c
> diff --git a/drivers/staging/media/hantro/rockchip_vpu2_hw_mpeg2_dec.c b/drivers/media/platform/verisilicon/rockchip_vpu2_hw_mpeg2_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/rockchip_vpu2_hw_mpeg2_dec.c
> rename to drivers/media/platform/verisilicon/rockchip_vpu2_hw_mpeg2_dec.c
> diff --git a/drivers/staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c b/drivers/media/platform/verisilicon/rockchip_vpu2_hw_vp8_dec.c
> similarity index 100%
> rename from drivers/staging/media/hantro/rockchip_vpu2_hw_vp8_dec.c
> rename to drivers/media/platform/verisilicon/rockchip_vpu2_hw_vp8_dec.c
> diff --git a/drivers/staging/media/hantro/rockchip_vpu2_regs.h b/drivers/media/platform/verisilicon/rockchip_vpu2_regs.h
> similarity index 100%
> rename from drivers/staging/media/hantro/rockchip_vpu2_regs.h
> rename to drivers/media/platform/verisilicon/rockchip_vpu2_regs.h
> diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> similarity index 100%
> rename from drivers/staging/media/hantro/rockchip_vpu_hw.c
> rename to drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> diff --git a/drivers/staging/media/hantro/sama5d4_vdec_hw.c b/drivers/media/platform/verisilicon/sama5d4_vdec_hw.c
> similarity index 100%
> rename from drivers/staging/media/hantro/sama5d4_vdec_hw.c
> rename to drivers/media/platform/verisilicon/sama5d4_vdec_hw.c
> diff --git a/drivers/staging/media/hantro/sunxi_vpu_hw.c b/drivers/media/platform/verisilicon/sunxi_vpu_hw.c
> similarity index 100%
> rename from drivers/staging/media/hantro/sunxi_vpu_hw.c
> rename to drivers/media/platform/verisilicon/sunxi_vpu_hw.c
> diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig
> index 421ce9dbf44c..2b8ad4cc8ac5 100644
> --- a/drivers/staging/media/Kconfig
> +++ b/drivers/staging/media/Kconfig
> @@ -24,8 +24,6 @@ source "drivers/staging/media/atomisp/Kconfig"
>
> source "drivers/staging/media/av7110/Kconfig"
>
> -source "drivers/staging/media/hantro/Kconfig"
> -
> source "drivers/staging/media/imx/Kconfig"
>
> source "drivers/staging/media/ipu3/Kconfig"
> diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile
> index 950e96f10aad..a12d0bb9dca3 100644
> --- a/drivers/staging/media/Makefile
> +++ b/drivers/staging/media/Makefile
> @@ -8,7 +8,6 @@ obj-$(CONFIG_VIDEO_ROCKCHIP_VDEC) += rkvdec/
> obj-$(CONFIG_VIDEO_STKWEBCAM) += stkwebcam/
> obj-$(CONFIG_VIDEO_SUNXI) += sunxi/
> obj-$(CONFIG_VIDEO_TEGRA) += tegra-video/
> -obj-$(CONFIG_VIDEO_HANTRO) += hantro/
> obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3/
> obj-$(CONFIG_VIDEO_ZORAN) += zoran/
> obj-$(CONFIG_DVB_AV7110) += av7110/
> diff --git a/drivers/staging/media/hantro/TODO b/drivers/staging/media/hantro/TODO
> deleted file mode 100644
> index 8483ff482146..000000000000
> --- a/drivers/staging/media/hantro/TODO
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -The V4L controls for the HEVC CODEC are not yet part of the stable uABI,
> -we are keeping this driver in staging until the HEVC uABI has been merged.