Marc Gonzalez
9ff328de02
clk: qcom: mmcc-msm8998: fix venus clock issue
...
[ Upstream commit e20ae5ae9f0c843aded4f06f3d1cab7384789e92 ]
Right now, msm8998 video decoder (venus) is non-functional:
$ time mpv --hwdec=v4l2m2m-copy --vd-lavc-software-fallback=no --vo=null --no-audio --untimed --length=30 --quiet demo-480.webm
(+) Video --vid=1 (*) (vp9 854x480 29.970fps)
Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
[ffmpeg/video] vp9_v4l2m2m: output VIDIOC_REQBUFS failed: Connection timed out
[ffmpeg/video] vp9_v4l2m2m: no v4l2 output context's buffers
[ffmpeg/video] vp9_v4l2m2m: can't configure decoder
Could not open codec.
Software decoding fallback is disabled.
Exiting... (Quit)
Bryan O'Donoghue suggested the proper fix:
- Set required register offsets in venus GDSC structs.
- Set HW_CTRL flag.
$ time mpv --hwdec=v4l2m2m-copy --vd-lavc-software-fallback=no --vo=null --no-audio --untimed --length=30 --quiet demo-480.webm
(+) Video --vid=1 (*) (vp9 854x480 29.970fps)
Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
[ffmpeg/video] vp9_v4l2m2m: VIDIOC_G_FMT ioctl
[ffmpeg/video] vp9_v4l2m2m: VIDIOC_G_FMT ioctl
...
Using hardware decoding (v4l2m2m-copy).
VO: [null] 854x480 nv12
Exiting... (End of file)
real 0m3.315s
user 0m1.277s
sys 0m0.453s
NOTES:
GDSC = Globally Distributed Switch Controller
Use same code as mmcc-msm8996 with:
s/venus_gdsc/video_top_gdsc/
s/venus_core0_gdsc/video_subcore0_gdsc/
s/venus_core1_gdsc/video_subcore1_gdsc/
https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/caf_migration/kernel.lnx.4.4.r38-rel/include/dt-bindings/clock/msm-clocks-hwio-8996.h
https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/caf_migration/kernel.lnx.4.4.r38-rel/include/dt-bindings/clock/msm-clocks-hwio-8998.h
0x1024 = MMSS_VIDEO GDSCR (undocumented)
0x1028 = MMSS_VIDEO_CORE_CBCR
0x1030 = MMSS_VIDEO_AHB_CBCR
0x1034 = MMSS_VIDEO_AXI_CBCR
0x1038 = MMSS_VIDEO_MAXI_CBCR
0x1040 = MMSS_VIDEO_SUBCORE0 GDSCR (undocumented)
0x1044 = MMSS_VIDEO_SUBCORE1 GDSCR (undocumented)
0x1048 = MMSS_VIDEO_SUBCORE0_CBCR
0x104c = MMSS_VIDEO_SUBCORE1_CBCR
Fixes: d14b15b5931c2b ("clk: qcom: Add MSM8998 Multimedia Clock Controller (MMCC) driver")
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://lore.kernel.org/r/ff4e2e34-a677-4c39-8c29-83655c5512ae@freebox.fr
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:32:13 +02:00
..
2021-05-14 09:50:26 +02:00
2022-10-26 13:25:37 +02:00
2021-05-14 09:50:26 +02:00
2022-08-21 15:15:56 +02:00
2022-08-25 11:38:14 +02:00
2023-01-14 10:15:36 +01:00
2023-11-20 11:06:46 +01:00
2021-12-14 11:32:39 +01:00
2021-12-14 11:32:39 +01:00
2021-12-14 11:32:39 +01:00
2024-03-26 18:21:58 -04:00
2024-04-13 12:58:13 +02:00
2024-04-13 12:58:14 +02:00
2023-09-19 12:20:25 +02:00
2022-04-08 14:40:29 +02:00
2021-11-26 10:39:13 +01:00
2023-03-11 16:39:41 +01:00
2023-09-19 12:20:14 +02:00
2024-04-13 12:57:59 +02:00
2023-11-20 11:06:46 +01:00
2023-09-19 12:20:14 +02:00
2022-03-16 14:15:56 +01:00
2022-03-16 14:15:56 +01:00
2021-03-17 17:06:26 +01:00
2023-03-11 16:39:43 +01:00
2023-03-11 16:39:43 +01:00
2024-01-25 14:37:48 -08:00
2023-11-20 11:06:48 +01:00
2024-04-13 12:58:14 +02:00
2024-04-13 12:58:15 +02:00
2024-06-16 13:32:13 +02:00
2024-03-26 18:21:56 -04:00
2023-07-27 08:44:03 +02:00
2024-01-25 14:37:48 -08:00