[PATCH 1/3] media: verisilicon: Add support for Hantro G1 on RK3588

Heiko Stübner heiko at sntech.de
Wed Dec 27 15:08:51 PST 2023


Hi,

Am Mittwoch, 27. Dezember 2023, 18:39:09 CET schrieb Jianfeng Liu:
> This patch adds support for RK3588 in existing Hantro
> video decoder kernel driver.
> 
> Tested with FFmpeg v4l2_request code taken from [1]
> with MPEG2, H.264 and VP8 samples.
> 
> [1] https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
> 

thanks so much for looking into this :-) .

But please use scripts/get_maintainers.pl when submitting patches, because
not everyone reads mailing lists all the time.

Most of the time people enjoy being able to read the whole series, so also
please don't do per-patch recipients.

Especially when adding devicetree bindings you need to add the devicetree
maintainers and lists.

So running for example
# scripts/get_maintainer.pl -f Documentation/devicetree/bindings/media/rockchip-vpu.yaml
will get you this pretty correct list of recipients for your series:

Ezequiel Garcia <ezequiel at vanguardiasur.com.ar>
Philipp Zabel <p.zabel at pengutronix.de>
Mauro Carvalho Chehab <mchehab at kernel.org>
Rob Herring <robh+dt at kernel.org>
Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
Conor Dooley <conor+dt at kernel.org>
Heiko Stuebner <heiko at sntech.de>
linux-media at vger.kernel.org
linux-rockchip at lists.infradead.org
devicetree at vger.kernel.org
linux-arm-kernel at lists.infradead.org
linux-kernel at vger.kernel.org





> Signed-off-by: Jianfeng Liu <liujianfeng1994 at gmail.com>
> ---
>  drivers/media/platform/verisilicon/hantro_drv.c    |  1 +
>  drivers/media/platform/verisilicon/hantro_hw.h     |  1 +
>  .../media/platform/verisilicon/rockchip_vpu_hw.c   | 14 ++++++++++++++
>  3 files changed, 16 insertions(+)
> 
> diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
> index db3df6cc4..4c988f272 100644
> --- a/drivers/media/platform/verisilicon/hantro_drv.c
> +++ b/drivers/media/platform/verisilicon/hantro_drv.c
> @@ -722,6 +722,7 @@ static const struct of_device_id of_hantro_match[] = {
>  	{ .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
>  	{ .compatible = "rockchip,rk3568-vepu", .data = &rk3568_vepu_variant, },
>  	{ .compatible = "rockchip,rk3568-vpu", .data = &rk3568_vpu_variant, },
> +	{ .compatible = "rockchip,rk3588-vpu", .data = &rk3588_vpu_variant, },
>  	{ .compatible = "rockchip,rk3588-av1-vpu", .data = &rk3588_vpu981_variant, },

I do think this list is sorted alphabetically, so rk3588-vpu would be _after_ rk3588-a...


Thanks
Heiko

>  #endif
>  #ifdef CONFIG_VIDEO_HANTRO_IMX8M
> diff --git a/drivers/media/platform/verisilicon/hantro_hw.h b/drivers/media/platform/verisilicon/hantro_hw.h
> index 9aec8a79a..276f09a7a 100644
> --- a/drivers/media/platform/verisilicon/hantro_hw.h
> +++ b/drivers/media/platform/verisilicon/hantro_hw.h
> @@ -405,6 +405,7 @@ extern const struct hantro_variant rk3328_vpu_variant;
>  extern const struct hantro_variant rk3399_vpu_variant;
>  extern const struct hantro_variant rk3568_vepu_variant;
>  extern const struct hantro_variant rk3568_vpu_variant;
> +extern const struct hantro_variant rk3588_vpu_variant;
>  extern const struct hantro_variant rk3588_vpu981_variant;
>  extern const struct hantro_variant sama5d4_vdec_variant;
>  extern const struct hantro_variant sunxi_vpu_variant;
> diff --git a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> index f97527670..4ee8d64eb 100644
> --- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> +++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> @@ -797,6 +797,20 @@ const struct hantro_variant px30_vpu_variant = {
>  	.num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
>  };
> 
> +const struct hantro_variant rk3588_vpu_variant = {
> +	.dec_offset = 0x400,
> +	.dec_fmts = rockchip_vdpu2_dec_fmts,
> +	.num_dec_fmts = ARRAY_SIZE(rockchip_vdpu2_dec_fmts),
> +	.codec = HANTRO_MPEG2_DECODER |
> +		 HANTRO_VP8_DECODER | HANTRO_H264_DECODER,
> +	.codec_ops = rk3399_vpu_codec_ops,
> +	.irqs = rockchip_vdpu2_irqs,
> +	.num_irqs = ARRAY_SIZE(rockchip_vdpu2_irqs),
> +	.init = rockchip_vpu_hw_init,
> +	.clk_names = rockchip_vpu_clk_names,
> +	.num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
> +};
> +
>  const struct hantro_variant rk3588_vpu981_variant = {
>  	.dec_offset = 0x0,
>  	.dec_fmts = rockchip_vpu981_dec_fmts,
> --
> 2.34.1
> 
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
> 







More information about the Linux-rockchip mailing list