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

From: Marc Gonzalez
Date: Fri Nov 30 2018 - 08:09:04 EST


On 30/11/2018 11:55, Marc Gonzalez wrote:

> 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/

As far as gcc_gpu_bimc_gfx_clk is concerned, downstream flags it as
"no_halt_check_on_disable", and sets CLKFLAG_RETAIN_MEM.

Regards.