Re: [PATCH v5 5/8] clk: qcom: gcc-msm8939: mark Venus core GDSCs as hardware controlled
Erikas Bitovtas <[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 5/7/26 11:59 AM, Bryan O'Donoghue wrote: > On 07/05/2026 09:32, Erikas Bitovtas wrote: >> Since in downstream kernel VENUS_CORE0_GDSC and VENUS_CORE1_GDSC have a >> device tree property "qcom,supports-hw-trigger", add a HW_CTRL flag >> to these GDSCs to indicate that they are hardware controlled. > > This is a misreading/misunderstanding - supports-hw-trigger means the > GDSC is capable of being configured this way - not that it _must_ be > configured this way. > > Which leads me back to my previous point/feedback to you in the previous > cycle. > > If you _don't_ apply this patch, do you get different behaviour when > trying to switch on the encoder ? > Running the following ffmpeg command: ffmpeg -i Videos/big_buck_bunny_1080p_H264_AAC_25fps_7200K.mp4 -input_format h264 -c:v vp8_v4l2m2m -pix_fmt nv12 big_buck_bunny_1080p_H264_AAC_25fps_7200K.vp8.mp4 Fails with: [vp8_v4l2m2m @ 0xffffb0386870] Using device /dev/video1 [vp8_v4l2m2m @ 0xffffb0386870] driver 'qcom-venus' on card 'Qualcomm Venus video encoder' in mplane mode [vp8_v4l2m2m @ 0xffffb0386870] requesting formats: output=NV12/nv12 capture=VP80/none [mp4 @ 0xffffb4b3b7e0] Could not find tag for codec vp8 in stream #0, codec not currently supported in container [out#0/mp4 @ 0xffffb4265e70] Could not write header (incorrect codec parameters ?): Invalid argument [vf#0:0 @ 0xffffb72105b0] Error sending frames to consumers: Invalid argument [vf#0:0 @ 0xffffb72105b0] Task finished with error code: -22 (Invalid argument) [vf#0:0 @ 0xffffb72105b0] Terminating thread with return code -22 (Invalid argument) If I revert the patch, both decoder and encoder fail. This time, encoder fails with the following error: [vp8_v4l2m2m @ 0xffff8d356870] Could not find a valid device [vp8_v4l2m2m @ 0xffff8d356870] can't configure encoder [vost#0:0/vp8_v4l2m2m @ 0xffff91b3ba80] [enc:vp8_v4l2m2m @ 0xffff8eb78f40] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height. [vf#0:0 @ 0xffff941f25b0] Error sending frames to consumers: Invalid argument [vf#0:0 @ 0xffff941f25b0] Task finished with error code: -22 (Invalid argument) [vf#0:0 @ 0xffff941f25b0] Terminating thread with return code -22 (Invalid argument) [vost#0:0/vp8_v4l2m2m @ 0xffff91b3ba80] [enc:vp8_v4l2m2m @ 0xffff8eb78f40] Could not open encoder before EOF [vost#0:0/vp8_v4l2m2m @ 0xffff91b3ba80] Task finished with error code: -22 (Invalid argument) [vost#0:0/vp8_v4l2m2m @ 0xffff91b3ba80] Terminating thread with return code -22 (Invalid argument) [out#0/mp4 @ 0xffff91265e70] Nothing was written into output file, because at least one of its streams received no packets. >> Venus core clock cannot be enabled if Venus core GDSCs are switched off. > > True. > >> But since they are hardware controlled > > False. Your patch makes it so. > > The question is, is that change actually required and/or beneficial here ? > > they can be switched off at >> any moment. Vote for the Venus core clock to enable it later when GDSCs >> get turned on.