From nobody Sun Feb 8 14:22:36 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012006.outbound.protection.outlook.com [40.107.200.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F2A3F340A47 for ; Wed, 4 Feb 2026 17:11:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.6 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770225083; cv=fail; b=CZVsK5gIpKD6JkwS4vCrsD87o09sKV+Qr8U50YoNLMSPP4uOWfcTt0C1gyb4VF+rmMvv7J7tIK7sXtvBQu+2xZZnybS0GBlvgf/m4gE1cSFTldpwu7esMRj2rT5RZRaycvUVkoH9KzHgBmy+lw4SZ1KO/ZrxAn5KKcAF6B5Aq6I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770225083; c=relaxed/simple; bh=g32uRRNMrqAMY8iBgJhTnFvW6N1dPGaeCly1++2xaWY=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=okEBDG2ORwpdW0NZVuNfW8+FBtBfmkWVAzH+RiT74JO0mezv50aodTqZROqgwq9n1fTEWFKEqfLPtl1Ju9IIlal5Vh3R4AKfsBgRCqadZMbvApkzQz3MWS0Z2etktAsqyuy71iUq61SRdX5V3MR01wl2owerh45NfutgAXsjs7I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=L6D1VoTo; arc=fail smtp.client-ip=40.107.200.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="L6D1VoTo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GDZlEJ8RhDILv7HhccFNgetYSAg6Q5i8n+2RnwqfFzT8VEq1d+/bG7n6b6aBcU47XoUL7EBRKtFf0vgQiFSBIrGueHKrnBsLzaQ1RtrXjYX63ovjdsmAgyex9rgBF4VqkZb5Byz6ETRfk9Hw0poQY/utYgC0gL/qb4k58/bVIkaBRZAKz9nQoEAYNwTpaOhToS4vNjy1pIp3BD1i3a2O/2FES52AbRcciTWHDMDCorO6qn6BHev06McWYwcUb9PaWB9/V3uW6YLAoChRKD2guiZisMHXkKMrzBwU9FFXQxD5vq34sKmzJBzt5h8YaKkIXG7PXYNQsIjcQkLYozOcgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=UdT19pvI9TgK5Ur+VU7BdrVCV3DbUGYLQxqQmXkRSC4=; b=acUhf+mDrbTBG2bNMDQ48pUmWw1nyBrFEcdUIR3biZZWYIcWhMGHWXdzkcnqdDVeqRxhjZH5jwE+ZEodbovxHJ2LDE2fhZGnAZ7gjD/v/myX+GwoggPE2zkqFBcThZBwkDh9n4kyL6erwJdOBpuaEhsQvvoa800ykHEEpSbUtpV2VBSu83te3r+JuJynBk9WJ7XXMUBaN+hQ8CGEtR1mnXE//5vx4eALhI3Yb07RG54sqGwHGMGSziVY5UrsFASSzA3E876TjcGhAFYnw7RswAmofWzF8L3q4MUlErB/ARaxTGcMySXRAdIh1D2R3nOOt6Gw3oiFjMzLkS/uis3LkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org 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=UdT19pvI9TgK5Ur+VU7BdrVCV3DbUGYLQxqQmXkRSC4=; b=L6D1VoTogxw3OAVm6G5CN//8LMkgacwpOAo2VH0feBuBNsT/aNt+DYncRovTUBDA2T6dBMUOgi+Mt9VmHjQ/LHcC+OdO/MjpVTg/EF0C3jscnfeGRHuR8a2VQi896DbPEV3XOwDAUIQbA0xoPYA+SFlD+A4h/z6W4iHDhbOFG4Q= Received: from BN1PR14CA0018.namprd14.prod.outlook.com (2603:10b6:408:e3::23) by DM4PR12MB7600.namprd12.prod.outlook.com (2603:10b6:8:108::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.12; Wed, 4 Feb 2026 17:11:19 +0000 Received: from BN1PEPF00004680.namprd03.prod.outlook.com (2603:10b6:408:e3:cafe::d2) by BN1PR14CA0018.outlook.office365.com (2603:10b6:408:e3::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.14 via Frontend Transport; Wed, 4 Feb 2026 17:11: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=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BN1PEPF00004680.mail.protection.outlook.com (10.167.243.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.10 via Frontend Transport; Wed, 4 Feb 2026 17:11:19 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 4 Feb 2026 11:11:19 -0600 Received: from xsjlizhih51.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 4 Feb 2026 09:11:18 -0800 From: Lizhi Hou To: , , , CC: Lizhi Hou , , , , Subject: [PATCH V1] accel/amdxdna: Move RPM resume into job run function Date: Wed, 4 Feb 2026 09:11:17 -0800 Message-ID: <20260204171118.3165607-1-lizhi.hou@amd.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF00004680:EE_|DM4PR12MB7600:EE_ X-MS-Office365-Filtering-Correlation-Id: bcc0c0a7-7a1c-435c-03da-08de64106a02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+oGjU8727U5EXM8+3i0Y2kpu8fqJ2ZI5R/iISWI4/tPyvfU0aH3spNc9rVnF?= =?us-ascii?Q?0+yqFHliPMbiC9qStu/cqR1Pw1heE5Nr/q9BTWds/U+MkwjE+nRyHZRupPyK?= =?us-ascii?Q?4E6eR87gnM2YeWNYI9DfS1B/a2HcDNn09uZff3ls1l7xkRKJovG3hgbSvi2B?= =?us-ascii?Q?NJB8YgcMVsxhcLyuQT+waZtZc29upTZj0BWwNB745ngfHhUBwI68Dm55Bm65?= =?us-ascii?Q?o7CIGnXJE9LAoViH76Cr/A0HRSN42Dp8l/zujl3XAVrOKTRA10fLi4O4nmTW?= =?us-ascii?Q?KX+2dudx50Ulca3fSld4x72/iL1EIp05MFfAH3oMzPQ7geeC/nSHadH2qcMQ?= =?us-ascii?Q?oswICz0JbYo+xG1M90smqtFnhEq8rQLsGEjn7sLEbVrtfG+x+L5GzQLhPwNb?= =?us-ascii?Q?wt9P+U0POpmZiOamamhUa0J4Jmljzsfq7pksxyIijM5Jc6Zq8mnjjObD3iSG?= =?us-ascii?Q?07UCqAwMHAm8cX9zIBxtoVxoX+yVWnlXguZh5mTbdRwQNe+02Z35qHHIVkXu?= =?us-ascii?Q?WvwoqFihWVy5E1Bdam+uhC3V22LesrY+6WPazMb/B9qtDAD0psxfVG37+mEU?= =?us-ascii?Q?Cv/NKK+8oEhn4+IcyJ1IoR36rFEDmbW9ParnYviHMkgLtlf7tJkblmXtaGGq?= =?us-ascii?Q?rvsGn3ENaY9YmMIVACxfO/RUOhCbYuSIXALGaGGrbQYTOKiIScDyvAVQ184R?= =?us-ascii?Q?zcxdy/B+sppFxT89hmBkVBg24IoK0paRmPNCafx/vtXBZGl7e9hhrQqnOidz?= =?us-ascii?Q?ekBLoq13BUVI3mAMsVoAMcpbdf2sfpTAsxBf9L/e+N/S1gLrjmLq4LYsroSj?= =?us-ascii?Q?2e0d/WD5Sbi55gerJYcqIDfYlFpwaBJcwpNVJopLgUPQfciK0Duo6lSQInCG?= =?us-ascii?Q?3TPz4sJERdS0Og620NF46an/x49TKoUCcLPv49xBJ40VWJGxs74q1jUFNpdk?= =?us-ascii?Q?PnVIFLxlVNOaENWOSEYtHHC6MeuWYTB58cnlJZtzdFxyfjAkeJ0zboaWotCQ?= =?us-ascii?Q?uKclf4pC/Wcgoz/jaX+v3ujkx3oVqnEvllE/llnVn67wBMDF7EtJ9TVA6kLv?= =?us-ascii?Q?clJ0yLLhzlw1nTUTXgu0dBHIKpPRHRzwMKD/j/Tme4h0ptlTeygo6EW/DJ+X?= =?us-ascii?Q?MDLI5WVuLjbCL05BT1HBYJXptLnI0YMjSffQAtUk/6AuuX7pbmFXId8cb/z3?= =?us-ascii?Q?dIFFkKA181mdpEL33qF/FqcVV+1103n85w47KJXQavT4jMB3q+ALix2DYRwG?= =?us-ascii?Q?UAb5nFipWlyWvgUKlWOSn6Swjl2lC0ncPvYqZ1kugLLUBU52KFoZpfma8kBr?= =?us-ascii?Q?8RFJcolZo9vVOV13ZrgwP2v+K82N7Y+oa+hrkoqtej+aDMkESboZfJH8mlEf?= =?us-ascii?Q?OT0ezPoICSaHxWICb1C4T8hb5dRqaaiX3lcXp7nA0J4ZTP3tRtK3QDY+1ki/?= =?us-ascii?Q?HThqKYzYM7GEeRIksp3vHmYebJsRIL3lWUqa6hRAikYTCQ0U3yJ64cKYAQxn?= =?us-ascii?Q?CnlsaP4/Zv8rnouz1uxXaFrDHTJzh3l2kgbm+o8bzsAArkJNIKFwTNKc8WPy?= =?us-ascii?Q?pgh/U1a0Mp+E1162BZ8AgiiwSwdGkZdOggtM9GbTTqTcIbxeD0bbdYYASlk4?= =?us-ascii?Q?kEbhuUhc6EJEOO2NOqfxcHrEPJ0yr60p6W8Z+lD/gKWqsR0hc3WokYBpJKF9?= =?us-ascii?Q?cmvjsA=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5MwbE8iljcCpTFezNLXdTNNgkdal/XZM/Qva7wMmtenFdol3Nbj9ZpILA2HXbtql/s0GVR6POE2Xawo/1XsgOWsKpkbcZpCUSv2GEqTKqF8OgYP84aBiOtptzrjd0Sn5lHeSO0KDDd1zYIgvTKFLNqnTk+QekNG9Sz5WkYZbmdXUK93o6QVFa1Lc0SzYu9At5nLPEv11cQSQcPwwRl8uqTX+8Ei1VmjV6muaGjBdBYA58wb/jkv8fsRjdpX6VVzUl30lMTsTF9KqWUtJea2fXx6dGZ+VMl+jHRULJTpd1zpebDxDpvCH1XXUlafpYanXdcxLs+glfaDnF18b9/xQ0uE6nyMcOh6Y3DS8If0ltg+wu5r8+lTdnWuBx8C+BnqVTBH/8nT7OEgzL0qwQFhuvlrW66nD1h38EmY7jRUS2prguI+ABGINuSeh9kqzF32M X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2026 17:11:19.3539 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bcc0c0a7-7a1c-435c-03da-08de64106a02 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=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF00004680.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7600 Content-Type: text/plain; charset="utf-8" Currently, amdxdna_pm_resume_get() is called during job creation, and amdxdna_pm_suspend_put() is called when the hardware notifies job completion. If a job is canceled before it is run, no hardware completion notification is generated, resulting in an unbalanced runtime PM resume/suspend pair. Fix this by moving amdxdna_pm_resume_get() to the job run path, ensuring runtime PM is only resumed for jobs that are actually executed. Fixes: 063db451832b ("accel/amdxdna: Enhance runtime power management") Signed-off-by: Lizhi Hou Reviewed-by: Mario Limonciello (AMD) --- drivers/accel/amdxdna/aie2_ctx.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/accel/amdxdna/aie2_ctx.c b/drivers/accel/amdxdna/aie2_= ctx.c index fe8f9783a73c..37d05f2e986f 100644 --- a/drivers/accel/amdxdna/aie2_ctx.c +++ b/drivers/accel/amdxdna/aie2_ctx.c @@ -306,6 +306,10 @@ aie2_sched_job_run(struct drm_sched_job *sched_job) kref_get(&job->refcnt); fence =3D dma_fence_get(job->fence); =20 + ret =3D amdxdna_pm_resume_get(hwctx->client->xdna); + if (ret) + goto out; + if (job->drv_cmd) { switch (job->drv_cmd->opcode) { case SYNC_DEBUG_BO: @@ -332,6 +336,7 @@ aie2_sched_job_run(struct drm_sched_job *sched_job) =20 out: if (ret) { + amdxdna_pm_suspend_put(hwctx->client->xdna); dma_fence_put(job->fence); aie2_job_put(job); mmput(job->mm); @@ -988,15 +993,11 @@ int aie2_cmd_submit(struct amdxdna_hwctx *hwctx, stru= ct amdxdna_sched_job *job, goto free_chain; } =20 - ret =3D amdxdna_pm_resume_get(xdna); - if (ret) - goto cleanup_job; - retry: ret =3D drm_gem_lock_reservations(job->bos, job->bo_cnt, &acquire_ctx); if (ret) { XDNA_WARN(xdna, "Failed to lock BOs, ret %d", ret); - goto suspend_put; + goto cleanup_job; } =20 for (i =3D 0; i < job->bo_cnt; i++) { @@ -1004,7 +1005,7 @@ int aie2_cmd_submit(struct amdxdna_hwctx *hwctx, stru= ct amdxdna_sched_job *job, if (ret) { XDNA_WARN(xdna, "Failed to reserve fences %d", ret); drm_gem_unlock_reservations(job->bos, job->bo_cnt, &acquire_ctx); - goto suspend_put; + goto cleanup_job; } } =20 @@ -1019,12 +1020,12 @@ int aie2_cmd_submit(struct amdxdna_hwctx *hwctx, st= ruct amdxdna_sched_job *job, msecs_to_jiffies(HMM_RANGE_DEFAULT_TIMEOUT); } else if (time_after(jiffies, timeout)) { ret =3D -ETIME; - goto suspend_put; + goto cleanup_job; } =20 ret =3D aie2_populate_range(abo); if (ret) - goto suspend_put; + goto cleanup_job; goto retry; } } @@ -1050,8 +1051,6 @@ int aie2_cmd_submit(struct amdxdna_hwctx *hwctx, stru= ct amdxdna_sched_job *job, =20 return 0; =20 -suspend_put: - amdxdna_pm_suspend_put(xdna); cleanup_job: drm_sched_job_cleanup(&job->base); free_chain: --=20 2.34.1