Re: [PATCH v6 0/8] media: qcom: venus: add MSM8939 support
Bryan O'Donoghue <[email protected]>
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
On 10/05/2026 10:47, Erikas Bitovtas wrote: > 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 v6: > - Added a more generic mechanism on blacklisting codecs. > - Reworded a commit for setting Venus core GDSCs to hardware controlled. > - Reworded a commit for adding HEVC decoding to MSM8939. > - Link to v5: https://patch.msgid.link/[email protected] Since you've indicated you are doing a v7 here's some more feedback on v6. - A clear description of what has been tested and verified as working on each core. I think we got lost in the weeds of discussing the GDSC change, when what I was trying to understand was the bitmap of working encoder/decoder, what is particular to each core. - HEVC decoder only works on 8939 afaict so there's no sense in trying to make it do encoder - Ideally we have one node that works as an encoder and one as a decoder - which is pretty standard and normal on this genration of hardware. - If that is not possible then decoder/decoder is also acceptable with the caveat that the declared list of decoder formats should be true from the perspective of user-space. We discussed blacklisting/whitelist particular codes, that's up to you to decide in your submission. For my part I think a list is better than a strcmp() as you never know how complex the logic might end up getting. > > Changes in v5: > - Undid the merge of vcodec_clks, they are split back to > vcodec{0,1}_clks now. > - Extracted a dev_pm_domain_attach_list() call into a function of its > own to reduce nesting. > - Added missing "power-domain-names" required property to device tree > binding. > - Renamed vcodec clocks and power domains to match other Venus bindings. > - Reordered commits and grouped them by subsystems. Now first come DTB > patches, then clock, then media. > - Removed "status = "disabled"" in the device tree example. > - Link to v4: https://patch.msgid.link/[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 > arm64: dts: qcom: msm8939: Add venus node > arm64: dts: qcom: msm8939-longcheer-l9100: Enable venus node > media: qcom: venus: Add msm8939 resource struct > > Erikas Bitovtas (4): > 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: add codec blacklist mechanism > > .../bindings/media/qcom,msm8939-venus.yaml | 79 +++++++++++ > 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 | 23 ++++ > drivers/clk/qcom/gcc-msm8939.c | 4 + > drivers/media/platform/qcom/venus/core.c | 47 +++++++ > drivers/media/platform/qcom/venus/core.h | 2 + > drivers/media/platform/qcom/venus/hfi_parser.c | 10 +- > drivers/media/platform/qcom/venus/pm_helpers.c | 149 ++++++++++++++++++++- > 9 files changed, 321 insertions(+), 9 deletions(-) > --- > base-commit: e98d21c170b01ddef366f023bbfcf6b31509fa83 > change-id: 20260416-msm8939-venus-rfc-c025c4c74fae > > Best regards, > -- > Erikas Bitovtas <[email protected]> >