Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: hantro: Enable H.264 on Rockchip VDPU2

Given H.264 support for VDPU2 was just added, let's enable it.
For now, this is only enabled on platform that don't have
an RKVDEC core, such as RK3328.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Tested-by: Alex Bee <knaerzche@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

authored by

Ezequiel Garcia and committed by
Mauro Carvalho Chehab
1f82f2df c07665f9

+25 -1
+25 -1
drivers/staging/media/hantro/rockchip_vpu_hw.c
··· 163 163 .codec_mode = HANTRO_MODE_NONE, 164 164 }, 165 165 { 166 + .fourcc = V4L2_PIX_FMT_H264_SLICE, 167 + .codec_mode = HANTRO_MODE_H264_DEC, 168 + .max_depth = 2, 169 + .frmsize = { 170 + .min_width = 48, 171 + .max_width = 1920, 172 + .step_width = MB_DIM, 173 + .min_height = 48, 174 + .max_height = 1088, 175 + .step_height = MB_DIM, 176 + }, 177 + }, 178 + { 166 179 .fourcc = V4L2_PIX_FMT_MPEG2_SLICE, 167 180 .codec_mode = HANTRO_MODE_MPEG2_DEC, 168 181 .max_depth = 2, ··· 401 388 .init = hantro_jpeg_enc_init, 402 389 .exit = hantro_jpeg_enc_exit, 403 390 }, 391 + [HANTRO_MODE_H264_DEC] = { 392 + .run = rockchip_vpu2_h264_dec_run, 393 + .reset = rockchip_vpu2_dec_reset, 394 + .init = hantro_h264_dec_init, 395 + .exit = hantro_h264_dec_exit, 396 + }, 404 397 [HANTRO_MODE_MPEG2_DEC] = { 405 398 .run = rockchip_vpu2_mpeg2_dec_run, 406 399 .reset = rockchip_vpu2_dec_reset, ··· 451 432 static const char * const rockchip_vpu_clk_names[] = { 452 433 "aclk", "hclk" 453 434 }; 435 + 436 + /* VDPU1/VEPU1 */ 454 437 455 438 const struct hantro_variant rk3036_vpu_variant = { 456 439 .dec_offset = 0x400, ··· 516 495 .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names) 517 496 }; 518 497 498 + /* VDPU2/VEPU2 */ 499 + 519 500 const struct hantro_variant rk3328_vpu_variant = { 520 501 .dec_offset = 0x400, 521 502 .dec_fmts = rk3399_vpu_dec_fmts, 522 503 .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts), 523 - .codec = HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER, 504 + .codec = HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER | 505 + HANTRO_H264_DECODER, 524 506 .codec_ops = rk3399_vpu_codec_ops, 525 507 .irqs = rockchip_vdpu2_irqs, 526 508 .num_irqs = ARRAY_SIZE(rockchip_vdpu2_irqs),