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.
As per Dmitry's request, I am attaching Fluster results and v4l2-compliance output. Fluster results were very inconsistent and caused power collapse fails. H.264: https://pastebin.com/C15qeq5W H.265 (HEVC): https://pastebin.com/WDsnxvuk VP8: https://pastebin.com/egAgEm15 v4l2-compliance: https://pastebin.com/VpBhEFc1 Power collapse fail log: https://pastebin.com/rTivMcpK Signed-off-by: Erikas Bitovtas <[email protected]> --- Changes in v4: - Removed vcodec{0,1}_pmdomains and merged vcodec{0,1}_clks into vcodec_clks instead for MSM8939. - Inlined video decoder and encoder device tree nodes in the driver and removed them from the binding. - Kept vdec and venc methods for HFI v3 separate from HFI v1. - {vdec,venc}_get() are now called as early as before, since it is no longer needed for us to attach power domains to dev_dec and dev_enc. - Link to v3: https://patch.msgid.link/[email protected] Changes in v3: - Added missing vcodec1_clks to resource struct. - Removed enc_nodename from resource struct since we include video-decoder now. - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: - Enabled GDSCs during encoding as well. - Merged vcodec{0,1}_pmdomains_num into vcodec_pmdomains_num. - Reworded commit for marking GDSCs as hardware controlled. Same situation as in cdc59600bccf ("clk: qcom: gcc-msm8953: fix stuck venus0_core0 clock") - Clarified the reason for missing firmware-name property in device tree. - Clarified the reason for moving vdec_get and venc_get for later. - Link to v1: https://patch.msgid.link/[email protected] To: Bryan O'Donoghue <[email protected]> To: Vikash Garodia <[email protected]> To: Dikshita Agarwal <[email protected]> To: Mauro Carvalho Chehab <[email protected]> To: Rob Herring <[email protected]> To: Krzysztof Kozlowski <[email protected]> To: Conor Dooley <[email protected]> To: André Apitzsch <[email protected]> To: Erikas Bitovtas <[email protected]> To: Bjorn Andersson <[email protected]> To: Konrad Dybcio <[email protected]> To: Michael Turquette <[email protected]> To: Stephen Boyd <[email protected]> To: Brian Masney <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- André Apitzsch (4): media: dt-bindings: venus: Add qcom,msm8939 schema media: qcom: venus: Add msm8939 resource struct arm64: dts: qcom: msm8939: Add venus node arm64: dts: qcom: msm8939-longcheer-l9100: Enable venus node Erikas Bitovtas (5): media: qcom: venus: add common clocks used by both vdec and venc arm64: dts: qcom: msm8939-asus-z00t: add Venus clk: qcom: gcc-msm8939: mark Venus core GDSCs as hardware controlled media: qcom: venus: add power domain enable logic for Venus cores media: qcom: venus: Enable HEVC decoding for MSM8939 .../bindings/media/qcom,msm8939-venus.yaml | 75 ++++++++++++++++++++ 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 | 19 +++++ drivers/clk/qcom/gcc-msm8939.c | 4 ++ drivers/media/platform/qcom/venus/core.c | 42 ++++++++++++ drivers/media/platform/qcom/venus/core.h | 3 + drivers/media/platform/qcom/venus/hfi_parser.c | 3 +- drivers/media/platform/qcom/venus/pm_helpers.c | 80 +++++++++++++++++++++- 9 files changed, 239 insertions(+), 3 deletions(-) --- base-commit: 21060ea19dc56e72ca183c99e9b39e52c147bed4 change-id: 20260416-msm8939-venus-rfc-c025c4c74fae Best regards, -- Erikas Bitovtas <[email protected]>

