Marc Gonzalez
b4825f5d21
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-12 11:03:29 +02:00
..
2022-04-22 19:01:20 -07:00
2023-05-11 23:03:32 +09:00
2022-03-11 18:22:15 -08:00
2022-06-10 14:51:35 +02:00
2022-09-30 14:20:56 -07:00
2023-07-19 16:21:30 +02:00
2022-08-19 14:50:24 -07:00
2022-10-04 10:54:14 -07:00
2024-03-26 18:20:50 -04:00
2024-02-05 20:12:57 +00:00
2023-02-14 19:11:52 +01:00
2023-11-20 11:51:56 +01:00
2022-03-11 18:13:24 -08:00
2024-06-12 11:03:28 +02:00
2024-03-26 18:20:46 -04:00
2023-05-11 23:03:40 +09:00
2024-02-05 20:12:56 +00:00
2022-09-30 17:46:30 -07:00
2022-10-03 12:34:32 -07:00
2022-09-28 18:35:45 -07:00
2023-06-21 16:00:57 +02:00
2024-06-12 11:03:29 +02:00
2022-02-15 17:06:37 +01:00
2024-06-12 11:03:29 +02:00
2024-01-20 11:50:06 +01:00
2024-06-12 11:03:27 +02:00
2022-10-17 14:07:11 -07:00
2023-11-28 17:07:10 +00:00
2022-10-10 10:37:58 +02:00
2023-10-06 14:56:47 +02:00
2022-12-31 13:33:04 +01:00
2022-03-10 18:17:33 -08:00
2022-06-09 15:34:08 -07:00
2022-07-04 21:59:30 +02:00
2024-05-17 11:56:02 +02:00
2024-03-06 14:45:05 +00:00
2023-11-20 11:51:57 +01:00
2022-03-11 19:29:02 -08:00
2022-05-18 13:34:03 -07:00
2021-12-07 12:25:29 -08:00
2023-11-28 17:07:16 +00:00
2023-02-25 11:25:39 +01:00
2023-07-19 16:21:30 +02:00
2024-03-26 18:20:53 -04:00
2024-01-25 15:27:36 -08:00
2022-07-14 10:35:44 -06:00
2022-10-10 20:37:50 -07:00
2022-03-15 09:56:12 -07:00
2022-09-29 17:55:26 -07:00
2022-10-03 14:12:15 -07:00
2022-01-06 17:46:56 -08:00
2022-08-16 12:46:26 +02:00
2023-07-19 16:21:32 +02:00
2022-03-11 18:13:24 -08:00
2022-09-15 09:32:11 -07:00
2023-05-11 23:03:33 +09:00
2022-08-16 12:46:26 +02:00
2023-08-30 16:11:06 +02:00
2022-09-15 09:31:40 -07:00
2022-04-26 11:17:47 -07:00
2022-07-29 16:44:08 -07:00
2022-09-29 17:55:29 -07:00
2022-03-11 18:22:15 -08:00
2022-01-24 17:22:53 -08:00
2021-12-08 11:19:20 +01:00
2021-12-02 17:27:48 -08:00
2022-06-10 14:51:35 +02:00
2022-10-03 14:14:02 -07:00
2022-02-09 13:00:45 +00:00
2022-08-22 16:04:00 -07:00
2022-04-22 19:28:08 -07:00
2022-06-10 14:51:35 +02:00
2022-04-25 15:49:20 -07:00
2022-08-19 14:24:27 -07:00
2023-11-20 11:51:57 +01:00
2022-08-19 14:35:43 -07:00
2022-08-19 14:41:47 -07:00
2024-06-12 11:03:28 +02:00
2023-11-20 11:52:03 +01:00
2022-08-16 12:46:26 +02:00
2022-04-22 19:28:08 -07:00
2022-08-16 12:46:26 +02:00
2024-01-25 15:27:36 -08:00
2022-08-16 12:46:26 +02:00
2021-11-02 14:29:17 -07:00
2021-12-15 22:45:48 -08:00
2022-01-24 17:17:31 -08:00
2022-09-24 19:12:32 +02:00
2023-07-19 16:21:32 +02:00
2023-07-19 16:21:17 +02:00
2022-10-03 14:13:29 -07:00
2024-05-17 11:56:09 +02:00
2022-09-30 14:50:11 -07:00
2023-09-13 09:42:23 +02:00
2022-09-30 17:34:35 -07:00