clk: ti: omap3+: dpll: use non-locking version of clk_get_rate
Subsystems (2)
PATCH v2 1/1 clk: ti: omap3+: dpll: use non-locking version of clk_get_rate
As the code in this file is being executed within irq context in some cases, we must avoid the clk_get_rate which uses mutex internally. Switch the code to use clk_hw_get_rate instead which is non-locking.
This fixes an issue where PM runtime will hang the system if enabled with a serial console before a suspend-resume cycle.
---
v2: updated commit desc slightly. This patch is still needed as it
should go in as an -rc fix
drivers/clk/ti/dpll3xxx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/clk/ti/dpll3xxx.c +2 -1
@@ -460,7 +460,8 @@ int omap3_noncore_dpll_enable(struct clk_hw *hw) parent =clk_hw_get_parent (hw); -if (clk_hw_get_rate (hw) ==clk_get_rate (dd->clk_bypass)) { +if (clk_hw_get_rate (hw) == +clk_hw_get_rate (__clk_get_hw (dd->clk_bypass))) {WARN_ON (parent !=__clk_get_hw (dd->clk_bypass)); r =_omap3_noncore_dpll_bypass (clk); }else {
Signature · 1 line
1.7.9.5
PATCH v2 1/1 clk: ti: omap3+: dpll: use non-locking version of clk_get_rate
Quoted 6 lines · Tero Kristo
As the code in this file is being executed within irq context in some cases, we must avoid the
clk_get_ratewhich uses mutex internally. Switch the code to useclk_hw_get_rateinstead which is non-locking.This fixes an issue where PM runtime will hang the system if enabled with a serial console before a suspend-resume cycle.
Can you please add the "Fixes: " line here?
And when applying, please tag this one Cc stable.
Other than that, please feel free to add:
Regards,
Tony
PATCH v2 1/1 clk: ti: omap3+: dpll: use non-locking version of clk_get_rate
Quoted 8 lines · Tony Lindgren
Quoted 6 lines · Tero Kristo
As the code in this file is being executed within irq context in some cases, we must avoid the
clk_get_ratewhich uses mutex internally. Switch the code to useclk_hw_get_rateinstead which is non-locking.This fixes an issue where PM runtime will hang the system if enabled with a serial console before a suspend-resume cycle.
Quoted 8 lines
Can you please add the "Fixes: " line here?
And when applying, please tag this one Cc stable.
Other than that, please feel free to add:
Tested-by Tony Lindgren <[email protected]>
This is what I got. "Fixes" should take care of stable.
From: Tero Kristo <[email protected]>
Subject: [PATCH] clk: ti: omap3+: dpll: use non-locking version of
clk_get_rate
As the code in this file is being executed within irq context in some cases, we must avoid the clk_get_rate which uses mutex internally. Switch the code to use clk_hw_get_rate instead which is non-locking.
This fixes an issue where PM runtime will hang the system if enabled with a serial console before a suspend-resume cycle.
--- drivers/clk/ti/dpll3xxx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/clk/ti/dpll3xxx.c +2 -1
@@ -460,7 +460,8 @@ int omap3_noncore_dpll_enable(struct clk_hw *hw) parent =clk_hw_get_parent (hw); -if (clk_hw_get_rate (hw) ==clk_get_rate (dd->clk_bypass)) { +if (clk_hw_get_rate (hw) == +clk_hw_get_rate (__clk_get_hw (dd->clk_bypass))) {WARN_ON (parent !=__clk_get_hw (dd->clk_bypass)); r =_omap3_noncore_dpll_bypass (clk); }else {
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v2 1/1 clk: ti: omap3+: dpll: use non-locking version of clk_get_rate
Quoted 11 lines · Stephen Boyd
Quoted 10 lines · Tony Lindgren
Quoted 6 lines · Tero Kristo
As the code in this file is being executed within irq context in some cases, we must avoid the
clk_get_ratewhich uses mutex internally. Switch the code to useclk_hw_get_rateinstead which is non-locking.This fixes an issue where PM runtime will hang the system if enabled with a serial console before a suspend-resume cycle.
Can you please add the "Fixes: " line here?
Quoted 8 lines
Quoted 6 lines
And when applying, please tag this one Cc stable.
Other than that, please feel free to add:
Tested-by Tony Lindgren <[email protected]>This is what I got. "Fixes" should take care of stable.
OK thanks!
Tony