summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Grzeschik <m.grzeschik@pengutronix.de>2022-06-10 21:44:27 +0200
committerMichael Grzeschik <m.grzeschik@pengutronix.de>2022-06-20 15:25:11 +0200
commit11fcd09bf7cbe84c3e2e322142e3aff59c5c8402 (patch)
tree851ec4428890fc80f271a8f6ae286a9761701dbf
parenta373f546c23855d80f8a6be85fc11748ed54413d (diff)
downloadlinux-v5.19/topic/rk3568-vepu-h264-stateless-bootlin.tar.gz
linux-v5.19/topic/rk3568-vepu-h264-stateless-bootlin.tar.xz
media: hantro: Enable H.264 encoding support for RK3568v5.19/topic/rk3568-vepu-h264-stateless-bootlin
-rw-r--r--drivers/staging/media/hantro/rockchip_vpu_hw.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/staging/media/hantro/rockchip_vpu_hw.c
index d49199aa345a..83a414102b7a 100644
--- a/drivers/staging/media/hantro/rockchip_vpu_hw.c
+++ b/drivers/staging/media/hantro/rockchip_vpu_hw.c
@@ -465,6 +465,13 @@ static const struct hantro_codec_ops rk3568_vepu_codec_ops[] = {
.reset = rockchip_vpu2_enc_reset,
.done = rockchip_vpu2_jpeg_enc_done,
},
+ [HANTRO_MODE_H264_ENC] = {
+ .done = rk3399_vpu_h264_enc_done,
+ .run = rk3399_vpu_h264_enc_run,
+ .reset = rockchip_vpu2_enc_reset,
+ .init = hantro_h264_enc_init,
+ .exit = hantro_h264_enc_exit,
+ },
};
/*
@@ -490,7 +497,7 @@ static const struct hantro_irq rockchip_vpu2_irqs[] = {
};
static const struct hantro_irq rk3568_vepu_irqs[] = {
- { "vepu", rockchip_vpu2_vepu_irq },
+ { "vepu", rockchip_vpu2_vepu_irq, rk3399_vepu_thread },
};
static const char * const rk3066_vpu_clk_names[] = {
@@ -603,7 +610,7 @@ const struct hantro_variant rk3568_vepu_variant = {
.enc_offset = 0x0,
.enc_fmts = rockchip_vpu_enc_fmts,
.num_enc_fmts = ARRAY_SIZE(rockchip_vpu_enc_fmts),
- .codec = HANTRO_JPEG_ENCODER,
+ .codec = HANTRO_JPEG_ENCODER | HANTRO_H264_ENCODER,
.codec_ops = rk3568_vepu_codec_ops,
.irqs = rk3568_vepu_irqs,
.num_irqs = ARRAY_SIZE(rk3568_vepu_irqs),