public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 00/10] media: qcom: venus: add MSM8939 support
@ 2026-04-16 13:43 Erikas Bitovtas
  2026-04-16 13:43 ` [PATCH RFC 01/10] media: dt-bindings: venus: Add qcom,msm8939 schema Erikas Bitovtas
                   ` (11 more replies)
  0 siblings, 12 replies; 22+ messages in thread
From: Erikas Bitovtas @ 2026-04-16 13:43 UTC (permalink / raw)
  To: Bryan O'Donoghue, Vikash Garodia, Dikshita Agarwal,
	Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, André Apitzsch, Bjorn Andersson, Konrad Dybcio,
	Michael Turquette, Stephen Boyd
  Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, linux-clk,
	~postmarketos/upstreaming, phone-devel, Erikas Bitovtas

This patch series adds support for Venus on MSM8939. It is mostly
similar to MSM8916 Venus, except it needs two additional cores to be
powered on before it can start decoding.

This patch series is marked as an RFC. Before submitting a non-RFC
series, I would like to have some details clarified regarding how Venus
works in order to improve and eventually upstream support for MSM8939.

1. In downstream, particularly in LA.BR.1.2.9.1_rb1.5, the buses
   for vcodec0 cores have only decoding bits enabled, as depicted
   by qcom,bus-configs property of qcom,msm-bus-clients children
   in qcom,vidc node. Do I understand correctly that these cores
   are only needed for decoding, and not for encoding?
2. Currently in device tree there is a video-decoder subnode for Venus
   node, however, for SDM845-v2 (and newer) chipsets, Venus does not use
   subnodes. Does this mean it should be dropped for MSM8939 as well?
3. MSM8939 supports HEVC decoding, however, as the patchset is written
   now, it does not work. It can be enabled, however, it will result in
   breakage of Venus for faulty MSM8916 firmwares, because the code
   disabling HEVC for HFI v1 needs to be removed, and as per commit
   c50cc6dc6c48 ("media: venus: hfi_parser: Ignore HEVC encoding for V1"),
   this would break support for some MSM8916 devices. What could be the
   best way to work around this?
4. To attach vcodec0 power domain list to dev_{dec,enc}, I had to move
   vdec_get and venc_get later in the probe. Should this be avoided, and
   is there a better way to attach vcodec power domains?

There may be some other issues with this patchset - this is WIP code, so
feedback is very appreciated. Thank you!

Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
André Apitzsch (4):
      media: dt-bindings: venus: Add qcom,msm8939 schema
      media: venus: core: Add msm8939 resource struct
      arm64: dts: qcom: msm8939: Add venus node
      arm64: dts: qcom: msm8939-longcheer-l9100: Enable venus node

Erikas Bitovtas (6):
      media: venus: add pmdomains to the struct based on the purpose of cores
      arm64: dts: qcom: msm8939-asus-z00t: add Venus
      clk: qcom: gcc-msm8939: mark Venus core GDSCs as hardware controlled
      media: venus: move getting vdec and venc for later
      media: qcom: venus: Move HFI v3 venc and vdec methods to HFI v1
      media: venus: add power domain enable logic for Venus cores

 .../bindings/media/qcom,msm8939-venus.yaml         | 104 ++++++++++++
 arch/arm64/boot/dts/qcom/msm8939-asus-z00t.dts     |   8 +
 .../boot/dts/qcom/msm8939-longcheer-l9100.dts      |   8 +
 arch/arm64/boot/dts/qcom/msm8939.dtsi              |  24 +++
 drivers/clk/qcom/gcc-msm8939.c                     |   4 +
 drivers/media/platform/qcom/venus/core.c           |  39 +++++
 drivers/media/platform/qcom/venus/core.h           |   8 +
 drivers/media/platform/qcom/venus/pm_helpers.c     | 187 ++++++++++++++++++---
 drivers/media/platform/qcom/venus/vdec.c           |  12 +-
 drivers/media/platform/qcom/venus/venc.c           |  12 +-
 10 files changed, 374 insertions(+), 32 deletions(-)
---
base-commit: 936c21068d7ade00325e40d82bfd2f3f29d9f659
change-id: 20260416-msm8939-venus-rfc-c025c4c74fae

Best regards,
--  
Erikas Bitovtas <xerikasxx@gmail.com>


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2026-04-17 23:40 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-16 13:43 [PATCH RFC 00/10] media: qcom: venus: add MSM8939 support Erikas Bitovtas
2026-04-16 13:43 ` [PATCH RFC 01/10] media: dt-bindings: venus: Add qcom,msm8939 schema Erikas Bitovtas
2026-04-16 13:43 ` [PATCH RFC 02/10] media: venus: add pmdomains to the struct based on the purpose of cores Erikas Bitovtas
2026-04-16 13:43 ` [PATCH RFC 03/10] media: venus: core: Add msm8939 resource struct Erikas Bitovtas
2026-04-17 23:32   ` Dmitry Baryshkov
2026-04-16 13:43 ` [PATCH RFC 04/10] arm64: dts: qcom: msm8939: Add venus node Erikas Bitovtas
2026-04-16 14:31   ` Bryan O'Donoghue
2026-04-16 13:43 ` [PATCH RFC 05/10] arm64: dts: qcom: msm8939-longcheer-l9100: Enable " Erikas Bitovtas
2026-04-16 15:17   ` Konrad Dybcio
2026-04-16 13:43 ` [PATCH RFC 06/10] arm64: dts: qcom: msm8939-asus-z00t: add Venus Erikas Bitovtas
2026-04-16 15:17   ` Konrad Dybcio
2026-04-16 16:57     ` Erikas Bitovtas
2026-04-17 23:40       ` Dmitry Baryshkov
2026-04-16 13:43 ` [PATCH RFC 07/10] clk: qcom: gcc-msm8939: mark Venus core GDSCs as hardware controlled Erikas Bitovtas
2026-04-16 15:21   ` Konrad Dybcio
2026-04-16 13:43 ` [PATCH RFC 08/10] media: venus: move getting vdec and venc for later Erikas Bitovtas
2026-04-16 14:33   ` Bryan O'Donoghue
2026-04-16 13:43 ` [PATCH RFC 09/10] media: qcom: venus: Move HFI v3 venc and vdec methods to HFI v1 Erikas Bitovtas
2026-04-16 13:43 ` [PATCH RFC 10/10] media: venus: add power domain enable logic for Venus cores Erikas Bitovtas
2026-04-16 13:52 ` [PATCH RFC 00/10] media: qcom: venus: add MSM8939 support Konrad Dybcio
2026-04-16 17:00   ` Erikas Bitovtas
2026-04-17 23:37 ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox