On 4/16/26 5:31 PM, Bryan O'Donoghue wrote:
> On 16/04/2026 14:43, 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>;
>
> This doesn't make sense.
>
> You have two cores => assign one to encoder and the other to decoder.
>
This way during decode only one of the cores gets powered up instead of
both, resulting in power collapse fails.
Core clocks and power domains can be moved into Venus node instead of
sub-nodes, like this:
venus: video-codec@1d00000 {
compatible = "qcom,msm8939-venus";
reg = <0x01d00000 0xff000>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
<&gcc GCC_VENUS0_AHB_CLK>,
<&gcc GCC_VENUS0_AXI_CLK>,
<&gcc GCC_VENUS0_CORE0_VCODEC0_CLK>,
<&gcc GCC_VENUS0_CORE1_VCODEC0_CLK>;
clock-names = "core",
"iface",
"bus",
"core0",
"core1";
power-domains = <&gcc VENUS_GDSC>,
<&gcc VENUS_C0RE0_GDSC>,
<&gcc VENUS_CORE1_GDSC>;
power-domain-names = "venus", "core0", "core1";
};
And then they can be powered up regardless if the session is for
encoding or decoding.
My first question was actually about this - whether these cores should
be powered up only decoding or for encoding as well. Bus configs
downstream signify they are only for decoding:
https://github.com/msm8916-mainline/linux-downstream/blob/b20608408caff817ec874f325127b07609fbaeb8/arch/arm/boot/dts/qcom/msm8939-common.dtsi#L1589
https://github.com/msm8916-mainline/linux-downstream/blob/b20608408caff817ec874f325127b07609fbaeb8/Documentation/devicetree/bindings/media/video/msm-vidc.txt#L35
Unfortunately, I couldn't test encoding on my device. It appears to be
broken.
- [PATCH RFC 08/10] media: venus: move getting vdec and ven... Erikas Bitovtas
- Re: [PATCH RFC 08/10] media: venus: move getting vde... Bryan O'Donoghue
- [PATCH RFC 07/10] clk: qcom: gcc-msm8939: mark Venus core... Erikas Bitovtas
- Re: [PATCH RFC 07/10] clk: qcom: gcc-msm8939: mark V... Konrad Dybcio
- [PATCH RFC 09/10] media: qcom: venus: Move HFI v3 venc an... Erikas Bitovtas
- [PATCH RFC 01/10] media: dt-bindings: venus: Add qcom,msm... Erikas Bitovtas
- [PATCH RFC 03/10] media: venus: core: Add msm8939 resourc... Erikas Bitovtas
- Re: [PATCH RFC 03/10] media: venus: core: Add msm893... Dmitry Baryshkov
- [PATCH RFC 04/10] arm64: dts: qcom: msm8939: Add venus no... Erikas Bitovtas
- Re: [PATCH RFC 04/10] arm64: dts: qcom: msm8939: Add... Bryan O'Donoghue
- Re: [PATCH RFC 04/10] arm64: dts: qcom: msm8939:... Erikas Bitovtas
- Re: [PATCH RFC 04/10] arm64: dts: qcom: msm8... Konrad Dybcio
- [PATCH RFC 05/10] arm64: dts: qcom: msm8939-longcheer-l91... Erikas Bitovtas
- Re: [PATCH RFC 05/10] arm64: dts: qcom: msm8939-long... Konrad Dybcio
- [PATCH RFC 06/10] arm64: dts: qcom: msm8939-asus-z00t: ad... Erikas Bitovtas
- Re: [PATCH RFC 06/10] arm64: dts: qcom: msm8939-asus... Konrad Dybcio
- Re: [PATCH RFC 06/10] arm64: dts: qcom: msm8939-... Erikas Bitovtas
- Re: [PATCH RFC 06/10] arm64: dts: qcom: msm8... Dmitry Baryshkov
- Re: [PATCH RFC 06/10] arm64: dts: qcom: ... André Apitzsch
- Re: [PATCH RFC 06/10] arm64: dts: q... Dmitry Baryshkov
- Re: [PATCH RFC 00/10] media: qcom: venus: add MSM8939 sup... Konrad Dybcio

