Message ID | 20211122184702.768341-1-jernej.skrabec@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | media: hantro: add Allwinner H6 support | expand |
Dne ponedeljek, 22. november 2021 ob 19:46:55 CET je Jernej Skrabec napisal(a): > Hi everyone! > > Here is patchset which adds support for Hantro G2 core found in Allwinner > H6 SoC. It is slightly older core, so it needs few quirks to be > implemented: > 1. It uses slightly different register layout in some cases. However, those > differences are small, so it makes sense only to add quirks. > 2. It doesn't use ring buffer for bitstream as newer variants. > 3. It needs double buffering to be enabled in order to work correctly. > 4. postproc must be enabled at the end of the job. It seems that core has > some issues with latching register values if postproc registers are set > at the beginning of the job > > legacy_regs quirk could be split into 3, like legacy_regs, ring_buffer and > late_postproc, but I didn't see the need for that. I examined vendor > sources at [1] and it suggests that legacy_regs implies no ring buffer. > > It's also unclear if core supports HEVC decoding or not. This can be > implemented later. VP9 10-bit decoding support is mentioned in manual, but > it doesn't work at the moment. This will be addressed later. > > Please take a look. > > Best regards, > Jernej > > [1] https://github.com/CliveLau1990/imx-vpu-hantro Forgot to add, this series is based on top of: https://www.spinics.net/lists/linux-media/msg202448.html Regards, Jernej > > Jernej Skrabec (7): > media: hantro: add support for reset lines > media: hantro: vp9: use double buffering if needed > media: hantro: vp9: add support for legacy register set > media: hantro: move postproc enablement for old cores > media: dt-bindings: allwinner: document H6 Hantro G2 binding > media: hantro: Add support for Allwinner H6 > arm64: dts: allwinner: h6: Add Hantro G2 node > > .../media/allwinner,sun50i-h6-vpu-g2.yaml | 64 +++++++++++ > arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 9 ++ > drivers/staging/media/hantro/Kconfig | 10 +- > drivers/staging/media/hantro/Makefile | 3 + > drivers/staging/media/hantro/hantro.h | 7 ++ > drivers/staging/media/hantro/hantro_drv.c | 27 ++++- > drivers/staging/media/hantro/hantro_g2_regs.h | 20 ++++ > .../staging/media/hantro/hantro_g2_vp9_dec.c | 76 ++++++++++--- > drivers/staging/media/hantro/hantro_hw.h | 1 + > drivers/staging/media/hantro/sunxi_vpu_hw.c | 104 ++++++++++++++++++ > 10 files changed, 301 insertions(+), 20 deletions(-) > create mode 100644 Documentation/devicetree/bindings/media/ allwinner,sun50i-h6-vpu-g2.yaml > create mode 100644 drivers/staging/media/hantro/sunxi_vpu_hw.c > > -- > 2.34.0 > >