<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/clk/qcom/common.c, branch linux-6.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-04-27T18:01:14Z</updated>
<entry>
<title>clk: qcom: clk-rcg2: add support for rcg2 freq multi ops</title>
<updated>2024-04-27T18:01:14Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2023-12-20T22:17:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89da22456af0762477d8c1345fdd17961b3ada80'/>
<id>urn:sha1:89da22456af0762477d8c1345fdd17961b3ada80</id>
<content type='text'>
Some RCG frequency can be reached by multiple configuration.

Add clk_rcg2_fm_ops ops to support these special RCG configurations.

These alternative ops will select the frequency using a CEIL policy.

When the correct frequency is found, the correct config is selected by
calculating the final rate (by checking the defined parent and values
in the config that is being checked) and deciding based on the one that
is less different than the requested one.

These check are skipped if there is just one config for the requested
freq.

qcom_find_freq_multi is added to search the freq with the new struct
freq_multi_tbl.
__clk_rcg2_select_conf is used to select the correct conf by simulating
the final clock.
If a conf can't be found due to parent not reachable, a WARN is printed
and -EINVAL is returned.

Tested-by: Wei Lei &lt;quic_leiwei@quicinc.com&gt;
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
Acked-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Link: https://lore.kernel.org/r/20231220221724.3822-3-ansuelsmth@gmail.com
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: regmap-mux: fix parent clock lookup</title>
<updated>2021-12-02T23:07:34Z</updated>
<author>
<name>Dmitry Baryshkov</name>
</author>
<published>2021-11-15T23:34:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a61f813fcc8d56d85fcf9ca6119cf2b5ac91dd5'/>
<id>urn:sha1:9a61f813fcc8d56d85fcf9ca6119cf2b5ac91dd5</id>
<content type='text'>
The function mux_get_parent() uses qcom_find_src_index() to find the
parent clock index, which is incorrect: qcom_find_src_index() uses src
enum for the lookup, while mux_get_parent() should use cfg field (which
corresponds to the register value). Add qcom_find_cfg_index() function
doing this kind of lookup and use it for mux parent lookup.

Fixes: df964016490b ("clk: qcom: add parent map for regmap mux")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Link: https://lore.kernel.org/r/20211115233407.1046179-1-dmitry.baryshkov@linaro.org
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: common: Make use of the helper function devm_platform_ioremap_resource()</title>
<updated>2021-09-14T21:39:31Z</updated>
<author>
<name>Cai Huoqing</name>
</author>
<published>2021-09-07T08:48:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=437cbbb09be454165b936fa18f9e35506c29924f'/>
<id>urn:sha1:437cbbb09be454165b936fa18f9e35506c29924f</id>
<content type='text'>
Use the devm_platform_ioremap_resource() helper instead of
calling platform_get_resource() and devm_ioremap_resource()
separately

Signed-off-by: Cai Huoqing &lt;caihuoqing@baidu.com&gt;
Link: https://lore.kernel.org/r/20210907084851.4050-1-caihuoqing@baidu.com
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: Allow constant ratio freq tables for rcg</title>
<updated>2019-11-07T21:43:19Z</updated>
<author>
<name>Jeffrey Hugo</name>
</author>
<published>2019-10-31T18:57:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=efd164b5520afd6fb2883b68e0d408a7de29c491'/>
<id>urn:sha1:efd164b5520afd6fb2883b68e0d408a7de29c491</id>
<content type='text'>
Some RCGs (the gfx_3d_src_clk in msm8998 for example) are basically just
some constant ratio from the input across the entire frequency range.  It
would be great if we could specify the frequency table as a single entry
constant ratio instead of a long list, ie:

	{ .src = P_GPUPLL0_OUT_EVEN, .pre_div = 3 },
        { }

So, lets support that.

We need to fix a corner case in qcom_find_freq() where if the freq table
is non-null, but has no frequencies, we end up returning an "entry" before
the table array, which is bad.  Then, we need ignore the freq from the
table, and instead base everything on the requested freq.

Suggested-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Signed-off-by: Jeffrey Hugo &lt;jeffrey.l.hugo@gmail.com&gt;
Link: https://lkml.kernel.org/r/20191031185715.15504-1-jeffrey.l.hugo@gmail.com
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: common: Return NULL from clk_hw OF provider</title>
<updated>2019-11-07T21:10:44Z</updated>
<author>
<name>Taniya Das</name>
</author>
<published>2019-10-14T10:23:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ffe37ede0a9eb524162c683f48da8558d5323ddb'/>
<id>urn:sha1:ffe37ede0a9eb524162c683f48da8558d5323ddb</id>
<content type='text'>
Return NULL in the cases where the clk_hw is not registered with the
clock provider, but the clock consumer still requests for a clock id.

