R7500v2 kernel 4.19 test

I'm not sure how your building but if your using git, take a look at the dtsi file the build_dir to make sure git is doing what you expect.

i'm using my buildroot and I manually edit the dtsi and then recompile

The dtsi is present in target/linux/ipq806x/files-4.19

yes that was a pretty rough definition of the result....

my system locked... the actual dmesg on a stock debug level varies.... more tests seem to indicate it has nothing to do with usb at all.....

i've now run the same test on a clean source tree... so i'm a little more confident... it's not something specific to any one thing i've "not" done...

i just think that use apq register or voltage on ipq8064 is good (or it doesn't cause a crash) while ipq8065 use different register and this cause just a system lockup... (as this is related to power management, a wrong register can easly put the cpu in reset mode or just switch it off.... and cause the freze)

1 Like

Actually, I take that back. the dtsi is fine as it is in my git tree and this is what is in my build_dir. What did you fix?

this is wrong

the okay part

If you don't mind...

can you cut and paste your before and after edits in your build_dir dtsi file?

EDIT related to cpuidle only please.

Just this

 idle-states {                                                   
                        CPU_SPC: spc {                                          
                                compatible = "qcom,idle-state-spc",             
                                                "arm,idle-state";
                                status = "okay"
                                entry-latency-us = <400>;                       
                                exit-latency-us = <900>;                        
                                min-residency-us = <3000>;                      
                        };    

There is an error in status = "okay" <----- ( a ; is lost)

that's all

hmm, adding the semicolon is necessary.

Just had a thought. change

status = "okay";

to

status = "disabled";

under the "CPU_SPC: spc" node, compile and try again. This should get you wfi cpuidle (like on 4.14) but disable spc (used via scm.c).

will but then why ipq8064 works?


compiling....

well get there, lest just try to narrow the problem a bit.

image ready... let's brick AHAHAH


very interesting...

with disabled it does work

idle-states {
			CPU_SPC: spc {
				compatible = "qcom,idle-state-spc",
						"arm,idle-state";
				status = "disabled";
				arm,psci-suspend-param = <0x40000002>;
				no-idle-on-init;
				entry-latency-us = <400>;
				exit-latency-us = <900>;
				min-residency-us = <3000>;
			};
		};

what does

cat /sys/devices/system/cpu/cpu1/cpuidle/state0/name
cat /sys/devices/system/cpu/cpu1/cpuidle/state0/usage

output?

root@No-Lag-Router:~# cat /sys/devices/system/cpu/cpu1/cpuidle/state0/name
WFI
root@No-Lag-Router:~# cat /sys/devices/system/cpu/cpu1/cpuidle/state0/usage
52165

why the arm,psci-* and no-idle-on-init? have you tried without these?

i can
if you want i can compile another image

yes please, before we go to far trying to get spc cpuidle working via some other means.

good news is you have working wfi cpu idle (and probably all that is needed unless we care about power and the environment).

Anyway i already tried spc without that 2 line but no luck...

ok, do we want spc on r7800 or not? I tried asking the kernel arm cpuidle people on irc. They responded (and were polite and helpful); but the essence of their response is that this is outside their scope.

well the real question is why spc works on ip8064 and NOT on ipq8065 ?

also why it did work in 4.14 and in 4.19 the router lock up ?