Message ID | 1357851209-5332-1-git-send-email-jon-hunter@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Jon On Thu, 10 Jan 2013, Jon Hunter wrote: > During the migration to the common clock framework, calls to the > functions omap2xxx_clkt_vps_late_init() and > omap2xxx_clkt_vps_check_bootloader_rates() were not preserved for > OMAP2420 and OMAP2430. This causes the variables "sys_ck_rate" and > "curr_prcm_set" to be uninitialised on boot. On reboot, this causes the > following error message to be displayed because the appropriate MPU > clock frequency (derived from sys_ck_rate) cannot be found. > > "Could not set MPU rate to 4294MHz" I don't see this message on 2430sdp or n800 with v3.8-rc3, but maybe that's due to sys_clk differences. Do you still see this on v3.8-rc3 with H4? Also, there's already a call to omap2xxx_clkt_vps_check_bootloader_rates() -- is it necessary to add another one? - Paul
Hi Paul, On 01/17/2013 12:51 PM, Paul Walmsley wrote: > Hi Jon > > On Thu, 10 Jan 2013, Jon Hunter wrote: > >> During the migration to the common clock framework, calls to the >> functions omap2xxx_clkt_vps_late_init() and >> omap2xxx_clkt_vps_check_bootloader_rates() were not preserved for >> OMAP2420 and OMAP2430. This causes the variables "sys_ck_rate" and >> "curr_prcm_set" to be uninitialised on boot. On reboot, this causes the >> following error message to be displayed because the appropriate MPU >> clock frequency (derived from sys_ck_rate) cannot be found. >> >> "Could not set MPU rate to 4294MHz" > > I don't see this message on 2430sdp or n800 with v3.8-rc3, but maybe > that's due to sys_clk differences. Do you still see this on v3.8-rc3 > with H4? Yes I still see it. You don't see it on reboot? The reason why there is such a large number is because omap2_round_to_table_rate() is returning the value -EINVAL. You could add a print to omap2_round_to_table_rate() to see what it returns on reboot. Or we could add a WARN to the function is sys_ck_rate is 0 for testing. > Also, there's already a call to omap2xxx_clkt_vps_check_bootloader_rates() > -- is it necessary to add another one? Thanks. I see that now and so that is not needed then. Cheers Jon
Hi Jon, On Thu, 17 Jan 2013, Jon Hunter wrote: > Yes I still see it. You don't see it on reboot? Ah that's probably explains the discrepancy - I missed the part about the reboot. > The reason why there is such a large number is because > omap2_round_to_table_rate() is returning the value -EINVAL. You could > add a print to omap2_round_to_table_rate() to see what it returns on > reboot. Or we could add a WARN to the function is sys_ck_rate is 0 for > testing. > > > Also, there's already a call to omap2xxx_clkt_vps_check_bootloader_rates() > > -- is it necessary to add another one? > > Thanks. I see that now and so that is not needed then. OK, I'll queue your patch for 3.8-rc fixes, dropping the omap2xxx_clkt_vps_check_bootloader_rates() calls. - Paul
diff --git a/arch/arm/mach-omap2/cclock2420_data.c b/arch/arm/mach-omap2/cclock2420_data.c index 7e5febe..0dadfb9 100644 --- a/arch/arm/mach-omap2/cclock2420_data.c +++ b/arch/arm/mach-omap2/cclock2420_data.c @@ -1935,8 +1935,13 @@ int __init omap2420_clk_init(void) omap2_init_clk_hw_omap_clocks(c->lk.clk); } + omap2xxx_clkt_vps_late_init(); + omap2_clk_disable_autoidle_all(); + /* XXX Can this be done from the virt_prcm_set clk init function? */ + omap2xxx_clkt_vps_check_bootloader_rates(); + omap2_clk_enable_init_clocks(enable_init_clks, ARRAY_SIZE(enable_init_clks)); diff --git a/arch/arm/mach-omap2/cclock2430_data.c b/arch/arm/mach-omap2/cclock2430_data.c index eda079b..722ff84 100644 --- a/arch/arm/mach-omap2/cclock2430_data.c +++ b/arch/arm/mach-omap2/cclock2430_data.c @@ -2050,8 +2050,13 @@ int __init omap2430_clk_init(void) omap2_init_clk_hw_omap_clocks(c->lk.clk); } + omap2xxx_clkt_vps_late_init(); + omap2_clk_disable_autoidle_all(); + /* XXX Can this be done from the virt_prcm_set clk init function? */ + omap2xxx_clkt_vps_check_bootloader_rates(); + omap2_clk_enable_init_clocks(enable_init_clks, ARRAY_SIZE(enable_init_clks));
During the migration to the common clock framework, calls to the functions omap2xxx_clkt_vps_late_init() and omap2xxx_clkt_vps_check_bootloader_rates() were not preserved for OMAP2420 and OMAP2430. This causes the variables "sys_ck_rate" and "curr_prcm_set" to be uninitialised on boot. On reboot, this causes the following error message to be displayed because the appropriate MPU clock frequency (derived from sys_ck_rate) cannot be found. "Could not set MPU rate to 4294MHz" Fix this by adding back calls to omap2xxx_clkt_vps_late_init() and omap2xxx_clkt_vps_check_bootloader_rates() in the OMAP2420 and OMAP2430 clock initialisation code. Signed-off-by: Jon Hunter <jon-hunter@ti.com> --- Tested on OMAP2420 H4 board only. arch/arm/mach-omap2/cclock2420_data.c | 5 +++++ arch/arm/mach-omap2/cclock2430_data.c | 5 +++++ 2 files changed, 10 insertions(+)