From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754118AbdIEDSo (ORCPT ); Mon, 4 Sep 2017 23:18:44 -0400 Received: from mail-cys01nam02on0077.outbound.protection.outlook.com ([104.47.37.77]:43952 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753698AbdIEDSl (ORCPT ); Mon, 4 Sep 2017 23:18:41 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=George.Cherian@cavium.com; From: George Cherian To: devel@acpica.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org Cc: rjw@rjwysocki.net, lenb@kernel.org, jassisinghbrar@gmail.com, robert.moore@intel.com, lv.zheng@intel.com, pprakash@codeaurora.org, George Cherian Subject: [PATCH v3 0/2] Make cppc acpi driver aware of pcc subspace ids Date: Tue, 5 Sep 2017 03:18:08 +0000 Message-Id: <1504581490-4183-1-git-send-email-george.cherian@cavium.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BMXPR01CA0030.INDPRD01.PROD.OUTLOOK.COM (10.174.214.16) To CY1PR0701MB1709.namprd07.prod.outlook.com (10.163.21.11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e394d78f-43a0-4276-a382-08d4f40ccd6b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY1PR0701MB1709; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1709;3:Yq6vNk0n0O9ZLXSvAQiJXqn/GSEZAltgq1F8QrC+/hPnw+fhB8It+rDDbkC7JrIksfq7cQY6GnJ3UR418gqDLE7yC8PAWTCtVA/A/f+Mnsczfju6FfJNVZiSGHwggkZ9pflDVKy0x7jq7/O4NBfoN6c4da0t/++aOabrtIjFPc5aGsxTRl+c9dx2pC4To+QsiscRP/X/GkrFuDsGC5Xa4FlrKl8ZH+EmbFybmWTlf95y8XAP07sBCgQmxu1t/C2L;25:8LQD/FuxzfKro9R5nnKhOyddPUCnsbXkhQ7ANyRKPXQo3jV0s+trnNhItR/xSGEwfU1ZAHji1vA8Ni2P9mk0IpdaROybPtjuQ09Rn4uedRPfX394uspuaehMQ+eRlgxhCACyd57iae0+iDjdoT3qJDnuHWIktCKJ8f5hAuQw/3JahGR3Y8D5cuX4iI3X1syLlAmSfWeWRmhpFb1P8DKx/QhpE0t9kcJ74LpvkBGjZDRqkdw99wLWGzyOE2yolZlgY3LD3sBWPsObz2U4BfBY2CcICwZn9l/rNstAO6BERd6uHZOp9MZVydtX32H8xpZbRCKFnaCvnZ+S7U6nAbYT4A==;31:z9oTHAbwS5FVp5f+nHJDoFN7hbZvYuv89R3dmLmr+xldj5fnckPPnt9Ofsp2D2BGDqOxCiPzIE2yq5ZYGWIadeMckoXWUS0n/LRlEb97MNhwBh0P7zFbod6lShQrz0pgbsPhlWjFBFhQ2gnCMJKCnldROP5Hv724yzYtfwGQN9HS7CMDJkyls8VLpoY1qQYJr7NUe65zRxWU/kcabc69YKNb1FrXG+4Y8Z6N+ka9GuI= X-MS-TrafficTypeDiagnostic: CY1PR0701MB1709: X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1709;20:Pp+yZ/pwt7JxrFu06UMTdSe2bA4tbtd5ulLGywNaygiDiZQdiaRkX91ghYUUXgZWeG/UahebYZhQoH23s0bpeyfw9dJe4Z7Y/babaCwxlMv7ANJFhF1+GvZ3imfNWEDHXAJPdVtmkZndG5PT+0+m7nUSHxlFlMzQu1J3XkrL0a9trItoi7SQTVqEnYyBSpNbK1rTuOeGx3p/UVrRfPFsSMntqp6bjBP615veNbEbB2L3MQMDd01YjM1x1vM25fd3zz5Ff7N2lUKIbc2sN7GoQ0iEZt2qcxYEoD4FLFw2N1ihuwmvd+Tm3TgU2j6XffFBR7+oXbS+fFYSLUlKvk1it+octDuHZZN0gQri0Ug6VnrzAVKY+SHTobzGcCW187qvYL2WoXlhZVoFbOE7UZxdM9Ak7J9Kbexxo5rll5cvGUUXnC6T9Eayc5ZOtUaWsK9hym0DHo3HYeAEXZvf98HUJiilhbmEiLfahvskEAXJ/Z2K3lio3vrCVfjIqcFptg57;4:RllySbTGinGrNL5jkEFCo6j5CMKKjLHNREFo+t+zxFIfJW7nowRlnVLM2quywKz+ZRutTkVdAJz8au8oIB7XVmttLFQ5DiOflYhmn3uqwZknBcF3tCnOUWiaCdrE7TrIma3ZXt9g0O5eFLmOiisJxVItlj1aYOydM0Kp6ydtaVIml1u3JyI1fEk68nRInYO0UvYLaNYszxDEjdv+TAZa4avApYAg7VbfizZMu7lBcqdgE9MvBuWVSlZjm1vFfKhk X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6041248)(20161123558100)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY1PR0701MB1709;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY1PR0701MB1709; X-Forefront-PRVS: 0421BF7135 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(199003)(189002)(47776003)(66066001)(189998001)(72206003)(50466002)(6116002)(6486002)(3846002)(6506006)(478600001)(5660300001)(97736004)(39060400002)(6666003)(107886003)(110136004)(48376002)(5003940100001)(25786009)(101416001)(53936002)(5009440100003)(2906002)(4326008)(6512007)(50986999)(36756003)(50226002)(106356001)(8936002)(8676002)(86362001)(68736007)(53416004)(7736002)(42186005)(305945005)(81156014)(33646002)(105586002)(81166006)(69596002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0701MB1709;H:ubuntu.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0701MB1709;23:tNdgT/GwqbJKpQall/NEs59RJrJ9HxshmirGz87?= =?us-ascii?Q?mBmpGUyGxKyhXeV4clvTmzuzeChGw7no68pNi+u5gI6MOlGyAZEByszWHiil?= =?us-ascii?Q?KLwVuFSbp7vySFKC+tCZzDJimiM6sjTTPabmVrqGUh3BoezwqTWNr1/ouoMw?= =?us-ascii?Q?dC7rnaW1t3HCxDG079NpjlJzR+xBHT1AA7rNEqTOGc1Nj4wLGvURtObAtnEr?= =?us-ascii?Q?EsAs19b42qdm4M9LojaYFeFgzJVEOCiCT2K8YSOF6IEUXpR0SRrZQl2ykMKm?= =?us-ascii?Q?rotJFh2gokjLmUZRv/Fs2E6r2Lyt83In0P69D02GsMIKLIntRZ5ELeyAJibT?= =?us-ascii?Q?enYtkAxI7kZuIuW1DAuHkmA6vIKp6C3KEEfRgiCeaAySJkGaady4/jiDxBCL?= =?us-ascii?Q?s+JXMOH3XXx7mc35CNyApyVERHIWHP4Rloee7z6NIfo77KNBz7k9WSliSd6y?= =?us-ascii?Q?IFsjcZao43P73DO5rFeCpCW6jAnqhzqo+zkuD1OTaqgoDklyVj0FbxFmoGmk?= =?us-ascii?Q?WRke5xqoSIbdBFNULAwD9J35O9giaqgZoC6+ystTTbegl8SPbGC1JBCD7OGJ?= =?us-ascii?Q?PeQMxJwE5NGqc3ebZlfxBQYoMQ2pAHAKFLCfLVNklCxQGMYhwcwQ+ZWX9pKs?= =?us-ascii?Q?P/BhV+1KLorG9aQ7rO32fGp6Dp8jPjEyKS1fUQo1LRL2uw+nzgunopbSl5bV?= =?us-ascii?Q?/K2mw9IncmxVwnu98HuFimEcW8g7WXJ0gP8AU/K/krG7tU1CoNZSa4TEgrPM?= =?us-ascii?Q?+9hMsn61rRotElWi4XMQCwR2povy87ixvoaJ3sejhiYnzn3RTFhcFdzU3Ee1?= =?us-ascii?Q?QnsUvN1ECO0sOHoL9TLrBQ8tE048IrmHDWG1un19CuNB0P9Smx8Num9J31qv?= =?us-ascii?Q?hFydQN7fHLm1PAX9Qn+Nw+W7fOaKkySlzQbuex/czZ9Ebz2KxAN7/KyMZ226?= =?us-ascii?Q?Y1RhDIkpSKY6gxN3rxqpJ9CeVCIOIevcGoDXxF7/vAAfe2vcY+5nr6sepwsT?= =?us-ascii?Q?SHAkjn913MUNJbx5xphpW3ft1EVawRNbmbD1/+Xjr187+4Ps0AWi0TO+Id8C?= =?us-ascii?Q?5oFFGk6bu3VvnXTtw7Nk8+A+AdKli5HD6L7pX5VXeEgTfszz/ag=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1709;6:u7aIA/dQaIjf7HLPsTeDWCSvV5h6DizpKRA7UMXfaHlyaNnCTkKRZBTt+gprK3IQ3+ZrDUnxuOfqSd+3yC34bI365bme7U1a3hBQnb9KMtGn8XUgVoNRvAMC2WG3bRIGh5UMZBaOVrYV9QgU6XsoZLrgRzbn0I150avs4BiFH4kggjUcX9SaShuHmo9iGxDQfFvSlmuKSDkQgJCbv73vUv+HfkevXkdXzK4ekN0JAag0MqvwY8u4GQ3hD8dyfteXMcHvcY1iVXl8KEck3Fv9LXgMSEc5ez+zN/oMni28XMrUrhoy+wzaICVa8QAdg7QiX1o3hWJWjhfRERCKWJ1Qew==;5:jzTAiy8aT25SehqPxKqOEa7/J5esK4GczfS8xpAYmI5/Kkc/neNcvTAb3V6XWie3AhqK2VrTSuNdvR7ZF+nzn2TVKnBE9i6rBV8gSxD9fejzxoqgHrdKiuH6ANNp1j5WSDV+A/uN7FukQo3/uTgAOg==;24:+BN1Ts/q8J0G8cyC0ksVWZyS2uo8C3/qc8piUYaeEf8tbArTGpTGWv7AooaPG8f5ajf2tAopH1AZZvXd5AlDB++DjvBCa6YAbaCPVyal+lw=;7:VrI3y0zI0mS7nyxCQwsi5Llk/t7DFhxs7lNLY8w1TcQsr9octx3FdW2tcq18nUvmEP9wFZIpJgsD5hq/LBqKKa2wFleGCiyOU/TbwUlQ7vbCVMPgbOmPdvtRkgVzGtJOggoTkukU8iLNyRtMe1hQHShR9njgRErT+qQZfNrAtPk5QuYnvs0eB0eIgvsQv+UHXyxKgi1+hTup5a7O4Ri868v3fYTat64OG6K2QjFk25Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2017 03:18:35.5030 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1709 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The current cppc acpi driver works with only one pcc subspace id. It maintains and registers only one pcc channel even if the acpi table has different pcc subspace ids. As per ACPI 6.2 spec all PCC registers, for all processors in the same performance domain (as defined by _PSD), must be defined to be in the same subspace. The series tries to address the same by making cppc acpi driver aware of multiple possible pcc subspace ids. Patch 1 : In preparation to share the MAX_PCC_SUBSPACE definition with cppc acpi driver Patch 2 : Make the cppc acpi driver aware of multiple pcc subspace ids. Changes from v2: - Addressed Prashanth's comments on * Not to use local variables to update mpar_count, last_mpar_reset and last_cmd_cmpl_time * Add check for kzalloc failure in pcc_data_alloc() * Initialize pcc_subspace_id to -1 in acpi_cppc_processor_probe() * Check for pcc_subspace_id validity before registering pcc_channel Changes from v1: - Add last_cmd_cmpl_time, last_mpar_reset, mpar_count to the cppc_pcc_data to make it per subspace. - PCC per subspace dynamic allocation support added instead of static allocation - Added a new function pcc_data_alloc, In instances where CPU's with SMT support same PCC subspace would be used for all CPU's belonging to same physical core. This function adds the pcc_subspace refcounting and allocates the cppc_pcc_data per unique subspace idx. - Added cleanup in acpi_cppc_processor_exit. Free the mbox channel and free the cppc_pcc_data in case refcount is zero. George Cherian (2): mailbox: PCC: Move the MAX_PCC_SUBSPACES definition to header file ACPI / CPPC: Make cppc acpi driver aware of pcc subspace ids drivers/acpi/cppc_acpi.c | 241 +++++++++++++++++++++++++++++------------------ drivers/mailbox/pcc.c | 1 - include/acpi/pcc.h | 1 + 3 files changed, 152 insertions(+), 91 deletions(-) -- 2.1.4