From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C01A8EE4996 for ; Mon, 21 Aug 2023 06:48:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233473AbjHUGsk (ORCPT ); Mon, 21 Aug 2023 02:48:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233480AbjHUGsj (ORCPT ); Mon, 21 Aug 2023 02:48:39 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2042.outbound.protection.outlook.com [40.107.93.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 193CFB7 for ; Sun, 20 Aug 2023 23:48:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sp2wcvOM1YagOx6/faxppi0eXiTxw6kJ5YytwxHAUfBgJJgUmpT7ZiY5Gts3qRXFDZ1nvY5ZjUymaJsJnmUZftD3/BQmZyWSSWJ9RxsexdlpReEc0EJgCwVXCSvu9lUlXkH5Jjt+2njaBVN6ysK6oiI8hbNeIe9VVuAJwHM1wZWU9+RxDnwubmKVCZJbYVF/tFnj0BYE/1igVnMF2zDwO0nQ4dxYXqNVVy81z3D/MBBOKspTv9lHfySpGhzysn4vqScCjvONTE0qdKrhjf/0fVRyLByBUsTBWv0JYm1xMWeUUFhcT3A1hEhdFKvqAEgcCKu4vLj3NreONc4uwgpp4g== 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=Yq5mHPFnQ16ouU+uANEHFR06gHerCNL8e6qeQuTzM/M=; b=S7q5ZU4WeLBOKOsEaC3BoaoE3aN54P8rNhavpRP0kIuUQTjEH9nTvsTrlI41AEp2Atbrab5WfZD4a2vTpHf1v1xSxcZ1lGYBGhAOv/lDzi8QFgN6L+EIMDVoMOQVtmL1ZmX9jPW8tGs7tqJOnjqa05F2FgEJgySOUrkmOJl2d9OfnD4KEshv4oHRn46tLVJs0i016GR9RcK/u01Sq3YU0ZQxr3UCJ9puolNH9YIbuEuZsgIzxApJz891R6dgvmRYl7S91i7EoBxO4I+FH9jTcy8eghLkzno6eFHyMSzWSIcaupe8AY921beQtgAHdEmVW3diFT7wwGYMZnqQdO6BXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=Yq5mHPFnQ16ouU+uANEHFR06gHerCNL8e6qeQuTzM/M=; b=UHDDtlTAy4iZcnEEV5K4/CsM6Y/iCHA7jUZzb/q0XmLQLaP/Ispjm2lONBooj3uEpyIyog665j7+v+JOfUlHnRkvwQe9trEeJF4ei9oDnqN0+FHEWSho1RwkuOkcOp/TbUKsK4qlHVArHpoqToveEuvHvh3gYsTf6bwqywnK35k= Received: from SN7P220CA0022.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::27) by CY8PR12MB7435.namprd12.prod.outlook.com (2603:10b6:930:51::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 06:48:30 +0000 Received: from SA2PEPF0000150A.namprd04.prod.outlook.com (2603:10b6:806:123:cafe::f3) by SN7P220CA0022.outlook.office365.com (2603:10b6:806:123::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Mon, 21 Aug 2023 06:48:30 +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 SA2PEPF0000150A.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 06:48:30 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:48:26 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 1/7] drm/amdgpu: Added init/fini functions for workload Date: Mon, 21 Aug 2023 12:17:53 +0530 Message-ID: <20230821064759.94223-2-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF0000150A:EE_|CY8PR12MB7435:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d31cbaa-7812-4dc0-d916-08dba212a173 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mDy/IdLHRz6Pt/1r+7aOZ6jPsxyEZ/VojcYV2Iy6vq+Xrf/n+8aAR+NCZHwK/W9mrkoijCv4LCDnvkzdpnKVTp7PSMpskAfWWC0uex27nd+iLvIIbWJCrvSI77ZIgvnN4oHWa3LOovQP1ce+5MPUcxcuVxA5ZwGT1l4pJIyqZcwqbZEefhvsTCEnL9ouitQDID/mmAC0Qzfg6kRIDiJ5tX7SDBSPMRdtRAtxKpIXiJ56BiLC3yRYqpqzRNrsLgfguuWXxnTYOuAfJ7mQVh6Hp8InAR0dblqiCR6axNBhwHE4mBmO78fPBgHpfBRa6/OXp5ydBEXoql7MxwGusVOWc7yPAUr+lUI1XxqzSfFsQe5Q9MBpT0JvNclXuCDc75ULVcGexYynhw76Fdv/kh/TirjOxoTPAx/5TPYswTm0pEI2RWM9/gwT2P7U1AKN1jTu15W2BAmGUkyoXvYw9wBbkG6iVHTlYQxcchXAJD8hGkza49PmtNj1lcN79V09CgnLF6fEdYrVbcBPizFn1EWreIxw9qJm606uC/iP4cQsr703cZfGrJ1qvIaWZ4rp7G9aQmp+tx4/a/8Wg4euL2hlghEvmr3HHDXsZHMwzg9ZXV5m+ud89XPpLaG8S7ASTp10wIkAYH+HioQuVtd4UFP2AGTuFJgoZncHp9EV6W5XYi/8vFVsQRH23deMIUNtedSqNYPUvaNYAq067CQeRxz3Net7sFrN1HfOH6x6n5YXh3PUC6HHtBXgz4ITSK3emlzsY34RwG5UO+S9rgvmA8JbuQ== 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)(4636009)(376002)(396003)(136003)(346002)(39860400002)(186009)(1800799009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(54906003)(70586007)(70206006)(316002)(66899024)(110136005)(8676002)(2616005)(8936002)(4326008)(1076003)(36756003)(40460700003)(41300700001)(82740400003)(356005)(81166007)(478600001)(6666004)(7696005)(40480700001)(2906002)(83380400001)(86362001)(36860700001)(47076005)(336012)(426003)(5660300002)(26005)(16526019)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:48:30.4267 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d31cbaa-7812-4dc0-d916-08dba212a173 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: SA2PEPF0000150A.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7435 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The'struct amdgpu_smu_workload' initialization/cleanup functions is added by this patch. v2: - Splitting big patch into separate patches. - Added new fini function. Cc: Shashank Sharma Cc: Christian Koenig Cc: Alex Deucher Signed-off-by: Arvind Yadav Reviewed-by: Shashank Sharma --- drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c | 44 +++++++++++++++ drivers/gpu/drm/amd/include/amdgpu_workload.h | 53 +++++++++++++++++++ 5 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c create mode 100644 drivers/gpu/drm/amd/include/amdgpu_workload.h diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdg= pu/Makefile index 415a7fa395c4..6a9e187d61e1 100644 --- a/drivers/gpu/drm/amd/amdgpu/Makefile +++ b/drivers/gpu/drm/amd/amdgpu/Makefile @@ -60,7 +60,7 @@ amdgpu-y +=3D amdgpu_device.o amdgpu_kms.o \ amdgpu_umc.o smu_v11_0_i2c.o amdgpu_fru_eeprom.o amdgpu_rap.o \ amdgpu_fw_attestation.o amdgpu_securedisplay.o \ amdgpu_eeprom.o amdgpu_mca.o amdgpu_psp_ta.o amdgpu_lsdma.o \ - amdgpu_ring_mux.o + amdgpu_ring_mux.o amdgpu_workload.o =20 amdgpu-$(CONFIG_PROC_FS) +=3D amdgpu_fdinfo.o =20 diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdg= pu/amdgpu.h index 02b827785e39..1939fa1af8a6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -107,6 +107,7 @@ #include "amdgpu_fdinfo.h" #include "amdgpu_mca.h" #include "amdgpu_ras.h" +#include "amdgpu_workload.h" =20 #define MAX_GPU_INSTANCE 16 =20 @@ -1050,6 +1051,8 @@ struct amdgpu_device { =20 bool job_hang; bool dc_enabled; + + struct amdgpu_smu_workload smu_workload; }; =20 static inline struct amdgpu_device *drm_to_adev(struct drm_device *ddev) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/a= md/amdgpu/amdgpu_device.c index 5c7d40873ee2..cd3bf641b630 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -2243,6 +2243,8 @@ static int amdgpu_device_ip_early_init(struct amdgpu_= device *adev) adev->cg_flags &=3D amdgpu_cg_mask; adev->pg_flags &=3D amdgpu_pg_mask; =20 + amdgpu_workload_profile_init(adev); + return 0; } =20 @@ -2890,6 +2892,8 @@ static int amdgpu_device_ip_fini(struct amdgpu_device= *adev) { int i, r; =20 + amdgpu_workload_profile_fini(adev); + if (amdgpu_sriov_vf(adev) && adev->virt.ras_init_done) amdgpu_virt_release_ras_err_handler_data(adev); =20 diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c b/drivers/gpu/drm= /amd/amdgpu/amdgpu_workload.c new file mode 100644 index 000000000000..32166f482f77 --- /dev/null +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +/* + * Copyright 2023 Advanced Micro Devices, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software= "), + * to deal in the Software without restriction, including without limitati= on + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included= in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "amdgpu.h" + +void amdgpu_workload_profile_init(struct amdgpu_device *adev) +{ + adev->smu_workload.adev =3D adev; + adev->smu_workload.submit_workload_status =3D 0; + adev->smu_workload.initialized =3D true; + + mutex_init(&adev->smu_workload.workload_lock); +} + +void amdgpu_workload_profile_fini(struct amdgpu_device *adev) +{ + if (!adev->smu_workload.initialized) + return; + + adev->smu_workload.submit_workload_status =3D 0; + adev->smu_workload.initialized =3D false; + mutex_destroy(&adev->smu_workload.workload_lock); +} diff --git a/drivers/gpu/drm/amd/include/amdgpu_workload.h b/drivers/gpu/dr= m/amd/include/amdgpu_workload.h new file mode 100644 index 000000000000..5d0f068422d4 --- /dev/null +++ b/drivers/gpu/drm/amd/include/amdgpu_workload.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Copyright 2023 Advanced Micro Devices, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software= "), + * to deal in the Software without restriction, including without limitati= on + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included= in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _AMDGPU_WORKLOAD_H_ +#define _AMDGPU_WORKLOAD_H_ + +struct amdgpu_smu_workload { + struct amdgpu_device *adev; + struct mutex workload_lock; + struct delayed_work smu_delayed_work; + uint32_t submit_workload_status; + bool initialized; + atomic_t power_profile_ref[PP_SMC_POWER_PROFILE_COUNT]; +}; + +/* Workload mode names */ +static const char * const amdgpu_workload_mode_name[] =3D { + "Default", + "3D", + "Powersaving", + "Video", + "VR", + "Compute", + "Custom", + "Window3D" +}; + +void amdgpu_workload_profile_init(struct amdgpu_device *adev); + +void amdgpu_workload_profile_fini(struct amdgpu_device *adev); + +#endif --=20 2.34.1 From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E49AEE49A5 for ; Mon, 21 Aug 2023 06:48:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233492AbjHUGsv (ORCPT ); Mon, 21 Aug 2023 02:48:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233480AbjHUGsu (ORCPT ); Mon, 21 Aug 2023 02:48:50 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2040.outbound.protection.outlook.com [40.107.94.40]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B018BE0 for ; Sun, 20 Aug 2023 23:48:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jpnxwbGE8eIzEl42YWWJK9AqL7KWX0LvkakXh3wWJ6aAmBQrAvWu4rJAfl2uoWHnsDNN1B/qbwI4nvP84L5AGxOexYE5wLZF+SKU1ER1tJSQk2gY6rD+GOPT881v5mHQS8UDpwhiPWbcQ09OkfcccGaoevVamzgrpdeLfrcQWSTuWCRfAxUXyI36sr0Js4Nfj0spfQzJYCLaPYLvSW6804YJ1Sz34AicQKsjzk4DKe5JDbQs99EWDIa6/EwKE5KY83T5ULlDXu0aVcn9LPF/gmHzE+u3MbTAbVfKmCLVP8kLPMly/87Zk2TySejHPGTLUEtx+E4vq1ZxBeE+HOwHLw== 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=V25dkPwoSUODTsgPmxA1jt+a/rBCgzBUPan+NTYQ/dU=; b=k8jl1rsClu6YgRahveObBOliyZ4+SwaA8rr+zJPJGt9Bx8a4dnCCNF2jg4Zd9P9mSSrCU9nXjqd11NOgPc06qdSAHslfMj92wGUZOXwdkQW8ZfSesqMW1xoR76MmzS6/WFN30a3JN8lTy7rKK1mEfRnWFRarkRSXtXXYXEjnVWRSn+du1Tpt9Kog9clJijuhZIP/WiDr0Omx3ugAF54X5NRZXOqLhPBejBdmhHopzOeRfPkMPIDyX8Dq3pJEJXAfkgAIhY6XbQjyp+I9rYu4zZy/kk+rYR/bAol1+jOM5fcsjNwbC7UHm+1tsbLfbb3rK1T3FCs9x9p8gBaOU344LA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=V25dkPwoSUODTsgPmxA1jt+a/rBCgzBUPan+NTYQ/dU=; b=oF2dKzK+yfIGnfc3zFFxqmbG2AG73EHxXZzaVA8gKbxl9i6NNMmPdTInkirR6EEJryjD90g7pL7wcgIqEXjqxjmEJ/uJxzGLza9T4B54I07axy4vO8ic3xF8qbkwWfNPNgnYSIlsfCFKOK6jtMHPUc9t6MXez0KfufiKYIJRcvM= Received: from SN6PR2101CA0014.namprd21.prod.outlook.com (2603:10b6:805:106::24) by DM4PR12MB5376.namprd12.prod.outlook.com (2603:10b6:5:39f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 06:48:40 +0000 Received: from SA2PEPF0000150B.namprd04.prod.outlook.com (2603:10b6:805:106:cafe::41) by SN6PR2101CA0014.outlook.office365.com (2603:10b6:805:106::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.0 via Frontend Transport; Mon, 21 Aug 2023 06:48:40 +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 SA2PEPF0000150B.mail.protection.outlook.com (10.167.242.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 06:48:40 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:48:36 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 2/7] drm/amdgpu: Add new function to set GPU power profile Date: Mon, 21 Aug 2023 12:17:54 +0530 Message-ID: <20230821064759.94223-3-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF0000150B:EE_|DM4PR12MB5376:EE_ X-MS-Office365-Filtering-Correlation-Id: ec9014ac-a516-483b-bd54-08dba212a72e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9dfpD475izJ8b9Cm/ddDFJbXU0c/xdMPxgJGep1ibpjn3R1S6iaRbMYlbJymtGGyK9r+DCsLCOorJYnlWUXESPe/nCV8ShbYUUqovyxQJynHleEuO4ii8kW4tRLUvdYzq7DxBLzZkvDoXvQTAFs8hC6Dxe2nM959UAQihAadLuGmIughqwvHwIjcCI/bAkKumc1/a49nteNlmDxiMWCT5bPlj3bvrBNs8dsPRhP+Q0T097Fueu9W79bsAi5srGWIUBdrzNjLCAH2xhXPl8hoqqqP1druMlNug1E2iaW2RS8XpzO1NfnvwEShKvndBAjOhKYKqpgoSUnPjOxMjXXFQeTANP986AIybhECVfBlE6LmFTpCvanjC8NQbbRWCsy4CuQwew4MVA2rhMro6Po2QWTa7KN0BbAVQvQuPrZmiplxSF8XuxFwb6PaSu9g56A6x7VDVgJAhW481seuxYdbN6VDHLJ7kEkx7ciWMPNyIb1n771qUdxsKnTM20+yZvWBbphX6p9IBa0VgCoLFEV+gyK/8DvXfE/M1dxHWoy9Y79HLwo/WkTrdMKaJ4OuPEVDUGdw3brvKJwoHeZpJqtopnEOfdHNrCDn8gItBkadkEQThQuuBbgtyQOv/mFnjbHOnDqaW8dUIJjDVLIfujo1LnWPGhtPssPbOOY5DosneO8o3NnH8dF6ffD8S/Do6LmniX+V2yTCLIQTFpe+F2B4z9Gb3bfFc9GUFAjvKwBOtUrSx7QWhpr8eN7wGpOQbjxvBQ2quPdiifbwowzIKfX1bg== 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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(82310400011)(451199024)(186009)(1800799009)(40470700004)(46966006)(36840700001)(2906002)(83380400001)(7696005)(40480700001)(5660300002)(336012)(426003)(26005)(16526019)(86362001)(47076005)(36860700001)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(54906003)(70586007)(110136005)(478600001)(82740400003)(356005)(81166007)(6666004)(36756003)(40460700003)(41300700001)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:48:40.0401 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec9014ac-a516-483b-bd54-08dba212a72e 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: SA2PEPF0000150B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5376 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch adds a function which will change the GPU power profile based on a submitted job. This can optimize the power performance when the workload is on. v2: - Splitting workload_profile_set and workload_profile_put into two separate patches. - Addressed review comment. Cc: Shashank Sharma Cc: Christian Koenig Cc: Alex Deucher Signed-off-by: Arvind Yadav Reviewed-by: Shashank Sharma --- drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c | 56 +++++++++++++++++++ drivers/gpu/drm/amd/include/amdgpu_workload.h | 3 + 2 files changed, 59 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c b/drivers/gpu/drm= /amd/amdgpu/amdgpu_workload.c index 32166f482f77..e661cc5b3d92 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c @@ -24,6 +24,62 @@ =20 #include "amdgpu.h" =20 +static enum PP_SMC_POWER_PROFILE +ring_to_power_profile(uint32_t ring_type) +{ + switch (ring_type) { + case AMDGPU_RING_TYPE_GFX: + return PP_SMC_POWER_PROFILE_FULLSCREEN3D; + case AMDGPU_RING_TYPE_COMPUTE: + return PP_SMC_POWER_PROFILE_COMPUTE; + case AMDGPU_RING_TYPE_UVD: + case AMDGPU_RING_TYPE_VCE: + case AMDGPU_RING_TYPE_UVD_ENC: + case AMDGPU_RING_TYPE_VCN_DEC: + case AMDGPU_RING_TYPE_VCN_ENC: + case AMDGPU_RING_TYPE_VCN_JPEG: + return PP_SMC_POWER_PROFILE_VIDEO; + default: + return PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT; + } +} + +static int +amdgpu_power_profile_set(struct amdgpu_device *adev, + enum PP_SMC_POWER_PROFILE profile) +{ + int ret =3D amdgpu_dpm_switch_power_profile(adev, profile, true); + + if (!ret) { + /* Set the bit for the submitted workload profile */ + adev->smu_workload.submit_workload_status |=3D (1 << profile); + atomic_inc(&adev->smu_workload.power_profile_ref[profile]); + } + + return ret; +} + +void amdgpu_workload_profile_set(struct amdgpu_device *adev, + uint32_t ring_type) +{ + struct amdgpu_smu_workload *workload =3D &adev->smu_workload; + enum PP_SMC_POWER_PROFILE profile =3D ring_to_power_profile(ring_type); + int ret; + + if (profile =3D=3D PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT) + return; + + mutex_lock(&workload->workload_lock); + + ret =3D amdgpu_power_profile_set(adev, profile); + if (ret) { + DRM_WARN("Failed to set workload profile to %s, error =3D %d\n", + amdgpu_workload_mode_name[profile], ret); + } + + mutex_unlock(&workload->workload_lock); +} + void amdgpu_workload_profile_init(struct amdgpu_device *adev) { adev->smu_workload.adev =3D adev; diff --git a/drivers/gpu/drm/amd/include/amdgpu_workload.h b/drivers/gpu/dr= m/amd/include/amdgpu_workload.h index 5d0f068422d4..5022f28fc2f9 100644 --- a/drivers/gpu/drm/amd/include/amdgpu_workload.h +++ b/drivers/gpu/drm/amd/include/amdgpu_workload.h @@ -46,6 +46,9 @@ static const char * const amdgpu_workload_mode_name[] =3D= { "Window3D" }; =20 +void amdgpu_workload_profile_set(struct amdgpu_device *adev, + uint32_t ring_type); + void amdgpu_workload_profile_init(struct amdgpu_device *adev); =20 void amdgpu_workload_profile_fini(struct amdgpu_device *adev); --=20 2.34.1 From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A9AAEE4996 for ; Mon, 21 Aug 2023 06:49:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233499AbjHUGtL (ORCPT ); Mon, 21 Aug 2023 02:49:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233409AbjHUGtK (ORCPT ); Mon, 21 Aug 2023 02:49:10 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2059.outbound.protection.outlook.com [40.107.94.59]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6376BF3 for ; Sun, 20 Aug 2023 23:48:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WQh/hIf8SCOLoK3IbFL/OJplNvxdntMXInO7xC5fz0OQtejT/w0vH45eM/uYZ3P2RW9F+zw74uZwLPiOmdIcqp7cY6ZBkWPrfoCBOqJCoLfZoblyMtZmFMOM/beE+fLaUWancDv+u+D90/502JcMIsMtKibOHIa/nkU020OGBKhIwnPKEqqdyxhvoTOeq+sOyzLASNaAYX0NVxDAiF1tl3QDn+a3S7wsDczMDOBapIxhnQ1TWb4r855aLoQHPYh18Lrxw1yFsr8+OMkizoVlVThF2f0B4/TjuY26MkiOm+l6cKYR4o2zGGnEgAyXwnTF1bfmqQJilrLaUvV2T8XF6Q== 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=l/Y5OWeLTWYsw8szkDB+4ChijrVJXVvY8eenpKtJVP8=; b=oDnsCSADQ7F4/nLex8nfTz6w+e0M3kqJlv1EK2zva+XfedEAWsYBtjKhqdJiDGoGy3em4BuM7W7MJNEGkRVeL14PKeLiHcBafID5FD6vxEcnK+iJMtKQBD0ztDg9wjkmpMpU5wur9OYbkOE49mxScrl71+eOwMCHuoqncGu0QRlwnkruEqrni//Ai4cxvMpwsToi2+jYRtMGCVMU7dpcdhTk9aD8gL1PLuIrcmzL2JVtCChWcvPuLfzH83VpQVySx80wck+7v3wwaDS6a/SsqzFlLJWUtRhWfWcQTVtlwgVLw04bwLCmguL5l+QWBHOb9HBwkP+ptNmZseuBZGgtuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=l/Y5OWeLTWYsw8szkDB+4ChijrVJXVvY8eenpKtJVP8=; b=p5sQv/vZtw8yauC2Z3uDjdfBurpWQvmPow/9P7kuzt08E71BcW8u0XL4Mf62vf57ByPZCht2ZB9kPj5ifdJHkwrMk3+U7+KDNS/0AANJ+hSXV0xI3/njL4hCC9LOj9RJnYjLD0c1AFmVHChVn7JMYWLqdTWbCOBFwVX/CHV0w6c= Received: from SN7PR18CA0028.namprd18.prod.outlook.com (2603:10b6:806:f3::11) by MN2PR12MB4358.namprd12.prod.outlook.com (2603:10b6:208:24f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 06:48:48 +0000 Received: from SA2PEPF00001509.namprd04.prod.outlook.com (2603:10b6:806:f3:cafe::f) by SN7PR18CA0028.outlook.office365.com (2603:10b6:806:f3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Mon, 21 Aug 2023 06:48:47 +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 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 06:48:47 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:48:43 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 3/7] drm/amdgpu: Add new function to put GPU power profile Date: Mon, 21 Aug 2023 12:17:55 +0530 Message-ID: <20230821064759.94223-4-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|MN2PR12MB4358:EE_ X-MS-Office365-Filtering-Correlation-Id: 9fc91acb-27d5-4ea8-57bc-08dba212abcb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nLUzBUzA0yDMgvYuCliLi1xmCzGTvwc7fZe/M9uf6ClvkaIA1biwqkjT3M8plp9Se6Nqhc9J/0OsEVRFaonaj2EWcXaJmq1xffHf6oEDLavZcPSaP2duDVv1m8RlCdaQVb+B5tZ4efAhkFDsOLNEScnz+QCMb1BtX/K1FrhAfvJZUmvHqy5SWmyXTWlx0mQfZfucAmgELXts1zLpiEOWZc6A6UShD7FWuoZTSt7LoSPDlEa8mJbihdGtHCYlzMi1KBA/lN1QujXPdlauASMLKx+sp0qjU83U8fd5DQq164MdGoXT9lgidZXQb9Q334ev6BffRypuTvUfO+GRVE8VxXheie++GfOR8oBSIvzjDXsdqu0Y8Afqw77uGeZry7fFhdjI/femU1oTCIvAHU8q5wqJacfInvzxa2w9eE+yLoGNFL4r6XkGT/VPFTGHn4V09QJeRdHicOXwLQ90LuFyFfyzDVHOBpoeTcQDwJTCGh+Rf2oIfjr9r1IwyWGB5wYJ4weHgPdTvDoma8PIA1dFmznRJdP+hXwcrTgWS4a9Mj/LD8vrQjUsYb+bIwbj00RWDwZnuOee0DiYSt/ZW6evuqvk5Dan1OQdONYGk7MoXdP+rUc4TfSN+wmfsQM3CLrlv+YdTbcg1SRMK5yCyx4BtTitpH9C3OmE53aemtiUX2AhFtdIr/kW8mS0t7FBUv8Qo4Zjy4HxWykf/+zqJ3ArsWkAd/oKN63HttONvrpfGQijPyfnoEq5IZSat18cQ2Dsp2bPu9lZfkf9pSvdBZl2eA== 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)(4636009)(376002)(396003)(136003)(346002)(39860400002)(186009)(1800799009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(54906003)(70586007)(70206006)(316002)(110136005)(8676002)(2616005)(8936002)(4326008)(1076003)(36756003)(40460700003)(41300700001)(82740400003)(356005)(81166007)(478600001)(6666004)(7696005)(40480700001)(2906002)(83380400001)(86362001)(36860700001)(47076005)(336012)(426003)(5660300002)(26005)(16526019)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:48:47.7773 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9fc91acb-27d5-4ea8-57bc-08dba212abcb 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: SA2PEPF00001509.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4358 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch adds a function which will clear the GPU power profile after job finished. This is how it works: - schedular will set the GPU power profile based on ring_type. - Schedular will clear the GPU Power profile once job finished. - Here, the *_workload_profile_set function will set the GPU power profile and the *_workload_profile_put function will schedule the smu_delayed_work task after 100ms delay. This smu_delayed_work task will clear a GPU power profile if any new jobs are not scheduled within 100 ms. But if any new job comes within 100ms then the *_workload_profile_set function will cancel this work and set the GPU power profile based on preferences. v2: - Splitting workload_profile_set and workload_profile_put into two separate patches. - Addressed review comment. Cc: Shashank Sharma Cc: Christian Koenig Cc: Alex Deucher Signed-off-by: Arvind Yadav --- drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c | 97 +++++++++++++++++++ drivers/gpu/drm/amd/include/amdgpu_workload.h | 3 + 2 files changed, 100 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c b/drivers/gpu/drm= /amd/amdgpu/amdgpu_workload.c index e661cc5b3d92..6367eb88a44d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c @@ -24,6 +24,9 @@ =20 #include "amdgpu.h" =20 +/* 100 millsecond timeout */ +#define SMU_IDLE_TIMEOUT msecs_to_jiffies(100) + static enum PP_SMC_POWER_PROFILE ring_to_power_profile(uint32_t ring_type) { @@ -59,6 +62,80 @@ amdgpu_power_profile_set(struct amdgpu_device *adev, return ret; } =20 +static int +amdgpu_power_profile_clear(struct amdgpu_device *adev, + enum PP_SMC_POWER_PROFILE profile) +{ + int ret =3D amdgpu_dpm_switch_power_profile(adev, profile, false); + + if (!ret) { + /* Clear the bit for the submitted workload profile */ + adev->smu_workload.submit_workload_status &=3D ~(1 << profile); + } + + return ret; +} + +static void +amdgpu_power_profile_idle_work_handler(struct work_struct *work) +{ + + struct amdgpu_smu_workload *workload =3D container_of(work, + struct amdgpu_smu_workload, + smu_delayed_work.work); + struct amdgpu_device *adev =3D workload->adev; + bool reschedule =3D false; + int index =3D fls(workload->submit_workload_status); + int ret; + + mutex_lock(&workload->workload_lock); + for (; index > 0; index--) { + int val =3D atomic_read(&workload->power_profile_ref[index]); + + if (val) { + reschedule =3D true; + } else { + if (workload->submit_workload_status & + (1 << index)) { + ret =3D amdgpu_power_profile_clear(adev, index); + if (ret) { + DRM_WARN("Failed to clear workload %s,error =3D %d\n", + amdgpu_workload_mode_name[index], ret); + goto exit; + } + } + } + } + if (reschedule) + schedule_delayed_work(&workload->smu_delayed_work, + SMU_IDLE_TIMEOUT); +exit: + mutex_unlock(&workload->workload_lock); +} + +void amdgpu_workload_profile_put(struct amdgpu_device *adev, + uint32_t ring_type) +{ + struct amdgpu_smu_workload *workload =3D &adev->smu_workload; + enum PP_SMC_POWER_PROFILE profile =3D ring_to_power_profile(ring_type); + + if (profile =3D=3D PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT) + return; + + mutex_lock(&workload->workload_lock); + + if (!atomic_read(&workload->power_profile_ref[profile])) { + DRM_WARN("Power profile %s ref. count error\n", + amdgpu_workload_mode_name[profile]); + } else { + atomic_dec(&workload->power_profile_ref[profile]); + schedule_delayed_work(&workload->smu_delayed_work, + SMU_IDLE_TIMEOUT); + } + + mutex_unlock(&workload->workload_lock); +} + void amdgpu_workload_profile_set(struct amdgpu_device *adev, uint32_t ring_type) { @@ -70,13 +147,30 @@ void amdgpu_workload_profile_set(struct amdgpu_device = *adev, return; =20 mutex_lock(&workload->workload_lock); + cancel_delayed_work_sync(&workload->smu_delayed_work); =20 ret =3D amdgpu_power_profile_set(adev, profile); if (ret) { DRM_WARN("Failed to set workload profile to %s, error =3D %d\n", amdgpu_workload_mode_name[profile], ret); + goto exit; + } + + /* Clear the already finished jobs of higher power profile*/ + for (int index =3D fls(workload->submit_workload_status); + index > profile; index--) { + if (!atomic_read(&workload->power_profile_ref[index]) && + workload->submit_workload_status & (1 << index)) { + ret =3D amdgpu_power_profile_clear(adev, index); + if (ret) { + DRM_WARN("Failed to clear workload %s, err =3D %d\n", + amdgpu_workload_mode_name[profile], ret); + goto exit; + } + } } =20 +exit: mutex_unlock(&workload->workload_lock); } =20 @@ -87,6 +181,8 @@ void amdgpu_workload_profile_init(struct amdgpu_device *= adev) adev->smu_workload.initialized =3D true; =20 mutex_init(&adev->smu_workload.workload_lock); + INIT_DELAYED_WORK(&adev->smu_workload.smu_delayed_work, + amdgpu_power_profile_idle_work_handler); } =20 void amdgpu_workload_profile_fini(struct amdgpu_device *adev) @@ -94,6 +190,7 @@ void amdgpu_workload_profile_fini(struct amdgpu_device *= adev) if (!adev->smu_workload.initialized) return; =20 + cancel_delayed_work_sync(&adev->smu_workload.smu_delayed_work); adev->smu_workload.submit_workload_status =3D 0; adev->smu_workload.initialized =3D false; mutex_destroy(&adev->smu_workload.workload_lock); diff --git a/drivers/gpu/drm/amd/include/amdgpu_workload.h b/drivers/gpu/dr= m/amd/include/amdgpu_workload.h index 5022f28fc2f9..ee1f87257f2d 100644 --- a/drivers/gpu/drm/amd/include/amdgpu_workload.h +++ b/drivers/gpu/drm/amd/include/amdgpu_workload.h @@ -46,6 +46,9 @@ static const char * const amdgpu_workload_mode_name[] =3D= { "Window3D" }; =20 +void amdgpu_workload_profile_put(struct amdgpu_device *adev, + uint32_t ring_type); + void amdgpu_workload_profile_set(struct amdgpu_device *adev, uint32_t ring_type); =20 --=20 2.34.1 From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 135BFEE49A8 for ; Mon, 21 Aug 2023 06:49:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233504AbjHUGtV (ORCPT ); Mon, 21 Aug 2023 02:49:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231429AbjHUGtU (ORCPT ); Mon, 21 Aug 2023 02:49:20 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2041.outbound.protection.outlook.com [40.107.93.41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EB89CE for ; Sun, 20 Aug 2023 23:49:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TuFAQKE3QDfjAJkZOV395TFGrtMjqToykKQ+1vHGPg7pbueJ+/fGqfbScDgQF6ul1oY6eGYoyHfCW7zLqJkjhK7z/mnUh+ud9kCxTgPN7Oa+lSJdk2XEsJRkyYEWokdW2go7DVJCOQgklRbNFZKnRJKI+EWF+NmBWTgB6bowqEJhsU/DoYNkjD9OYRes9zt4okN6oI/OIXN2aDmUhNVytdnXq2rtA1EUSkXEhQfuo7o06mlUCpPtPS2vsjqBeNcOHrRRDJ3SSTnK9k31NGGGokuLxTEg68dGNRojMNepoOn9RoxzMpYk4dXsMTTHVBf6yYkaWmsiW2mJ/2D/juWeqQ== 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=gfBKkf3GTNxwnx22Mi5JbYNmfgDSBXfsvfOK+60+xNc=; b=BzWmRR2qdpAitecWDptkz3q3Kl3OdhpsXvhJMFxZAZLWlw6zZ6xTSFeifbpJK+kQ562zaz5Bex30BLqEQCvRJ6AU7ApLkDIXUgiCeYiFclC9NattrUKAQpfYIR7VX2KZecOd2VTS4pmlWavnYkSurkZZ6EA63lX3XOc1ODCmnHCBufCzv8QBoU3ScpOwMs6QvLlGEQzouFrjuHewSnakpKA58+4tHwNkaTYM/RXtt4Tvl4HQSgXqKRrUwaVDR4JwlQRxQbpbs9rXH6QQXSOB9REcuabRtNBguIUURerR3VwEp2Ll9BDnR6XaHKa0Eng1zOdRyx2o6Y2ZOQf0NBVPjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=gfBKkf3GTNxwnx22Mi5JbYNmfgDSBXfsvfOK+60+xNc=; b=sPdMVMchJNfxeB0k2yEZP/rRsZj/PfRzt6CVRYnauNjfF6eLPUymuwpOxvFh85mlS9EA6jJ2veMjFCVJgceUZGmDmeVg/ozQQWPTjOoRKZQiiyJ0AHicgShxiiJQbAXiAcCi6QBeg3D7juDFOVCLkAvzGa0w1qMxrNMXu7rip/c= Received: from SN6PR2101CA0006.namprd21.prod.outlook.com (2603:10b6:805:106::16) by IA1PR12MB8406.namprd12.prod.outlook.com (2603:10b6:208:3da::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 06:48:59 +0000 Received: from SA2PEPF0000150B.namprd04.prod.outlook.com (2603:10b6:805:106:cafe::55) by SN6PR2101CA0006.outlook.office365.com (2603:10b6:805:106::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.0 via Frontend Transport; Mon, 21 Aug 2023 06:48:58 +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 SA2PEPF0000150B.mail.protection.outlook.com (10.167.242.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 06:48:58 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:48:55 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 4/7] drm/amdgpu: Add suspend function to clear the GPU power profile. Date: Mon, 21 Aug 2023 12:17:56 +0530 Message-ID: <20230821064759.94223-5-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF0000150B:EE_|IA1PR12MB8406:EE_ X-MS-Office365-Filtering-Correlation-Id: 7531ad7c-4f3b-415a-d155-08dba212b26e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YkX6R5DcqDCFDD8NrtF1M2BWzzKuWcowiAUCiR/ImEyffZHERddHOO6UZm017gGOFkmICXMVxxxBflNCdk+y6VP+hMkdB3nMaVgaoeJ9LbVgH1ePjY31LrKykyEse/NpdKq8QAtg2yrzns0XLb0WHQGndlTnbvai3PvZrAjeGr+VORifqUF2z5jV57olNDvBzH+XBJwxhSf0sJbnH3FrIE1XxJOuPxO2KyTphJF4P9Z0Am4VLMSj1uJBcB2tXT594WwbkZi2ys7d9yKmML+YwX4e6b2d/qt9rfcRXDTBjwJnYseo66AWDtvKOO/EQnh6uOdlCkZwqOwaDicSKovJbZNqYTcMZBGAy91SGKOQPq2bcCXJkKCO6nUKzxC3k8WAsYVRzeXOzULv8j3XH9B8U+8tnRPNwxp7w/+wofKNGNzvL3jzZcTxsK7nu+xHE2zJ+1M2gHUKC/6wbq5kUvxyHBX5Rt7Ox5Lxl5uR2RBZcoNEp3xe2QLMcIJExB8LfMxI+5kc/aLWlno+W8QnJcwQeXwcF6Tav9+seGYhXEm7qVN0z39haGvfLsfnyQZtYzWpA+1l1PIhsCcRYMM3h/FICnArXNCjgQlIyCY0Aoguqlslod44kGiOMNLwIT+AbHWnHZc7exwMFdU/YYnxWewPEDMS9PyicDTFcyx9hNngTGteVzVrAWl/M1vGCbTm/sUM0O9PmPlujdLRbyTaN31lKqzkFNdqfl5yZqDjAyF9XJaOSJNqpbq2D6nz2kv8DHIuA+dOgQUqlq2n+kbRc484XA== 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)(4636009)(136003)(396003)(376002)(346002)(39860400002)(186009)(1800799009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(40480700001)(86362001)(36756003)(356005)(40460700003)(316002)(70206006)(54906003)(70586007)(478600001)(110136005)(41300700001)(82740400003)(81166007)(7696005)(16526019)(26005)(47076005)(426003)(1076003)(336012)(36860700001)(8676002)(4326008)(2906002)(2616005)(83380400001)(15650500001)(8936002)(5660300002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:48:58.9150 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7531ad7c-4f3b-415a-d155-08dba212b26e 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: SA2PEPF0000150B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8406 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch adds a suspend function that will clear the GPU power profile before going into suspend state. v2: - Add the new suspend function based on review comment. Cc: Shashank Sharma Cc: Christian Koenig Cc: Alex Deucher Signed-off-by: Arvind Yadav --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c | 23 +++++++++++++++++++ drivers/gpu/drm/amd/include/amdgpu_workload.h | 2 ++ 3 files changed, 27 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/a= md/amdgpu/amdgpu_device.c index cd3bf641b630..3b70e657b439 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4212,6 +4212,8 @@ int amdgpu_device_suspend(struct drm_device *dev, boo= l fbcon) =20 amdgpu_ras_suspend(adev); =20 + amdgpu_workload_profile_suspend(adev); + amdgpu_device_ip_suspend_phase1(adev); =20 if (!adev->in_s0ix) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c b/drivers/gpu/drm= /amd/amdgpu/amdgpu_workload.c index 6367eb88a44d..44ca8e986984 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c @@ -174,6 +174,29 @@ void amdgpu_workload_profile_set(struct amdgpu_device = *adev, mutex_unlock(&workload->workload_lock); } =20 +void amdgpu_workload_profile_suspend(struct amdgpu_device *adev) +{ + struct amdgpu_smu_workload *workload =3D &adev->smu_workload; + int ret; + + mutex_lock(&workload->workload_lock); + cancel_delayed_work_sync(&workload->smu_delayed_work); + + /* Clear all the set GPU power profile*/ + for (int index =3D fls(workload->submit_workload_status); + index > 0; index--) { + if (workload->submit_workload_status & (1 << index)) { + atomic_set(&workload->power_profile_ref[index], 0); + ret =3D amdgpu_power_profile_clear(adev, index); + if (ret) + DRM_WARN("Failed to clear power profile %s, err =3D %d\n", + amdgpu_workload_mode_name[index], ret); + } + } + workload->submit_workload_status =3D 0; + mutex_unlock(&workload->workload_lock); +} + void amdgpu_workload_profile_init(struct amdgpu_device *adev) { adev->smu_workload.adev =3D adev; diff --git a/drivers/gpu/drm/amd/include/amdgpu_workload.h b/drivers/gpu/dr= m/amd/include/amdgpu_workload.h index ee1f87257f2d..0acd8769ec52 100644 --- a/drivers/gpu/drm/amd/include/amdgpu_workload.h +++ b/drivers/gpu/drm/amd/include/amdgpu_workload.h @@ -52,6 +52,8 @@ void amdgpu_workload_profile_put(struct amdgpu_device *ad= ev, void amdgpu_workload_profile_set(struct amdgpu_device *adev, uint32_t ring_type); =20 +void amdgpu_workload_profile_suspend(struct amdgpu_device *adev); + void amdgpu_workload_profile_init(struct amdgpu_device *adev); =20 void amdgpu_workload_profile_fini(struct amdgpu_device *adev); --=20 2.34.1 From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9650AEE4996 for ; Mon, 21 Aug 2023 06:49:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233512AbjHUGtd (ORCPT ); Mon, 21 Aug 2023 02:49:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231429AbjHUGtc (ORCPT ); Mon, 21 Aug 2023 02:49:32 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31D71BF for ; Sun, 20 Aug 2023 23:49:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OK080u4tQ452T6MO6gBq9D+K4PgYTeYNhACOLYpl5Hwl5q5iNct76r5srAUPB5ogZ5cd9oAG7IX2PJgpHJsIfAwFsBUcO4oxYmLUso7IPKYrgQndb3lK18AxJcquYQvGph+nL0NHH4oNkQJJkxA3iCejIU3gdLaTjvURubL8WDnFCqN5LuAhv4WaEaN1KxIwgeF6LkoA6ISccOKn6n4GuVe44l4YYlHGp55phRIq3KSP8VejbS5gY8tr9GWnV/Cgz0P34cDcuK9Cn5jcZ3aDUffYhHabMxKUsvzMogZfLkH9HUUD+b7Q+LaRifsyLCkoWRG2MFPkQeGlUxpIbCHbzA== 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=Gqp2tKfzEQuKez93RYHEJ3TyrG37Q0Ccr0hQKhpWrVQ=; b=D+7MR2/+VRYQ77oe/5itw1fwCV7+FVdBnSe6REtcs/YUtyaTi9v57gxSs70ywr/Qrz1nE/exD8Bu+HU7H05dcpFovABoLLoLVwFoepCnpk64D4Yg58WCKizSUEdooxAidPbnXy/BseuTJs36QpZoemxPc7iiYphdyB6PWXlCUQDDZz15/lAlpPTjowADpskTqzIu82VLtn02Ko/6ssKPvqcm+WJbaxhYSPqbDA58oHhNpD8L1iJBz1jQW385GybI2aRDY5KBWVheTM1GLleb05fggbeQWTx/ddSV1HoDJH7toIT64D+hkKK9NK26/p4K4072vXnQbEC0zgCUuCtOvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=Gqp2tKfzEQuKez93RYHEJ3TyrG37Q0Ccr0hQKhpWrVQ=; b=x6wYvcr4VQbAuWYU/qFk3jaL1d/6Oj+gNLD7mWnVD4cxOfxvk2hKYYgAilgQESQ2ykv6K98aV9SAQ76S06SpWc4n64/nHkt219PkK4o3y2+xWq6YJd2ofHlo68A9+5v7Xg22Ic+zieH76vZZuPonM7QzRUgbYBONiRWoU53n6vQ= Received: from SN7PR04CA0183.namprd04.prod.outlook.com (2603:10b6:806:126::8) by MW4PR12MB7381.namprd12.prod.outlook.com (2603:10b6:303:219::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 06:49:13 +0000 Received: from SA2PEPF00001504.namprd04.prod.outlook.com (2603:10b6:806:126:cafe::4b) by SN7PR04CA0183.outlook.office365.com (2603:10b6:806:126::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Mon, 21 Aug 2023 06:49:13 +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 SA2PEPF00001504.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 06:49:13 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:49:00 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 5/7] drm/amdgpu: Switch on/off GPU workload profile Date: Mon, 21 Aug 2023 12:17:57 +0530 Message-ID: <20230821064759.94223-6-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001504:EE_|MW4PR12MB7381:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ed5b5cc-2c0a-4667-29e9-08dba212bb08 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: flGK8tNsvKQOYVv4ZjbPisW7Y1LoHwTAagE8NuqgFG8O3shOxQ9IFpushqYv3iO4qAYRxClT2TAfMSE1s+W+pgJKkOU0RNp7fnzm7CNqmb/TywCbdLO8fnDW73KZwIGJIYPIoQsUg5EYubM6wQUD607vFAZ1XOg/DBvXpZjMWN1durmXf2waEUqrx8av+87a7tThnvx0jXgjlOePVi6eDe2HhqvJW46yotMWKpTb9KGi0+nlfHthXcCiuEZaJR50AP5SWGESfACbM3j8F8d95ZqgQeMJu5UQKnPgpm70AymF9/XZb5eiD0VVQ+0WjPVRnAgfqVTb/TmDM07UKX8CwtzpPN9MLEbkOkRtNfRv+QHPBDqUmk0JCKab+J9y2uUwW5Onz1tYSoGgf+HoD2oMDwO6rnJBh6dbiShhMH7IqsI98aSWj3P7bTToebS0Jqw+AOrsqanG3RkPmAdVMRtU7v7i+p8aDpLsVfZ45EPrhC+ndZt/v6sevqdYWhys8S7dOfkhGcVkLK9hWk+YYYDWjrkroYQRVbJc4B6plUXk6TerbF+aSXb0UhYdEljuXysSxI6Y/HAy9fLNNz3AQUTMBRjni5d08ZAFc71mHbJRBITTLJTRQFwVTdBide84j3CUrNYpFYfsckm2ASEDxH+ix8vinl5cvk9ZkIsFav6v4IKSpPz+3amvMU7nYW2ofWc0bZZ1ucLIXUGJiNRO+chfl0rnGz+8xm+VVWRUVmxllWE5fmrK6QczFiSWOpJzU6e143VXuyUCdjr+u8gcVLghgQ== 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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(82310400011)(451199024)(186009)(1800799009)(40470700004)(46966006)(36840700001)(2906002)(7696005)(40480700001)(5660300002)(336012)(426003)(26005)(16526019)(86362001)(47076005)(36860700001)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(54906003)(70586007)(110136005)(478600001)(82740400003)(356005)(81166007)(6666004)(36756003)(40460700003)(41300700001)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:49:13.3573 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1ed5b5cc-2c0a-4667-29e9-08dba212bb08 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: SA2PEPF00001504.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7381 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch is to switch the GPU workload profile based on the submitted job. The workload profile is reset to default when the job is done. Cc: Shashank Sharma Cc: Christian Koenig Cc: Alex Deucher Signed-off-by: Arvind Yadav Reviewed-by: Shashank Sharma --- drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/= amdgpu/amdgpu_job.c index c3d9d75143f4..c2b0fda6ba26 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c @@ -176,6 +176,9 @@ void amdgpu_job_free_resources(struct amdgpu_job *job) static void amdgpu_job_free_cb(struct drm_sched_job *s_job) { struct amdgpu_job *job =3D to_amdgpu_job(s_job); + struct amdgpu_ring *ring =3D to_amdgpu_ring(s_job->sched); + + amdgpu_workload_profile_put(ring->adev, ring->funcs->type); =20 drm_sched_job_cleanup(s_job); =20 @@ -295,6 +298,8 @@ static struct dma_fence *amdgpu_job_run(struct drm_sche= d_job *sched_job) DRM_ERROR("Error scheduling IBs (%d)\n", r); } =20 + amdgpu_workload_profile_set(adev, ring->funcs->type); + job->job_run_counter++; amdgpu_job_free_resources(job); =20 --=20 2.34.1 From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F06AEE4996 for ; Mon, 21 Aug 2023 06:49:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233514AbjHUGtp (ORCPT ); Mon, 21 Aug 2023 02:49:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231429AbjHUGto (ORCPT ); Mon, 21 Aug 2023 02:49:44 -0400 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2059.outbound.protection.outlook.com [40.107.237.59]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CEF32EC for ; Sun, 20 Aug 2023 23:49:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LJjB9H0hqsknMUVtvSU1z/dMVrQnaD5vtQ+CtmXRgJaUxRmX1fSgOxiTnEGaX9Lf6e6Re4T8NDcrtQtfFhO7kxNkkDL0O/e7WdK7J+XyY5PhRDO+SGGWzkZb1tYYa3S9abQT2lL5/+8VRRofwdoJ6eLiEqQ6Puss6z93DruZTEf89MGP2KLQHKr9NDRRgC6AUMtRwJZrSKn5KRWYMkrPi2iu9qfBIrEbw5EJhd0ayCZoZVxdlf6qTDqPcRVSHEhHj8JYQCAUraqyn9oCh2UXdKvT+s6cF5GzImqObqwOCL9WnR/nhnYbwRfjNdcJD/DG6GBR0gVWRl9RN50PEBAPNA== 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=OjSzWvS1+SgzmofgWPLIdn37wPoWyn5gwkptwZiB6TM=; b=YKM3ESZa/UBKxTaIGq4qgee075PytNZ6vKjlOY7M56hS3ZKIXAX/4Ssw570u/y4NRuxrDhGBJXktq+H7/NrE/tKMQblDb1UN0QM0QKjSGqLI5pBZ/FWhAJemi6ty2XDtuN82zpel+VrIsCKHuFZlzVOKVajs9IQf+gEnu8fBgGFunG2Wir4A7FOy2gJFpVTOQzHh1DITusHGrstX2/O0ynYjFa/0Ml6tsA8EZJhhcA0n6GiTHNZxe1lBjUrJbsr29iTgFcLJ9aI1jnkuXtJ/rCsavD5SawmVYGLZh6fDc41MJ3Hcohret1WrFu88XdazBPyUrSSNgIsxa70J4dQwsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=OjSzWvS1+SgzmofgWPLIdn37wPoWyn5gwkptwZiB6TM=; b=lZpphw5+q4zYBYbG1VSf5eRZoqLv6FnzvefvCgweTpeByg/N/on3+mfReFKSGec0ACE94D2u5ZW05XcURt3cxzc8OK86dTP2u9DzJy5AZILN/T49ikP2vHsQDf/b21omq+VAn2jyB8TM+JZy9oMJ2kvcv/U36mCbxB3oLH5/8rQ= Received: from SN7PR18CA0028.namprd18.prod.outlook.com (2603:10b6:806:f3::11) by SN7PR12MB6789.namprd12.prod.outlook.com (2603:10b6:806:26b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 06:49:18 +0000 Received: from SA2PEPF00001509.namprd04.prod.outlook.com (2603:10b6:806:f3:cafe::f1) by SN7PR18CA0028.outlook.office365.com (2603:10b6:806:f3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Mon, 21 Aug 2023 06:49:18 +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 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.14 via Frontend Transport; Mon, 21 Aug 2023 06:49:18 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:49:15 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 6/7] drm/amdgpu: switch workload context to/from compute Date: Mon, 21 Aug 2023 12:17:58 +0530 Message-ID: <20230821064759.94223-7-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|SN7PR12MB6789:EE_ X-MS-Office365-Filtering-Correlation-Id: de7f3297-5421-4fa7-28a2-08dba212be4f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qpOj2Rrm0MCNYEybbt9e0AtQj5UAseV9zNxntBlXtoXBhqJKYu3lr8WrrGlmdmojl5SLUeZPvPofgvGe3ZwO+tNSszc7jJQksTfLaHN5C/SlQW/i7nG2oAiHmvyghBCDBw3F7SCNwv7kXCMoYhWbqtpUmobEv3Lu+q5mBIATqP5lkW110cMZ7JOv+ay4lagjws56aM7NczsfdTM7pbdphjBvR9b5cJ+14TMH2C5lowm70P/61IQpJ4JDEMuC0iatUKrnCy68a4iPTJWd66AeVVye0DrVYaurk9moflxQ4kNfNhh9Ai23QbdjFWsEK7Tvx5DPbAvuU6/JJRNIDH/OUjd+L5UAx63jEqhYLlZ95n1dL5vZ2dtXfaCVM/ROpo+j8dXI8ClOsYOa4pA+C0bGCJKaoS0Gv157PnsKkH6e8wRL2fQC/iptMd13a3Oukykb7sP5XAjnp4ZmisFhdTWOLO30Bs8/V4uqVrCdfRNvkQwoj4cAzDA+3d+9CXk+XE6cnvVkpcxiJ60jZiYe17IolCiqTBTnLNGFxEwjOlr0th/E+1JvA/cuKEydR5aQic8FAWU+yXNN7qUqYm1zTNBdph3oFvuAh9v/zAfdnnuduNz+Oqybr49CD9KCIErNqYaRdSZr5FRWg5/Ui0yNoCwH75MvmIrRdfkROLwm0PNBC+ab61Pnd1qGczCOz+jWQpyx99fIK29czbxyTX4AORIIVYZCrAayP5+HWXNvmHG22I8cFXEFIIzftXnB/HvZ26JjmMSo/+igqv3+TyvTfqAw+g== 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)(4636009)(346002)(39860400002)(136003)(396003)(376002)(82310400011)(451199024)(186009)(1800799009)(40470700004)(46966006)(36840700001)(2906002)(83380400001)(7696005)(40480700001)(5660300002)(336012)(426003)(26005)(16526019)(86362001)(47076005)(36860700001)(8676002)(2616005)(8936002)(4326008)(70206006)(316002)(54906003)(70586007)(110136005)(478600001)(82740400003)(356005)(81166007)(6666004)(36756003)(40460700003)(41300700001)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:49:18.8245 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: de7f3297-5421-4fa7-28a2-08dba212be4f 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: SA2PEPF00001509.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6789 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch switches the GPU workload mode to/from compute mode, while submitting compute workload. Cc: Christian Koenig Signed-off-by: Alex Deucher Signed-off-by: Shashank Sharma Signed-off-by: Arvind Yadav Reviewed-by: Shashank Sharma --- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/a= md/amdgpu/amdgpu_amdkfd.c index 0385f7f69278..1d6a41f8d24e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c @@ -713,9 +713,11 @@ void amdgpu_amdkfd_set_compute_idle(struct amdgpu_devi= ce *adev, bool idle) pr_debug("GFXOFF is %s\n", idle ? "enabled" : "disabled"); amdgpu_gfx_off_ctrl(adev, idle); } - amdgpu_dpm_switch_power_profile(adev, - PP_SMC_POWER_PROFILE_COMPUTE, - !idle); + + if (idle) + amdgpu_workload_profile_put(adev, AMDGPU_RING_TYPE_COMPUTE); + else + amdgpu_workload_profile_set(adev, AMDGPU_RING_TYPE_COMPUTE); } =20 bool amdgpu_amdkfd_is_kfd_vmid(struct amdgpu_device *adev, u32 vmid) --=20 2.34.1 From nobody Fri Dec 19 16:05:25 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8F550EE4996 for ; Mon, 21 Aug 2023 06:49:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233520AbjHUGtw (ORCPT ); Mon, 21 Aug 2023 02:49:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47932 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231429AbjHUGtv (ORCPT ); Mon, 21 Aug 2023 02:49:51 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2075.outbound.protection.outlook.com [40.107.223.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D923107 for ; Sun, 20 Aug 2023 23:49:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UhY3PJCyRZt43f2YwlgDKLuZRRSTStaabqT66sURyxeVzq3yFkYj3ImdjCLQG3f4prndQQuzHVnlFZE3SvFHk4YkpYxUfM0n20YQcd3btDBOzvonpfUcA6x6Vxsg/AKf2mnjX1buf0uzxZYcCchbIe4/b1shqXuI29i3f2k/89GrsCTmvu9kHjPdGRSE03i7GDqwoxCeJrmFH+0zxDhKpXU1g0tZOlr32HoqBkAGcvAkqWj4c+1ozrPd8SEe067h1xLbmQ2VeSd6Lx6bwog+lobXttbCzDz4BY2y0GJ5qpiF6w07f4DDKHsarnb7KhjWJqCAB87Q9G17bs3anf5osg== 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=dbWPjoZywievjNFRTdg2CT3B0bWDMu/+7Qilcj03Ups=; b=gFbsDatZq9GFuUInyf8tqfMNJRCTh8+cV8l0tQNCeal6ksXb2M0X132N2VXBQnVS37fu3EC38T+u6r68GGP7XLLVOPxEsX2aI1Qi5jjulY3WdoSdI4BbUQ723yUKKHLIPZXFdthXyka3Y6tbOjUFc+sTmOc5VUJw1NvOfUmtn5oLf4c1rORpC1DbKx1Vcsl+Q8PiONnv0M5zt8sZ10xTyToR+Ps4nVpL1gc83vssKsYDQgR8Z+EppyMwBw/CyUrfrfL/rbbCieUa5ylqKLvJz86A48mwHOF/nP9xz3wQpE+xrO12Dfzso2tRbo6WDQ/Ew1D9mjshrRTKydJqC5xlFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.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 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=dbWPjoZywievjNFRTdg2CT3B0bWDMu/+7Qilcj03Ups=; b=FknJhltN9+Sml1d3uYgNVUnHc/aomzRgO/lZ8RKLY8rNNluOmS5pdvhWsA8xWELz8naAAp99u8Qm0q70dZqqKSN1T5I40CzDi933w7aoRqc0xXb/FCysVsHYu3q3235WzIBrld5V32+uczNT9+nVzSi6YXJeNwW8ZQVFR/GYeus= Received: from SA9P223CA0022.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::27) by MW6PR12MB8664.namprd12.prod.outlook.com (2603:10b6:303:23c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 06:49:25 +0000 Received: from SA2PEPF00001508.namprd04.prod.outlook.com (2603:10b6:806:26:cafe::8c) by SA9P223CA0022.outlook.office365.com (2603:10b6:806:26::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Mon, 21 Aug 2023 06:49:24 +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 SA2PEPF00001508.mail.protection.outlook.com (10.167.242.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6699.15 via Frontend Transport; Mon, 21 Aug 2023 06:49:24 +0000 Received: from rtg-System-Product-Name.amd.com (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.27; Mon, 21 Aug 2023 01:49:20 -0500 From: Arvind Yadav To: , , , , , , , CC: , , "Arvind Yadav" , Christian Koenig Subject: [PATCH v2 7/7] Revert "drm/amd/amdgpu: switch on/off vcn power profile mode" Date: Mon, 21 Aug 2023 12:17:59 +0530 Message-ID: <20230821064759.94223-8-Arvind.Yadav@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230821064759.94223-1-Arvind.Yadav@amd.com> References: <20230821064759.94223-1-Arvind.Yadav@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001508:EE_|MW6PR12MB8664:EE_ X-MS-Office365-Filtering-Correlation-Id: 4a435017-f044-47c6-9542-08dba212c1db X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D7/xmDShAEul+A1gFNhhB/C6Izpr8Vj4pks5SYhc60qxase2RiN8o+S554uimNuW7BNuRswyU9Dj5RYQnRyVV1PcKaf+xHIeuJXcDY60eMeWr9d4+lHlh+LjikMqydORLTjpoInCBqt7jlc1rLa7OIXU1WNdtcmkF+Y+UL+TIYpiHBj6rVLPLtIW0zcjSLBa+Q/I3REVmYsVzvMNCSxM7O6zyFUR6T8tNEhOd1oAnTO+VltOsqgikieWhg6LGVRAFs0k0ak2AYRLXIXFRaQrxmsy2+r5kC/1M5NqSyRhkPpMtx2uOJzsMWWvbgEUNxl+9fvE0FRRXm+oY2u7c1Y/iufWJVeY3ZU62/aSRVSFIOxXu1m6RNdzOPfpZiI16GlPj1VAgZ5VYqyT5N7774q6aIM7mECfK63GLZLYDAxXtJjDqCs6GBXDYfH/S2ybl3pwqVID77fq7eoeqSGFPaCt5FAPTwy0griY1iYxmupeSGG7IulOS567cask+Jwzqe0crhRKpT5ts5g1A7LwGkj4/pM0ACVtEYUx15h8t+QVZbNsahwhdsEHLdTibro//DLaWjTFTkia3UymUOjv+DL+IWpsde85tyftKSfcNj7qZxWEoQ7lDOkvbCKCqC7p/bpebge6615RB8r7t/WkcRm1obZ+TIla8pzp7b6j4LawDf1CfZj744isU1u85skADofXMwcsk2KFUTB0UZ6usXIWxZUv7V7T3tlXHlDaYmG+GFTfvcitZ3Yqe+YW3hxWiKrr1cAO34MTMaWCfFVEXdhF6g== 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)(4636009)(376002)(346002)(39860400002)(136003)(396003)(186009)(1800799009)(451199024)(82310400011)(46966006)(40470700004)(36840700001)(1076003)(2616005)(336012)(426003)(16526019)(26005)(47076005)(81166007)(356005)(82740400003)(86362001)(36756003)(40480700001)(36860700001)(40460700003)(83380400001)(41300700001)(316002)(8936002)(8676002)(110136005)(70206006)(70586007)(54906003)(2906002)(5660300002)(4326008)(6666004)(7696005)(478600001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 06:49:24.7936 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4a435017-f044-47c6-9542-08dba212c1db 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: SA2PEPF00001508.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8664 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This reverts commit 5ce71f59bb9bd3d8a09b96afdbc92975cb6dc303. Reason for revert: New amdgpu_workload_profile* api is added to switch on/off profile mode. These new api will allow to change the GPU power profile based on a submitted job. Cc: Shashank Sharma Cc: Christian Koenig Cc: Alex Deucher Signed-off-by: Arvind Yadav Acked-by: Shashank Sharma --- drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/= amdgpu/amdgpu_vcn.c index 2d94f1b63bd6..70777fcfa626 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c @@ -363,7 +363,6 @@ static void amdgpu_vcn_idle_work_handler(struct work_st= ruct *work) container_of(work, struct amdgpu_device, vcn.idle_work.work); unsigned int fences =3D 0, fence[AMDGPU_MAX_VCN_INSTANCES] =3D {0}; unsigned int i, j; - int r =3D 0; =20 for (j =3D 0; j < adev->vcn.num_vcn_inst; ++j) { if (adev->vcn.harvest_config & (1 << j)) @@ -392,10 +391,6 @@ static void amdgpu_vcn_idle_work_handler(struct work_s= truct *work) if (!fences && !atomic_read(&adev->vcn.total_submission_cnt)) { amdgpu_device_ip_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCN, AMD_PG_STATE_GATE); - r =3D amdgpu_dpm_switch_power_profile(adev, PP_SMC_POWER_PROFILE_VIDEO, - false); - if (r) - dev_warn(adev->dev, "(%d) failed to disable video power profile mode\n"= , r); } else { schedule_delayed_work(&adev->vcn.idle_work, VCN_IDLE_TIMEOUT); } @@ -404,16 +399,11 @@ static void amdgpu_vcn_idle_work_handler(struct work_= struct *work) void amdgpu_vcn_ring_begin_use(struct amdgpu_ring *ring) { struct amdgpu_device *adev =3D ring->adev; - int r =3D 0; =20 atomic_inc(&adev->vcn.total_submission_cnt); =20 - if (!cancel_delayed_work_sync(&adev->vcn.idle_work)) { - r =3D amdgpu_dpm_switch_power_profile(adev, PP_SMC_POWER_PROFILE_VIDEO, - true); - if (r) - dev_warn(adev->dev, "(%d) failed to switch to video power profile mode\= n", r); - } + if (!cancel_delayed_work_sync(&adev->vcn.idle_work)) + amdgpu_gfx_off_ctrl(adev, false); =20 mutex_lock(&adev->vcn.vcn_pg_lock); amdgpu_device_ip_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCN, --=20 2.34.1