[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <67795327-74d5-4b5d-b778-bd0f90c58e97@quicinc.com>
Date: Fri, 18 Oct 2024 16:20:45 +0530
From: Taniya Das <quic_tdas@...cinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Stephen Boyd
<sboyd@...nel.org>
CC: Bjorn Andersson <andersson@...nel.org>,
Conor Dooley
<conor+dt@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
"Krzysztof
Kozlowski" <krzk+dt@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Philipp Zabel
<p.zabel@...gutronix.de>, Rob Herring <robh@...nel.org>,
<linux-arm-msm@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Kalpak Kawadkar
<quic_kkawadka@...cinc.com>
Subject: Re: [PATCH 07/14] clk: qcom: clk-branch: Add support for SREG branch
ops
On 10/18/2024 3:26 PM, Dmitry Baryshkov wrote:
> On Thu, Oct 17, 2024 at 03:28:13PM -0700, Stephen Boyd wrote:
>> Quoting Dmitry Baryshkov (2024-10-17 15:00:03)
>>> On Thu, Oct 17, 2024 at 11:10:20AM -0700, Stephen Boyd wrote:
>>>> Quoting Dmitry Baryshkov (2024-10-17 09:56:57)
>>>>> From: Kalpak Kawadkar <quic_kkawadka@...cinc.com>
>>>>>
>>>>> Add support for SREG branch ops. This is for the clocks which require
>>>>
>>>> What is SREG? Can you spell it out?
>>>
>>> Unfortunately, no idea. This is the only register name I know.
>>>
>>
>> Can someone inside qcom tell us?
>
> Taniya, could you possibly help us? This is for gcc_video_axi0_sreg /
> gcc_video_axi1_sreg / gcc_iris_ss_hf_axi1_sreg /
> gcc_iris_ss_spd_axi1_sreg clocks on the SAR2130P platform.
>
SREG(Shift Register) are the register interface for clock branches which
can control memories connected to them.
In principle these SREGs are not required to be controlled via SW
interface, but on SAR2130P, we had to control them to flush out the
pipeline for users of Video.
We are looking into the feasibility of extending the current
'clk_branch2_mem_ops' and can share the patch.
You could also drop these clock interfaces for now to move ahead, as I
do not see VideoCC support and bring them as part of those Clock
controller support.
>>
>>>
>>>>
>>>>> u8 halt_check;
>>>>
>>>> Instead of adding these new members can you wrap the struct in another
>>>> struct? There are usually a lot of branches in the system and this
>>>> bloats those structures when the members are never used.
>>>>
>>>> struct clk_sreg_branch {
>>>> u32 sreg_enable_reg;
>>>> u32 sreg_core_ack_bit;
>>>> u32 sreg_periph_ack_bit;
>>>> struct clk_branch branch;
>>>> };
>>>>
>>>> But I'm not even sure that is needed vs. just putting a clk_regmap
>>>> inside because the clk_ops don't seem to use any of these other members?
>>>
>>> Yes, nice idea. Is it ok to keep the _branch suffix or we'd better
>>> rename it dropping the _branch (and move to another source file while we
>>> are at it)?
>>>
>>
>> I don't really care. Inside qcom they called things branches in the
>> hardware and that name was carried into the code. If sreg is a branch
>> then that would make sense. From the 'core_ack' and 'periph_ack' it
>> actually looks like some sort of power switch masquerading as a clk.
>
> Ack.
>
>
--
Thanks & Regards,
Taniya Das.
Powered by blists - more mailing lists