From nobody Fri Jun 12 14:16:44 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011046.outbound.protection.outlook.com [40.93.194.46]) (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 0413235E94E; Thu, 14 May 2026 10:32:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778754762; cv=fail; b=jQqkiQ08eJUu0En2ow7jkb+ttfrPZwj9ipOlYLUQM+T+V8ihF0NpY4Ic/01MEtXzlLMzCF/awdf+2iSOFz/pXFlbOYyCqcszTKrI8o+d29udY9sHFEAifSP5zlNh65cSPBodposJdVvkAf18TzehUKufiOmyoN14EKZTXMlcv2c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778754762; c=relaxed/simple; bh=fLVW1YQMiwyUDx7SFR7QqEVtqlOgppULsCa5cYtU+QI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=PYkXvWvlQAOKAUg7nU+cFCONRrjE60/j3eNIXp3fHVEtr9P8ySbWb+R5Hx/P/gp6w/7/myHGAgnCB6Rosr3Y6hXBVsRwWmtdl0PfQFQZmLqW2IrQch/a0CykJB92bZrNe7dpfWHsif3bA4yS4cgGN5oDgw6scwHOwiG0K99ZSy4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=YnMcoatW; arc=fail smtp.client-ip=40.93.194.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="YnMcoatW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RKD9AFg+MJZIv2UFZX3IjxiNqiO4e7QXxUbODyzreMD5AtfIyzRzdlVkJH8R5IxRajKk7kamvxN5ebsJFWHAGBrxfswT+IXM5e0D71pawYdl69+zq7QoNdUpDwQ+uqZMrGxYcePCjzk0e8nNhKtqzpoUiX202MLbWtHiaEY8o0aIQO1QYyZU3J2YfKzzZC6VRKL3Ynfp0EIN7OwD3o4XXu6yevEY12Z9jVXHARg1XrPZZQAFfCme2L4/hXABJ0LyfSvDmPb8Gfo/CRcT+hXwVhi7F/WnebmNIalBKRWqEmatk5BqWwGB8ps5NiaFSVWUFa214e2aYH5OVuzUwlT/Pw== 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=AQSxHuwOTQN25StwPrHq33r9KV9LVPqZh64jwh2Axzc=; b=lpW3knWZVE02NjNsLR33Qj6Z87CIBthB7VpwY+bFHFRzdUD/83RP0MtI7pKdU1pvLIV8gfd3frvNRkkeNVSNil/GdSPE1JbDilJgO9HvPNtQiA/IAI4KFwnpqHH7bELBewGm/0OftUSOpijHzTaQ1qAilPz69jooSuJ5CLJUacWVT9+tNXtKl9Tw6X31RChMeAwNaj/oDPLEZKuipN10FKtLtD/nbLx2tDx3src42wgzGbVUNpD++aAh9bulTKaWNQDlTaNV3+lFqHVL/M0VlmPV0Z0DrLtmPDMIoil6S3SsgBmGWAEIQ7zRk06hQBTBd7tszCEekum14/A3AYWyVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AQSxHuwOTQN25StwPrHq33r9KV9LVPqZh64jwh2Axzc=; b=YnMcoatWCKBm7c7j9A4uck1vYUAiMW7dEqPAoWJsDBFYkDhGU5BzKoUvBBw/tX0VBM2rYmLzwpz7XpaVS9sVKK9O2h//KzMaPH1t7YORpL1oIu0P64zontJuk6Rpv/6XG/DlzA/yADhXGoZccenmbFIGaLHY9bioJh3R3C1Lc7kzOFcqEj1k1r1yvmo04PWOCUd4z453o9TqZS16NVc7z2tcNDeg4WKH0H/hvHYrgN0dS2pzRUXE/ppqcViHNgtVFJzqAJPy6NxkMUVBGxmuO6Cxmv505Irag9s3e++XqoAjBeyV1WBNmJ4bsM9UtWGkhRnkSSVQs7ItevNzvBumEQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MW4PR12MB7000.namprd12.prod.outlook.com (2603:10b6:303:208::15) by SN7PR12MB7179.namprd12.prod.outlook.com (2603:10b6:806:2a7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Thu, 14 May 2026 10:32:32 +0000 Received: from MW4PR12MB7000.namprd12.prod.outlook.com ([fe80::43ba:fd2f:56b9:7387]) by MW4PR12MB7000.namprd12.prod.outlook.com ([fe80::43ba:fd2f:56b9:7387%6]) with mapi id 15.20.9913.009; Thu, 14 May 2026 10:32:32 +0000 From: Tanmay Patil To: Thierry Reding , Mikko Perttunen Cc: David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Tanmay Patil Subject: [PATCH 1/2] gpu: host1x: skip redundant syncpoint loads in host1x_syncpt_wait() Date: Thu, 14 May 2026 10:31:52 +0000 Message-ID: <20260514103153.766343-2-tanmayp@nvidia.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260514103153.766343-1-tanmayp@nvidia.com> References: <20260514103153.766343-1-tanmayp@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0207.namprd03.prod.outlook.com (2603:10b6:a03:2ef::32) To MW4PR12MB7000.namprd12.prod.outlook.com (2603:10b6:303:208::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW4PR12MB7000:EE_|SN7PR12MB7179:EE_ X-MS-Office365-Filtering-Correlation-Id: 76bfc34d-0286-42ee-7b2c-08deb1a41b7e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|11063799003|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: zwx1KOp4oU+mVZkRfYXIJKZD9Zl9qso6NDOZvIu6A+RTY6kanh0Firc98utbJ45mKtunxwC12K5aXuHejFtrY63gfnA4me3VX5sgwZy0P67hNeO1HBXb5mUkfTSa5QuZcS+X1kMAMfhHeCEVycYMcYbASsMChnjvSw4DIO4cVlK1lHIZ31JhQ1LrMsiyc4S78+CGNFUul6VhRNSMwbXUL9AUxV/eoTFq2By6zITpP2Fdv96DR1QfDYktUW0yvv+sEAGmnPMHkiCDUjTNuT5ilRKgZnWl4Fw6lfGzPVuWc/ljU3QEljEABdqS+XVvwp9k9u2u28g6fhPSTxmBM0ee+Qf5HBMKSG1TJJ87hNsyuWMvZMs/ODQ1crQn9iQ7kU78sL5Eb3xMEAwsEp3z/gwSiCBktQFhVzgYzeHPR/vTssqn97NGj78G3m+JKiJd4qOB/pJl2khYdhffG3CHjIelCmMv+48pqpSGZ8g1HSuKv1L/rrZH6BKhrXr+nyoF+Scaxcacfrk8Cb/gt0I7xrngweg4DE/nLq5vJAXA8v8HA7G8s/j1R5GlRTEQDIOVjTHaGdolQkP2Meqp29abyhAwpqEHY/s6BHtuBMe+YgwNyFBrjfZSY+ApKkWhjYHzW8tE5OmyglgNJMCN+vRNYMeT6NFhzB7NI06/LzTq6GoC1bZ4nw5Wi0T1/x0SsV/uIKKt X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR12MB7000.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(11063799003)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?13nsekcKcCQo953mJE41R5uh1E4oXIMpQy6jekfptxjbUxHMeAQJ5O8Mhfca?= =?us-ascii?Q?Cc25eYVJUOJKWWZbidqfcb/JPd06VTTXDWl8qtgyp6XWbidxmSkDFk17IxsO?= =?us-ascii?Q?+JlxQWgkeU1X28W/ErKMoKg+jcEG47f9SuMFXkRADt0+HPefG4ieHM9QzaBh?= =?us-ascii?Q?IByaP9VYIj0f9CcNDm20Yn7YDMBDyd7SsZKnKmlQOUkTgUWB0CcaDO1h9PtZ?= =?us-ascii?Q?xTSOAk4qAwq8epthsBOsjg8Ar31llSD+Pfpudw4dgUgFxnM/1tdFgzP7pojf?= =?us-ascii?Q?j3jCet7SvjjftXwo+f+Ws4jS0Q7wcCoGh4KN1w6MKHwMInQiLeN+zuAgX2px?= =?us-ascii?Q?XKcgUeI5ONAgkBzO5QRQXZxFf7nZvQKXM/2SN2CRgAHArscCMWvbGmrLfkbu?= =?us-ascii?Q?Z1nihIc1fQXMw7lRTdzcgGlqo0Igtj8Wn2q5zPGtFnb3U+OR51nRLF6BbxdJ?= =?us-ascii?Q?f41PTqzOnl8Yy8ToUdugOCl6VdhfLBPJxdop1jyC4yqCLHvQDD1cTrJhgM/F?= =?us-ascii?Q?P5WOGNX3gSmUrWddSPK+cHY983k/I7By2FuZxeIBXK+ssrplZcdvrWwMPism?= =?us-ascii?Q?FUEDOB9sCcz4Db5sklkYDEYiTTK0wlzSWD67dhIHvvswBIyTkBMcYa2jC33T?= =?us-ascii?Q?VhdrOvHDxOUYgrGA4LwcjcTEU9RW/nRDO4jNFhHrv999fzISJROoUEG+dPb5?= =?us-ascii?Q?E8TD1k61rRBZrw7T3UzgeyvZ+jlW1AWrT1PSwVYH9/Zrekhw+CF+5a14fuQM?= =?us-ascii?Q?m6VeqKsZ2M1CPw0ulwCVCCxX1FWlTSA7Y6LgANDUu4NtJKx4xK7plFUOC4Q/?= =?us-ascii?Q?i0qjCEtm7SWrHGrbZvbvSKC3tpFiBmCupDIykg3RaT1AqyiPzrzY4LMLIxm2?= =?us-ascii?Q?6bU1weJj+thkzg8hDyq2njdkOBKRVymhjrbbyvxA/WU16ItiTXlhLRlq9c0R?= =?us-ascii?Q?DiD72cQ6AwYyZIS5HHgQtfPeEXJ4yPedFwK3PNPJFJsKZYFDrGOE3aUtlX8n?= =?us-ascii?Q?Za2AX9XruT+EFpVHXkwVm+gS0kqeomUXbzY/un9yDu4CjawzQ5GEcF5+oMjf?= =?us-ascii?Q?TrSZHMFc/tuX0gsFTf2Mmw0iJ4TESRfrziqqgBoGd4uZ7ZqlTspSIJzm7Oif?= =?us-ascii?Q?AlWumjmI3NgC9zbMQHx7mqirR9IVacvDI9nCs+HeLi8OCiZo60iUJnUOy7ci?= =?us-ascii?Q?ymWslwwa/scEd1wio5F6WtsevV3HSqnQnSGyamVOkOgTiVth+pPQiCc2XBGR?= =?us-ascii?Q?Nr2Gas+abI5FwQuOuJl0RmLWpd5LwC+zpD7zFpeoDhFa9ZlT/BNKoa5qdMt9?= =?us-ascii?Q?jUwlk2EqTmKczS7z7RgeUo5jO5WywgPEBu//CkkNP867Q8EGl03rYNaYxVQ8?= =?us-ascii?Q?8M/kWp+9mj+L8ncCRs6EkV5fMDYx7O0IOo1eHofTUYjUUPUE4zlAjUmn9zdO?= =?us-ascii?Q?zz27PLyNm1kbsYmsYzhsZ+XfC685sk9MdWln7KA+D6tXk9Hh9CKxEGLxv41u?= =?us-ascii?Q?7qEROe/QbK6Qoo7P2LH/gOO74flea7cMjvBbRQBgc3RTSfMDxzhXgEeh8ay7?= =?us-ascii?Q?tSlJAdcIHR1tDF7dnEgyUlubhY0UJbAUH7EYMHyFbUdyqK9+LLTpOG3RPRYi?= =?us-ascii?Q?/qbJ/+Xfy8+DhJLXmc3+f/Q9jBmZmZ8tJzkt2ABO2mkKHDUb9Yl63gY4NAHO?= =?us-ascii?Q?V6Yybq/9OBlGYmARLT6L8w+ycps+aPvnvfFbwftIG2Znxun9?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76bfc34d-0286-42ee-7b2c-08deb1a41b7e X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7000.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2026 10:32:32.8256 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ErnP1HouqIUOI34EoPy8zUAac4+8TzhPQM7K9uvXArwpFhLuDqnmdeGHmZKhwhzTCyglB4A+TLgxmw4ORlPHCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7179 Content-Type: text/plain; charset="utf-8" In host1x_syncpt_wait(), the hardware syncpoint value was loaded initially for expiry check, and then loaded a second time to populate the caller's value pointer. Reuse a single load for both purposes. After dma_fence_wait_timeout(), the previous code reloaded the syncpoint value for the expiry check, which is only required in the timeout case. On success (i.e., return value > 0, or return value =3D=3D 0 with zero jiffies remaining), the ISR has already cached the value before signaling the fence. The value pointer can therefore be populated using the cached value using host1x_syncpt_read_min() without MMIO access. Only the timeout path requires a fresh load, move host1x_syncpt_load() under that path. Measured Syncpoint wait latency (50000 samples): Average latency: 12.2 us -> 10.6 us 99.99 pct latency: 62.96 us -> 51.90 us Signed-off-by: Tanmay Patil Acked-by: Mikko Perttunen --- drivers/gpu/host1x/syncpt.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/host1x/syncpt.c b/drivers/gpu/host1x/syncpt.c index acc7d82e0585..807c74fc6a0a 100644 --- a/drivers/gpu/host1x/syncpt.c +++ b/drivers/gpu/host1x/syncpt.c @@ -222,11 +222,12 @@ int host1x_syncpt_wait(struct host1x_syncpt *sp, u32 = thresh, long timeout, { struct dma_fence *fence; long wait_err; + u32 curr; =20 - host1x_hw_syncpt_load(sp->host, sp); + curr =3D host1x_syncpt_load(sp); =20 if (value) - *value =3D host1x_syncpt_load(sp); + *value =3D curr; =20 if (host1x_syncpt_is_expired(sp, thresh)) return 0; @@ -245,21 +246,25 @@ int host1x_syncpt_wait(struct host1x_syncpt *sp, u32 = thresh, long timeout, host1x_fence_cancel(fence); dma_fence_put(fence); =20 - if (value) - *value =3D host1x_syncpt_load(sp); - /* * Don't rely on dma_fence_wait_timeout return value, * since it returns zero both on timeout and if the * wait completed with 0 jiffies left. */ - host1x_hw_syncpt_load(sp->host, sp); - if (wait_err =3D=3D 0 && !host1x_syncpt_is_expired(sp, thresh)) + if (wait_err =3D=3D 0 && !host1x_syncpt_is_expired(sp, thresh)) { + if (value) + *value =3D host1x_syncpt_load(sp); + return -EAGAIN; - else if (wait_err < 0) + } else if (wait_err < 0) { return wait_err; - else + } else { + /* Success, read the value cached by ISR */ + if (value) + *value =3D host1x_syncpt_read_min(sp); + return 0; + } } EXPORT_SYMBOL(host1x_syncpt_wait); =20 --=20 2.54.0 From nobody Fri Jun 12 14:16:44 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011046.outbound.protection.outlook.com [40.93.194.46]) (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 3FB0237B01E; Thu, 14 May 2026 10:32:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778754763; cv=fail; b=AqZldjndA+hQcpb2h0r7VuxcGZCykX55R+ySAnQ6wfwnLCsN564/Yg2eeo0OOr94oqUgFswAlZAhyu7eQ8aQweCXSRmnMn6QoL9AhDRUh7M3QMkoiR0+5q0an+7A1AAQn4SGk2Qm4vCjpmzgjM6wPIjw18zKfiqcNCudgx1eJ58= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778754763; c=relaxed/simple; bh=sxFSDEXIW1oVcR+UZEVdddpAVR7EMVDmIz+rsvqtyiU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=q3eDNMV+TN4ZYUu7EVRZfTWeul+hb+KLwOkfLFRCwAqEHPXJELW2k8zUsXawQn/iACuMm0x0qOvqbaPjC70iUyvPCbj0rE17XWUJZtFww8GtdAr318oAk5tLCn5iwMIJ8ML0Ku/2u+Omdw0fmJP1tVkQKgxX32vj3riEhFrd4Fc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ZTBrjx/K; arc=fail smtp.client-ip=40.93.194.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ZTBrjx/K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yw3ys33xPiXF8A5jcyux3cr9BuRadrUnN3bFU9Ll4yjqcbrX9c9Sz4ZqZGRVA7+c4MCEVoCEFgNtRDxTtFAru8Ofn4ymNIzmudJWi6VywRIcQnk21LMHAjd+QLJtfganRU0AVrr+polFxCip2jSR+WOyz+AYpbuUSEExrfRhWz3HrnKfdAr6+qs8wBkq+4nQopPWcXoj5RF/oM+2gDKLEqThxzCyu/rVSF9uSumRi8PrSCQvvO24/zyHYi7S276ndVbh5dVmDM/UFb0NlwQ+LqNxtJQ94+HOvV+6xiB0jXArXHpE26TpgD3LoEGEyBU7zK0r24NwVPCOtlzCx5hS/g== 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=5rQGO5w8UeqPrfiwQ3OUBfhPSejafQs7/TMWlt6Ow6o=; b=aun8dwpQtmg0GzarHrxiOem4ECkTwcetC1Cyh/wKr7+eHhFt6rjmIZzZlGkLj/dXAoHnSJzOOsU+86LkIIvNbL5Wtj6SCrjLVYkZQWEHVRrWLPZMIUHfHvClUQfRJmStGtX8BMIuXu4+f5JtIwyZHabcIizPw8Gx+BY03M6tgo7sNayXqdKuVvUP9QqZEtbhHuZ9RZ5ThOAOpvpdEhW4R3/42ckov4mawi3BDuFusqqNG5a3fgkNj/fBdH1q7Cva/+D2pG7IdOeCZPZlDK2xkrxHz9AwafkBq1dNGx4Ponyl9gFef+tMPEZuGBmSCi33zplBzQGSGdEU9R2QoanEbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5rQGO5w8UeqPrfiwQ3OUBfhPSejafQs7/TMWlt6Ow6o=; b=ZTBrjx/KXaFgm41ZA/Pb8S/MdCCUFPcdOpA8XSsOZbYyjtL1uf0BJ/bDflnadrcb6eSatwayImdSa7f58K6FM0B9jTICqP2l58pUho4yenbpqthBYmhfYkirer4CQd89h4dOM94XB9TNw1lYregXQF0eT5nsv7cee3w6u9fcCQty3dA3X5NoHM6rR1GOEPBlKiIVeZqQ0SNq1qK5nv8yxqkeOiZR6ZIFNXhEWycvySIP8ZZR0UiMW2sVOuXb38Uy10x19yKAJCKTS7hb2B+6fpDyaCdGoOadYmbpvRPlfVrFppA+4gCETW+gnHrDbEOKcgd94umfuD3zmeIf62R0Jg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MW4PR12MB7000.namprd12.prod.outlook.com (2603:10b6:303:208::15) by SN7PR12MB7179.namprd12.prod.outlook.com (2603:10b6:806:2a7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Thu, 14 May 2026 10:32:34 +0000 Received: from MW4PR12MB7000.namprd12.prod.outlook.com ([fe80::43ba:fd2f:56b9:7387]) by MW4PR12MB7000.namprd12.prod.outlook.com ([fe80::43ba:fd2f:56b9:7387%6]) with mapi id 15.20.9913.009; Thu, 14 May 2026 10:32:33 +0000 From: Tanmay Patil To: Thierry Reding , Mikko Perttunen Cc: David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Tanmay Patil Subject: [PATCH 2/2] gpu: host1x: skip redundant HW state update Date: Thu, 14 May 2026 10:31:53 +0000 Message-ID: <20260514103153.766343-3-tanmayp@nvidia.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260514103153.766343-1-tanmayp@nvidia.com> References: <20260514103153.766343-1-tanmayp@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR02CA0036.namprd02.prod.outlook.com (2603:10b6:a02:ee::49) To MW4PR12MB7000.namprd12.prod.outlook.com (2603:10b6:303:208::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW4PR12MB7000:EE_|SN7PR12MB7179:EE_ X-MS-Office365-Filtering-Correlation-Id: ac81baf4-4f0f-44eb-7b76-08deb1a41c21 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|11063799003|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: 3Ex3n48A6//uWLuyXw+k6Ofo/0j6gVGpob5cJW3R0Ln1a75gEXgBI2VNPN5FEczPh9Lcnmt/BwjyXv/Ni5SdNUq6TV6pn3Fuo6IMZvBKglw7wY8YYOjeULVL91cbbsxVCVamQ/EMJzBR0Dlsr+YB03AkKXIorhub2bLFYrY3TarqnZGmNq5RdBp4J4xdkdYAERa6BrhSIcLFKTAsiq0I2P8XNZcHlhbJ1/BtE6fBdhNFPvlGQAPhL84DSM3xq0ohkGTc2g8l0a2oTToLfgRKfL1GxJt+EIheeMg41BEZpoxMmIy8yU3bJZVI7E1ehn4qjV9GCNy13rcbI2cp4IJh7pCILnI/sPK0n5d9PPQZ91U5bs0v91vBTdKszlXHM74dX9TeMG3ILQ62GJuJ5pw0e4E/4ox+FSRXO8FWjiVEkRA9zU6IjoysBWYnUrzWYv3MSpxcmpb0eZkqcIp1Kko5aQLyEHyMj82ZGPUHVUwQSlUneNutlKlJEawXEOAjB2g+aKhij/qgapOzeYSCZRM254zJNbJ8tqo0SafBJNQK5E0LhMrOexax3iN/arN2msbAs2GTIOS/RDMh8dRyn/YgWgGfweFpKLGOaH++MwSzPw/9rcJULw6TsgegKQbK7mvYjFkeb/go5emq/PMK5k38UzJ38P1OnQBCzsNAIbzrBuOoZBLwafMAsEr8QWUVKtaT X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR12MB7000.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(11063799003)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?g1ULhwQopPePENxfTS/ENpFP5uzjBSdAwI5vj7mEbX06tzQ9HjCnjwG6D294?= =?us-ascii?Q?PXtO5z9soR/rphp9zyWMnTH79Eqsiwgmnw8xicnKiylGey+cm7IBotrhGcPF?= =?us-ascii?Q?/tKdnZozIVcmeJ1oPAySfCz3mLgBwM2ENgMPW7rD9NbQf6+TJmizuh3M2btr?= =?us-ascii?Q?pgjN4gp7b2EzqTbmw1c6FhAF8PLy9aGOHxuaW+3xNkIsd+HAp5bdtAyr7Z58?= =?us-ascii?Q?wBr5q2VEWt3L8dqQ/fVzE6a2qvqQEIsPpauJuXCqCkfqGQRiNaX7CWn6t2UR?= =?us-ascii?Q?s1jlyM8YU4zJxTsty/6qzC3u/uIntThKLt05G8EOkuLQtA7k1iCnOmoOTlc7?= =?us-ascii?Q?72eo4crpi4Tcs+mhpIBWy/tUoVx48sdWRtmKK53zYz0xlht+X0WC+LFc51qH?= =?us-ascii?Q?UYRKZMmhz85zx3IbbU0yzfDYjrx5jmEqkX2xA9sBjWJ4XvW8keESxYHufLDV?= =?us-ascii?Q?m6Og+xZ5bX5ue7I6opaCjC5ToZr9H3AiDiBpGkvd3UBete2gjWIbFax5mWgD?= =?us-ascii?Q?qJfnd4XqKa/tH24Sijynvhxlg9tUzl3XBVtkgW45Kfsfjn4AUZz+W9FdhxxR?= =?us-ascii?Q?LZM5i5ZQyFTCmDoDl9s9j8zwmIg9G4BSjYWjYd+ryTUbaMh3HeQ7/teRLr/K?= =?us-ascii?Q?E+cysFvOhSBmoOhferFNWmCOV1MA62TmKoDZh68q8Gy5De03lRlZT8BrZT5b?= =?us-ascii?Q?0BYxzbgIhEjcJrsVetViMPHxs5elyIMsESY8vqo6Rtr2vqIVBKmKvEIjHbqn?= =?us-ascii?Q?Qk5fscAIV2tCx41NKkuoWeyywadsQLcTI/L1Q4cCSJbUgFn+1hhefj0+j+xw?= =?us-ascii?Q?O1UiO2l376ZXge0kkGZYPJ4Xk2WkUooDBoE5oxr+iJ0qqXDwZnxv1QdkP5HS?= =?us-ascii?Q?eN66AcdJdgfxkSvz6p05aloW35y6v9Vn0r+7E8pV6WAiQYG3vfsJDQtEZsp1?= =?us-ascii?Q?won89URN7DJe5grRM7lqEjMLT5gNQxT1uXCZpzKmMeLGJyPnYdo2EMZP3y2I?= =?us-ascii?Q?jpgzZz6wINDFIJ7oAYrb8faDSsuCFcl/6fy/d6kHaEJ1/fDBZpTI4OXF8MbG?= =?us-ascii?Q?mNDWXDwu+pCbjTrZKRWKhrvan60NZLIyuVqVyVfC70xc01KA36CfFnVrObuz?= =?us-ascii?Q?bgudjJJS4HlCDTcDE2PZcMfBvkf5gtQ0KASXQ8Y/zFJzDjBZjbTRiIwPAA7r?= =?us-ascii?Q?8yKy9qZzykiGsEuxLO104XgekPzEM52U2XtX5XzO/tF3c/P8J5JJxZqPvsFu?= =?us-ascii?Q?5xxgQiWo34BchdISnHgJt87wc1nJJYE0nJGzOygmITJW7//pPf8zHX1KrVGS?= =?us-ascii?Q?5e81GdG/akKwckvHDYGtGxR/+ByVR6QWPb11djnH9bnCpwTMSFewA7mpYM7u?= =?us-ascii?Q?EjIjf8PMimkoDtDi+kbwq3kq2Rle1L2TR7R/8NWdeac21vF+tJTdkfwnj/an?= =?us-ascii?Q?KA+QkpKaLRBvlOgR+nccsje3T6libDAFWIx59Yy92f2DZt3RCY3RiejZQtVy?= =?us-ascii?Q?gXO28VsKT0Z9IMiDLW1bEcjIg7syYu2QNT2lurmYgnUUg7BCC/B2SCHeTBsZ?= =?us-ascii?Q?hwOV8VK6DifiqRPODj2Usp+XDx5KGMyGInHUDbd3fxXiIkQ2YtiSrznxTz2i?= =?us-ascii?Q?8XenUzfF1jH2tgVJr8h7Vho1ZsR6fnJUpYVVFoPQOyRt38+j96dHhhACbyGh?= =?us-ascii?Q?oPok9CxlTjuYvCDnDJSFW3n5T1dIxkliMUFL61NGYf2WnP2t?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac81baf4-4f0f-44eb-7b76-08deb1a41c21 X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7000.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2026 10:32:33.8982 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DgwpcwDMiUrezqyxmSYYBj+2lVJ9qWupT8oTivWAq0983QopL6e3xKP1Vx8FDEureVWAMTH0XCh8jJnUsDXo6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7179 Content-Type: text/plain; charset="utf-8" When the fence list is empty, host1x_intr_update_hw_state() falls through to host1x_intr_disable_syncpt_intr() which does two MMIO writes to disable the syncpoint interrupt and clear its status. The ISR has already disabled and acked the interrupt before calling host1x_intr_handle_interrupt(), making these two writes redundant. Skip the update_hw_state() call if no fences remain. Measured Syncpoint wait latency (50000 samples): Average latency: 10.6 us -> 9.4 us 99.99 pct latency: 51.90 us -> 36.58 us Signed-off-by: Tanmay Patil Acked-by: Mikko Perttunen --- drivers/gpu/host1x/intr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/host1x/intr.c b/drivers/gpu/host1x/intr.c index f77a678949e9..723297250768 100644 --- a/drivers/gpu/host1x/intr.c +++ b/drivers/gpu/host1x/intr.c @@ -92,8 +92,12 @@ void host1x_intr_handle_interrupt(struct host1x *host, u= nsigned int id) host1x_fence_signal(fence); } =20 - /* Re-enable interrupt if necessary */ - host1x_intr_update_hw_state(host, sp); + /* + * Re-enable interrupt if necessary. The ISR already disabled the interru= pt, + * so if no fences remain, no update is needed. + */ + if (!list_empty(&sp->fences.list)) + host1x_intr_update_hw_state(host, sp); =20 spin_unlock(&sp->fences.lock); } --=20 2.54.0