RE: [PATCH 5/6] acpi/cppc: Add support for optional CPPC registers

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

 



> -----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?

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





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux