Re: [PATCH 2/3] clk: qcom: gcc-msm8998: Disable halt check of UFS clocks

From: Marc Gonzalez
Date: Fri Nov 30 2018 - 05:56:15 EST


On 30/11/2018 07:52, Bjorn Andersson wrote:

> Drop the halt check of the UFS symbol clocks, in accordance with other
> platforms. This makes clk_disable_unused() happy and makes it possible
> to turn the clocks on again without an error.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> ---
> drivers/clk/qcom/gcc-msm8998.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clk/qcom/gcc-msm8998.c b/drivers/clk/qcom/gcc-msm8998.c
> index d89f8e7c2a59..3d232d266d72 100644
> --- a/drivers/clk/qcom/gcc-msm8998.c
> +++ b/drivers/clk/qcom/gcc-msm8998.c
> @@ -2403,7 +2403,7 @@ static struct clk_branch gcc_ufs_phy_aux_clk = {
>
> static struct clk_branch gcc_ufs_rx_symbol_0_clk = {
> .halt_reg = 0x75014,
> - .halt_check = BRANCH_HALT,
> + .halt_check = BRANCH_HALT_SKIP,
> .clkr = {
> .enable_reg = 0x75014,
> .enable_mask = BIT(0),
> @@ -2416,7 +2416,7 @@ static struct clk_branch gcc_ufs_rx_symbol_0_clk = {
>
> static struct clk_branch gcc_ufs_rx_symbol_1_clk = {
> .halt_reg = 0x7605c,
> - .halt_check = BRANCH_HALT,
> + .halt_check = BRANCH_HALT_SKIP,
> .clkr = {
> .enable_reg = 0x7605c,
> .enable_mask = BIT(0),
> @@ -2429,7 +2429,7 @@ static struct clk_branch gcc_ufs_rx_symbol_1_clk = {
>
> static struct clk_branch gcc_ufs_tx_symbol_0_clk = {
> .halt_reg = 0x75010,
> - .halt_check = BRANCH_HALT,
> + .halt_check = BRANCH_HALT_SKIP,
> .clkr = {
> .enable_reg = 0x75010,
> .enable_mask = BIT(0),

FWIW, before applying your patch, the kernel printed the following
warnings at boot:

[ 1.820756] gcc_ufs_rx_symbol_1_clk status stuck at 'on'
[ 1.992977] gcc_ufs_rx_symbol_0_clk status stuck at 'on'
[ 2.165113] gcc_gpu_bimc_gfx_clk status stuck at 'on'

https://lore.kernel.org/linux-clk/f4271471-b60a-f056-b453-1cfa593a0fc4@xxxxxxx/

(NB: gcc_ufs_tx_symbol_0_clk not mentioned)

Your patch makes the two ufs_rx warnings go away.

Regards.