mbox series

[00/12] hantro: Enable H.264 VDPU2 (Odroid Advance Go)

Message ID 20210624182612.177969-1-ezequiel@collabora.com (mailing list archive)
Headers show
Series hantro: Enable H.264 VDPU2 (Odroid Advance Go) | expand

Message

Ezequiel Garcia June 24, 2021, 6:26 p.m. UTC
This series adds support for H.264 decoding on the PX30, RK3328
and RK3326 platforms, enabling the VDPU2 core.

Given it's tested on the Odroid Advance Go, patches 1 and 2
add the basic support to report the panel orientation to
userspace (Heiko, if you like them, feel free to pick them).
Weston (for instance) picks up the orientation automagically
and rotates the render.

Patches 3 and 4 are just low-hanging fruit that was on my backlog.

Patches 5, 6 and 7 add some helpers to avoid duplicating some processes
between Hantro G1 and VDPU2. Patches 8 and 9 enable the VDPU2 H.264.
The implementation is based on a patch from Jonas Karlman [1], which
I forwarded ported to mainline.

Finally, patches 10 to 12 add support for the VPU on Rockchip PX30 SoCs.
These patches are based on patches submitted by Paul Kocialkowski [2],
which I ported and adjusted a bit.

Tested on i.MX8MQ EVK and RK3326 Odroid Advance Go, the latter
is able to decode a 1080p sample at ~100fps nicely.

Fluster conformance testing is looking good as well, and producing
expected results:

RK3326:
  Ran 135 tests in 480.067s
  FAILED (failures=9, errors=54)

i.MX8MQ:
  Ran 135 tests in 337.491s
  FAILED (failures=9, errors=54)

[1] https://lore.kernel.org/linux-media/HE1PR06MB40119DE07D38060F531D1070ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com/
[2] https://lore.kernel.org/patchwork/cover/1361795/

Ezequiel Garcia (8):
  drm/panel: kd35t133: Add panel orientation support
  arm64: dts: rockchip: Add panel orientation to Odroid Go Advance
  hantro: vp8: Move noisy WARN_ON to vpu_debug
  hantro: Make struct hantro_variant.init() optional
  media: hantro: Avoid redundant hantro_get_{dst,src}_buf() calls
  media: hantro: h264: Move DPB valid and long-term bitmaps
  media: hantro: h264: Move reference picture number to a helper
  media: hantro: Enable H.264 on Rockchip VDPU2

Jonas Karlman (1):
  media: hantro: Add H.264 support for Rockchip VDPU2

Paul Kocialkowski (3):
  dt-bindings: media: rockchip-vpu: Add PX30 compatible
  arm64: dts: rockchip: Add VPU support for the PX30
  media: hantro: Add support for the Rockchip PX30

 .../bindings/media/rockchip-vpu.yaml          |   3 +
 arch/arm64/boot/dts/rockchip/px30.dtsi        |  23 +
 .../boot/dts/rockchip/rk3326-odroid-go2.dts   |   1 +
 drivers/gpu/drm/panel/panel-elida-kd35t133.c  |   8 +
 drivers/staging/media/hantro/Makefile         |   1 +
 drivers/staging/media/hantro/hantro.h         |   4 +-
 drivers/staging/media/hantro/hantro_drv.c     |  11 +-
 .../staging/media/hantro/hantro_g1_h264_dec.c |  48 +-
 .../staging/media/hantro/hantro_g1_vp8_dec.c  |  31 +-
 drivers/staging/media/hantro/hantro_h264.c    |  24 +
 drivers/staging/media/hantro/hantro_hw.h      |   8 +
 .../media/hantro/rockchip_vpu2_hw_h264_dec.c  | 491 ++++++++++++++++++
 .../media/hantro/rockchip_vpu2_hw_vp8_dec.c   |  32 +-
 .../staging/media/hantro/rockchip_vpu_hw.c    |  54 +-
 .../staging/media/hantro/sama5d4_vdec_hw.c    |   6 -
 15 files changed, 671 insertions(+), 74 deletions(-)
 create mode 100644 drivers/staging/media/hantro/rockchip_vpu2_hw_h264_dec.c

Comments

Ezequiel Garcia June 24, 2021, 6:44 p.m. UTC | #1
On Thu, 2021-06-24 at 20:37 +0200, Heiko Stübner wrote:
> Am Donnerstag, 24. Juni 2021, 20:26:02 CEST schrieb Ezequiel Garcia:
> > The Odroid Go Advance panel is rotated, so let's reflect this
> > in the device tree.
> > 
> > Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> 
> similar patch already applied for 5.14:
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts?id=edb39de5d731f147c7b08c4a5eb246ae1dbdd947

