[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/3] x86/cpufreq: Clean up powernow registration
- To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Mon, 15 Nov 2021 12:09:39 +0100
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=slXQGne7JzTLYeGyeOVrdpH74tMCYFzDO9T3Gocbj10=; b=Rv+xzWurZUPOXpnl4ugzrIvj+FC6BbLZP2Pcs2AZ8Y2V/7crGrE5bZH+OwCR2IAUT4jG+e0248EEzOzpLSn+egKuOt56M/0gOQrPJXn1xn6ukaBWiYFiQpHHs0DaztgeIZ7guEc+DJRnCZ2VpVWEVzip0FIZMJ3HX6FHy5lNgqwX32QDlMj93KvP9jo/FvT5WHXHVK6drq3/k1nE2ZspkB/tJgvrxPp+iJDj0LMz17pDxT+LqOYfx7924wLQBN7wd/MzXOdEJTpui/jLxZw/yYYzw+IahZSEqCZO3Aik9jj3iZthE6SazpP5+meNM/zU7ajEVGVVDv+iguK8JlfMsA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WDFtYDcdFSc/GIJMc027e1y5HcxWGJxuWRS/DHsTCvJfpJvnppCKwJyRGP/EbNFrLW+UhqtVxGsDTa54kOyDYaL8YI91In3+72E+mlJbAdpcwH5jbkIcMWqeoDtRORJW3cElHRdlpssW6HAfL4sVpVPu6Kb5pp8Ltk9FVeg0Vflwe3MLDQRiboO3IVLj8LqvhTEeEWar7aKcqRfwiu23YgQZ7vsuD4I3Tz5xw4UnCTbYGCUZHBIYafxRZdR8Y/lG6FatggaawEt04Ej1MDOE/Q/zbMLsN0KJ+h1CJeLJrBrBFbgtnoA5BoiDVt+1teuZA2CEpE/wZq65wW2gYn+k8Q==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
- Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Delivery-date: Mon, 15 Nov 2021 11:09:45 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 15.11.2021 10:27, Roger Pau Monné wrote:
> On Fri, Nov 12, 2021 at 06:28:16PM +0000, Andrew Cooper wrote:
>> @@ -353,25 +349,13 @@ static const struct cpufreq_driver __initconstrel
>> powernow_cpufreq_driver = {
>> .update = powernow_cpufreq_update
>> };
>>
>> -unsigned int __init powernow_register_driver()
>> +unsigned int __init powernow_register_driver(void)
>> {
>> - unsigned int i, ret = 0;
>> + if ( !(boot_cpu_data.x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) )
>> + return -ENODEV;
>>
>> - for_each_online_cpu(i) {
>> - struct cpuinfo_x86 *c = &cpu_data[i];
>> - if (!(c->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)))
>> - ret = -ENODEV;
>> - else
>> - {
>> - u32 eax, ebx, ecx, edx;
>> - cpuid(CPUID_FREQ_VOLT_CAPABILITIES, &eax, &ebx, &ecx, &edx);
>> - if ((edx & USE_HW_PSTATE) != USE_HW_PSTATE)
>> - ret = -ENODEV;
>> - }
>> - if (ret)
>> - return ret;
>> - }
>> + if ( !(cpuid_edx(CPUID_FREQ_VOLT_CAPABILITIES) & USE_HW_PSTATE) )
>> + return -ENODEV;
>
> I wonder if we could move this check into cpufreq_driver_init and get
> rid of powernow_register_driver.
That's a vendor specific leaf, so I'd prefer to keep checking it in
vendor-specific code. Dropping the vendor check from here would seem
reasonable, considering it's already done in the caller.
Jan
|