[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <irn46t7zhmvhkpbvc56o5f4ta6ftiksemdndt733fon53oimzr@tyhhlwgdq6ez>
Date: Fri, 18 Oct 2024 13:53:50 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Taniya Das <quic_tdas@...cinc.com>
Cc: Stephen Boyd <sboyd@...nel.org>,
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 Fri, Oct 18, 2024 at 04:20:45PM +0530, Taniya Das wrote:
>
>
> 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.
SGTM, thank you for your comment!
>
> > >
> > > >
> > > > >
> > > > > > 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.
--
With best wishes
Dmitry
Powered by blists - more mailing lists