lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211129182633.480021-1-jernej.skrabec@gmail.com>
Date:   Mon, 29 Nov 2021 19:26:24 +0100
From:   Jernej Skrabec <jernej.skrabec@...il.com>
To:     linux-media@...r.kernel.org
Cc:     ezequiel@...guardiasur.com.ar, nicolas.dufresne@...labora.com,
        mchehab@...nel.org, robh+dt@...nel.org, mripard@...nel.org,
        wens@...e.org, p.zabel@...gutronix.de, andrzej.p@...labora.com,
        gregkh@...uxfoundation.org, devicetree@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
        linux-kernel@...r.kernel.org, linux-staging@...ts.linux.dev,
        Jernej Skrabec <jernej.skrabec@...il.com>
Subject: [PATCH v2 0/9] media: hantro: add Allwinner H6 support

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 2, like legacy_regs, ring_buffer, 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.

Based on top of:
https://www.spinics.net/lists/linux-media/msg202448.html

Please take a look.

Best regards,
Jernej

[1] https://github.com/CliveLau1990/imx-vpu-hantro

Changes from v1:
- fixed error path in probe function
- sorted register defines by bit number and rename some of them
- added late_postproc quirk and reversed order in condition
- factor out imx8m_vpu_g2_irq to a helper
- updated Allwinner platform code
- collected tags

Jernej Skrabec (9):
  media: hantro: Fix probe func error path
  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: hantro: Convert imx8m_vpu_g2_irq to helper
  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         |  9 ++
 drivers/staging/media/hantro/hantro_drv.c     | 28 +++++-
 drivers/staging/media/hantro/hantro_g2.c      | 18 ++++
 drivers/staging/media/hantro/hantro_g2_regs.h | 17 ++++
 .../staging/media/hantro/hantro_g2_vp9_dec.c  | 76 ++++++++++++----
 drivers/staging/media/hantro/hantro_hw.h      |  2 +
 drivers/staging/media/hantro/imx8m_vpu_hw.c   | 20 +----
 drivers/staging/media/hantro/sunxi_vpu_hw.c   | 86 +++++++++++++++++++
 12 files changed, 303 insertions(+), 39 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.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