Re: [PATCH v3 3/3] clk: qcom: add SM8550 DISPCC driver

From: neil . armstrong
Date: Tue Oct 03 2023 - 03:17:01 EST


Hi,

On 03/10/2023 04:17, Sophon Wu wrote:
On 09/01/2023 16:47, Neil Armstrong wrote:

Add support for the display clock controller found in SM8550
based devices.

This clock controller feeds the Multimedia Display SubSystem (MDSS).
This driver is based on the SM8450 support.

Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
---

Hi Neil,

I'm trying to enable display on SM8550 but having trouble with clocks. Do you
have any idea on this maybe? Full dmesg here: https://bpa.st/7E6Q

You may need to remove the cont-splash memory zone and the simple-framebuffer,
if you leave the cont-splash the bootloader will leave the MDSS on and Linux
will fail to take over and initialize the clocks.

This is known issue, and for now we re-initialize everything from Linux after
ABL disables the display subsystem entirely.

Neil


Regards,
Xilin

------------[ cut here ]------------
disp_cc_mdss_mdp_clk_src: rcg didn't update its configuration.
WARNING: CPU: 4 PID: 73 at drivers/clk/qcom/clk-rcg2.c:133
update_config+0xd4/0xf0
Modules linked in:
CPU: 4 PID: 73 Comm: kworker/u16:2 Tainted: G S
6.6.0-rc3-next-20230929-00006-g019d41d2e78e-dirty #252
d692e32c53d7001f1537e28f80b45291db95a48f
Hardware name: AYN Odin 2 (DT)
Workqueue: events_unbound deferred_probe_work_func
pstate: 614000c5 (nZCv daIF +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
pc : update_config+0xd4/0xf0
lr : update_config+0xd4/0xf0
sp : ffff8000861435d0
x29: ffff8000861435d0 x28: 0000000000000000 x27: 0000000000000000
x26: ffff0008011da0f4 x25: 0000000000000000 x24: 0000000000000000
x23: 0000000000000004 x22: ffff000804f0eac0 x21: ffff800082395f68
x20: ffff800085109c20 x19: 0000000000000000 x18: 0000000000000014
x17: 0000000043567dcd x16: 00000000c6ba16a0 x15: 0000000040b16970
x14: 0000000000000001 x13: 2e6e6f6974617275 x12: 6769666e6f632073
x11: 7469206574616470 x10: 752074276e646964 x9 : ffff8000801bfc5c
x8 : 2073746920657461 x7 : 6470752074276e64 x6 : 0000000000000010
x5 : 40000000ffff0254 x4 : ffff8000848907d0 x3 : 00000000ffffffff
x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000801320000
Call trace:
update_config+0xd4/0xf0
clk_rcg2_shared_enable+0x58/0x98
clk_core_enable+0x78/0x1f8
clk_core_enable+0x58/0x1f8
clk_enable+0x34/0x60
clk_bulk_enable+0x54/0xe8
msm_mdss_enable+0xac/0x250
mdss_runtime_resume+0x3c/0x58
pm_generic_runtime_resume+0x34/0x58
__genpd_runtime_resume+0x38/0x90
genpd_runtime_resume+0x11c/0x2b0
__rpm_callback+0x50/0x1f0
rpm_callback+0x74/0x88
rpm_resume+0x534/0x760
__pm_runtime_resume+0x64/0xc0
__device_attach+0x8c/0x1c0
device_initial_probe+0x1c/0x30
bus_probe_device+0xb4/0xc0
device_add+0x64c/0x848
of_device_add+0x4c/0x70
of_platform_device_create_pdata+0x94/0x130
of_platform_bus_create+0x188/0x4c8
of_platform_populate+0x60/0x160
mdss_probe+0x278/0x398
platform_probe+0x70/0xd8
really_probe+0x190/0x3d8
__driver_probe_device+0x84/0x180
driver_probe_device+0x44/0x120
__device_attach_driver+0xc4/0x168
bus_for_each_drv+0x8c/0xf0
__device_attach+0xa4/0x1c0
device_initial_probe+0x1c/0x30
bus_probe_device+0xb4/0xc0
deferred_probe_work_func+0xbc/0x118
process_one_work+0x154/0x3c8
worker_thread+0x2bc/0x3e0
kthread+0x118/0x128
ret_from_fork+0x10/0x20
---[ end trace 0000000000000000 ]---
Failed to enable clk '(null)': -16
msm-mdss ae00000.display-subsystem: clock enable failed, ret:-16
------------[ cut here ]------------
disp_cc_mdss_ahb_clk status stuck at 'off'
WARNING: CPU: 4 PID: 73 at drivers/clk/qcom/clk-branch.c:86
clk_branch_wait+0x148/0x168
Modules linked in:
CPU: 4 PID: 73 Comm: kworker/u16:2 Tainted: G S W
6.6.0-rc3-next-20230929-00006-g019d41d2e78e-dirty #252
d692e32c53d7001f1537e28f80b45291db95a48f
Hardware name: AYN Odin 2 (DT)
Workqueue: events_unbound deferred_probe_work_func
pstate: 614000c5 (nZCv daIF +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
pc : clk_branch_wait+0x148/0x168
lr : clk_branch_wait+0x148/0x168
sp : ffff800086143650
x29: ffff800086143650 x28: 0000000000000000 x27: 0000000000000000
x26: 0000000000000000 x25: ffff000a7e7b50d8 x24: ffff80008517ac90
x23: ffff800082395ed0 x22: 0000000000000001 x21: ffff800080bb09f0
x20: 0000000000000000 x19: ffff8000851094d0 x18: 0000000000000006
x17: 0000000000000000 x16: 0000000000000020 x15: 0000000000000002
x14: 0000000000000001 x13: 0000000000000004 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000020 x9 : ffff8000801bfc5c
x8 : 0000000000000020 x7 : 00000000ffffffff x6 : 0000000000000000
x5 : 0000000000000050 x4 : ffff800083df7e80 x3 : 00000000ffffffff
x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000801320000
Call trace:
clk_branch_wait+0x148/0x168
clk_branch2_enable+0x38/0x50
clk_core_enable+0x78/0x1f8
clk_enable+0x34/0x60
dsi_phy_enable_resource+0x98/0xb8
dsi_phy_driver_probe+0x26c/0x408
platform_probe+0x70/0xd8
really_probe+0x190/0x3d8
__driver_probe_device+0x84/0x180
driver_probe_device+0x44/0x120
__device_attach_driver+0xc4/0x168
bus_for_each_drv+0x8c/0xf0
__device_attach+0xa4/0x1c0
device_initial_probe+0x1c/0x30
bus_probe_device+0xb4/0xc0
device_add+0x64c/0x848
of_device_add+0x4c/0x70
of_platform_device_create_pdata+0x94/0x130
of_platform_bus_create+0x188/0x4c8
of_platform_populate+0x60/0x160
mdss_probe+0x278/0x398
platform_probe+0x70/0xd8
really_probe+0x190/0x3d8
__driver_probe_device+0x84/0x180
driver_probe_device+0x44/0x120
__device_attach_driver+0xc4/0x168
bus_for_each_drv+0x8c/0xf0
__device_attach+0xa4/0x1c0
device_initial_probe+0x1c/0x30
bus_probe_device+0xb4/0xc0
deferred_probe_work_func+0xbc/0x118
process_one_work+0x154/0x3c8
worker_thread+0x2bc/0x3e0
kthread+0x118/0x128
ret_from_fork+0x10/0x20
---[ end trace 0000000000000000 ]---
msm_dsi_phy ae97000.phy: [drm:dsi_phy_enable_resource] *ERROR*
dsi_phy_enable_resource: can't enable ahb clk, -16
msm_dsi_phy: probe of ae97000.phy failed with error -16