Re: [PATCH 2/3] soc: qcom: stats: Add fixed sleep stats offset for older RPM firmwares

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

 



On Wed, Nov 17, 2021 at 07:00:58PM -0600, Bjorn Andersson wrote:
> On Mon 18 Oct 06:08 CDT 2021, Stephan Gerhold wrote:
> 
> > Not all RPM firmware versions have the dynamic sleep stats offset
> > available. Older versions use a fixed offset of 0xdba0.
> > 
> > Add support for this using a new qcom,rpm-legacy-stats compatible
> > that can be used for older SoCs like MSM8916.
> > 
> > Suggested-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx>
> > Signed-off-by: Stephan Gerhold <stephan@xxxxxxxxxxx>
> > ---
> >  drivers/soc/qcom/qcom_stats.c | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> > 
> > diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
> > index 817505bd99b5..67728de718fd 100644
> > --- a/drivers/soc/qcom/qcom_stats.c
> > +++ b/drivers/soc/qcom/qcom_stats.c
> > @@ -237,6 +237,15 @@ static const struct stats_config rpm_data = {
> >  	.subsystem_stats_in_smem = false,
> >  };
> >  
> > +/* Older RPM firmwares have the stats at a fixed offset instead */
> > +static const struct stats_config rpm_legacy_data = {
> > +	.stats_offset = 0xdba0,
> > +	.num_records = 2,
> > +	.appended_stats_avail = true,
> > +	.dynamic_offset = false,
> > +	.subsystem_stats_in_smem = false,
> > +};
> 
> Is this the only variation that existed back in the "legacy" days? Will
> we end up with multiple "legacy" variants?
> 

I think most old platforms that are still somewhat maintained use 0xdba0
(e.g. MSM8916, MSM8974, APQ8084, MSM8226).
I found a different offset for APQ8064, MSM8960, but they also seem to
use a different stats format ("v1" instead of "v2") which is not
currently supported by the qcom_stats driver here.

I guess I could add SoC-specific compatibles if you prefer (e.g.
"qcom,rpm-stats-msm8916"), or do you have any other suggestion?

Thanks,
Stephan



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux