Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Bryan O'Donoghue <bod@kernel.org>
To: "Erikas Bitovtas" <xerikasxx@gmail.com>,
	"Vikash Garodia" <vikash.garodia@oss.qualcomm.com>,
	"Dikshita Agarwal" <dikshita.agarwal@oss.qualcomm.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"André Apitzsch" <git@apitzsch.eu>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Konrad Dybcio" <konradybcio@kernel.org>,
	"Michael Turquette" <mturquette@baylibre.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Brian Masney" <bmasney@redhat.com>
Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-clk@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht,
	phone-devel@vger.kernel.org,
	Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Subject: Re: [PATCH v6 0/8] media: qcom: venus: add MSM8939 support
Date: Tue, 12 May 2026 10:17:18 +0100	[thread overview]
Message-ID: <9deb4b13-be1c-4163-a421-bcf5f3babd29@kernel.org> (raw)
In-Reply-To: <20260510-msm8939-venus-rfc-v6-0-e69465375900@gmail.com>

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 <xerikasxx@gmail.com>
> ---
> 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/20260507-msm8939-venus-rfc-v5-0-d7b5ea2ce591@gmail.com

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/20260506-msm8939-venus-rfc-v4-0-994f5eb22acb@gmail.com
> 
> 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/20260427-msm8939-venus-rfc-v3-0-288195bb7917@gmail.com
> 
> 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/20260425-msm8939-venus-rfc-v2-0-f69e52b36207@gmail.com
> 
> 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/20260416-msm8939-venus-rfc-v1-0-a09fcf2c23df@gmail.com
> 
> To: Bryan O'Donoghue <bod@kernel.org>
> To: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
> To: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
> To: Mauro Carvalho Chehab <mchehab@kernel.org>
> To: Rob Herring <robh@kernel.org>
> To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> To: Conor Dooley <conor+dt@kernel.org>
> To: André Apitzsch <git@apitzsch.eu>
> To: Erikas Bitovtas <xerikasxx@gmail.com>
> To: Bjorn Andersson <andersson@kernel.org>
> To: Konrad Dybcio <konradybcio@kernel.org>
> To: Michael Turquette <mturquette@baylibre.com>
> To: Stephen Boyd <sboyd@kernel.org>
> To: Brian Masney <bmasney@redhat.com>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: linux-media@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-clk@vger.kernel.org
> 
> ---
> 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 <xerikasxx@gmail.com>
> 


      parent reply	other threads:[~2026-05-12  9:17 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <k-DF0RGht93wXW1P6HM3qlZuXIYqVpHIKYFu9l6z96km16C4l2xdRs_WRSg-CGedvnnjzaWo_VzIg05JKTNoIg==@protonmail.internalid>
2026-05-10  9:47 ` [PATCH v6 0/8] media: qcom: venus: add MSM8939 support Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 1/8] media: dt-bindings: venus: Add qcom,msm8939 schema Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 2/8] arm64: dts: qcom: msm8939: Add venus node Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 3/8] arm64: dts: qcom: msm8939-longcheer-l9100: Enable " Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 4/8] arm64: dts: qcom: msm8939-asus-z00t: add Venus Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 5/8] clk: qcom: gcc-msm8939: mark Venus core GDSCs as hardware controlled Erikas Bitovtas
2026-05-12 10:01     ` Konrad Dybcio
2026-05-10  9:47   ` [PATCH v6 6/8] media: qcom: venus: add power domain enable logic for Venus cores Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 7/8] media: qcom: venus: Add msm8939 resource struct Erikas Bitovtas
2026-05-10  9:47   ` [PATCH v6 8/8] media: qcom: venus: add codec blacklist mechanism Erikas Bitovtas
2026-05-12  9:17   ` Bryan O'Donoghue [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9deb4b13-be1c-4163-a421-bcf5f3babd29@kernel.org \
    --to=bod@kernel.org \
    --cc=andersson@kernel.org \
    --cc=bmasney@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dikshita.agarwal@oss.qualcomm.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=git@apitzsch.eu \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=phone-devel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=vikash.garodia@oss.qualcomm.com \
    --cc=xerikasxx@gmail.com \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox