Guys - I need some collective thinking....

I'm working on adding cpufreq support on h616 and can't overcome kernel 
traps when i'm modprobing sun50i_cpufreq_nvmem module. 
Module seems correctly read nvmem cpu speed bin but later traps are like 
this: https://pastebin.com/hrTrRvY5

Looking on trap log i see 
*"WARNING: CPU: 1 PID: 4709 at drivers/opp/core.c:1908 
dev_pm_opp_set_prop_name+0x94/0xa0".*
This seems to correspond to 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/opp/core.c?h=v5.12.10#n1878
I'm reading this as maybe issue of more than 1 updators are updating DT 
(i.e. like maybe multiple CPU doing in parallel?)

This sun50i_cpufreq_nvmem module loads ok on h6 - but traps on h616 with 
error code -17 (file exists). 
I started to think maybe root cause is: input data supplied to 
dev_pm_opp_set_prop_name is different between h6 and h616. So I made sure 
h616 cpu definitions in DT are exactly the same like in working h6. Used 
h616 opp table also is  as close as possible to working h6 (in fact i 
renamed h6 opp table & update only cpu Vcc fileds). With this module still 
traps.... 

Next I added in module code some printks:
printk("dev_pm_opp_set_prop_name for cpu:%d name:%s\n", cpu, name) 
before 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/cpufreq/sun50i-cpufreq-nvmem.c?h=v5.12.10#n114
; 

It prints exactly the same like in  working h6 and not working h616:

[  170.197292] speedbin from nvram:0

[  170.197321] dev_pm_opp_set_prop_name for cpu:0 name:speed0

[  170.197390] dev_pm_opp_set_prop_name for cpu:1 name:speed0

[  170.197418] dev_pm_opp_set_prop_name for cpu:2 name:speed0

[  170.197443] dev_pm_opp_set_prop_name for cpu:3 name:speed0
it looks to me like issue is dev_pm_opp_set_prop_name function is called 
multiple in parallel to update dt. Module loading error code -17 (file 
exist) might be logical here (updator1 meets already updated by updator2).  

For reference: DT with opp &  cpu defs i'm using is like this: 
https://pastebin.com/vqE9UFZu 

maybe you have some hints here?

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/c4a5a615-3361-4b84-83c2-2b4a5e46f6d2n%40googlegroups.com.

Reply via email to