Signed-off-by: Taniya Das &lt;tdas@codeaurora.org&gt;
Link: https://lkml.kernel.org/r/20191014102308.27441-3-tdas@codeaurora.org
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: define probe by index API as common API</title>
<updated>2019-08-08T15:20:01Z</updated>
<author>
<name>Govind Singh</name>
</author>
<published>2019-07-26T09:23:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75e0a1e301913b2b5627a69818f2521f48e6be07'/>
<id>urn:sha1:75e0a1e301913b2b5627a69818f2521f48e6be07</id>
<content type='text'>
Extend the probe by index API in common code to be used
by other qcom clock controller.

Signed-off-by: Govind Singh &lt;govinds@codeaurora.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: Make common clk_hw registrations</title>
<updated>2019-02-22T08:06:57Z</updated>
<author>
<name>Jeffrey Hugo</name>
</author>
<published>2019-02-10T20:14:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=760be6586fbcc0a5a3b7892e3fe664a3f0530631'/>
<id>urn:sha1:760be6586fbcc0a5a3b7892e3fe664a3f0530631</id>
<content type='text'>
Several clock controller drivers define a list of clk_hw devices, and then
register those devices in probe() before using common code to process the
rest of initialization.  Extend the common code to accept a list of clk_hw
devices to process, thus eliminating many duplicate implementations.

Signed-off-by: Jeffrey Hugo &lt;jhugo@codeaurora.org&gt;
Suggested-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
Reviewed-by: Vinod Koul &lt;vkoul@kernel.org&gt;
Tested-by: Vinod Koul &lt;vkoul@kernel.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: Support 'protected-clocks' property</title>
<updated>2018-11-21T08:59:28Z</updated>
<author>
<name>Stephen Boyd</name>
</author>
<published>2018-11-05T19:40:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b181b3b801da8893c8eb706e448dd5111b02de60'/>
<id>urn:sha1:b181b3b801da8893c8eb706e448dd5111b02de60</id>
<content type='text'>
Certain firmware configurations "protect" clks and cause the entire
system to reboot when a non-secure OS such as Linux tries to read or
write protected clk registers. But other firmware configurations allow
reading or writing the same registers, and they may actually require
that the OS use the otherwise locked down clks. Support the
'protected-clocks' property by never registering these protected clks
with the common clk framework. This way, when firmware is protecting
these clks we won't have the chance to ever read or write these
registers and take down the entire system.

Cc: Taniya Das &lt;tdas@codeaurora.org&gt;
Cc: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;swboyd@chromium.org&gt;
Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: Update SPDX headers for common files</title>
<updated>2018-07-25T16:23:33Z</updated>
<author>
<name>Taniya Das</name>
</author>
<published>2018-07-16T05:54:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9419783a6b45a7198ea22f2997cf1a85fda8458'/>
<id>urn:sha1:f9419783a6b45a7198ea22f2997cf1a85fda8458</id>
<content type='text'>
SPDX headers updated for common/branch/pll/regmap files.

Signed-off-by: Taniya Das &lt;tdas@codeaurora.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
<entry>
<title>clk: qcom: Register the gdscs before the clocks</title>
<updated>2018-06-01T18:14:52Z</updated>
<author>
<name>Rajendra Nayak</name>
</author>
<published>2018-03-23T08:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31543ebb8aff5efb53464d65221b3a1f7951e99c'/>
<id>urn:sha1:31543ebb8aff5efb53464d65221b3a1f7951e99c</id>
<content type='text'>
We have atleast some instances of ALWAYS_ON gdscs, which need to
be turned ON *before* some clocks within the gdsc domain marked
with a CLK_IS_CRITICAL can be turned ON.
To facilitate this sequence, register the GDCSs (and hence handle
the ALWAYS_ON gdscs) before we register clocks (and handle the
clocks marked as CLK_IS_CRITICAL)

Signed-off-by: Rajendra Nayak &lt;rnayak@codeaurora.org&gt;
Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Tested-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@kernel.org&gt;
</content>
</entry>
</feed>
