lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4e67b8db-1bc8-48b7-b3c2-956b717cbf84@huawei.com>
Date: Thu, 10 Apr 2025 16:21:58 +0800
From: "zhenglifeng (A)" <zhenglifeng1@...wei.com>
To: Mario Limonciello <mario.limonciello@....com>, <rafael@...nel.org>,
	<lenb@...nel.org>, <robert.moore@...el.com>, <viresh.kumar@...aro.org>,
	<gautham.shenoy@....com>, <ray.huang@....com>, <perry.yuan@....com>,
	<pierre.gondois@....com>
CC: <acpica-devel@...ts.linux.dev>, <linux-acpi@...r.kernel.org>,
	<linux-kernel@...r.kernel.org>, <linux-pm@...r.kernel.org>,
	<linuxarm@...wei.com>, <jonathan.cameron@...wei.com>,
	<zhanjie9@...ilicon.com>, <lihuisong@...wei.com>,
	<cenxinghai@...artners.com>, <hepeng68@...wei.com>
Subject: Re: [PATCH v6 1/8] ACPI: CPPC: Add IS_OPTIONAL_CPC_REG macro to judge
 if a cpc_reg is optional

On 2025/4/10 2:53, Mario Limonciello wrote:
> On 4/9/2025 1:56 AM, Lifeng Zheng wrote:
>> In ACPI 6.5, s8.4.6.1 _CPC (Continuous Performance Control), whether each
>> of the per-cpu cpc_regs[] is mendatory or optional is defined. Since the
> mandatory

Thanks!

>> CPC_SUPPORTED() check is only for optional cpc field, another macro to
>> check if the field is optional is needed.
>>
>> Reviewed-by: Pierre Gondois <pierre.gondois@....com>
>> Signed-off-by: Lifeng Zheng <zhenglifeng1@...wei.com>
>> ---
>>   drivers/acpi/cppc_acpi.c | 14 ++++++++++++++
>>   1 file changed, 14 insertions(+)
>>
>> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
>> index f193e713825a..39f019e265da 100644
>> --- a/drivers/acpi/cppc_acpi.c
>> +++ b/drivers/acpi/cppc_acpi.c
>> @@ -129,6 +129,20 @@ static DEFINE_PER_CPU(struct cpc_desc *, cpc_desc_ptr);
>>   #define CPC_SUPPORTED(cpc) ((cpc)->type == ACPI_TYPE_INTEGER ?        \
>>                   !!(cpc)->cpc_entry.int_value :        \
>>                   !IS_NULL_REG(&(cpc)->cpc_entry.reg))
>> +
>> +/*
>> + * Each bit indicates the optionality of the register in per-cpu
>> + * cpc_regs[] with the corresponding index. 0 means mandatory and 1
>> + * means optional.
>> + */
>> +#define REG_OPTIONAL (0x1FC7D0)
>> +
>> +/*
>> + * Use the index of the register in per-cpu cpc_regs[] to check if
>> + * it's an optional one.
>> + */
>> +#define IS_OPTIONAL_CPC_REG(reg_idx) (REG_OPTIONAL & (1U << (reg_idx)))
>> +
>>   /*
>>    * Arbitrary Retries in case the remote processor is slow to respond
>>    * to PCC commands. Keeping it high enough to cover emulators where
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