Re: [PATCH 5/6] acpi/cppc: Add support for optional CPPC registers
From: Pandruvada, Srinivas
Date: Fri Mar 29 2019 - 22:40:46 EST
On Fri, 2019-03-29 at 20:18 +0000, Ghannam, Yazen wrote:
> > -----Original Message-----
> > From: linux-acpi-owner@xxxxxxxxxxxxxxx <
> > linux-acpi-owner@xxxxxxxxxxxxxxx> On Behalf Of Pandruvada, Srinivas
> > Sent: Wednesday, March 27, 2019 10:48 AM
> > To: linux-kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxx; Natarajan,
> > Janakarajan <Janakarajan.Natarajan@xxxxxxx>; linux-
> > acpi@xxxxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx
> > Cc: Ghannam, Yazen <Yazen.Ghannam@xxxxxxx>; lenb@xxxxxxxxxx;
> > viresh.kumar@xxxxxxxxxx; Moore, Robert
> > <robert.moore@xxxxxxxxx>; Schmauss, Erik <erik.schmauss@xxxxxxxxx>;
> > rjw@xxxxxxxxxxxxx
> > Subject: Re: [PATCH 5/6] acpi/cppc: Add support for optional CPPC
> > registers
> >
> > On Fri, 2019-03-22 at 20:26 +0000, Natarajan, Janakarajan wrote:
> > > From: Yazen Ghannam <Yazen.Ghannam@xxxxxxx>
> > >
> > > Newer AMD processors support a subset of the optional CPPC
> > > registers.
> > > Create show, store and helper routines for supported CPPC
> > > registers.
> > >
> > > Signed-off-by: Yazen Ghannam <Yazen.Ghannam@xxxxxxx>
> > > [ carved out into a patch, cleaned up, productized ]
> > > Signed-off-by: Janakarajan Natarajan <
> > > Janakarajan.Natarajan@xxxxxxx>
> > >
> >
> > [..]
> >
> > > + /* desired_perf is the only mandatory value in perf_ctrls */
> > > + if (cpc_read(cpu, desired_reg, &desired))
> > > + ret = -EFAULT;
> > > +
> > > + if (CPC_SUPPORTED(max_reg) && cpc_read(cpu, max_reg, &max))
> > > + ret = -EFAULT;
> > > +
> >
> > We should create and use different macro other than CPPC_SUPPORTED.
> > CPC_SUPPORTED doesn't validate the correctness of object type for a
> > field. For example "Maximum Performance Register" can only be
> > buffer
> > not integer. In this way invalid field definitions can be ignored.
> >
>
> So create something like "CPPC_SUPPORTED_BUFFER" for buffer-only
> registers?
>
> And then buffer/integer registers will continue to use
> "CPPC_SUPPORTED".
>
> These seem to be the only two cases at this time. Is this okay?
Yes.
Thanks,
Srinivas
>
> Thanks,
> Yazen
>
> >
> > > + if (CPC_SUPPORTED(min_reg) && cpc_read(cpu, min_reg, &min))
> > > + ret = -EFAULT;
> > > +
> > > + if (CPC_SUPPORTED(energy_reg) && cpc_read(cpu, energy_reg,
> > > &energy))
> > > + ret = -EFAULT;
> > > +
> > > + if (CPC_SUPPORTED(auto_sel_enable_reg) &&
> > > + cpc_read(cpu, auto_sel_enable_reg, &auto_sel_enable))
> > > + ret = -EFAULT;
> > > +
> >
> > Here it is fine to use CPC_SUPPORTED as the "Autonomous Selection
> > Enable" can be both integer and buffer.
> >
> > Thanks,
> > Srinivas
>
>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature