From patchwork Tue Feb 20 15:33:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sivaprasad Tummala X-Patchwork-Id: 664 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 073CD43B55; Tue, 20 Feb 2024 16:33:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CD214402A7; Tue, 20 Feb 2024 16:33:46 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2072.outbound.protection.outlook.com [40.107.237.72]) by mails.dpdk.org (Postfix) with ESMTP id 0A8974029B for ; Tue, 20 Feb 2024 16:33:46 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RXiCsTr870VnIhB8rwTCg7MUk/QjBGGwHGdDIH15Ajlyge5c2BoTdMWoP7xr6qVZFgboPfXwhtsVxF/9qvHoMJUMpaebUm5rREPA1En3+7hWHoCcwHWM5C8jzyQ58QcWXZ+MGdCuyjCS83GvI4n/OSEO/mxKzXwoI5830XXg6KE16Okw6CWQffdf9BypUmf1ABCWSPCnSevHTNcB9ntHh1zkjf3OvN8/iCImR2vyPFtwrcL/1AAVXFOcgA8FawRLfL3A8ruxk9EBgJ7yXZwbuqE4631g9UyX+MvybEbine/Gkj7LZOHfgI3nOkaa1d0aHmsILkOY3jzn66HWmmjcnQ== 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=ZINv7oL5o96XRma437RwWOg8o/llmpRS29Eje69zAcM=; b=eE0yOj5ufhaYa1oJrHNn8pKyFtSvyVAy9zfdPCWmSKKU/F3i5PBnfPDpXbJLPHT3n1wZ0iMLPF3teR9PpM9xle+T9bDLb7nzPL9aq/uNUsiq3Ne3XuQ/eYn8Gy7wMC6ZylUqmxYAXdFM9YPJSuZ+eVPiPETZBMWdmHtvUxvS29EfvXy44K1I989734zhGAM8OzEUMO6buxnc6nzjMk1bZFqEnbKJ/sBdxASeKd6gJxPpMXtu/yQZDst7LtbDWMSVMfDroLu97K2sBcJC65EyrQiTJypEguUQouHyYgc3ZYItWpnUFGlZfA+v784EsmXwxPUUHdSVTkZhrIjdD6BgbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZINv7oL5o96XRma437RwWOg8o/llmpRS29Eje69zAcM=; b=kzIPqDiYMwGO+c9iRKcYKIChykW/hye64lsKssPfy1XHg2JBdK60Tz1yVTNqeS3rSMO20lcu7WL3C5D58CBK1R6uIiJJUq2VG77UiTdvpPMjUV/rKPmukdqopONNkIvJkRX9nQJRV/wPKI2+z3KdkhBeodns8F+BfzV9RDBp6+s= Received: from BN9PR03CA0483.namprd03.prod.outlook.com (2603:10b6:408:130::8) by IA0PR12MB8748.namprd12.prod.outlook.com (2603:10b6:208:482::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.20; Tue, 20 Feb 2024 15:33:43 +0000 Received: from BN1PEPF00004687.namprd05.prod.outlook.com (2603:10b6:408:130:cafe::46) by BN9PR03CA0483.outlook.office365.com (2603:10b6:408:130::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.40 via Frontend Transport; Tue, 20 Feb 2024 15:33:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BN1PEPF00004687.mail.protection.outlook.com (10.167.243.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7292.25 via Frontend Transport; Tue, 20 Feb 2024 15:33:42 +0000 Received: from ubuntu2004.linuxvmimages.local (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 20 Feb 2024 09:33:39 -0600 From: Sivaprasad Tummala To: , , , , , , , CC: Subject: [RFC PATCH 0/2] power: refactor power management library Date: Tue, 20 Feb 2024 16:33:23 +0100 Message-ID: <20240220153326.6236-1-sivaprasad.tummala@amd.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF00004687:EE_|IA0PR12MB8748:EE_ X-MS-Office365-Filtering-Correlation-Id: 142e7812-0020-44c1-4c4d-08dc322951cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +EHsKnph/NBSExPIN3Ju8i6GBlv9LUG993SUSlTKb/WzXyV/aCDq52duh3w1y1L85DKkxKie46S2MvXcCEqyM5u74V1QmemJyzSepUUloMwMLk9VVL9xW84lvtf4kf4EhmbhihoJuFegpEfHMMIoOJmvBW5aFeNgFGRMqWvgizF1Mlmdsz7kNZKSE4yWw20JiQc+tr7g18780S8ZR9SpTR9AR4YR5L4lrxUKPJqJr42GpOAoDIoV2MjdnuUjnj0NviXOTMpzMwKKaZ2++VZVfdrCVT0Nl0d80giC3DuyR/Pxyt5ugLhFu7Qaj89U3a6ARuKqzI567qtNocOjpYjgtWSelMs2PyWbH90mSsa9lKnpseRZq5cNJcqPYe7n7XQ+BcaUBLArGaN3rs+mFqxipg+NAXFVRWYaXJt18Q20Zj6o3J+lF2fyYJx9q/WUDsWAzuPAKi3XKJWxycOt2EYkO+wdmerU076TH2WXMSl2/LG7qVCTxZjElVTi/EkcDVblTKo0Qz6tQybp79fcEaA2IhSTJIO3gadQGTYHftJ9Un8OjCgYcFEn1+E/wH1VA7GW734u15uzIs2lMMhW/PIBu9///lVXJVJWobyna55HzQWV6nznr+D0ZUFQ3UZlo2m3YqLe1ZRbqpNX+AuGYYV9pqivK/zymfHruFDk6dbWBQI= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(40470700004)(46966006); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2024 15:33:42.6755 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 142e7812-0020-44c1-4c4d-08dc322951cd 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.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF00004687.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8748 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patchset refactors the power management library, addressing both core and uncore power management. The primary changes involve the creation of dedicated directories for each driver within 'drivers/power/core/*' and 'drivers/power/uncore/*'. This refactor significantly improves code organization, enhances clarity, and boosts maintainability. It lays the foundation for more focused development on individual drivers and facilitates seamless integration of future enhancements, particularly the AMD uncore driver. Furthermore, this effort aims to streamline code maintenance by consolidating common functions for cpufreq and cppc across various core drivers, thus reducing code duplication. Please note that this RFC patch is currently in its initial phase and is primarily intended for soliciting feedback and comments. As of now, it has not undergone testing for build or functional issues. Signed-off-by: Sivaprasad Tummala Signed-off-by: Sivaprasad Tummala --- power: refactor core power management library power: refactor uncore power management library drivers/meson.build | 1 + drivers/power/core/acpi/meson.build | 8 + .../power/core/acpi}/power_acpi_cpufreq.c | 19 ++ .../power/core/acpi}/power_acpi_cpufreq.h | 0 drivers/power/core/amd-pstate/meson.build | 8 + .../amd-pstate}/power_amd_pstate_cpufreq.c | 19 ++ .../amd-pstate}/power_amd_pstate_cpufreq.h | 0 drivers/power/core/cppc/meson.build | 8 + .../power/core/cppc}/power_cppc_cpufreq.c | 19 ++ .../power/core/cppc}/power_cppc_cpufreq.h | 0 .../power/core/kvm-vm}/guest_channel.c | 0 .../power/core/kvm-vm}/guest_channel.h | 0 drivers/power/core/kvm-vm/meson.build | 20 ++ .../power/core/kvm-vm}/power_kvm_vm.c | 19 ++ .../power/core/kvm-vm}/power_kvm_vm.h | 0 drivers/power/core/meson.build | 12 + drivers/power/core/pstate/meson.build | 8 + .../power/core/pstate}/power_pstate_cpufreq.c | 19 ++ .../power/core/pstate}/power_pstate_cpufreq.h | 0 drivers/power/meson.build | 9 + drivers/power/uncore/intel/meson.build | 9 + .../power/uncore/intel}/power_intel_uncore.c | 15 + .../power/uncore/intel}/power_intel_uncore.h | 0 drivers/power/uncore/meson.build | 8 + lib/power/meson.build | 7 - lib/power/power_common.h | 11 + lib/power/rte_power.c | 305 ++++++++---------- lib/power/rte_power.h | 207 ++++++++++-- lib/power/rte_power_uncore.c | 163 ++++------ lib/power/rte_power_uncore.h | 150 ++++++++- lib/power/version.map | 13 + 31 files changed, 742 insertions(+), 315 deletions(-) create mode 100644 drivers/power/core/acpi/meson.build rename {lib/power => drivers/power/core/acpi}/power_acpi_cpufreq.c (95%) rename {lib/power => drivers/power/core/acpi}/power_acpi_cpufreq.h (100%) create mode 100644 drivers/power/core/amd-pstate/meson.build rename {lib/power => drivers/power/core/amd-pstate}/power_amd_pstate_cpufreq.c (95%) rename {lib/power => drivers/power/core/amd-pstate}/power_amd_pstate_cpufreq.h (100%) create mode 100644 drivers/power/core/cppc/meson.build rename {lib/power => drivers/power/core/cppc}/power_cppc_cpufreq.c (96%) rename {lib/power => drivers/power/core/cppc}/power_cppc_cpufreq.h (100%) rename {lib/power => drivers/power/core/kvm-vm}/guest_channel.c (100%) rename {lib/power => drivers/power/core/kvm-vm}/guest_channel.h (100%) create mode 100644 drivers/power/core/kvm-vm/meson.build rename {lib/power => drivers/power/core/kvm-vm}/power_kvm_vm.c (83%) rename {lib/power => drivers/power/core/kvm-vm}/power_kvm_vm.h (100%) create mode 100644 drivers/power/core/meson.build create mode 100644 drivers/power/core/pstate/meson.build rename {lib/power => drivers/power/core/pstate}/power_pstate_cpufreq.c (96%) rename {lib/power => drivers/power/core/pstate}/power_pstate_cpufreq.h (100%) create mode 100644 drivers/power/meson.build create mode 100644 drivers/power/uncore/intel/meson.build rename {lib/power => drivers/power/uncore/intel}/power_intel_uncore.c (95%) rename {lib/power => drivers/power/uncore/intel}/power_intel_uncore.h (100%) create mode 100644 drivers/power/uncore/meson.build