Great minds think alike! :)

Thanks,
Ezequiel
Alex Bee June 26, 2021, 9:17 a.m. UTC | #2
Am 24.06.21 um 20:26 schrieb Ezequiel Garcia:
> This series adds support for H.264 decoding on the PX30, RK3328
> and RK3326 platforms, enabling the VDPU2 core.
>
> Given it's tested on the Odroid Advance Go, patches 1 and 2
> add the basic support to report the panel orientation to
> userspace (Heiko, if you like them, feel free to pick them).
> Weston (for instance) picks up the orientation automagically
> and rotates the render.
>
> Patches 3 and 4 are just low-hanging fruit that was on my backlog.
>
> Patches 5, 6 and 7 add some helpers to avoid duplicating some processes
> between Hantro G1 and VDPU2. Patches 8 and 9 enable the VDPU2 H.264.
> The implementation is based on a patch from Jonas Karlman [1], which
> I forwarded ported to mainline.
>
> Finally, patches 10 to 12 add support for the VPU on Rockchip PX30 SoCs.
> These patches are based on patches submitted by Paul Kocialkowski [2],
> which I ported and adjusted a bit.
>
> Tested on i.MX8MQ EVK and RK3326 Odroid Advance Go, the latter
> is able to decode a 1080p sample at ~100fps nicely.
>
> Fluster conformance testing is looking good as well, and producing
> expected results:
>
> RK3326:
>    Ran 135 tests in 480.067s
>    FAILED (failures=9, errors=54)
>
> i.MX8MQ:
>    Ran 135 tests in 337.491s
>    FAILED (failures=9, errors=54)
>
> [1] https://lore.kernel.org/linux-media/HE1PR06MB40119DE07D38060F531D1070ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com/
> [2] https://lore.kernel.org/patchwork/cover/1361795/

FWIW: Patches 03/12 - 09/12 are

Tested-by: Alex Bee <knaerzche@gmail.com>

> Ezequiel Garcia (8):
>    drm/panel: kd35t133: Add panel orientation support
>    arm64: dts: rockchip: Add panel orientation to Odroid Go Advance
>    hantro: vp8: Move noisy WARN_ON to vpu_debug
>    hantro: Make struct hantro_variant.init() optional
>    media: hantro: Avoid redundant hantro_get_{dst,src}_buf() calls
>    media: hantro: h264: Move DPB valid and long-term bitmaps
>    media: hantro: h264: Move reference picture number to a helper
>    media: hantro: Enable H.264 on Rockchip VDPU2
>
> Jonas Karlman (1):
>    media: hantro: Add H.264 support for Rockchip VDPU2
>
> Paul Kocialkowski (3):
>    dt-bindings: media: rockchip-vpu: Add PX30 compatible
>    arm64: dts: rockchip: Add VPU support for the PX30
>    media: hantro: Add support for the Rockchip PX30
>
>   .../bindings/media/rockchip-vpu.yaml          |   3 +
>   arch/arm64/boot/dts/rockchip/px30.dtsi        |  23 +
>   .../boot/dts/rockchip/rk3326-odroid-go2.dts   |   1 +
>   drivers/gpu/drm/panel/panel-elida-kd35t133.c  |   8 +
>   drivers/staging/media/hantro/Makefile         |   1 +
>   drivers/staging/media/hantro/hantro.h         |   4 +-
>   drivers/staging/media/hantro/hantro_drv.c     |  11 +-
>   .../staging/media/hantro/hantro_g1_h264_dec.c |  48 +-
>   .../staging/media/hantro/hantro_g1_vp8_dec.c  |  31 +-
>   drivers/staging/media/hantro/hantro_h264.c    |  24 +
>   drivers/staging/media/hantro/hantro_hw.h      |   8 +
>   .../media/hantro/rockchip_vpu2_hw_h264_dec.c  | 491 ++++++++++++++++++
>   .../media/hantro/rockchip_vpu2_hw_vp8_dec.c   |  32 +-
>   .../staging/media/hantro/rockchip_vpu_hw.c    |  54 +-
>   .../staging/media/hantro/sama5d4_vdec_hw.c    |   6 -
>   15 files changed, 671 insertions(+), 74 deletions(-)
>   create mode 100644 drivers/staging/media/hantro/rockchip_vpu2_hw_h264_dec.c
>