Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753032AbbH0IZL (ORCPT ); Thu, 27 Aug 2015 04:25:11 -0400 Received: from mail-bn1on0064.outbound.protection.outlook.com ([157.56.110.64]:41040 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751304AbbH0IZE (ORCPT ); Thu, 27 Aug 2015 04:25:04 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NTQEOH-08-9IK-02 X-M-MSG: From: Huang Rui To: Borislav Petkov , Jean Delvare , "Guenter Roeck" , Andy Lutomirski , "Andreas Herrmann" , Thomas Gleixner , Peter Zijlstra , Ingo Molnar , "Rafael J. Wysocki" , Len Brown , John Stultz , =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Weisbecker?= CC: , , , Andreas Herrmann , Aravind Gopalakrishnan , Borislav Petkov , Fengguang Wu , Aaron Lu , Tony Li , Huang Rui Subject: [PATCH 07/15] hwmon, fam15h_power: add ratio of Tsample to the PTSC period Date: Thu, 27 Aug 2015 16:07:38 +0800 Message-ID: <1440662866-28716-8-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1440662866-28716-1-git-send-email-ray.huang@amd.com> References: <1440662866-28716-1-git-send-email-ray.huang@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(3050300001)(199003)(189002)(5001770100001)(33646002)(97736004)(77156002)(101416001)(5003940100001)(105586002)(62966003)(50986999)(5001860100001)(5007970100001)(50226001)(2950100001)(4001540100001)(46102003)(5001830100001)(76176999)(229853001)(87936001)(5003600100002)(77096005)(48376002)(68736005)(106466001)(19580405001)(36756003)(189998001)(92566002)(50466002)(47776003)(86362001)(64706001)(53416004)(19580395003)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0855;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0855;2:v9jE4YwwjUb56PCwWQD/l9ZM+X+ollQt2fNHE6canEbtKjNDy2k1TaSBJI8FujLQ8/gaMcPNb9212J4DIp7+hwmY87hoqTVE9zopnoETqO131zAfTVo1yD0nQIlpqjNqtH7HPGFHAp6lZXnO+7v+lM6eg4xpyuSj8BCMff6dhuc=;3:XwhEYTuC4mWbe+GIw0cPNg6XxGY7v+Dv68JpB6mjZ3CjKGbz3KHX3kRbiQiZyRDfRxLcdW6vOCMGAjB9fUm4oYpb7xccBbQpWj6fWFyaRSScfyYlkLCj1lQjPO1kG9Mlvhj6/jgiivWo0Mya865H0OyfN9mggTfpHaoKVCsQu6jI+o8tPwXMDIhU9oIaXY2rmi7xbtsYsh/U+Ah4LU6gvc32/or5CPWUTSgXdzDydmF+Qd+UWALqxf7miF9wliTM;25:bTRWa1DSGDppbDg4njfrXDPmvMgNvHO99cYuxiwmp6zPyXWGZXPVmS6n3YZzHeqNE6cfTi++WmnEPskuENM11f+fIuet0ss04w1TfRdWxVfcLq0fiUJOqRho3aYH4pekbRVkDogs9q56qdqalVuX0qU9CdjzMY0Rrf1KZ3RcS9Atp9I8FmrHb1+9scCSP4xmNQ0nH2hN8biENG4PJdS2nM7NQUWvSBRWDDRohVe7/PHKljrBE5Sln0RnAsP0b/xV X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0855; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0855;20:2zj3hjsK6SmfCUJ/krk6uAlE+3AOHZoR8BNeZf0v82c5Q+gTMA9LU3Jpdmwy/uO6VjpOkHSRfwYAkIsmNN+7sui9q8TnTO7TNg+aumRwkZeMSBNx7PzfLl6MGtVpiSYp3tSHlfqQVJFW0KZTVxcTDjbb80SARMUUypoMzzRWWsmz/zHg+MXGwkkC/A/7ZMh+J4u4fSG+ai4pgqt7KcPMpBYNWmhbxGwbvZVVaG1mgAhrEw2kB33tLML1khr4Tw2UO/NuIsfewDdN2UKOFIAfxwwZy717YT8HsHzkENWzuSai3cusu6KqrEY6CJGJ5TzG9lR/7NlImrwJktlQASJN6mOXruFoKu281826+9O3GLbUHkU4BrAzBg05CLDaRk/Fo1cYp4FtY/chE+23ivAApgzLm4u26tEoR3ngrO4wcg2B7ZRs6wZaDfPQZlPRWXS06+ZeG/DRIrfsA8zb8DYkX3QJxYs6UOl6oZgtP7JI+jwsn7HaM3GAQQAbbns7ciAr;4:nU1ie/OJR40nxvk/dqKEWRXlSTCB/VH5Jke1Xg8++f8cPimR9cgZegS7kIkWOoGf+jc0eppMyWhw5al6abk+P7C8e3V8+L9I/n6SZ1VZ5mQe7yk3rTQFiDv55tlhfXVEcE2LBwROlOL1CO0VGfbNvRLMxR7cd5kIMe7gBeONPz6//QWZVErRv84qg8rFsANx6LDYlC+h48xLRB9dRIKLWbAPgZiQ4+Iu/J5S0ZJtbw4CXbJ+KBrRz0mmzBNxD9bLzFRC7xLKsK5qr2M5hbn/S1OsnE/TEM6bgzP8g0P6OsPHK/B1GogSMo3Q/Rdx0RIA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:CY1PR12MB0855;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0855; X-Forefront-PRVS: 06818431B9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR12MB0855;23:hu1JMiROT9QbH4TxNimoJtwkvyCdqvgwiGYARQI/F?= =?us-ascii?Q?SnCEykXBhI/g/a2Io6VlCmupZq7aDqqIF6KPuJgU07ZLPBbL2yAD9nw/Vtq5?= =?us-ascii?Q?KZizrJc89nWNlNAQySAAOjPBHDgzWKvM42zAi+07Ah6Jc6uGIvNSHe6HVvIK?= =?us-ascii?Q?hkt+Z4NHc6UsxCkiOHe8xrKGOuXTe4f0FnY2EjfLOcmDzAWCtdSAGf+VULHk?= =?us-ascii?Q?e9uTcbdZjs5CtyC2eafkvGI8CXEwTLlv2aq3HQmQwhbiabuIXTC4vpTrrJAy?= =?us-ascii?Q?BiX8m+7pQhP+ufD3xE5BembW2KZaI7PwbjRfXSKgrgGZYLeRPoBqLmIHD0ih?= =?us-ascii?Q?973gZy5DTMMDxp6L/iLMcmqyecuWRd2tGX1bm1KIe7VdaKQocUveveE6L0me?= =?us-ascii?Q?w/9t6roszVFVM5chvTNAZ/kI/4yvdjZqppwrM/eI0nRmW14NkRtmEIusgt8c?= =?us-ascii?Q?4+GkzPtwGUdsShZEyfkBc/iaiCyNujcxhRRUtE9BzG4OA6cpYKClj95NWxl7?= =?us-ascii?Q?zHoZuusVGlblY7QzfE7CtBSb5uJjrAvpHcrzXhbr3jNwW32gXMs5PzLecTCu?= =?us-ascii?Q?LKvBt/DWrMf+Q0sgZm49uqiQCcuIENyBpk77deXFMX50mtP6TBSICJoreQwv?= =?us-ascii?Q?osemFMwEpB2eOVg9npHhBccKaqcD1t87GEaUYu0g35E8pZyMfI/xR7hrWlvE?= =?us-ascii?Q?nqCJHDNAB/7fUnxymdqu0dk0KGj4/Bs5TsX8wiLqJyg/prm6ee0Aqhmlv6XS?= =?us-ascii?Q?pC+3Q1L6zW8XyT8sNR7oq6+ohNPvD0kg9t8eXdB07DG2cYlxcGe7G/s0Hwrb?= =?us-ascii?Q?mB3+5G4agpX4awv/s/M8Viw3Wl4/a0I7zYAS119P4G1CxTUZxvLfqJfmkP1w?= =?us-ascii?Q?3gVXU05wfJPudXYkSQ2VRmh1jsqKLgVdG4Z8+bPkSiCfBtEpGmlRftA8Pujz?= =?us-ascii?Q?UKAMjdOIdBjxou/WR9c2O2Oh2DqIw/VHYvL4MsTBbKiN6PauR10exsWlDgUM?= =?us-ascii?Q?IpgTYOApFM1xStEDnJC8vSyPLMpv6n1+5jFW+bo4DHmBqZpqdZI/1PppG8hl?= =?us-ascii?Q?YrOEySuakBsouxDM8EQF9/gKBf3TxAAIeneiYehkxeBPjMb5+pihvZp0avGI?= =?us-ascii?Q?oVCf9AsD8nsgMrAjMDMNQBXiwkjOgtG?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0855;5:B5dUPYrCIGwuUccFysREoxQ5nNVS/z6QR5uBsGKRuoCanoxZ0xjNwA0+rmw2fktW11qPONkOm3aTpXcS/6E8Ylh91GlJXigvciUVafSSIB4HDpXZW1VfCsm5ey05G19AWlTR9n/6iCHZDJoUD8K8KQ==;24:blYFFVF2ZWtmI2PBVqyMjbp56lKkn0BRu0Hra+7wNhdKGrLkGZQ3j/UIBXHVbmDT4Af7q0/SUBPoK5iNWNJ59gXuIgdM/3m+NEDQu85o6vU=;20:xp24pC8D5/vDyAo949VytiTQS8Gm1IwmeLb76E4O2haD2wXOZs4Q3ZqnVIsiz5sHdQWGE2VS+NREW9D8VU0n7A== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2015 08:09:57.7048 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0855 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1970 Lines: 62 This patch adds a member (cpu_pwr_sample_ratio) of fam15h_power_data, that represents the ratio of compute unit power accumulator sample period to the PTSC counter period. Tsample: compute unit power accumulator sample period Tref: the performance timestamp counter period PTSC: performance timestamp counter Signed-off-by: Huang Rui --- drivers/hwmon/fam15h_power.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c index 55b25ef..d6efcf6 100644 --- a/drivers/hwmon/fam15h_power.c +++ b/drivers/hwmon/fam15h_power.c @@ -48,6 +48,7 @@ struct fam15h_power_data { unsigned int tdp_to_watts; unsigned int base_tdp; unsigned int processor_pwr_watts; + unsigned int cpu_pwr_sample_ratio; }; static ssize_t show_power(struct device *dev, @@ -201,7 +202,7 @@ static int fam15h_power_resume(struct pci_dev *pdev) static void fam15h_power_init_data(struct pci_dev *f4, struct fam15h_power_data *data) { - u32 val; + u32 val, eax, ebx, ecx, edx; u64 tmp; pci_read_config_dword(f4, REG_PROCESSOR_TDP, &val); @@ -222,6 +223,19 @@ static void fam15h_power_init_data(struct pci_dev *f4, /* convert to microWatt */ data->processor_pwr_watts = (tmp * 15625) >> 10; + + cpuid(0x80000007, &eax, &ebx, &ecx, &edx); + + /* CPUID Fn8000_0007:EDX[12] indicates to support accumulated power */ + if (!(edx & BIT(12))) + return; + + /* + * detemine the ratio of the compute unit power accumulator + * sample period to the PTSC counter period by executing CPUID + * Fn8000_0007:ECX + */ + data->cpu_pwr_sample_ratio = ecx; } static int fam15h_power_probe(struct pci_dev *pdev, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/