AnsweredAssumed Answered

Bug in busfreq driver

Question asked by Maxim Kuk on Apr 25, 2018
Latest reply on Apr 26, 2018 by Maxim Kuk

Hello!

On our custom board (imx6d + lpddr2, pop-package) we faced with kernel panic after some tome of work. After some reserces I detected that busfreq causes this.

 

The thing is that before change ddr frequancy, driver (in function "update_lpddr2_freq_smp") compares new freq value with current and if they equals it returns 0. After that driver configures clock parents and if frequancies not configured before it (because update_lpddr2_freq_smp doesn't actually work) system crashes.

 

Some times in "update_lpddr2_freq_smp" curr_ddr_rate doesn't changes after previous call. Make it volatile not help. If not check curr_ddr_rate - all works perfect.

 

Why curr_ddr_rate doesn't change sometimes? And do we need curr_ddr_rate if all other work doings unconditionally?

Outcomes