Re: [PATCH v2] clk: qcom: gcc-ipq9574: Add BRANCH_HALT_VOTED flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Md Sadre Alam (2024-05-05 23:37:51)
> Add BRANCH_HALT_VOTED flag to inform clock framework
> don't check for CLK_OFF bit.
> 
> CRYPTO_AHB_CLK_ENA and CRYPTO_AXI_CLK_ENA enable bit is
> present in other VOTE registers also, like TZ.
> If anyone else also enabled this clock, even if we turn
> off in GCC_APCS_CLOCK_BRANCH_ENA_VOTE | 0x180B004, it won't
> turn off.
> Also changes the CRYPTO_AHB_CLK_ENA & CRYPTO_AXI_CLK_ENA
> offset to 0xb004 from 0x16014.

How about this?

 The crypto_ahb and crypto_axi clks are hardware voteable. This means
 that the halt bit isn't reliable because some other voter in the
 system, e.g. TrustZone, could be keeping the clk enabled when the
 kernel turns it off from clk_disable(). Make these clks use voting mode
 by changing the halt check to BRANCH_HALT_VOTED and toggle the voting
 bit in the voting register instead of directly controlling the branch
 by writing to the branch register. This fixes stuck clk warnings seen
 on ipq9574 and saves power by actually turning the clk off.

> 
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: f6b2bd9cb29a ("clk: qcom: gcc-ipq9574: Enable crypto clocks")
> Signed-off-by: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx>





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux