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>
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
Subject: Re: [PATCH RFC v3 04/11] arm64: dts: qcom: msm8939: Add venus node
Date: Tue, 28 Apr 2026 14:36:47 +0100 [thread overview]
Message-ID: <2846fc60-bf8c-43b3-ae64-58faad6aed2f@kernel.org> (raw)
In-Reply-To: <34627be5-75cc-469b-af23-f1f08ce29820@gmail.com>
On 28/04/2026 10:47, Erikas Bitovtas wrote:
>
>
> On 4/28/26 10:10 AM, Bryan O'Donoghue wrote:
>> On 27/04/2026 18:58, Erikas Bitovtas wrote:
>>> + video-decoder {
>>> + compatible = "venus-decoder";
>>> + clocks = <&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>,
>>> + <&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>;
>>> + clock-names = "core0", "core1";
>>> + power-domains = <&gcc VENUS_CORE0_GDSC>,
>>> + <&gcc VENUS_CORE1_GDSC>;
>>> + power-domain-names = "core0", "core1";
>>> + };
>>> +
>>> + video-encoder {
>>> + compatible = "venus-encoder";
>>> + clocks = <&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>,
>>> + <&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>;
>>> + clock-names = "core0", "core1";
>>> + power-domains = <&gcc VENUS_CORE0_GDSC>,
>>> + <&gcc VENUS_CORE1_GDSC>;
>>> + power-domain-names = "core0", "core1";
>>> + };
>>
>> So to be fair in this case you do have a reason to have an encoder and
>> decoder compatible here _but_ it should be the case that one one of the
>> sub-devices contains CORE0 related stuff and the other CORE1 related stuff.
>>
>> Because in that case the sub-devices actually represent individual
>> hardware settings.
>>
>> So listing power-domains and clocks for both cores in each node like
>> this militates against that.
>>
>> The other thing is to double check of the encoder and decoder are inter-
>> changable here i.e. can either core be encoder or decoder or is it fixed ?
>>
>> I believe on older generations - perhaps not on 8939 it is not
>> interchangable.
>>
> I found this in LA.BR.1.2.9.1_rb1.5:
> https://github.com/msm8916-mainline/linux-downstream/blob/b20608408caff817ec874f325127b07609fbaeb8/arch/arm/boot/dts/qcom/msm8939-common.dtsi#L1589
> Only decoder bits are being set in bus configs. This suggests that the
> cores are not interchangeable.
> Then again, I never managed to get encoding working on MSM8939. Testing
> it with
> gst-launch-1.0 videotestsrc ! videoconvert ! v4l2vp8enc ! queue !
> v4l2vp8dec ! xvimagesink
> Fails with the following log: https://pastebin.com/nmZcLgPV
> And in dmesg it reports a firmware error:
> [ 784.461031] qcom-venus 1d00000.video-codec: no valid instance(pkt
> session_id:dead, pkt:21001)
> [ 784.461126] qcom-venus-decoder 1d00000.video-codec:video-decoder:
> dec: event session error 0
> [ 784.461200] qcom-venus-encoder 1d00000.video-codec:video-encoder:
> enc: event session error 0
> [ 784.468799] qcom-venus 1d00000.video-codec: SFR message from FW:
> QC_IMAGE_VERSION_STRING=VIDEO.VE.1.8-00099, Err_Fatal -
> Z:\b\venus\utils\src\vbuffer.c:1319:
> [ 785.791641] qcom-venus 1d00000.video-codec: System error has
> occurred, recovery failed to init HFI
> [ 787.018339] qcom-venus 1d00000.video-codec: System error has
> occurred, recovery failed to init HFI
> [ 787.097253] qcom-venus 1d00000.video-codec: system error has occurred
> (recovered)
> This happens regardless of whether I enable the cores for encoding too
> or not. The same errors were happening on MSM8916 as well. So I can't
> tell if these cores are interchangeable just by testing.
Right so if you swap around the definition of which core is encoder and
which decoder do you get the same or different result ?
i.e. is it because you are trying to get encoder running generally or
because of the core you are doing it on ?
How about declaring both cores a decoder ?
---
bod
next prev parent reply other threads:[~2026-04-28 13:36 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-27 17:58 [PATCH RFC v3 00/11] media: qcom: venus: add MSM8939 support Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 01/11] media: dt-bindings: venus: Add qcom,msm8939 schema Erikas Bitovtas
2026-04-28 6:58 ` Bryan O'Donoghue
2026-04-27 17:58 ` [PATCH RFC v3 02/11] media: qcom: venus: add pmdomains to the struct based on the purpose of cores Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 03/11] media: qcom: venus: Add msm8939 resource struct Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 04/11] arm64: dts: qcom: msm8939: Add venus node Erikas Bitovtas
2026-04-28 7:10 ` Bryan O'Donoghue
2026-04-28 9:47 ` Erikas Bitovtas
2026-04-28 13:36 ` Bryan O'Donoghue [this message]
2026-04-27 17:58 ` [PATCH RFC v3 05/11] arm64: dts: qcom: msm8939-longcheer-l9100: Enable " Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 06/11] arm64: dts: qcom: msm8939-asus-z00t: add Venus Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 07/11] clk: qcom: gcc-msm8939: mark Venus core GDSCs as hardware controlled Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 08/11] media: qcom: venus: move getting vdec and venc for later Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 09/11] media: qcom: venus: Move HFI v3 venc and vdec methods to HFI v1 Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 10/11] media: qcom: venus: add power domain enable logic for Venus cores Erikas Bitovtas
2026-04-27 17:58 ` [PATCH RFC v3 11/11] media: qcom: venus: Enable HEVC decoding for MSM8939 Erikas Bitovtas
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=2846fc60-bf8c-43b3-ae64-58faad6aed2f@kernel.org \
--to=bod@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dikshita.agarwal@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