On Fri, 31 Dec 2021 at 07:48, Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > > HI, > > On Wed, 29 Dec 2021 at 07:12, Bjorn Andersson > <bjorn.andersson@xxxxxxxxxx> wrote: > > > > On Thu 25 Nov 20:35 CST 2021, Dmitry Baryshkov wrote: > > > > > In order to simplify DP code, drop hand-coded loops over clock arrays, > > > replacing them with clk_bulk_* functions. > > > > > > > I've yet to debug this, but applying the two patches and attaching an > > HDMI cable to my USB dongle results in the follwing splat on the 8350 > > HDK. > > Intersesting. The only major difference between original code and the > patches code in this function is the removal of `if (clk_arry[i].clk)` > condition in that function. Could yyou please check whether clocks are > properly parsed at the time you receive the hpd event? s/parsed/dp_power_clk_init called/ > > If we can not debug this issue, I'd then propose to merge first > patch and let somebody else rewrite dp_clk_util to use clk_bulk_data. > > > > > [ 39.658840] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 > > [ 39.667883] Mem abort info: > > [ 39.670774] ESR = 0x96000006 > > [ 39.673940] EC = 0x25: DABT (current EL), IL = 32 bits > > [ 39.679417] SET = 0, FnV = 0 > > [ 39.682582] EA = 0, S1PTW = 0 > > [ 39.685825] FSC = 0x06: level 2 translation fault > > [ 39.690851] Data abort info: > > [ 39.693838] ISV = 0, ISS = 0x00000006 > > [ 39.697797] CM = 0, WnR = 0 > > [ 39.700864] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010eb8d000 > > [ 39.707501] [0000000000000000] pgd=080000010f097003, p4d=080000010f097003, pud=080000010ba58003, pmd=0000000000000000 > > [ 39.718425] Internal error: Oops: 96000006 [#1] PREEMPT SMP > > [ 39.724169] Modules linked in: pmic_glink_altmode qcom_pmic_glink_power cfg80211 rfkill 8021q garp mrp stp llc microchip lan78xx snd_soc_hdmi_codec pmic_glink pdr_interface rpmsg_char qrtr_smd qrtr fsa4480 qcom_q6v5_pas qcom_pil_info i2c_qcom_geni qcom_q6v5 msm qcom_sysmon qcom_stats gpu_sched crct10dif_ce drm_kms_helper qcom_common qcom_glink_smem gpucc_sm8350 phy_qcom_qmp mdt_loader typec ufs_qcom qmi_helpers qcom_rng socinfo qnoc_sm8350 rmtfs_mem fuse drm ipv6 > > [ 39.766330] CPU: 0 PID: 85 Comm: kworker/0:3 Not tainted 5.16.0-rc5-next-20211215-00046-g2f90133452d9 #280 > > [ 39.776256] Hardware name: Qualcomm Technologies, Inc. SM8350 HDK (DT) > > [ 39.782969] Workqueue: events pmic_glink_altmode_worker [pmic_glink_altmode] > > [ 39.790235] pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) > > [ 39.797393] pc : __pi_strcmp+0x1c/0xf0 > > [ 39.801271] lr : dp_ctrl_set_clock_rate+0x8c/0xf0 [msm] > > [ 39.806737] sp : ffff800008adbbc0 > > [ 39.810153] x29: ffff800008adbbc0 x28: 0000000000000000 x27: 0000000000000000 > > [ 39.817501] x26: ffffb60107f74270 x25: ffff297a49b33c80 x24: 00000000202fbf00 > > [ 39.824846] x23: 0000000000000001 x22: ffff297a4b400580 x21: 0000000000000020 > > [ 39.832188] x20: ffffb600e3d78068 x19: 0000000000000000 x18: ffffffffffffffff > > [ 39.839541] x17: 6b6c63206e6f2030 x16: ffffb601063476c0 x15: 0720072007200720 > > [ 39.846893] x14: 0720072007200720 x13: ffffb60107c622c8 x12: 0000000000000765 > > [ 39.854229] x11: 0000000000000277 x10: 0101010101010101 x9 : ffffb60107c622c8 > > [ 39.861565] x8 : 00000000ffffefff x7 : 0000000000000000 x6 : ffffb60107cba2c8 > > [ 39.868902] x5 : 0000000000000000 x4 : ffff297cbe8619d8 x3 : 0000000000000000 > > [ 39.876240] x2 : 0000000000000000 x1 : ffffb600e3d78068 x0 : 0000000000000000 > > [ 39.883594] Call trace: > > [ 39.886124] __pi_strcmp+0x1c/0xf0 > > [ 39.889638] dp_ctrl_enable_mainlink_clocks+0x98/0x110 [msm] > > [ 39.895537] dp_ctrl_on_link+0x98/0x3f0 [msm] > > [ 39.900096] dp_display_process_hpd_high+0xa8/0x100 [msm] > > [ 39.905731] dp_display_usbpd_attention_cb+0x164/0x1a4 [msm] > > [ 39.911629] dp_hpd_oob_event+0x74/0xa4 [msm] > > [ 39.916195] dp_display_oob_hotplug_event+0x1c/0x2c [msm] > > [ 39.921831] dp_oob_hotplug_event+0x18/0x24 [msm] > > [ 39.926756] drm_connector_oob_hotplug_event+0x40/0x60 [drm] > > [ 39.932686] pmic_glink_altmode_worker+0x7c/0x194 [pmic_glink_altmode] > > [ 39.939398] process_one_work+0x1d0/0x350 > > [ 39.943526] worker_thread+0x13c/0x460 > > [ 39.947390] kthread+0x17c/0x190 > > [ 39.950722] ret_from_fork+0x10/0x20 > > [ 39.954416] Code: f24008ff 540003e1 f2400807 54000241 (f8408402) > > [ 39.960684] ---[ end trace 0000000000000000 ]--- > > > > Regards, > > Bjorn > > > > -- > With best wishes > Dmitry -- With best wishes Dmitry