From patchwork Thu Mar 20 11:17:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023735 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 55958C36002 for ; Thu, 20 Mar 2025 11:18:19 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EE3E910E5E5; Thu, 20 Mar 2025 11:18:15 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="KyzWO5cY"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="KyzWO5cY"; dkim-atps=neutral Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2066.outbound.protection.outlook.com [40.107.249.66]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8F31910E5E3 for ; Thu, 20 Mar 2025 11:18:07 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=vl/FuWj2wDhCYHJ600RXWqNnHDm+Wd2zWQnQHBeOXLR3zzbBCnp1meWe3eu3wuGEb5fg2RQoabmIk9c5fDvWgtyfc7Rzwx4BAywS0Zwfe0Q6je2rxXlK+2tUxHMpn5zmSQlwC8zSE5iVTSiR/7oFGMgdNbKuL9QyLFuT/Dl6D3Y1IiPj8yYHWCEti7VXWJZccZIYxFabg0nT2AVurK+PbtBEW8Sbdms7PKnTcokw9WB6N+FJGU9h1ml/BEZ6BJlK1RjOYy22R7mrgwLAbB0tNhk0qKVUE55fxk7lipI/Cl46hkagllSTOn+VrQRPVwdYcKUr2fEWhMsgfkke9wXCag== ARC-Message-Signature: i=2; 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=vRebtytzwduaT1yFLixubl//0RIkS3ONaXIJs4lqlBI=; b=jS1gdEm5R/mP/BVs3t57rNTxyk/0gZdO0/JQzL2KRmh+pq2i0G/Yi85glOWaeuO1u4wRrdBbTXWKTawcvneDryc4305qsP2dZzcVWd6DwuF0idTMa6Mv8TVRd3gFrRlG52c1x1VbstCKVB0VIZMfCQUbdGO7/NZVG5QK/3KkimAEKJpTgOpqHoBCgSOC1zbJ9hHkRKtPX0V5NWRyF+ZBNWMbw40Aw4xtMbwrVjFCbZbuxI9RALwHYzfFOV3oLToDbirFFfQ8tLZd5pqdG+aN1I2VLByI9XmytM0jjBeGxueWVVSmj2wJegVuhtzTuinctC9J3mUWHHjuGk0+lUjgVA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vRebtytzwduaT1yFLixubl//0RIkS3ONaXIJs4lqlBI=; b=KyzWO5cY1/MWK5m7EJN6vA6tAX2eIO1Z/3qI9ozdLJomCIAGXOTO/chmpxszRPnG2XVjIYIOXdqq0GGzRcjiJOYTxTNL5Y0gDkHYw5VB0UXqU6Q5oyH83akCJyoJ0HWhLFKdlotpt/OHOpkL+xsKK35qNIh2iuZwyp5FWO4zdnU= Received: from AM0PR08CA0027.eurprd08.prod.outlook.com (2603:10a6:208:d2::40) by PAVPR08MB9651.eurprd08.prod.outlook.com (2603:10a6:102:31b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:03 +0000 Received: from AM4PEPF00027A6B.eurprd04.prod.outlook.com (2603:10a6:208:d2:cafe::fe) by AM0PR08CA0027.outlook.office365.com (2603:10a6:208:d2::40) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Thu, 20 Mar 2025 11:18:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM4PEPF00027A6B.mail.protection.outlook.com (10.167.16.89) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:02 +0000 Received: ("Tessian outbound bf3b9ac19d92:v597"); Thu, 20 Mar 2025 11:18:02 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0868f4351d434c20 X-TessianGatewayMetadata: kqKfuUxgC7LiPkY2f7lIeirY/u3/B+ClWxcIg/vS96ZVzrneE0tBdinuSNz3EVDBGTOdN812OaAYURTqlxALCOU3+HW4Igc0rWNJrbgynm/J+Ox/3XQelCkEqN+FejmgsQxJJhi8SwVZLFCPphxHCyDhrgvMMCm0aRPPnzL73F0= X-CR-MTA-TID: 64aa7808 Received: from Ld7c658350928.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 823BE96C-9267-4309-9A10-767B3B00ABB6.1; Thu, 20 Mar 2025 11:17:56 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Ld7c658350928.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:17:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bPVttxSsWn+r6VFKIM0Tw5wP5DXq6U+zV7Hm0tyvXPVsdE4nNAuVk1Yfcaow4JuJ6y9sgisAPl3P17alOEqbMZ9zY0nrMWCg0qZoNf1vlccV01DrjUaFEflNEBhR1SROV5VXe+83dHwickCYk9yHSnGfdIOAoRq97moFeU6XeIp51sxrz8p8hgVEqVuDhC16mswj8rux60bXQ0z0t6jlKeL8J4uHeb7iJUmjZk+OCtGiviHu9TG3isiAX30wT7ejEliMDcG9Z4F9f/d7ozu4KxoeXJKHwc1sYweKcx139MShjbGJ02nfmviofx5FOMqOLz9fRSFTHt+Z8/CPEa1UvQ== 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=vRebtytzwduaT1yFLixubl//0RIkS3ONaXIJs4lqlBI=; b=Z/SQ27n9PUymONjQ+4JkX16RtsTQy/TXRp4pELhvpeJDOwMqzB6ZQ6Sbvn7G0C2FLeoBtL84U7UIvG15wSZ4chpGpWqdClULEuGQM43ll0tHWeRXhM+tVJiIms2BjKfBE+sLDE14aVAdRkUlcM75Q8JnA4I1TqZYYTAYKIuo8AMPV29vOIdI3CAZhs105VfiSDFdaApoHLuTWrypjfYDSeEGjxAn0dtqE1ibm2wGenCkKUa1XaPXeG2PlueLZ+Q03Evd2Rxgl80u/vnO3yTC7AItwrQSSMIDJn/v44V7XYvGKsih39eHY/bpXmC99pUxVVAY8VEeOL1rQkH1wqcRcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vRebtytzwduaT1yFLixubl//0RIkS3ONaXIJs4lqlBI=; b=KyzWO5cY1/MWK5m7EJN6vA6tAX2eIO1Z/3qI9ozdLJomCIAGXOTO/chmpxszRPnG2XVjIYIOXdqq0GGzRcjiJOYTxTNL5Y0gDkHYw5VB0UXqU6Q5oyH83akCJyoJ0HWhLFKdlotpt/OHOpkL+xsKK35qNIh2iuZwyp5FWO4zdnU= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:17:54 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:17:53 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 1/9] drm/panthor: Add 64-bit and poll register accessors Date: Thu, 20 Mar 2025 11:17:33 +0000 Message-ID: <20250320111741.1937892-2-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO2P123CA0072.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1::36) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|AM4PEPF00027A6B:EE_|PAVPR08MB9651:EE_ X-MS-Office365-Filtering-Correlation-Id: 1086a793-557e-43c8-7a3c-08dd67a0e164 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: ghwbbx4LDgu1mCBjYmIruUORTZ2jJMVvOYR6/SW/N8KC2oZgvlMWgSI/IXG3IQ4UgLlLWrfZ0jQJgUmgfSz7zg+cKagcH5vUIWoaCCYev2XJraVtQB+31jPJvXMcrqIUxXljUiOWQ8B2t7/vzdGGRYL9HacATXSFjW31KxV5lZZCkR7huasDTl/hsjo6zb9PoOwXODKkBcVG02m1us2WKe6yULC4qdd845Cf7ww4fv5O6lT3Iu4YzZ76vNiHxBESE/aVPgKqbLNOsf1Q2I7YA8Tgu79Hbz/B9VTkzUpd2ZiEXHGw1ZrCE9oyrF/nx640HDQIEpv1M0aLLG2AnnhJJv3TP6fDSV3U4QiQY8Plh0bVMmLDYqB0iOtBWNYfCJxz1m9Av1GegpRqRzNN6nYjn0/4xwaghBI9FV7daTIOVG6wXvtD8wkDFhGqDNMnXpEKenrnMPU272oP7F5xFCSjhyPLsdWgCHq0cjSBq7OeH3NJYzwSFONFUPoIqUUL/6Y/ipQVHqQ4pcIi0wBJ8WcgLLqINiuaCgdeN0o/1xpPKJgpnBu1HJZiDEeOKUbGBLtGocrWcDz9QMuk/n6/bZrJ/2Rv5jGrxqHFZBsTG+Lf3C+hUKh4Dob0/f/lfC7a841fHhsZHLcY6U/hHgfGgVbDm/zln4Az/ki57DgIQN+d5/EfvdXIw+XJ7gzI4U8AsGUjJ3mbWqFOQZhQLVnv1aJqvW/0SRbdUdygABDa82o2T4/rPb9/Je2S7UeID3/pyQoLVGPbWTtOua8rMJkEQ5/Q+kdhF94kB2xOFfs/OMckUmZpX7DvryxeaMaOXGxhYFnFdwJBRSkKQ8nb66YZy94+KT8PYmzV2h87VJeYFUfJoJsAPoBCO1j26sfdcxJFpWjOy7AzKwGhDU/WC7dqzX0ZzV8Lz0nJMupyf4Y/9qQc8iu5X5G68svXfF5/58JHH31TdTKSWIOSvxfzHnArDMz/I+xL77foiAFyfVH2Q4VKx3BRd3OZBxtCr9gyuVPlnxdRY87kkLhL37Ke14EIW8Q10wmMuwgazSKtovtL9zLXU1lZvxFKC2A8If4RERDl7W6PZT13gnmistg0RTWNZrZMEGS8BhUMFRayR3NxlgBLnVugQzFsoVmublKGLhj/VvJkWv/on6MOTr6JMdUieF+r2aYHGZMqBccwoqCnjUrZaJw48ThSwR/vzvaTujgHGh5AbHUl/pYCUuzbWkN2hu72huMaPRYVh2S+3YSn7cuoZuqslx8QDxU/ToEJc1doiAeezJ08pl0AckSfXSsb/VsvrNJaWHjZbjjIMCH5zBSG1XGCGIvB0mO30MyP2NG7kcI6nOGgxurNbT+LqdK4Olyzouh+tn6dqNDqjm7BIcVj4TY2yvPe7DX5sSK8P/qkXuXy X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A6B.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 65afeabe-54d5-41b5-35d5-08dd67a0dbd0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|36860700013|14060799003|376014|35042699022; X-Microsoft-Antispam-Message-Info: OUWsPNVp5U9iwzWpZ0HiM3shHsRcm6MozUcmGKqvlKABHZWmdBqNRDptwXznpurQOEkkbk2FlT9HY3WL/k7KLEZCfyex6pouvzonekFaAdgwwmzbas4oMAlypYNdayUYg5DAFsGNLdBnRGfOpQoEvn5IK5Kkf9OnMaNxVAXDBiRw1siaBG+asXzdwnukCE8VJUK+bBPybWNYkNp8+EbE5elvVJae7nU0ZiPNBCx9vKFMU4YtQtSAPt7tfW0mL9kC6TiB2dRC3iGXfquO/dlqVtLnWrHbgeOMQlyx+CpXo/cNM2/aMi8mY6Zrm4qo/869VBmy8n3KEOippO1gemiUuQceq/+BYjL7MfPMHdRvQaQI5OlQwebtCPJ+zbQdkLJmtrcGywuMTDLVRk0SelJiMLNfd+Cu8lisWOhYqUTBQkY7Eeg6oQAMPqdaGH2k8uoBR69ths+61gJjVYgVcbFuUTwq/rgBWTr8kZ2hO4En3+8CSzHBL43M0bHNsIQFhxBarOQcWbbFrBw7XMJXM5d//S4Mat3NDefRCvHbBi+kQoxLHIpEQ+hhjBiaaD1vNFBal8VD81RT/JP24nkvvwZ85e+0Ih9n8Pjt6RILUa9JnuibJzZDkLnG9JTQPjgtI0+/B1nuDcFmT77AVVWOoykXzUeOGCT8cJdggoOlEB4sv5/j5E0cBplKrWqsZ6znPQVXnJJKAUfjT6KHyhCwtmhqPWi/cy6wVwmBU06EG7Qkizl645msv2D3v9UprCy91B9LtKPgNmgFHLuLCA1Z4mY6T5lU5YyrxstoYi7qHe7nGe707uz5aUxRDfba3scOryglGekxv5QGcQO6HGqZ7xqvcFgq7zuOf74oOVYCe4NIUhWrnIeMrCrNg/pzYTZx4GLZDH10wkB7XODs2hi7xMkFeR2ijy1yu/1QFmNegjYgI6OP4TwmWztVz/wmnrfttQohvN7+VkP3cU2jph7BIB5jvld572OO+L7RSumql0DAM7czFq2yjM2oijvddsfboAz9pBozSbEthR76YRt6VlBDfkn7h1b5wGwaRlCdZjZ1SzdztJ/tyJzdr08FFXp56X1fwW+uSd4ooF4v2EgUpPUe0IMl3a98N8YF309Wgr0a0z5vyV2ogk71xTzT1U9aYhPueJUzIeS6oLLmWw9Cn/3cVxD76dUmN6LXuA7QjVuQNal6p+boQeQujm8rpu3GSzWwds2rZzqKi9eK+k86kkITo/WNMXZrSb4DcudLbu1+c6C4vTzDFdSRP3cnMDPMdQ05SeFgiBdrCFde7Kl143O8kvcjXXqS+aPgHaSAMmaKLAn6/VM/aXhRLJ7vU+S45sBp092+w9nzOBa8ltoZojnFa38jNylIRziEm/G5fUdD9SKvqAYCgjIaioVgoo8m/SISVsxHgwEGjcegfFk3ETDg6Rm2qLUsCjEvJTxB5uYdJnVuYcDvzxAmaHjayMhQyri1n74fm1RQmdbaCFtwxnI6PK68Q6n9ty7DJ5xbdAvV06A= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(36860700013)(14060799003)(376014)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:02.9115 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1086a793-557e-43c8-7a3c-08dd67a0e164 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00027A6B.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9651 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch adds 64-bit register accessors to simplify register access in Panthor. It also adds 32-bit and 64-bit variants for read_poll_timeout. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_regs.h | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/drivers/gpu/drm/panthor/panthor_regs.h b/drivers/gpu/drm/panthor/panthor_regs.h index 42dc3fedb0d4..7ec4a1d04e20 100644 --- a/drivers/gpu/drm/panthor/panthor_regs.h +++ b/drivers/gpu/drm/panthor/panthor_regs.h @@ -238,4 +238,59 @@ #define gpu_read(dev, reg) \ readl((dev)->iomem + (reg)) +#define gpu_read_relaxed(dev, reg) readl_relaxed((dev)->iomem + (reg)) + +#define gpu_write64(dev, reg, data) \ + do { \ + u64 __val = (u64)(data); \ + gpu_write(dev, reg, lower_32_bits(__val)); \ + gpu_write(dev, reg + 4, upper_32_bits(__val)); \ + } while (0) + +#define gpu_read64(dev, reg) \ + (gpu_read(dev, reg) | ((u64)gpu_read(dev, reg + 4) << 32)) + +#define gpu_read64_relaxed(dev, reg) \ + (gpu_read_relaxed(dev, reg) | \ + ((u64)gpu_read_relaxed(dev, reg + 4) << 32)) + +#define gpu_read64_sync(dev, reg) \ + ({ \ + u32 lo, hi1, hi2; \ + do { \ + hi1 = gpu_read(dev, reg + 4); \ + lo = gpu_read(dev, reg); \ + hi2 = gpu_read(dev, reg + 4); \ + } while (hi1 != hi2); \ + lo | ((u64)hi2 << 32); \ + }) + +#define gpu_read_poll_timeout(dev, reg, val, cond, delay_us, timeout_us) \ + read_poll_timeout(gpu_read, val, cond, delay_us, timeout_us, false, \ + dev, reg) + +#define gpu_read_poll_timeout_atomic(dev, reg, val, cond, delay_us, \ + timeout_us) \ + read_poll_timeout_atomic(gpu_read, val, cond, delay_us, timeout_us, \ + false, dev, reg) + +#define gpu_read64_poll_timeout(dev, reg, val, cond, delay_us, timeout_us) \ + read_poll_timeout(gpu_read64, val, cond, delay_us, timeout_us, false, \ + dev, reg) + +#define gpu_read64_poll_timeout_atomic(dev, reg, val, cond, delay_us, \ + timeout_us) \ + read_poll_timeout_atomic(gpu_read64, val, cond, delay_us, timeout_us, \ + false, dev, reg) + +#define gpu_read_relaxed_poll_timeout_atomic(dev, reg, val, cond, delay_us, \ + timeout_us) \ + read_poll_timeout_atomic(gpu_read_relaxed, val, cond, delay_us, \ + timeout_us, false, dev, reg) + +#define gpu_read64_relaxed_poll_timeout(dev, reg, val, cond, delay_us, \ + timeout_us) \ + read_poll_timeout(gpu_read64_relaxed, val, cond, delay_us, timeout_us, \ + false, dev, reg) + #endif From patchwork Thu Mar 20 11:17:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023737 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4325EC28B30 for ; Thu, 20 Mar 2025 11:18:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 994C310E5F0; Thu, 20 Mar 2025 11:18:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="H0kmSs3y"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="H0kmSs3y"; dkim-atps=neutral Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11012055.outbound.protection.outlook.com [52.101.66.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C57D10E5EF for ; Thu, 20 Mar 2025 11:18:17 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=TOhPRwycF0fwsEI7zWymcELCmq+IJLqOh0RT/HIj9THasjwbJxr7i7QL1ADLVByU2ZuGKsNCOv6ysYGLoyDqDRTgXYhc9at8cgLh3dYGJZ8YFzu+VRBNsHsRx09qwaba4TPqTw2L3zGXl9Iq/mTC4GSg7vwsPYdDuA2DMaUV+jp3c4p7AkIHxhUapvFG4a6GZUZP+cWeXebMxkw3YMoTrTndnCEdXqhiN9wCMNRsNzGarzf41sOhwzESfwNgqhCXp6ZitbJhGidg26iOg1gys80ewUHDGw4V5QWjHwSIw9urAKnr9ku/dc8ZReLrZ2uLBM4khpNxSSs3PzLyAmqH4Q== ARC-Message-Signature: i=2; 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=zHh7Af4iUDZdxAx8A3l6XrN18BNSMzVMUovDIP1fy54=; b=NJ0gEFU919enoIWUlo5Iqwz4TO7SiL10QHPVYOBTSyx3ak7nX1Xvy84w9rCYVLpqNmpn/vM3j4WLPxv81Jvc2V8P+0ic9A+RuwAZoJwkmCfuvfYop9V0+k1VxVZ9xHnVuxp4vGAC3pGYO933iNeR2W+VnXcFNv462/NH7MbyqMPXdqscMDLTitucyvmRLW9iyyb8zmvhGtHQ/WjB0Xf7TXERd/hulMMbn49seh/8qCUvcFesWwfWERoKCS4JXxuwYJQWcdvR9XlISOxDuglkqjIh8qnOyFKy0RB5BFmOBodX/Dy9+qDdf6CP2QSe9aF8mq1fAQIoRECy/GjbW41sow== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zHh7Af4iUDZdxAx8A3l6XrN18BNSMzVMUovDIP1fy54=; b=H0kmSs3ynRJqDp9voCHxQstaBWCnCPLOgY1R4z6Q76TA1g8t2CxFYy6b3khQp4goiDF/UlvTjQZi9mQPoqf76UxmFTpbjgNYT/62ByLiUKi/U0CprUTkzh5rPqBYVIyEuDX4TzTjQJWziwkTKpF+Jdwbp5J4WGa8B6kW05GCMLg= Received: from DUZPR01CA0214.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b4::19) by AS4PR08MB7928.eurprd08.prod.outlook.com (2603:10a6:20b:577::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:09 +0000 Received: from DU2PEPF0001E9C3.eurprd03.prod.outlook.com (2603:10a6:10:4b4:cafe::2d) by DUZPR01CA0214.outlook.office365.com (2603:10a6:10:4b4::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 11:18:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU2PEPF0001E9C3.mail.protection.outlook.com (10.167.8.72) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:07 +0000 Received: ("Tessian outbound c7a7213353f4:v597"); Thu, 20 Mar 2025 11:18:06 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f1feabd50aa1467c X-TessianGatewayMetadata: mUSgo1F9I0kbSDRLP2bFH3Xe8ZM5c/LMivq9UxGs+IbITUga6AeZoO8Mp6Ka+6M1LJBgor93ReuYKpZIb4NUZHjYxnGIZuVZBrL+E7Cjbp/W1CcFDVVZhcc7ZuPGZcReoBdxsDaT6X6ZE9QkOe0+RFG3AP6oiESrWw9Na6n0wdo= X-CR-MTA-TID: 64aa7808 Received: from Ldeff37903ba1.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id ABF6DA69-1D0C-42D4-9453-8DC738F3597E.1; Thu, 20 Mar 2025 11:17:59 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Ldeff37903ba1.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:17:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x2Kkc/l8JnwTIIZDv1ZHy60Vv5kYjKPcJRDIJFINEdHoYY0c16x7TIcYP9grMv/fnnPsyu2fsVgDD+QyVG2y3O8p2GHHZZIXeSypyc1vtV72pFlckTqkbLXpHVKDVgjD2obw5V8dkF4hRbFiqCa+Pb5FfpUZl8CjPIWnPSsMKt1C+jKHI2UfE/AmDaIDAmNSYjzlhzKlMGiFaIj5g+Xmp3sJmkutlkthvGomekcXww4VRbH3R8thJ/N/tIxgneysn1JtXxVN6/W1js26YkHDwCXXkWtMSyQ2SYtVSMEVAn792BMgGArPuklVuqdlIzpmpikUwBNjwwb4P2+VJru3KQ== 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=zHh7Af4iUDZdxAx8A3l6XrN18BNSMzVMUovDIP1fy54=; b=Ga1oHEJNBnAqAtE3MhYB2JXfBr/m4JQyHQOlGvhkZswALnSYmUQMAP3/uAMD5ssxhwmpfFV10XJA5c4kPndHIX1L8rghCf8ifjZ0nEdINW0VcRGaSHWfaySD1R2PaapjajEnQLJ/7FlgBE22Q2JdmnMY1y5fzDmMkeYBE1/IqVYQHn/TFp4kkvfG1gq2JlREys+5FKte/4fYUrc09768n+LsyfBHnig9j3Be1U0E3VwSgq84SlKELv9rVo8XDIywlG3ltAyj9/pfd57TWghxDnXXqJRwz0HaYMFXTSCG/af2ajtZBzFUDx9NF6+Gln61BC0VD2BLt6cASrSRw45aPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zHh7Af4iUDZdxAx8A3l6XrN18BNSMzVMUovDIP1fy54=; b=H0kmSs3ynRJqDp9voCHxQstaBWCnCPLOgY1R4z6Q76TA1g8t2CxFYy6b3khQp4goiDF/UlvTjQZi9mQPoqf76UxmFTpbjgNYT/62ByLiUKi/U0CprUTkzh5rPqBYVIyEuDX4TzTjQJWziwkTKpF+Jdwbp5J4WGa8B6kW05GCMLg= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by AS2PR08MB9074.eurprd08.prod.outlook.com (2603:10a6:20b:5fc::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:17:57 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:17:55 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 2/9] drm/panthor: Use 64-bit and poll register accessors Date: Thu, 20 Mar 2025 11:17:34 +0000 Message-ID: <20250320111741.1937892-3-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO2P123CA0052.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1::16) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|AS2PR08MB9074:EE_|DU2PEPF0001E9C3:EE_|AS4PR08MB7928:EE_ X-MS-Office365-Filtering-Correlation-Id: a0eec6e3-acc4-425e-ae89-08dd67a0e402 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: xSdyAbR4EB+zD4ksWQJRBsa2zgVnLvPCMeEKrCo2RP7it1pqisa9e70I3XRCdYCmjmdnEyparoCZedb4Srbr3K+WyPckvxFu0N1SNbCd1WcygJBUVJZ8b0flpPr2Mv3tWosX6FPuAQOU9RBUo5a1f2qgxvp6GkOxQt63usSQjtcXlMz9udroc5yBgnlzlfwfHI+IEdD8IhsWawreiFRpcE3kFDAWMUKdOl9+KqkkrG82tMT11RYlZi+jZw3fTIkBm0c061h9E3HcysiSRdluwKTMVfRSoAoLp8+XP/NdpGS9nc4Jm0e3s9JhXhgATHzqGcCbnrX8qgAwYUaysTl9qFnrfgPJaPLXbn0gRmr69N9x6lu4mPaSoqQq8nQ3Nn+maeYpjSqWpavlz7c1mYDFmdSmLg8dmseNNiizur1maXgPJ8j/j5rrfajgeZ/X8lI5F0UMRUkb7Nu7QyXCfsYT0zB6NuN29BivbwnKKehK/6DemXJeo4teyeWzZFTOWuDwF38Rgnz0VIabhKtfEDz9KMrl3okzG7myvQQ/FnrKNDVxH9kiQKAEqUmWT9lVTV1cYGBgWFGNAq6UYsc/g27eCgv48A4h+uPi/70LziTfY1/AJAu3AqlKS0Pe9i8lkViypyiiMm2bAZJFPwUhveItwbW8M4F0dFnEuCQbbOvE2D+WHb+Byu59At4aWE+yAIuJjW54ufsa2/0TQytdl3EO3ANCav30hPvQRn5ydnO6f2MA0mAL0MGVPKauLVwkMuhz7JaKHmZ3QOVyqr28veRkbFvMRm1kU5Dc3QVEOkt9t8Bdrmg6oK0jb4X2Yxn06eo/EdZlWGFduEapBdaDY6VmDeIv/o+byl1wfl4UEqASPJ6jnqD4seePEIo74vGufa8N1cXeKTchM2wz54LIr+Xkjq0THd2t3VUsAmYSaE9QLlHJslPjZG5q119jW4pk6rla60k84F+ngVpPGpC3PDiCSbyD6nYmXA82fnV8kwxNYT78DOnN99B+li3OmIGeAO/sr66Z16fyBKcTcpBjM7g2SjWaW7SvoaQlmFpMw8WTrQB/b1L6ty3yTSegSpKXMJL22lHSJIpYGLBW4lWV/rggEOuIu2VFrwO0j5BF5sEsRD5hnTrkh4+PZGn0qfDCwYRTV5t9PQX0nl2jDTDpF3kssGyDQh4VaIAXlxFs7hEtjQj/rurUp+51h7xnEbbIDX0JbDKK60yz70rc5WPmznRkyobjqmI8WK4kdL6UZyFcpoxkTpaHgTsr6n6v+x71iB/0ceUuO9804W9spNHddD1rf79hQumDE4cMNbCVnybVjjdmON/qrAa7mYONTq/990I3HBL1tLtKVMPuWLwiXLEWzPMadW8uaU3FxmEHq2YCZ7C6B6xIhPGl/t40+sY9plbS X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9074 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9C3.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7cbdb6e8-3dcd-4294-b0cc-08dd67a0dca4 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|14060799003|35042699022|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: xUpiyDPDYjpOwlNhXPEgGh42/Cqlzpntz7Pmqr0lqjckbunkPzLCkruCJIKYbaMDCCKkX5FpE8KywR3tlrYqESnKBTUEnSudNIJAmK0wZIvG/j5WdM6XsHhiUv1rrczGskxDpaDVECyV4wLrwFBbwREfdiaORRJlXZhG+O9cUpLu4UhFivHrO/M6zSDpN8hOEpR7mM+h0qxfVj3pV8TmZtFUfRgE1Ur/CeumqFR69yApB69WWLovxBmjF9E1+p2p6Kfem38awD0Tb1ijlCQLXUv4/aK5TWKLGOtFy/r0hSJXI97cBk/isFLzSCpHHZZmkbHRcvAgVxTLZkDJk7efaIuRhQDb2jIfub8WWHY9rbMLOYlTV5IJ9Pm/MHCuAEHMVgC+mnJOkhiRZi63CTZpmMIT1JSPwH26cliWtouaTq4yIVM8V3iVD8Ieir0+3waxDP4StakosDSgCg8YxisUF1fa6LJQOMvJAk75B8lxBb+JtjJK11DtycKsj0OS1ZLyQtr3Ob71GXs32Qf7ZrW6LOVDkeMzgYKF0MaSyjGJHyNalYui/aQE8tQ/nm8aqkUf94FYyDbWA0LZUiAgOeZqgFPTOe5CJ/ZknauL9bD75VdvIj1XDpv7qbtWMk+mePI1RgVRlOnOXIJGCiHAO5NDtJMJo3xT2uzkhKlV78HBmv/ZGqx7G3IWPoNY5Z/3hmJ60fzViPPU/N8M5Ab2WEd0mnezTptHhWSaA94AAvHJrmwG6qLQciyZBA582mEdHEf+7bKNwQlRXh50Tsvco757McdnGNB5TcxyD1r/voxNhKjuTn/+pmXiWOl/xRXKDGINaTr+N9OBUaPr4Sj3PI6pdUFdLhTblaOQunmp0dmIXp/HzvHcilRT2Xf+BEjsFbPm5+CuJ/bh5zmE41bhpvphwhtE3ObkehyMpVX8GnXHe+6/RKUME0b1oOqe4GZEtRbUzMkmvFMGiw06xNjPtQnBJae3DHhzgd5b3DQ0W1FUAmWOEzgOHej/Yk238Yf/pAt+d9ZY2GRx/6W6NObryCxjRwiTUMf7TUs8kXYMDnE7Yu/6p9alrw6NycbMS8e9k6G/IxojuSweZ3B/4RHj4M2Oba9+gnpHwabiRIa24usBwUslrvn8sYt+FnbjJQimxavnli+QM5OyFzYd560n2ei3J8dDNh3WC8oaagtdjg5CBh8XXBIdUdxNhMsmiwQIyqFG1FXvkVIVIqRTl+eUARpw3PZXiZHrvs/2UITxywm/9YYMG0Crv/cTu5YeQKRC5F6og9vFnJhoKqS3AKi547ADF/+uJXWQ0hUyzX+MbdAnOWsGkHc9QXaE3+kbcYZ4VXz8QetZSf5zTRf85s8KHgDZafZ88HtYlVhUz2r+AczMEz177+a3oPTQzSyVUegEnPTKocNLiJS2DxzWQL9lhG6jngndLK5K7zHxx/dbzC+a/iAe+4/l2HMF5H9VbdmgHRzaRJekgHaVU6/FYXBPuE5sxS/3igsAgHxs91I4xk8izS0= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(376014)(14060799003)(35042699022)(1800799024)(82310400026)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:07.3818 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0eec6e3-acc4-425e-ae89-08dd67a0e402 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF0001E9C3.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7928 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch updates Panthor to use the new 64-bit accessors and poll functions. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_fw.c | 9 +- drivers/gpu/drm/panthor/panthor_gpu.c | 142 +++++++------------------- drivers/gpu/drm/panthor/panthor_mmu.c | 34 ++---- 3 files changed, 53 insertions(+), 132 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor/panthor_fw.c index 0f52766a3120..ecfbe0456f89 100644 --- a/drivers/gpu/drm/panthor/panthor_fw.c +++ b/drivers/gpu/drm/panthor/panthor_fw.c @@ -1059,8 +1059,8 @@ static void panthor_fw_stop(struct panthor_device *ptdev) u32 status; gpu_write(ptdev, MCU_CONTROL, MCU_CONTROL_DISABLE); - if (readl_poll_timeout(ptdev->iomem + MCU_STATUS, status, - status == MCU_STATUS_DISABLED, 10, 100000)) + if (gpu_read_poll_timeout(ptdev, MCU_STATUS, status, + status == MCU_STATUS_DISABLED, 10, 100000)) drm_err(&ptdev->base, "Failed to stop MCU"); } @@ -1085,8 +1085,9 @@ void panthor_fw_pre_reset(struct panthor_device *ptdev, bool on_hang) panthor_fw_update_reqs(glb_iface, req, GLB_HALT, GLB_HALT); gpu_write(ptdev, CSF_DOORBELL(CSF_GLB_DOORBELL_ID), 1); - if (!readl_poll_timeout(ptdev->iomem + MCU_STATUS, status, - status == MCU_STATUS_HALT, 10, 100000)) { + if (!gpu_read_poll_timeout(ptdev, MCU_STATUS, status, + status == MCU_STATUS_HALT, 10, + 100000)) { ptdev->reset.fast = true; } else { drm_warn(&ptdev->base, "Failed to cleanly suspend MCU"); diff --git a/drivers/gpu/drm/panthor/panthor_gpu.c b/drivers/gpu/drm/panthor/panthor_gpu.c index 671049020afa..0dee011fe2e9 100644 --- a/drivers/gpu/drm/panthor/panthor_gpu.c +++ b/drivers/gpu/drm/panthor/panthor_gpu.c @@ -108,14 +108,9 @@ static void panthor_gpu_init_info(struct panthor_device *ptdev) ptdev->gpu_info.as_present = gpu_read(ptdev, GPU_AS_PRESENT); - ptdev->gpu_info.shader_present = gpu_read(ptdev, GPU_SHADER_PRESENT_LO); - ptdev->gpu_info.shader_present |= (u64)gpu_read(ptdev, GPU_SHADER_PRESENT_HI) << 32; - - ptdev->gpu_info.tiler_present = gpu_read(ptdev, GPU_TILER_PRESENT_LO); - ptdev->gpu_info.tiler_present |= (u64)gpu_read(ptdev, GPU_TILER_PRESENT_HI) << 32; - - ptdev->gpu_info.l2_present = gpu_read(ptdev, GPU_L2_PRESENT_LO); - ptdev->gpu_info.l2_present |= (u64)gpu_read(ptdev, GPU_L2_PRESENT_HI) << 32; + ptdev->gpu_info.shader_present = gpu_read64(ptdev, GPU_SHADER_PRESENT_LO); + ptdev->gpu_info.tiler_present = gpu_read64(ptdev, GPU_TILER_PRESENT_LO); + ptdev->gpu_info.l2_present = gpu_read64(ptdev, GPU_L2_PRESENT_LO); arch_major = GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id); product_major = GPU_PROD_MAJOR(ptdev->gpu_info.gpu_id); @@ -152,8 +147,7 @@ static void panthor_gpu_irq_handler(struct panthor_device *ptdev, u32 status) { if (status & GPU_IRQ_FAULT) { u32 fault_status = gpu_read(ptdev, GPU_FAULT_STATUS); - u64 address = ((u64)gpu_read(ptdev, GPU_FAULT_ADDR_HI) << 32) | - gpu_read(ptdev, GPU_FAULT_ADDR_LO); + u64 address = gpu_read64(ptdev, GPU_FAULT_ADDR_LO); drm_warn(&ptdev->base, "GPU Fault 0x%08x (%s) at 0x%016llx\n", fault_status, panthor_exception_name(ptdev, fault_status & 0xFF), @@ -244,45 +238,27 @@ int panthor_gpu_block_power_off(struct panthor_device *ptdev, u32 pwroff_reg, u32 pwrtrans_reg, u64 mask, u32 timeout_us) { - u32 val, i; + u32 val; int ret; - for (i = 0; i < 2; i++) { - u32 mask32 = mask >> (i * 32); - - if (!mask32) - continue; - - ret = readl_relaxed_poll_timeout(ptdev->iomem + pwrtrans_reg + (i * 4), - val, !(mask32 & val), - 100, timeout_us); - if (ret) { - drm_err(&ptdev->base, "timeout waiting on %s:%llx power transition", - blk_name, mask); - return ret; - } + ret = gpu_read64_relaxed_poll_timeout(ptdev, pwrtrans_reg, val, !val, + 100, timeout_us); + if (ret) { + drm_err(&ptdev->base, + "timeout waiting on %s:%llx power transition", blk_name, + mask); + return ret; } - if (mask & GENMASK(31, 0)) - gpu_write(ptdev, pwroff_reg, mask); - - if (mask >> 32) - gpu_write(ptdev, pwroff_reg + 4, mask >> 32); - - for (i = 0; i < 2; i++) { - u32 mask32 = mask >> (i * 32); + gpu_write64(ptdev, pwroff_reg, mask); - if (!mask32) - continue; - - ret = readl_relaxed_poll_timeout(ptdev->iomem + pwrtrans_reg + (i * 4), - val, !(mask32 & val), - 100, timeout_us); - if (ret) { - drm_err(&ptdev->base, "timeout waiting on %s:%llx power transition", - blk_name, mask); - return ret; - } + ret = gpu_read64_relaxed_poll_timeout(ptdev, pwrtrans_reg, val, !val, + 100, timeout_us); + if (ret) { + drm_err(&ptdev->base, + "timeout waiting on %s:%llx power transition", blk_name, + mask); + return ret; } return 0; @@ -305,45 +281,26 @@ int panthor_gpu_block_power_on(struct panthor_device *ptdev, u32 pwron_reg, u32 pwrtrans_reg, u32 rdy_reg, u64 mask, u32 timeout_us) { - u32 val, i; + u32 val; int ret; - for (i = 0; i < 2; i++) { - u32 mask32 = mask >> (i * 32); - - if (!mask32) - continue; - - ret = readl_relaxed_poll_timeout(ptdev->iomem + pwrtrans_reg + (i * 4), - val, !(mask32 & val), - 100, timeout_us); - if (ret) { - drm_err(&ptdev->base, "timeout waiting on %s:%llx power transition", - blk_name, mask); - return ret; - } + ret = gpu_read64_relaxed_poll_timeout(ptdev, pwrtrans_reg, val, !val, + 100, timeout_us); + if (ret) { + drm_err(&ptdev->base, + "timeout waiting on %s:%llx power transition", blk_name, + mask); + return ret; } - if (mask & GENMASK(31, 0)) - gpu_write(ptdev, pwron_reg, mask); - - if (mask >> 32) - gpu_write(ptdev, pwron_reg + 4, mask >> 32); - - for (i = 0; i < 2; i++) { - u32 mask32 = mask >> (i * 32); + gpu_write64(ptdev, pwron_reg, mask); - if (!mask32) - continue; - - ret = readl_relaxed_poll_timeout(ptdev->iomem + rdy_reg + (i * 4), - val, (mask32 & val) == mask32, - 100, timeout_us); - if (ret) { - drm_err(&ptdev->base, "timeout waiting on %s:%llx readiness", - blk_name, mask); - return ret; - } + ret = gpu_read64_relaxed_poll_timeout(ptdev, pwrtrans_reg, val, !val, + 100, timeout_us); + if (ret) { + drm_err(&ptdev->base, "timeout waiting on %s:%llx readiness", + blk_name, mask); + return ret; } return 0; @@ -492,26 +449,6 @@ void panthor_gpu_resume(struct panthor_device *ptdev) panthor_gpu_l2_power_on(ptdev); } -/** - * panthor_gpu_read_64bit_counter() - Read a 64-bit counter at a given offset. - * @ptdev: Device. - * @reg: The offset of the register to read. - * - * Return: The counter value. - */ -static u64 -panthor_gpu_read_64bit_counter(struct panthor_device *ptdev, u32 reg) -{ - u32 hi, lo; - - do { - hi = gpu_read(ptdev, reg + 0x4); - lo = gpu_read(ptdev, reg); - } while (hi != gpu_read(ptdev, reg + 0x4)); - - return ((u64)hi << 32) | lo; -} - /** * panthor_gpu_read_timestamp() - Read the timestamp register. * @ptdev: Device. @@ -520,7 +457,7 @@ panthor_gpu_read_64bit_counter(struct panthor_device *ptdev, u32 reg) */ u64 panthor_gpu_read_timestamp(struct panthor_device *ptdev) { - return panthor_gpu_read_64bit_counter(ptdev, GPU_TIMESTAMP_LO); + return gpu_read64_sync(ptdev, GPU_TIMESTAMP_LO); } /** @@ -531,10 +468,5 @@ u64 panthor_gpu_read_timestamp(struct panthor_device *ptdev) */ u64 panthor_gpu_read_timestamp_offset(struct panthor_device *ptdev) { - u32 hi, lo; - - hi = gpu_read(ptdev, GPU_TIMESTAMP_OFFSET_HI); - lo = gpu_read(ptdev, GPU_TIMESTAMP_OFFSET_LO); - - return ((u64)hi << 32) | lo; + return gpu_read64(ptdev, GPU_TIMESTAMP_OFFSET_LO); } diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c index 12a02e28f50f..a0a79f19bdea 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -510,9 +510,9 @@ static int wait_ready(struct panthor_device *ptdev, u32 as_nr) /* Wait for the MMU status to indicate there is no active command, in * case one is pending. */ - ret = readl_relaxed_poll_timeout_atomic(ptdev->iomem + AS_STATUS(as_nr), - val, !(val & AS_STATUS_AS_ACTIVE), - 10, 100000); + ret = gpu_read_relaxed_poll_timeout_atomic(ptdev, AS_STATUS(as_nr), val, + !(val & AS_STATUS_AS_ACTIVE), + 10, 100000); if (ret) { panthor_device_schedule_reset(ptdev); @@ -564,8 +564,7 @@ static void lock_region(struct panthor_device *ptdev, u32 as_nr, region = region_width | region_start; /* Lock the region that needs to be updated */ - gpu_write(ptdev, AS_LOCKADDR_LO(as_nr), lower_32_bits(region)); - gpu_write(ptdev, AS_LOCKADDR_HI(as_nr), upper_32_bits(region)); + gpu_write64(ptdev, AS_LOCKADDR_LO(as_nr), region); write_cmd(ptdev, as_nr, AS_COMMAND_LOCK); } @@ -615,14 +614,9 @@ static int panthor_mmu_as_enable(struct panthor_device *ptdev, u32 as_nr, if (ret) return ret; - gpu_write(ptdev, AS_TRANSTAB_LO(as_nr), lower_32_bits(transtab)); - gpu_write(ptdev, AS_TRANSTAB_HI(as_nr), upper_32_bits(transtab)); - - gpu_write(ptdev, AS_MEMATTR_LO(as_nr), lower_32_bits(memattr)); - gpu_write(ptdev, AS_MEMATTR_HI(as_nr), upper_32_bits(memattr)); - - gpu_write(ptdev, AS_TRANSCFG_LO(as_nr), lower_32_bits(transcfg)); - gpu_write(ptdev, AS_TRANSCFG_HI(as_nr), upper_32_bits(transcfg)); + gpu_write64(ptdev, AS_TRANSTAB_LO(as_nr), transtab); + gpu_write64(ptdev, AS_MEMATTR_LO(as_nr), memattr); + gpu_write64(ptdev, AS_TRANSCFG_LO(as_nr), transcfg); return write_cmd(ptdev, as_nr, AS_COMMAND_UPDATE); } @@ -635,14 +629,9 @@ static int panthor_mmu_as_disable(struct panthor_device *ptdev, u32 as_nr) if (ret) return ret; - gpu_write(ptdev, AS_TRANSTAB_LO(as_nr), 0); - gpu_write(ptdev, AS_TRANSTAB_HI(as_nr), 0); - - gpu_write(ptdev, AS_MEMATTR_LO(as_nr), 0); - gpu_write(ptdev, AS_MEMATTR_HI(as_nr), 0); - - gpu_write(ptdev, AS_TRANSCFG_LO(as_nr), AS_TRANSCFG_ADRMODE_UNMAPPED); - gpu_write(ptdev, AS_TRANSCFG_HI(as_nr), 0); + gpu_write64(ptdev, AS_TRANSTAB_LO(as_nr), 0); + gpu_write64(ptdev, AS_MEMATTR_LO(as_nr), 0); + gpu_write64(ptdev, AS_TRANSCFG_LO(as_nr), AS_TRANSCFG_ADRMODE_UNMAPPED); return write_cmd(ptdev, as_nr, AS_COMMAND_UPDATE); } @@ -1680,8 +1669,7 @@ static void panthor_mmu_irq_handler(struct panthor_device *ptdev, u32 status) u32 source_id; fault_status = gpu_read(ptdev, AS_FAULTSTATUS(as)); - addr = gpu_read(ptdev, AS_FAULTADDRESS_LO(as)); - addr |= (u64)gpu_read(ptdev, AS_FAULTADDRESS_HI(as)) << 32; + addr = gpu_read64(ptdev, AS_FAULTADDRESS_LO(as)); /* decode the fault status */ exception_type = fault_status & 0xFF; From patchwork Thu Mar 20 11:17:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023738 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 38F1BC36004 for ; Thu, 20 Mar 2025 11:18:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DEC6610E5EF; Thu, 20 Mar 2025 11:18:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="VFGrEGyu"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="VFGrEGyu"; dkim-atps=neutral Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013050.outbound.protection.outlook.com [40.107.159.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5200910E5F0 for ; Thu, 20 Mar 2025 11:18:19 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=aeCv1WUOhBgXRsvoVnUA6XAGKIHLlYHAhiuISS8inomuLuFYgWN0pPPAlSepdGomftO7Q82mu4Z6naNJD5aRvO8Y2sjDcnM+21P/hotusahbhfRAWZD0xEHreQ2Lc+mBKb7nyI62OZgp2M1sq4tNRoYPAJAFQWA9D4HYvo/VUu2grUa/A7aQWZwTn17bNwwMJKUT8/4p/9bUs4S2sjJ0VY/n1j1H0Fdc6jf2RaEKebcANVpykohDYPP8cmqzQO1F1WRsdJa15ZYnqvKEel5n80zyRidBy7mksYan3o0Gnd96xFON/Obr5Yy9WaN+IR6MQKVlPE6CMwi8JLM2oH3pnA== ARC-Message-Signature: i=2; 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=W+TFo7nvFg44nY03QWZMc5ZWqasdfjEG3iZmQUgJWyU=; b=nNhm63qXXH/9nuCFOZC9Fz1/BMXTIbpeUctjuOBcVinJSzo1AtvW27VCSjH71RQqb2TeeZLhmhx1DxT+wWqnUhOZW+Yng3aVTMwr//zRVBINQxq6yYedPMvopjcRay9SL2hw5mTpdPCYthF7TcI8sVRk8785R+oZfXKWXwv7IkzuKO8falgAxFo8P5/tjW/RIraKmo9g4v9eetVBediWeXpvq7WN/sYfA6nj8ldX4DmsEqVuVvxUcvCYM4Hu4YW2I/hThkLVaPIrC3fzzqjacwKScVBQzZw3E6M8G8cyMTqWGZCLRhIolT2TeGLoPexPEkCpXU7fyDRRZmSMl59KJw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W+TFo7nvFg44nY03QWZMc5ZWqasdfjEG3iZmQUgJWyU=; b=VFGrEGyuaFxPebGbWcmbco2wmC8Ti7xsNle4mZXglbZ3Nt8XTtN1jLfuEaQjiqHFIuHgXjSeXS0X6o4jTPLKg8GNq9zdkZG5DKsFrUj9K9TDiIZTpa78OKrhhsim0X/S2Pg5s620PqkiGRJTMFa1VqdkfRhBSQUstEvvEHrYs+c= Received: from DU7P194CA0013.EURP194.PROD.OUTLOOK.COM (2603:10a6:10:553::29) by DBBPR08MB10482.eurprd08.prod.outlook.com (2603:10a6:10:532::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:09 +0000 Received: from DU6PEPF0000B622.eurprd02.prod.outlook.com (2603:10a6:10:553:cafe::5b) by DU7P194CA0013.outlook.office365.com (2603:10a6:10:553::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 11:18:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU6PEPF0000B622.mail.protection.outlook.com (10.167.8.139) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:07 +0000 Received: ("Tessian outbound ec1a125a00e6:v597"); Thu, 20 Mar 2025 11:18:07 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d939b7781bfcf113 X-TessianGatewayMetadata: dNIp/+bC4J0yYanAvG9J0MPYT6WssB9VeLVyUbz3CSd7HTLydEie1wXGAvYMlDShdJ1pnH5sfof/UAREvqR+9f2TFyXamNPqApwHjAU0LLidAW8xAQLOdLoqk9oIOQc+UjB0HzPBn5pfuoS0/jQCIU4Mcl00jc1tSLkkp9XaEmc= X-CR-MTA-TID: 64aa7808 Received: from Lb4d8711e3bea.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A295BBC8-F3DE-4584-A8F7-05326D0DE16C.1; Thu, 20 Mar 2025 11:17:59 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb4d8711e3bea.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:17:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d2LUU3mX9oSHqju+AXf8vUIyFYEZqrjYA5o7tW9ak/dxIj1Yzyr+au36qWxnn7vnZJqSFGtkQDOCaHhA1/9gGT1HuTfRz3pzzhXzIJfnvHC0ewo691O7JkFSsoDrHenWMn4ofAB6DKouKlzRSliiRnwr+hXNKuBdmyw5NObiSF87Fd52iEjedw88Sr7mE09L27IRwYsbzXSVh8JQfDJulySr+zP31wP6kQmCNwfwfjLvDTN0Fs+kASVxi0du0UfwVS/MARF40WrXUUBcPHbejG2GjGsYdmA2+b0q72YgIWwGrXAkVEK1BQG4NlacK9OGLRrCnYXIYeyUeRJzM3yYPA== 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=W+TFo7nvFg44nY03QWZMc5ZWqasdfjEG3iZmQUgJWyU=; b=eUlc3sMvisdTkTGGZtoKy2AYz6q0iE7yhUVkcnDoZ+e5eNhKh+/HxG/kNCCxb6ZoBXQgeZAUJoD9U44LKvW7R5MOAClInbSQ7KU4RlmIVPe26pibTcA+pEqUStj8sI1wmp6IZAZpNoiihSiD53Y+DTHVgiyNJWBp95VI0uiCgKMYsGVF1FroOF3tBD3J8+l1kYNQnT5IBi2F98SaKg5F9fz2Jr0JbSY4XmX0AmV2nARnFCIVua6hcc9bL0o2sdiw8PEDdXkBrncx9dZqgNSQr0oSw2RgfEBW0os8Yt3xX4MP3DaV+zQao+vSqy6EIACzYVtafsGhhxyVLwNqUILLpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W+TFo7nvFg44nY03QWZMc5ZWqasdfjEG3iZmQUgJWyU=; b=VFGrEGyuaFxPebGbWcmbco2wmC8Ti7xsNle4mZXglbZ3Nt8XTtN1jLfuEaQjiqHFIuHgXjSeXS0X6o4jTPLKg8GNq9zdkZG5DKsFrUj9K9TDiIZTpa78OKrhhsim0X/S2Pg5s620PqkiGRJTMFa1VqdkfRhBSQUstEvvEHrYs+c= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:17:57 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:17:57 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 3/9] drm/panthor: Add GPU specific initialization framework Date: Thu, 20 Mar 2025 11:17:35 +0000 Message-ID: <20250320111741.1937892-4-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO2P265CA0487.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13a::12) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|DU6PEPF0000B622:EE_|DBBPR08MB10482:EE_ X-MS-Office365-Filtering-Correlation-Id: cdce27f9-b3cc-462d-d9f4-08dd67a0e43f X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: /aeVOFfCqe0QfojEJzsQJgGtLsloqygehQBmZHMvSSMammVX8lLcJRUiDokOGRB2xBD1Xoi9IEC95vmh2qURkmcEOVPWxRBB2kC0MM059tVBjykkpGujoi8oemJl4OW3+IKPy/bujErxTWiM7vKhL+j1gw0kXjf6MCGPdgPvU+ls33jh8XBMlThYPNgZ8XgC+hU1EA2yG2RVkJyv8QBF4wB4P11qulk+wx3uQlMf1WlSpBt9Xpwy09NozOItGrFMPvPgBu6XucTvF2RiUpoeTZHHe5PHeMF6a6Xn2jo4EmcfHw8XQbHKtQhW1VsES+BnyhD1cB92K/PBBD62GEPhQ6KxhXoV3U+pQgsT4fEScTkQS2SPFjXaVLr7PfHnUNoIDFfMKlnfyxXU6R8bD9dSNV4DycjZVGLcBqBStEkX6T99lPZY7bxaaH6SmDULOo57kNvLowmpDVh1KjyKtVIw9efIKfdsKVc8D13a6cOgbFnA+YuYpQ54b7hLvqHUP6tT1oS1B1fQauhYxg5CkN+US1VaPpssqrrYL2Prcup+fCxTsoX0HezIg+N54BrRRUyU0+uZYJFByVrUFUk4UG3JznJSM2xdGxuJ/Nw15w4eExl6kZXEzvCEmIql4vJJT4rcUgXbAP1Ngq8BPpFzxTfVaunhqoZK4iP0ftSq7VLoLQ9j9WYMKBWsZg7d7nEaEz5isZF6KbX7Zxd6OkZyq7C/Y/0XcRrZvROrYShgqSFDNIFfunX1OqThBoDcQz9835UwI/S7azBpSgR9ufbYFMKcBtkA6NTCdHbPxEKs8DVdIRKcQR/iqV0dehvKUG62HCaLE3iThn0dYzaGDL/l10e9b7Jt6ULR+W8QI7WNPLbWLClJj8m7/eg4lMKLxQEdzDCpivgD2s2Kxnjeb0BP0MOQVFlKWN5qBgXhjITTWddcmoVR89Kkn6X6N0Dow0XvU2XF6u/FbjtCeyzsRhP+FAEJHuKsbqukZXFClbGSVlhzR9K6m724XAyQd6BlDrDqlW/JMijS3SVX2JbX3yXhpC20x1ViZwQG6OpPWTfGPnBvbY21R6228FZjeM33VsoudyZB3QV+bqs3jGjabadwxrJCGaf/utkTFPEl0WpH4kKfQSUcthB5K37YbsmihdIJyzwUGmx+FtmVt4JcNk8vQc9EN33FVdHnly32YZnnQ2NmFx3I3IzwjCJQ4g5uByrawg/wHRZMyjW/PlQkTVhLK2KlsV0hti+KNN9ZlHbuOuT/XzJIsjurfWgJhSd1fvSDisxBa1HvQ/XjuCzCQgKRMdknVkytoGhM3+YOMLVRO9qtXBzPES9AO7ZDGPZzG+QZjd0hlrAN8NNskkruvLMllrcwQ99oOKcL22ibWg7ogcuDnhxYWr944WVzmfuxRtJNTzQe X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000B622.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b1a0d67f-f23f-4cbb-eb11-08dd67a0dd7a X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|14060799003|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: Xg25oIprOdL8cKXKIsftQnfKHBy2ypoN+AHFAKFwPidbWeuJ2Ey0/hRI6n5yJAh81vMCL8jdN7AS8T+bv6IXK4LqQH69ZwVhUiWegW3TfMl6ydFWcc0w0YQB2/T17VAS2nf4L40EGIbUoYV+NMbCnEAmC8vm7fGqQ7BxK74CK2oAy4r6OUuMBY29qV5dq/k/s5WdzbYHuomjiIlqxFphP7NHy6d2259V/cz2ZQG/5Jbx3X6Eaan3046lewIXZ/SiJIIH5ZQmC4iFlrCg0rlnVzct7l32gbtQ4CK7P+JQPrQ5AfPlQyahGKIk58Y3l1yFZkGApdNW/eYlygdfgzBeoHpVuwwlAj2F5cdHWb46WwUMmPHww8WMQPQgJjn+eSLjZocvhzBlV1U0niwQ1mXqP6CRSpwff9caz3lvWnGNtk6gNBlgqOCE5mMbkghtHcFNC0O38xNdOehPA9Jdq3dGvrBuEcP4SWm/ywo87XsyOc/GNWt4FILCkamL/wPnmK9xLoga7OPvu0qzsIeLCawbPwUHtiWTz0Ni6e/lP9rVjYd6dbJbUU0Og/sqv/BU8tnO+S9Wn26DL6TBE5rFA0wG5mk1jHgYbZyyEiAWxg6qMh3/EVQIxJBL0K9rDFKnMNqpMLk9J8a1ALFzz+IJzCYtnvQSXU/W80FGbzwzoJA7izvo3YPFmwzDDzRg74qU4MV/NVmQQkdgSYrQHeM0yuvtdqgDSkTYRgFl6t3lGFKzXil4ORqRTCskv9SmgcZsZlWMq6Zcsq45px8zf07VanItLowtAvZ8M1lr5/YwexV0+/h5fKJPgDTeyBkTGgD48E93GTag1tUGR10sVxVCrhUJZE0qUCgV7QrTd7i5yC/qIzeyCn/iTokW6DVU8wM30080lu9B2X57dbRpkvTnFfm+r7csoJQ98zBYyO5oPKLYrn8+OyMm3X7zlfPaOxFM7Qkpvq5L4NvFuN2j+t9gTyl7K59hW68OjQ2gOg4b7KSrJCNTx0xJmbGLf1hfZMa7Lv1yAW4hvfG9Rgv+ibAmwZMGH9yncXWlFkAxqtmlpG4l3OEyY60bmDD71iiSaOp2Uz2mHFEf9TOKitWe6BmdvGC2npje/6Dd8SGdrkGZM65oHSb1QqBWvKMcVEwb5ShrRh4nEdqn2F/rc8BiZVMsxW8OIXtvrzoWGsqgGrzHF1If3Ii4wJBrrzALVr011GnChUFDw5q9AX056hc0IJg6N1pCfiswaYYPZxsgFBifhYUgP1V8yNL453ATOpq2F3KRYzR+WJ9F/LgyD+v69P7gesGYd773AYnS2luc8Bg+DEpIzpFdrF1vNqxkyzx4YmrE5PhTXsspgMhcA2KHlEZO2ES2zq3BZZTs12Scpszp7bwkgEDyo1NVr+17V4dlCLhGD5v7Ys2duVTxvkobt7sPf0h6yAEjDouNUQXCo8s4b4/X5FEbVz87b9vxhs2aLLc2G+/7zLyuFdRChb9aNKBYyYi65qvHP0fjvhnfsC7r9c61jko= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(14060799003)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:07.7984 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cdce27f9-b3cc-462d-d9f4-08dd67a0e43f X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF0000B622.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10482 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch aims to lay the foundation to provide support for multiple Mali GPUs through a framework by which differences in registers, functionality, and features can be managed. It introduces the concept of the arch_id which is a 32-bit ID in the format of ((arch_major << 16) | (arch_minor << 8) | arch_rev). The 8-bit fields of the arch_id provides future proofing past the 4-bit fields of the GPU_ID's arch_major, arch_minor, and arch_rev. The arch_id is used to select the correct abstraction for the GPU, such as function pointers for operations specific to the GPU, base addresses describing changes in register offsets, and supported features. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/Makefile | 1 + drivers/gpu/drm/panthor/panthor_device.c | 5 ++ drivers/gpu/drm/panthor/panthor_device.h | 3 + drivers/gpu/drm/panthor/panthor_hw.c | 70 ++++++++++++++++++++++++ drivers/gpu/drm/panthor/panthor_hw.h | 63 +++++++++++++++++++++ drivers/gpu/drm/panthor/panthor_regs.h | 2 + 6 files changed, 144 insertions(+) create mode 100644 drivers/gpu/drm/panthor/panthor_hw.c create mode 100644 drivers/gpu/drm/panthor/panthor_hw.h diff --git a/drivers/gpu/drm/panthor/Makefile b/drivers/gpu/drm/panthor/Makefile index 15294719b09c..02db21748c12 100644 --- a/drivers/gpu/drm/panthor/Makefile +++ b/drivers/gpu/drm/panthor/Makefile @@ -8,6 +8,7 @@ panthor-y := \ panthor_gem.o \ panthor_gpu.o \ panthor_heap.o \ + panthor_hw.o \ panthor_mmu.o \ panthor_sched.o diff --git a/drivers/gpu/drm/panthor/panthor_device.c b/drivers/gpu/drm/panthor/panthor_device.c index a9da1d1eeb70..a6fca6b3fabd 100644 --- a/drivers/gpu/drm/panthor/panthor_device.c +++ b/drivers/gpu/drm/panthor/panthor_device.c @@ -18,6 +18,7 @@ #include "panthor_device.h" #include "panthor_fw.h" #include "panthor_gpu.h" +#include "panthor_hw.h" #include "panthor_mmu.h" #include "panthor_regs.h" #include "panthor_sched.h" @@ -243,6 +244,10 @@ int panthor_device_init(struct panthor_device *ptdev) return ret; } + ret = panthor_hw_init(ptdev); + if (ret) + goto err_rpm_put; + ret = panthor_gpu_init(ptdev); if (ret) goto err_rpm_put; diff --git a/drivers/gpu/drm/panthor/panthor_device.h b/drivers/gpu/drm/panthor/panthor_device.h index da6574021664..82741bf1a49b 100644 --- a/drivers/gpu/drm/panthor/panthor_device.h +++ b/drivers/gpu/drm/panthor/panthor_device.h @@ -120,6 +120,9 @@ struct panthor_device { /** @csif_info: Command stream interface information. */ struct drm_panthor_csif_info csif_info; + /** @hw: GPU specific data. */ + struct panthor_hw *hw; + /** @gpu: GPU management data. */ struct panthor_gpu *gpu; diff --git a/drivers/gpu/drm/panthor/panthor_hw.c b/drivers/gpu/drm/panthor/panthor_hw.c new file mode 100644 index 000000000000..234bfd50cf0d --- /dev/null +++ b/drivers/gpu/drm/panthor/panthor_hw.c @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +/* Copyright 2025 ARM Limited. All rights reserved. */ + +#include "panthor_device.h" +#include "panthor_hw.h" +#include "panthor_regs.h" + +static struct panthor_hw panthor_hw_devices[] = { + { + .arch_id = GPU_ARCH_ID_MAKE(10, 0, 0), + .arch_mask = GPU_ARCH_ID_MAKE(0xFF, 0, 0), + }, +}; + +static int init_gpu_id(struct panthor_device *ptdev) +{ + ptdev->gpu_info.gpu_id = gpu_read(ptdev, GPU_ID); + + if (!ptdev->gpu_info.gpu_id) { + drm_err(&ptdev->base, "Invalid GPU ID (0x0)"); + return -ENXIO; + } + + return 0; +} + +int panthor_hw_init(struct panthor_device *ptdev) +{ + struct panthor_hw *hdev = NULL; + u32 arch_id = 0; + int i, ret; + + ret = init_gpu_id(ptdev); + if (ret) + return ret; + + arch_id = GPU_ARCH_ID_MAKE(GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id), + GPU_ARCH_MINOR(ptdev->gpu_info.gpu_id), + GPU_ARCH_REV(ptdev->gpu_info.gpu_id)); + if (!arch_id) { + drm_err(&ptdev->base, "Invalid arch_id (0x0)"); + return -ENXIO; + } + + for (i = 0; i < ARRAY_SIZE(panthor_hw_devices); i++) { + u32 mask = panthor_hw_devices[i].arch_mask; + u32 hw_arch_id = panthor_hw_devices[i].arch_id; + + if ((arch_id & mask) == (hw_arch_id & mask)) { + hdev = &panthor_hw_devices[i]; + break; + } + } + + if (!hdev) { + drm_err(&ptdev->base, "Unsupported GPU (arch 0x%x)", arch_id); + return -ENODEV; + } + + ptdev->hw = hdev; + + return 0; +} + +bool panthor_hw_supports(struct panthor_device *ptdev, + enum panthor_hw_feature feature) +{ + return test_bit(feature, ptdev->hw->features); +} + diff --git a/drivers/gpu/drm/panthor/panthor_hw.h b/drivers/gpu/drm/panthor/panthor_hw.h new file mode 100644 index 000000000000..5eb0549ad333 --- /dev/null +++ b/drivers/gpu/drm/panthor/panthor_hw.h @@ -0,0 +1,63 @@ +/* SPDX-License-Identifier: GPL-2.0 or MIT */ +/* Copyright 2025 ARM Limited. All rights reserved. */ + +#ifndef __PANTHOR_HW_H__ +#define __PANTHOR_HW_H__ + +#include +#include + +struct panthor_device; + +/** + * enum panthor_hw_feature - Bit position of each HW feature + * + * Used to define GPU specific features based on the GPU architecture ID. + * New feature flags will be added with support for newer GPU architectures. + */ +enum panthor_hw_feature { + /** @PANTHOR_HW_FEATURES_END: Must be last. */ + PANTHOR_HW_FEATURES_END +}; + +/** + * struct panthor_hw_regmap - Register offsets for specific register blocks + */ +struct panthor_hw_regmap { + +}; + +/** + * struct panthor_hw_ops - HW operations that are specific to a GPU + */ +struct panthor_hw_ops { + +}; + +/** + * struct panthor_hw - GPU specific register mapping and functions + */ +struct panthor_hw { + /** @arch_id: Architecture id to match against */ + u32 arch_id; + + /** @arch_mask: Mask for architecture id comparison */ + u32 arch_mask; + + /** @features: Bitmap containing panthor_hw_feature */ + DECLARE_BITMAP(features, PANTHOR_HW_FEATURES_END); + + /** @map: Panthor regmap */ + struct panthor_hw_regmap map; + + /** @ops: Panthor HW specific operations */ + struct panthor_hw_ops ops; +}; + +int panthor_hw_init(struct panthor_device *ptdev); + +bool panthor_hw_supports(struct panthor_device *ptdev, + enum panthor_hw_feature feature); + +#endif /* __PANTHOR_HW_H__ */ + diff --git a/drivers/gpu/drm/panthor/panthor_regs.h b/drivers/gpu/drm/panthor/panthor_regs.h index 7ec4a1d04e20..ba452c1dd644 100644 --- a/drivers/gpu/drm/panthor/panthor_regs.h +++ b/drivers/gpu/drm/panthor/panthor_regs.h @@ -19,6 +19,8 @@ #define GPU_VER_MINOR(x) (((x) & GENMASK(11, 4)) >> 4) #define GPU_VER_STATUS(x) ((x) & GENMASK(3, 0)) +#define GPU_ARCH_ID_MAKE(major, minor, rev) (((major) << 16) | ((minor) << 8) | (rev)) + #define GPU_L2_FEATURES 0x4 #define GPU_L2_FEATURES_LINE_SIZE(x) (1 << ((x) & GENMASK(7, 0))) From patchwork Thu Mar 20 11:17:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023734 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 64524C36000 for ; Thu, 20 Mar 2025 11:18:16 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C71B610E5E3; Thu, 20 Mar 2025 11:18:15 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="qZcYbXIm"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="qZcYbXIm"; dkim-atps=neutral Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011060.outbound.protection.outlook.com [52.101.70.60]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2795810E5E5 for ; Thu, 20 Mar 2025 11:18:12 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=W3zveJOAgRuv537UzZ59ZtwH/qmBEAwbY2JYbOirMkQD+0+k+QTMOFW07swTxnbAQm/gbf6i3tViQnHD3COl4drijcJVY5/ToDy/mQBO4Vca+8+v6tEmZZUP85l2Tgz6hArFtZlGkp++WtQ4JRRZqZlkXzAdQ9BVe/q308eK1HrrJntOwRWKCAssoKcI5FlXDGi7JvU22j3v40xfURsFn/xXxk/0g0TSwNhPqr6n1fiT1/AQRT6HE5SKT/tJTrcdysv0LOIRxng1uBFB7i4W3MM11YZLUUEpEanhUj5jCmzFFzDsPBMUi4uvLXzSrFzkMu3S1kNlffNFanNWoH8ayg== ARC-Message-Signature: i=2; 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=MJdvRf2cZn5crTwsSzEmzrD+7XEnstobIN9lPJt0nRI=; b=Mdnifj0jKYmsHaAuJLU9Gyb4IS7Dv38HJFF2hOBASYg2XSO9m1BKOU4s6KUteA0Ezy7ZB18TRA0gifgKiSaX/dQic4iEU+SJmkBLMabrEjptuSRYbKjhfLJj07VVMacKoheuD81ToFL2+xo+7q4Eida39SdUvcRbqbiNc5qMNFuv6Z3bnJffW7jbbsOxXPNZhlpw7stgMvBpPcl276AOtGCYKZ3hllH/e3kB8zJYzpBN+xLmRu1Zbu16hcnJ2KNexAfMHD6KHdAXv7p8rD9VKfQ2oApc4DpSI6Qs9TM3hGidA60DybDiyyKAbWp5r8uaP/mooeKQa95NVAlKMSKZ/w== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MJdvRf2cZn5crTwsSzEmzrD+7XEnstobIN9lPJt0nRI=; b=qZcYbXImlJH766RUs017IcXaL0zId+Fg6E0eyjPP0HJIHjCUSe4O4fuZNloRDwSJRXEAFJU6OzyFWT+p4cwOL36rxmZzzpw952ovqGgeiv8ddR3BDwiBlNZinPhlLlCXuzymwPp0lxoe0+SNjgpCjbzevBx4r3H76MDc7k6UMmo= Received: from DU6P191CA0007.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::22) by AM8PR08MB6465.eurprd08.prod.outlook.com (2603:10a6:20b:365::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Thu, 20 Mar 2025 11:18:09 +0000 Received: from DB5PEPF00014B95.eurprd02.prod.outlook.com (2603:10a6:10:540:cafe::46) by DU6P191CA0007.outlook.office365.com (2603:10a6:10:540::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 11:18:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5PEPF00014B95.mail.protection.outlook.com (10.167.8.233) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:09 +0000 Received: ("Tessian outbound 77cd431de54d:v597"); Thu, 20 Mar 2025 11:18:08 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 756a92a518657eb4 X-TessianGatewayMetadata: mt0EJJwy1/i8oTwlqC/K16U1kVqARWEQezon19Oxs8ZXWMN+xWQxBvx6J0fBsT2uhZoVwByuzbg8wvN1Hbmg/BRtAl9Zcm65/3R0ZHLfDjiMqaHeNKgaef+DwOkOR8FW/nsP6FJPDSbLfLN0ERYUY93cIMxoC2qfcz1igNqPPLk= X-CR-MTA-TID: 64aa7808 Received: from Lb4d8711e3bea.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 56FD2232-E6CC-408F-9EEA-8D9E481684C5.1; Thu, 20 Mar 2025 11:18:01 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb4d8711e3bea.3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:18:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GYAnTT4WFrxZYELtQZfVlOyhDs6deI+ER+i5irURSOoKvPoO6pw97WZFqp/LFg0II60r/ygekoi70ltpwDSsCunFPXqn5O0HoL73GDKx27q8WnaAg6Pi+W664Qro++5kGbjOSaBTeFPuY95whgiMVr1D6MCIdaRjH9hX4d2Q3irSL3CNRTW85B1rXuwsCRRdN/aVJOFxIVgSW67OCy/VJM082YLWkldSyzA/1ZKeA2KVGpHhDAMw/jwDkNYiprxHEbGc+R237Qd1PclWOKHtDOGKZuLcwUN4lS3Kh0ai6bgj6sFHExD6JCVS4WtyxtMDTQtwAFAF14OeTWufDTIzag== 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=MJdvRf2cZn5crTwsSzEmzrD+7XEnstobIN9lPJt0nRI=; b=RIkfBVOzwF9U1pXhkPtrGeWpcSiFPb7Ii0qdtQ0+fw5X/x4grMqI0rGXRsnaN+IBZk9rhvtBSrRWG8k/LyjM1DAZshtUK3G1x1M3ChSYe0MbFGMsH+d7QAi/iU3SJsjpA5fdneH1FUiip9NnE2zEdCi9TeyHGBJ3y6E448A6Bj9Sl/MKkpKW6Mlfq9wOgzXqPuriBdGuoUTlpZyOkNS/M0AKIx3BvjyJa8DYwn+qx36AJfg9hdTgSgADXwKzMxBCkEnRP0Yq6FhppZo8qVrks/F7ARar8N9hzML8N5c3PkW+dHJVsdCgeFgyQldH/By1Rl2IRIrVaHTPdVj7hFFLTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MJdvRf2cZn5crTwsSzEmzrD+7XEnstobIN9lPJt0nRI=; b=qZcYbXImlJH766RUs017IcXaL0zId+Fg6E0eyjPP0HJIHjCUSe4O4fuZNloRDwSJRXEAFJU6OzyFWT+p4cwOL36rxmZzzpw952ovqGgeiv8ddR3BDwiBlNZinPhlLlCXuzymwPp0lxoe0+SNjgpCjbzevBx4r3H76MDc7k6UMmo= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:17:58 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:17:58 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 4/9] drm/panthor: Move GPU info initialization into panthor_hw.c Date: Thu, 20 Mar 2025 11:17:36 +0000 Message-ID: <20250320111741.1937892-5-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO4P123CA0209.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a5::16) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|DB5PEPF00014B95:EE_|AM8PR08MB6465:EE_ X-MS-Office365-Filtering-Correlation-Id: b0ad9852-2f58-4ed4-21f7-08dd67a0e51d X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: wYeuG4Jg1s3rZoj6g6Bf2GyuecNbeTj1T9G8NKi1qQVxQm1bL+1esDDavCZFxvxJQqhj50V0smJMfImLHbTo9rZaaNbqnUPHYGRrzwPs5Jh/G6KrjSrXi+LsIXMVS8Xd/YGG7IiJe4Y0gQCJ/mVd9qRCjLS8fMzLcfr9ViIlDQCWr+nnz06+b+92Sd87B//tEJ3NDsbHSUqEALiaSKpVlOgU65pCf/esIxtwIJgFhOLoX9HIv8oTVcQwKBkV8TbOeTAETgKioTz0QnuSMAWPF87OGDzYnK3KJN3p5fxlnzOIN7LBIVj6ho0mPz8u5OrRrMBNjtkG9AGyCl1jCAmMb81NsW1GX0yA5FrYduZKkDCWh/GkKYwsm1pQowWce9JSelBrq9OGxrA+hbPdFp6VfslbvPGueNQ/mIgQfEhPuQ7ChSnqAGkZkwpay/QtFDpQ6WWGGD3dWt192ly76Nfw5p10J3kdD/WWdGrRvBGrxhpAdG0hUtrLe2fJ77zZtWnCHtVGLf50XuBHugyF3RbPNY15UXgjQNv14JrBShV4IgLX98sQNYT2SVqdeHjvueR28Hd+NE3OstM/w01EIFKJROIzXGbrvQeoigqHMYhTUJFaFEzyd0AbJPPR3mbD6wEvx4gHnVMv2bfyQUzsRRWTtKc0Zm6P5EB17jEURaFLo4fNktQIACgOtZrRv6hDjBRCIBoGPN5MRZXQDpxb4uAtwaCTt2mT8yNZP44U1nCkPbM1a+tCv+99XJhtzaAdNlzgpZzWqAukdd830BREkNG5x6BsucN6FS4JgKdFwe8BdrkCvt0N8ThUAJ8RFqevNl7uATPd2Y0Q9i37d+S6XlC49ybB3h6HGYn7zZpczlOCZQxYlbUe9WEIHa/mWqdxoYU5uCl23BCrIa7sLUit2atVp9+1FDnLY8/6h6SiOvxhPT7zA4t9tnQNyFBuOLKhSJND26ANH0oliwu50mRtkBdiE7nOwv5/bSThrpYIsgfYTI32NGr4FWzcQv0DMa/fn6pPk9Q65HKDY9OyY+oUqbziKGhXSYKha1W/FyNFc121EFWcdm/V9sHogvQiFpx8/cuvXSCqFsygAdv39RKbXi98Bfx7KdyfxtQ6cYmMNRjJDTxswXEFonS7k1fZYYTKwxWShMrg5cWDaFGL40Kajol6xhmDIBrOk93F4SNCWTJTUt6FqqgpwsAWnEZccrDO+/9cHths1n0qIIPx/oLr3lZ8R4oJUUT7ohsBlv4HbpgMGvdCqBhQKtFjCpQ3itN/YFhIfSki32ClTC2mjeD0GLZyC2rt6eJ0dDNr2hswdGRggJo4gVzdydC9mRG14gvZcYkyCBGAQ3hJCQTgyAJiJDyj4mCQGCUqn1Ufekgk0rg4po4yMb9FDNkkbtdZ1QkXZlLE X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B95.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 80590e64-33b4-4147-5f8b-08dd67a0de4e X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|82310400026|1800799024|36860700013|14060799003|376014; X-Microsoft-Antispam-Message-Info: PBlqi1W+lkProXFnsWClx+UqKo6S3Aoc9WxMqgq+oi2VK79fvFxtZ2kxoyHIfbji4wt+Zx99YXj/CRlajca/9g2L46CCmf0C7OHWTS2ent3r3eIZA9jWVv/KvFDcS8ndfmLGgMh+D2K9OaBg+8bkpdz9kzulUG3LXlcMGchwohROR4szK8ss1NcvLEbq6Xj3XX6tE9sNkHhhnn0DJn+QbFtyv2YqpUhor1CczKJ6fJODSjzEizNQDtE+bg3HXAZCBKHwA1dZdtM8jVHAiHPWo1Iqxd+IedjqoQ3+gFMG/PiGbaQITrOiiVGNUzXH0ZizeNDETFaprrqdGR138nFPFF6tR4/8oQQxPdqs9Ddu6dhFxcvqH6Ff8joNGOVvUBWybDhDXSX9KNLLGKe1tcZFhHm8zQJ8fOfWgqAzeI+HSX0gxGy02XykUp5h3BypHzreANmFziNcxWHey1BN58JiKtScFEwYVYb8FXZLrLZ/rKP2IliOEJEfEnXiSuxB6seHVgV3YW4cQKhRQdk/2972/u4DrSFZ/QRy6EhZoVCuIVOEbyATtzU5tEqy3yJOoYX8X8oEWldcobvaZ6HEwKVAlOqNRrXZiejNvUnOvLzpjwWHIJ4CAJtK23DhmWglNcEY2Mlm/JoWgx9bT2HV+ZL62EIYTSZglzoTC2MAXh0kyb0mwsxF24ouuDUcNlN8PmCwctMcyl+NlTFRHgW1EyLGXSPre3SBz+EfjziFx/nb7tMVjIJqQiLefYrnwaNCHYwNEqCEt+fB/nmdwAl7LITPLiEAxl2aZYwDaHFUZ8En53KhSOD3Zj2N9sGsGbrkwL+FZSuBcjTf2LbGrNNHSjIrS6TCpdPPW1IomwzW12rK/gOzHlTliouLYMnZZ0CyDoP35yeGRW+LrIC5vBBe2Z8wvPr8aqFp333831cDMv7dSSdQNzzX9l1TlwFOVsCVccdj9iXfWn1b2Rw0oTX2xVN5q5US6rz1ctrRBxo3MFv3IM1Jbg56aYSohW/u/j7quWrid77zncnQnNKpA2RCJsaSN26M7wFCu8E15BXxUNXj17WlaChZDIO7A9WIpulEA3ehvGYli3vBTnY9L3PwHh0CbF/ZAMzyZWv2ArfHmclLwIQIbtCrnib7gCb0wm6hYhBzi2VzVpnPEbtxZItSycqI44D/EBFW3Q2NJgXE5js2IKlHx0G8p5jxGIzlkKzVbnlL/C4ngEXNnuDlXAbARcMPGnbNZ64sSgwVMyKDm3cB3ZejC/J48KbJlwArlKf2/yKgdwPKT0DjT9dojJ38TBk1/T39WQxVPjlx//dN09cvn2gaJ9uGTHV87IC0O29hU4hQCCYCkQtLcB7HYuBWoy0mL+8tX2N/xXucmebjisdObNtB0dyLTG3/0fSDvkMVeMJi7PJy/XOFwfXFJVmiv1nIsp1pzrEmzkXbBTEjEW4j7LjdTmvPg0aVSu65t5Qu6qG/4wN67L8BzghxZTRjIuBqQQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(35042699022)(82310400026)(1800799024)(36860700013)(14060799003)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:09.2642 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b0ad9852-2f58-4ed4-21f7-08dd67a0e51d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B95.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6465 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch moves GPU info initialization into panthor_hw.c in preparation of handling GPU register changes. The GPU register reading operations to populate gpu_info are separated into an architecture specific arch_*_gpu_info_init() function and is called via the new function pointer abstraction under hw.ops.gpu_info_init(). Future GPU support will be performed by implementing a *_gpu_info_init() function specific to that architecture version. It can call any existing *_gpu_info_init() and extend it with additional register reads or provide an entirely different implementation. This patch will enable Panthor to support GPUs with changes to register offsets, size and fields. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_gpu.c | 95 ----------------------- drivers/gpu/drm/panthor/panthor_hw.c | 105 ++++++++++++++++++++++++++ drivers/gpu/drm/panthor/panthor_hw.h | 3 +- 3 files changed, 107 insertions(+), 96 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_gpu.c b/drivers/gpu/drm/panthor/panthor_gpu.c index 0dee011fe2e9..fcdee8901482 100644 --- a/drivers/gpu/drm/panthor/panthor_gpu.c +++ b/drivers/gpu/drm/panthor/panthor_gpu.c @@ -37,40 +37,6 @@ struct panthor_gpu { wait_queue_head_t reqs_acked; }; -/** - * struct panthor_model - GPU model description - */ -struct panthor_model { - /** @name: Model name. */ - const char *name; - - /** @arch_major: Major version number of architecture. */ - u8 arch_major; - - /** @product_major: Major version number of product. */ - u8 product_major; -}; - -/** - * GPU_MODEL() - Define a GPU model. A GPU product can be uniquely identified - * by a combination of the major architecture version and the major product - * version. - * @_name: Name for the GPU model. - * @_arch_major: Architecture major. - * @_product_major: Product major. - */ -#define GPU_MODEL(_name, _arch_major, _product_major) \ -{\ - .name = __stringify(_name), \ - .arch_major = _arch_major, \ - .product_major = _product_major, \ -} - -static const struct panthor_model gpu_models[] = { - GPU_MODEL(g610, 10, 7), - {}, -}; - #define GPU_INTERRUPTS_MASK \ (GPU_IRQ_FAULT | \ GPU_IRQ_PROTM_FAULT | \ @@ -83,66 +49,6 @@ static void panthor_gpu_coherency_set(struct panthor_device *ptdev) ptdev->coherent ? GPU_COHERENCY_PROT_BIT(ACE_LITE) : GPU_COHERENCY_NONE); } -static void panthor_gpu_init_info(struct panthor_device *ptdev) -{ - const struct panthor_model *model; - u32 arch_major, product_major; - u32 major, minor, status; - unsigned int i; - - ptdev->gpu_info.gpu_id = gpu_read(ptdev, GPU_ID); - ptdev->gpu_info.csf_id = gpu_read(ptdev, GPU_CSF_ID); - ptdev->gpu_info.gpu_rev = gpu_read(ptdev, GPU_REVID); - ptdev->gpu_info.core_features = gpu_read(ptdev, GPU_CORE_FEATURES); - ptdev->gpu_info.l2_features = gpu_read(ptdev, GPU_L2_FEATURES); - ptdev->gpu_info.tiler_features = gpu_read(ptdev, GPU_TILER_FEATURES); - ptdev->gpu_info.mem_features = gpu_read(ptdev, GPU_MEM_FEATURES); - ptdev->gpu_info.mmu_features = gpu_read(ptdev, GPU_MMU_FEATURES); - ptdev->gpu_info.thread_features = gpu_read(ptdev, GPU_THREAD_FEATURES); - ptdev->gpu_info.max_threads = gpu_read(ptdev, GPU_THREAD_MAX_THREADS); - ptdev->gpu_info.thread_max_workgroup_size = gpu_read(ptdev, GPU_THREAD_MAX_WORKGROUP_SIZE); - ptdev->gpu_info.thread_max_barrier_size = gpu_read(ptdev, GPU_THREAD_MAX_BARRIER_SIZE); - ptdev->gpu_info.coherency_features = gpu_read(ptdev, GPU_COHERENCY_FEATURES); - for (i = 0; i < 4; i++) - ptdev->gpu_info.texture_features[i] = gpu_read(ptdev, GPU_TEXTURE_FEATURES(i)); - - ptdev->gpu_info.as_present = gpu_read(ptdev, GPU_AS_PRESENT); - - ptdev->gpu_info.shader_present = gpu_read64(ptdev, GPU_SHADER_PRESENT_LO); - ptdev->gpu_info.tiler_present = gpu_read64(ptdev, GPU_TILER_PRESENT_LO); - ptdev->gpu_info.l2_present = gpu_read64(ptdev, GPU_L2_PRESENT_LO); - - arch_major = GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id); - product_major = GPU_PROD_MAJOR(ptdev->gpu_info.gpu_id); - major = GPU_VER_MAJOR(ptdev->gpu_info.gpu_id); - minor = GPU_VER_MINOR(ptdev->gpu_info.gpu_id); - status = GPU_VER_STATUS(ptdev->gpu_info.gpu_id); - - for (model = gpu_models; model->name; model++) { - if (model->arch_major == arch_major && - model->product_major == product_major) - break; - } - - drm_info(&ptdev->base, - "mali-%s id 0x%x major 0x%x minor 0x%x status 0x%x", - model->name ?: "unknown", ptdev->gpu_info.gpu_id >> 16, - major, minor, status); - - drm_info(&ptdev->base, - "Features: L2:%#x Tiler:%#x Mem:%#x MMU:%#x AS:%#x", - ptdev->gpu_info.l2_features, - ptdev->gpu_info.tiler_features, - ptdev->gpu_info.mem_features, - ptdev->gpu_info.mmu_features, - ptdev->gpu_info.as_present); - - drm_info(&ptdev->base, - "shader_present=0x%0llx l2_present=0x%0llx tiler_present=0x%0llx", - ptdev->gpu_info.shader_present, ptdev->gpu_info.l2_present, - ptdev->gpu_info.tiler_present); -} - static void panthor_gpu_irq_handler(struct panthor_device *ptdev, u32 status) { if (status & GPU_IRQ_FAULT) { @@ -203,7 +109,6 @@ int panthor_gpu_init(struct panthor_device *ptdev) spin_lock_init(&gpu->reqs_lock); init_waitqueue_head(&gpu->reqs_acked); ptdev->gpu = gpu; - panthor_gpu_init_info(ptdev); dma_set_max_seg_size(ptdev->base.dev, UINT_MAX); pa_bits = GPU_MMU_FEATURES_PA_BITS(ptdev->gpu_info.mmu_features); diff --git a/drivers/gpu/drm/panthor/panthor_hw.c b/drivers/gpu/drm/panthor/panthor_hw.c index 234bfd50cf0d..4cc4b0d5382c 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.c +++ b/drivers/gpu/drm/panthor/panthor_hw.c @@ -5,10 +5,113 @@ #include "panthor_hw.h" #include "panthor_regs.h" +/** + * struct panthor_model - GPU model description + */ +struct panthor_model { + /** @name: Model name. */ + const char *name; + + /** @arch_major: Major version number of architecture. */ + u8 arch_major; + + /** @product_major: Major version number of product. */ + u8 product_major; +}; + +/** + * GPU_MODEL() - Define a GPU model. A GPU product can be uniquely identified + * by a combination of the major architecture version and the major product + * version. + * @_name: Name for the GPU model. + * @_arch_major: Architecture major. + * @_product_major: Product major. + */ +#define GPU_MODEL(_name, _arch_major, _product_major) \ +{\ + .name = __stringify(_name), \ + .arch_major = _arch_major, \ + .product_major = _product_major, \ +} + +static const struct panthor_model gpu_models[] = { + GPU_MODEL(g610, 10, 7), + {}, +}; + +static void arch_10_8_gpu_info_init(struct panthor_device *ptdev) +{ + unsigned int i; + + ptdev->gpu_info.gpu_id = gpu_read(ptdev, GPU_ID); + ptdev->gpu_info.csf_id = gpu_read(ptdev, GPU_CSF_ID); + ptdev->gpu_info.gpu_rev = gpu_read(ptdev, GPU_REVID); + ptdev->gpu_info.core_features = gpu_read(ptdev, GPU_CORE_FEATURES); + ptdev->gpu_info.l2_features = gpu_read(ptdev, GPU_L2_FEATURES); + ptdev->gpu_info.tiler_features = gpu_read(ptdev, GPU_TILER_FEATURES); + ptdev->gpu_info.mem_features = gpu_read(ptdev, GPU_MEM_FEATURES); + ptdev->gpu_info.mmu_features = gpu_read(ptdev, GPU_MMU_FEATURES); + ptdev->gpu_info.thread_features = gpu_read(ptdev, GPU_THREAD_FEATURES); + ptdev->gpu_info.max_threads = gpu_read(ptdev, GPU_THREAD_MAX_THREADS); + ptdev->gpu_info.thread_max_workgroup_size = gpu_read(ptdev, GPU_THREAD_MAX_WORKGROUP_SIZE); + ptdev->gpu_info.thread_max_barrier_size = gpu_read(ptdev, GPU_THREAD_MAX_BARRIER_SIZE); + ptdev->gpu_info.coherency_features = gpu_read(ptdev, GPU_COHERENCY_FEATURES); + for (i = 0; i < 4; i++) + ptdev->gpu_info.texture_features[i] = gpu_read(ptdev, GPU_TEXTURE_FEATURES(i)); + + ptdev->gpu_info.as_present = gpu_read(ptdev, GPU_AS_PRESENT); + + ptdev->gpu_info.shader_present = gpu_read64(ptdev, GPU_SHADER_PRESENT_LO); + ptdev->gpu_info.tiler_present = gpu_read64(ptdev, GPU_TILER_PRESENT_LO); + ptdev->gpu_info.l2_present = gpu_read64(ptdev, GPU_L2_PRESENT_LO); +} + +static void panthor_gpu_init_info(struct panthor_device *ptdev) +{ + const struct panthor_model *model; + u32 arch_major, product_major; + u32 major, minor, status; + + ptdev->hw->ops.gpu_info_init(ptdev); + + arch_major = GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id); + product_major = GPU_PROD_MAJOR(ptdev->gpu_info.gpu_id); + major = GPU_VER_MAJOR(ptdev->gpu_info.gpu_id); + minor = GPU_VER_MINOR(ptdev->gpu_info.gpu_id); + status = GPU_VER_STATUS(ptdev->gpu_info.gpu_id); + + for (model = gpu_models; model->name; model++) { + if (model->arch_major == arch_major && + model->product_major == product_major) + break; + } + + drm_info(&ptdev->base, + "mali-%s id 0x%x major 0x%x minor 0x%x status 0x%x", + model->name ?: "unknown", ptdev->gpu_info.gpu_id >> 16, + major, minor, status); + + drm_info(&ptdev->base, + "Features: L2:%#x Tiler:%#x Mem:%#x MMU:%#x AS:%#x", + ptdev->gpu_info.l2_features, + ptdev->gpu_info.tiler_features, + ptdev->gpu_info.mem_features, + ptdev->gpu_info.mmu_features, + ptdev->gpu_info.as_present); + + drm_info(&ptdev->base, + "shader_present=0x%0llx l2_present=0x%0llx tiler_present=0x%0llx", + ptdev->gpu_info.shader_present, ptdev->gpu_info.l2_present, + ptdev->gpu_info.tiler_present); +} + static struct panthor_hw panthor_hw_devices[] = { { .arch_id = GPU_ARCH_ID_MAKE(10, 0, 0), .arch_mask = GPU_ARCH_ID_MAKE(0xFF, 0, 0), + .ops = { + .gpu_info_init = arch_10_8_gpu_info_init, + }, }, }; @@ -59,6 +162,8 @@ int panthor_hw_init(struct panthor_device *ptdev) ptdev->hw = hdev; + panthor_gpu_init_info(ptdev); + return 0; } diff --git a/drivers/gpu/drm/panthor/panthor_hw.h b/drivers/gpu/drm/panthor/panthor_hw.h index 5eb0549ad333..dfe0f86c5d76 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.h +++ b/drivers/gpu/drm/panthor/panthor_hw.h @@ -31,7 +31,8 @@ struct panthor_hw_regmap { * struct panthor_hw_ops - HW operations that are specific to a GPU */ struct panthor_hw_ops { - + /** @gpu_info_init: Function pointer to initialize GPU info. */ + void (*gpu_info_init)(struct panthor_device *ptdev); }; /** From patchwork Thu Mar 20 11:17:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023740 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 53E46C36002 for ; Thu, 20 Mar 2025 11:18:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7983010E5ED; Thu, 20 Mar 2025 11:18:28 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="hcj6Aj0p"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="hcj6Aj0p"; dkim-atps=neutral Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013045.outbound.protection.outlook.com [40.107.159.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 20B8810E5F1 for ; Thu, 20 Mar 2025 11:18:20 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=sroCBAPSIxvpGU114Zh+e+ku1j9zLaojhdNpbfxxtQmL0heJFeOE4SZH7sFuZrpf+wbyhn9zdi4YuxTQzbRO839GzNa+/j1IEuqWtBArLNFs3tIjW1hMebeeP6zLc6HyOFLooEf75VQAq3HhGKL18supJTQtN2yunBdNolJCWsQtVJoHr6k9Urk3G9tuCW7fDkmJu0DVAH5qxgriQyGchVW7WhA8S0H6TgajFaagMPHJBynfTfzClogwKmUtFm59hLvWaSzpQVzUOYn+eMSaE5NcodJ/BqG0oAzDX5UAoMdpANY+CNYgJpNLT+uC5yZNRzlW15ofNGXLnrtT8lw9YQ== ARC-Message-Signature: i=2; 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=MWGZUOKv4kRlzngdUj4wYUwTX2X0lnyADL0RYRzoixo=; b=OyU+TMxODG7/myahuKtf4Xux4dDMxlNfGB9fEKpajT1Ng7iJRcJghb3702aA0AT82YnCGTidjAQIfVkRQLdkTtzwXwdjFwHEbah0/X7snpCtlNALXPx7tTndOrNvfL/yDPZ++yMl54asl37povh8wqdhx3god51Gm+V20UiuEOs1f8DASwy1bqWdN3Rqau5jtrp8wFVi92l8PFJ4brRkcLBjl8ymHS8+rz9gDZQ/vG12CM5CWLzlIKE2PKV4wnHLQxR84QTBEw9h5WS5YGMmYHffSQXw0VI50zJkvVOwKK7jHJu/1Vy7R1xztxO7lfU134Ep60IWDu6P18hRR1Srmw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MWGZUOKv4kRlzngdUj4wYUwTX2X0lnyADL0RYRzoixo=; b=hcj6Aj0pd6XCk6i88JOCErZHOh8wzwPFBolADbGz7GnPETczgSC/Jwg1FEo7gvlIYLCw2qJeX9q5vXEoMjE7CTLwtP1OuhSqlGLOGGYLr0hWSaW5nGtE/aFgOJKYe3pEmXEtP9BgfYJ3c3VKapYx2cV/bS225HoQYmTn2ACszQk= Received: from AM0PR10CA0014.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::24) by PA6PR08MB10766.eurprd08.prod.outlook.com (2603:10a6:102:3cd::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.35; Thu, 20 Mar 2025 11:18:15 +0000 Received: from AMS0EPF00000195.eurprd05.prod.outlook.com (2603:10a6:208:17c:cafe::bd) by AM0PR10CA0014.outlook.office365.com (2603:10a6:208:17c::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Thu, 20 Mar 2025 11:18:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000195.mail.protection.outlook.com (10.167.16.215) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:15 +0000 Received: ("Tessian outbound bf3b9ac19d92:v597"); Thu, 20 Mar 2025 11:18:14 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 5ab7a45a1d0c25b7 X-TessianGatewayMetadata: dX8luGvamWxAlT9lUwWFTQJkf9KCDg+91PHDrkiGzrPZQyv0TKy1UARjIjEp8OjUCpdxurXOEJQycXuZDV7McufGFzj+pKuLrhWtDmdA5rvjQXaINI78lsssjHS6lEfBCSp6N4f4kOoT7FuiEFTSdQ5k/f6Nb29RRHwXMfgIK0w= X-CR-MTA-TID: 64aa7808 Received: from Lb4d8711e3bea.5 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B3C14635-39A3-4A96-B62F-8988F8DC1D9C.1; Thu, 20 Mar 2025 11:18:02 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb4d8711e3bea.5 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:18:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N40hqXr+1x/dgjfNdMLFvZf4aNluSEQwthKluzGDXbB846hDVmiG6bn4jiQGhBll1rEHYvbXJ70OaabX/Bel7k9lsri17Axez3x5nvbophyI1YFGH7IKPOQt6oyMF+K/qQEBAYGmQ5Kguis56Ab751ZBZzjSlAgEerlF39gSrZkv0/SUOA4rPv4JPGOPVE4jQ5Up6v+MocYu3wTxQKQQc7v2I+SkmKATUEhwTgp78TaPeWGfarg6jm8L2XUYIJzqTZtGF6hp2IcOEUSYPla4z3z07k7+AZxL8M9DWDoMPDD7oWHjwGU+7tB2uth5r0RgIR8lq6d61md4XFYbTD1kvw== 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=MWGZUOKv4kRlzngdUj4wYUwTX2X0lnyADL0RYRzoixo=; b=QCdPjaRTkkpJK4/zVdMRWI6xsfHlI7ZAIjn+1EXokO0MWKM9/Jgg3KJMf68ONRB5Le+rkUqzLBMsv8DphtBG9NbUlXc5W2KU9ASUwnkHCZUwBydeI+jIe1F5JiT7JIFSicV05isSSYjMaI2YGk0KRbMqpqpmk7CBFFCoysdN+u8fsj0FS2JvZ8F8U1FgVs+Oo5tUyh7xUFSJltVRfjw2vKysg5Nt63GoVFbIJ+gFyn6RMLhM0VBB85FbvWB5WIwvCclxXH29ayEfSdgD/npoya9hWjo1duaJZ7KnuB7opC+jfo0EGJwu/dhnJZnR/MimvJU2xM2/huQ11Eq1Porw9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MWGZUOKv4kRlzngdUj4wYUwTX2X0lnyADL0RYRzoixo=; b=hcj6Aj0pd6XCk6i88JOCErZHOh8wzwPFBolADbGz7GnPETczgSC/Jwg1FEo7gvlIYLCw2qJeX9q5vXEoMjE7CTLwtP1OuhSqlGLOGGYLr0hWSaW5nGtE/aFgOJKYe3pEmXEtP9BgfYJ3c3VKapYx2cV/bS225HoQYmTn2ACszQk= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:17:59 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:17:59 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 5/9] drm/panthor: Make getting GPU model name simple and extensible Date: Thu, 20 Mar 2025 11:17:37 +0000 Message-ID: <20250320111741.1937892-6-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO4P265CA0057.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2af::14) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|AMS0EPF00000195:EE_|PA6PR08MB10766:EE_ X-MS-Office365-Filtering-Correlation-Id: 16387b94-32be-47d6-3409-08dd67a0e8ae X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: A76k3l5/PhU01iLXKjfMwVClLCwAGUXcTQHd/dS9TKvEzpGwv9sh4Yme9bTKUmYbPU9jwz49s2Xg7kNzRjAn0vms1v9FlSFSVvpvRhlpi8oFbwLRE6TTr34+i5KtmKz3z6IQ4SQ+EYyiBqnw13QunnKT39tgEJgN/LIGVx9mUfDKdI8uzTus3TtpDdSin+P84vCgmpBZD0CCh7HOsOarjNu9KB+Ogn07Bwq8MyFOUlBfHBKG/M02K5pECXxAlReyatyhegbPGecL+dB/Lh0Aa8Vt4ZFShUgTteWcGB/DS4xU8veBVV0fGOWLDDphY2fzq0kuki9U7q4YGcnrIz0WnU1X4SvwU4JIHV5a02p2Emb8jqD7UNUNfQRoOnVem4tTCq0tTR6bi2YCysORcC7Wl+kaoWm8r+tS36AnHZec/lIk/UCpKOGoRINVWAPJqh+49y/ChrMwhSsRSF/9nOtDD7GEpdevx5lWrnelZC09LScfzuhhP6gyl/oazsWkmF3bhlNswNfmu1nwn12ZTKv4fo47Cp2/QS2LBOkazNkW3xQlFrGPyZNUZcaSqogFEhv99uKfCSQy3LZ/1joGQVryRjPKg+Kpfj4uGMJd6CZDe9bikXBbilONfCtAlfJ18ne9StXEei7VSt/NgbmkFmDXpVG/AmRbbrrPSPepSAFRBsAEBYIuxLkeclLzupIkaGXhhwwFgwjoKqTFsXYd7EPXavq+PCqF3cO3KkEOUYvW8Yj7eXY5MqWjXuRJiv8bBKZeQww2X9wE9OxcfiGf3ouNp6Vnxj/giCSoNvodRAIGhJUGn3dCWaLm9wRkZs5v79qzfjB1LUTPF0sMJfWkZs0EFVTbcY0tkx0E09QhvCdV5KNWQcGn1LDiLTa6VdOa754yqh6p2ju/aqBw5zOq7BJ2YMmTCRSQuo3GZtMLOSDdjONgEv0kIs0bK504Ox5EMEVfGky2w+7u/1jEfOtUBxi4BRFbwN/h8CtroTrzEt7mNHNflEH6+IERYQVZqF/y/o732sMj2iTVuLGJnyUhDP7AHJdHuKdKNUpj7YD/1/pNEBfKF8upXdQnx4nhJYcZf5+Um3M7CDAYB+16+WhpvCLhyvE4zd6X+gpzz5YuUxUmH3Z8QjIqt9RHFN8xrlmiKf2a4k5gU0jgHVWbk5qSEiRPTZptGo7twjg/WFYdTNPFIFjt8GxyxtrnDJeOcognSBmc3dzTTS3QxRruKomZbDSfPckAhS1uJpfeMhtfdUZIx6/7RUkpUjarBwnz3iaclLZZzBkPNnBdbcQB7oz9ysGJZVNH4EN8D6ncL3Ec1hBtJTWAg3Gup/zPTfujflBrhgOOrd/5cE9F/6nusp/YIumGd2ERnWXBEpZYmkOr7K3hZ60cfKk0fpDJ7+gXqoTz9YEz X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000195.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2251d176-b702-4140-0f2f-08dd67a0df27 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|35042699022|14060799003|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: xKRCRXLQAcn4VAwKIh2CAxNpciL3svuuytVr+WEGeNLrgIzXiBWOlqUx55JCy7YUt/tGXMQyMzflhK3n1YOi9ZnIza6dncX9SAJCeG0JAPr3/8av2YWgBIW7xggbv2DFuudlc3vcsyozW/8kxvbwvFLcwtHXJ6ACGBfz4J7hCm55Qvrn+pOWD4nYhdUl7zsyqxX4dRhj++ZZK6RUtVN3MH7TiCgUtbs33GKrqLMKHYlbO94k+JxK7SuSfRqGB8JzV5cS1Ex8tx/DfcaawlZs1fwD5w1/g7tjKB8UALG6LiuHh9UPENM/pum3A/QxxE/b6vYupMSp+oWgV/dooyXZONKgA9MA6rs35DCn4DPiwVa7FjV9sjyD8raN4KguLUxGaCrvnxFVIVeWZhXNrvxLTSgYjYTeJU0eR9iatFYmALgc45ryHdIt2onwe9n+2m8aUfo9/RXvDlYU79qn1Z/SUv7ymNJw7eZB+dODlLBBikXr3Qu/+3Xm4f/4SO1MFIhyyyQi58R1CXwUyZNnb4YI9PG3z+DTA/Zn61Rd+ZiRLstThed0dOikOz/gyg7ENGscSQced5CQ13DyIVJlROeM6kx8XMWGGmPxWNVtwuysrn6aHc9q5vvGH2C4vz+NZxD6iLYmN9Q/8OPv6zz6i+mIHtsr0C6377lB0sOKVDiFyn20OyXDBvmXdneQK7dKbmSy0Y1v4+oVBpy61uoETZiAda1Ke0zUlEwXC9eaFZKwT7cX1wknbViWq6x1Ky1y5rXLuCTUvuFedqwhZeSiGiVGPWDhdnEwIv5hrrr06/5VwjYujMjFu1KLrLYMzq0Si7Or9zqgTDdc2dc+38MSXccaCvqRWCuHGuAk5KX7Q0sVdWar1kSNjRw1PYv9qwCMXfBtfiAQIsFjec2sNvKAmFBfS4ejg+zu+04AUwZfd8FaoXKHbsbaKaUHBZ0NjCqJ6qbJvF7i4CBWa7qv8i4y+u/OI2ptYYS2KAG0eE/1V4RNYLh4+hQgkBsInScQZlCLRHYMLz0m+TQ0ruMAkKJXpC/i+1XjNlMmHZnt3vnIEa6LOgmJ2qgZl6ctTl/ANtQT1KnWVpebuwz8IfvqxySEoDUHDuiieXZPC9FRl8/mQ/nKUkPQEhU2APHD+Rg8eXzyYodL3easaNTGBa3MJKpGKX8g+4Ts4E4zI5wWnNL+RIk/E2g86Vbc8oFTXFIYdW9PwTXRPXDjLce8m4y5w5SwSBk875PMgMyyyBCBeF5OUNkCl1kA22al/O9chNe6bWdtgYfbh2X1jLJ0xg7COTlMi9ZnxNAzC1+MEEdy6ZCEs9SqKrBNlkIzTdvPG0YUgCwYM2FR+Whe8hYgmwrR90ycLkJQN+2aSnBKoLoU3HMj0ZtvoIC87f+T8CRrCLqFm2mFD89fpDZUUJlaAe7yhDAdqRtlZFNM3b55ME6PR5EW9LvDATiJ1/2wKX90DN4yqpXANcAgEH9IimRNjI+Vavpmh5Zq4w== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(376014)(35042699022)(14060799003)(36860700013)(1800799024)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:15.1856 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 16387b94-32be-47d6-3409-08dd67a0e8ae X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000195.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10766 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch replaces the previous panthor_model structure with a simple switch case based on the product_id, which is in the format of: ((arch_major << 24) | product_major) This not only simplifies the comparison, but also allows extending the function to accommodate naming differences based on GPU features. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_hw.c | 63 +++++++------------------- drivers/gpu/drm/panthor/panthor_regs.h | 1 + 2 files changed, 18 insertions(+), 46 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_hw.c b/drivers/gpu/drm/panthor/panthor_hw.c index 4cc4b0d5382c..12183c04cd21 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.c +++ b/drivers/gpu/drm/panthor/panthor_hw.c @@ -5,40 +5,6 @@ #include "panthor_hw.h" #include "panthor_regs.h" -/** - * struct panthor_model - GPU model description - */ -struct panthor_model { - /** @name: Model name. */ - const char *name; - - /** @arch_major: Major version number of architecture. */ - u8 arch_major; - - /** @product_major: Major version number of product. */ - u8 product_major; -}; - -/** - * GPU_MODEL() - Define a GPU model. A GPU product can be uniquely identified - * by a combination of the major architecture version and the major product - * version. - * @_name: Name for the GPU model. - * @_arch_major: Architecture major. - * @_product_major: Product major. - */ -#define GPU_MODEL(_name, _arch_major, _product_major) \ -{\ - .name = __stringify(_name), \ - .arch_major = _arch_major, \ - .product_major = _product_major, \ -} - -static const struct panthor_model gpu_models[] = { - GPU_MODEL(g610, 10, 7), - {}, -}; - static void arch_10_8_gpu_info_init(struct panthor_device *ptdev) { unsigned int i; @@ -66,29 +32,34 @@ static void arch_10_8_gpu_info_init(struct panthor_device *ptdev) ptdev->gpu_info.l2_present = gpu_read64(ptdev, GPU_L2_PRESENT_LO); } +static char *get_gpu_model_name(struct panthor_device *ptdev) +{ + const u32 gpu_id = ptdev->gpu_info.gpu_id; + const u32 product_id = GPU_PROD_ID_MAKE(GPU_ARCH_MAJOR(gpu_id), + GPU_PROD_MAJOR(gpu_id)); + + switch (product_id) { + case GPU_PROD_ID_MAKE(10, 7): + return "Mali-G610"; + } + + return "(Unknown Mali GPU)"; +} + static void panthor_gpu_init_info(struct panthor_device *ptdev) { - const struct panthor_model *model; - u32 arch_major, product_major; + const char *gpu_model_name = get_gpu_model_name(ptdev); u32 major, minor, status; ptdev->hw->ops.gpu_info_init(ptdev); - arch_major = GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id); - product_major = GPU_PROD_MAJOR(ptdev->gpu_info.gpu_id); major = GPU_VER_MAJOR(ptdev->gpu_info.gpu_id); minor = GPU_VER_MINOR(ptdev->gpu_info.gpu_id); status = GPU_VER_STATUS(ptdev->gpu_info.gpu_id); - for (model = gpu_models; model->name; model++) { - if (model->arch_major == arch_major && - model->product_major == product_major) - break; - } - drm_info(&ptdev->base, - "mali-%s id 0x%x major 0x%x minor 0x%x status 0x%x", - model->name ?: "unknown", ptdev->gpu_info.gpu_id >> 16, + "%s id 0x%x major 0x%x minor 0x%x status 0x%x", + gpu_model_name, ptdev->gpu_info.gpu_id >> 16, major, minor, status); drm_info(&ptdev->base, diff --git a/drivers/gpu/drm/panthor/panthor_regs.h b/drivers/gpu/drm/panthor/panthor_regs.h index ba452c1dd644..d9e0769d6f1a 100644 --- a/drivers/gpu/drm/panthor/panthor_regs.h +++ b/drivers/gpu/drm/panthor/panthor_regs.h @@ -20,6 +20,7 @@ #define GPU_VER_STATUS(x) ((x) & GENMASK(3, 0)) #define GPU_ARCH_ID_MAKE(major, minor, rev) (((major) << 16) | ((minor) << 8) | (rev)) +#define GPU_PROD_ID_MAKE(arch_major, prod_major) (((arch_major) << 24) | (prod_major)) #define GPU_L2_FEATURES 0x4 #define GPU_L2_FEATURES_LINE_SIZE(x) (1 << ((x) & GENMASK(7, 0))) From patchwork Thu Mar 20 11:17:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023741 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E3D39C36004 for ; Thu, 20 Mar 2025 11:18:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A73A110E5F1; Thu, 20 Mar 2025 11:18:28 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="VmU7/wtf"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="VmU7/wtf"; dkim-atps=neutral Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11012035.outbound.protection.outlook.com [52.101.66.35]) by gabe.freedesktop.org (Postfix) with ESMTPS id 75B3F10E5EF for ; Thu, 20 Mar 2025 11:18:21 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Ta9XDRcA7DSc2d6jhbDfH4edeXzV3J00MeWzM8+fqA7+I+RnnGj0iwJZRDyFY7rMZhJEIICv9Ssa966bXEeIrBS0jY5gwkjS6Sx2QgjvFRtIGuREyQcm7VIrIv4GUhvpVRUHNOPe0+1lwKGYHJcT7zczh2REvVZhijgctm9lx8og79Io/D/nyXXcsS4J0FMsxTNCyUHcI3qyo5OSN+94vyhVeGZrPpB/iL10dZaJ0MuAVwwwtwgM3xdhW5+cGEL4yMtXn6QEWiD18wjzUlLY5ZUgUfzCqpkVguGjH7B7aUGKXoF7ZB7RZMw7bYW2idTsX5gLn/rHvdv1VD4/KjYZsw== ARC-Message-Signature: i=2; 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=f2G4dnHPG+/Jbtvg6WwpbH7GZ9NIWomafe+0TBZXYf0=; b=gCOdy+wMo8s4XT/du88FXH1vtfSRKc5DUsCFo1o20m3FWnMVio5FC7GjKbdrFk7xOKZUORy580ELBfxWdel/4J+k0tLbZWFfhfk8DiqdZIGFQTOrO86ERCMfKxbO1Bt7OWSXAAFk8JNeItxPPB0CmGeFpj8aqbvIu4dErQwPpETPYulVO0zReuLdSqqosyWYTZWz2GTndiIqv3Bd+3DyMTdp1b/WsmnkgVV+JOQL3tHk+wBrx1PA4atE3pWAeH8lfC+O+67fs6cXApXHW6BHFYQsJ6+uRMtUpiz+s41bsUO79a8ibU7WobJMHv9AWkJo8j4wEWfpCFyN0l7q1SL5Bg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f2G4dnHPG+/Jbtvg6WwpbH7GZ9NIWomafe+0TBZXYf0=; b=VmU7/wtfsxygXGR39vBasoS0S+ri4ZMNf7IA99m82YLd7cs6JiNegzKfs3UbqcWmJEoYD2qhrfF9xs/w3jFFAN4bLN4tQOtLV6RDEaHLcsNxvyQOOzcggm3dZ5UpKE/mXs0ycDrYXIuFAywmT8LUlNHWveyhUg9vNayMa9poZYc= Received: from DU7P194CA0001.EURP194.PROD.OUTLOOK.COM (2603:10a6:10:553::16) by AS4PR08MB7688.eurprd08.prod.outlook.com (2603:10a6:20b:507::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:17 +0000 Received: from DU6PEPF0000B61E.eurprd02.prod.outlook.com (2603:10a6:10:553:cafe::f5) by DU7P194CA0001.outlook.office365.com (2603:10a6:10:553::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Thu, 20 Mar 2025 11:18:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU6PEPF0000B61E.mail.protection.outlook.com (10.167.8.133) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:16 +0000 Received: ("Tessian outbound ed5a7291b0f8:v597"); Thu, 20 Mar 2025 11:18:16 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 457d5d99dff2f2eb X-TessianGatewayMetadata: gwiPtrxeC3A+4lKXFsalqXJHQiC0hVyDYnYZtPQ/FlTxvafxRErMoYYJajleu6wXPyUILtDrTUCfKh953E66WSeRJVNzgYrTaVYMMz71C1cparlo9YQvh8xFVgUhwZC4m/yjClV8UI3Dfy4eY0Dxd3O2V3TlYR+8D6Y1Kx9oxAE= X-CR-MTA-TID: 64aa7808 Received: from Lb4d8711e3bea.7 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0369B50D-4125-483D-9009-3E51DA6236E7.1; Thu, 20 Mar 2025 11:18:04 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb4d8711e3bea.7 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:18:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FT89JDMVmYlC/LiIWsrfr9nh14V3YcKwzuBvmkbc29t8cEe39IHuLDK8CbmfUuJH/mj2EYnGC53txanZTRsug0S2Q7838spnI9dfiFFma+7kSWT7z1suhrl1q8ibNHjDgGnhY8jgz0BhcKwMS20wSL9x/gOxEYKE5obvBQEVLczgSU9sjY947TUkSseTl3SQbEgfk74vO562a3fGbEhuXepup1glj8kgVXlxu48TaKh8RcAJFqn0eYIahx+vLgu7QZV/fhtdvaqTF7IONRlNguI3PzhcNB3cVPxOfmL+Uvul6lvzjd5wp+CFMCjI5bkRmmVL1y2P3euFYLEwt+5yBw== 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=f2G4dnHPG+/Jbtvg6WwpbH7GZ9NIWomafe+0TBZXYf0=; b=VduVFcWiU8/IgPTuccESf8O8Mc/1JtS6iK4SFo7joJO8T6vzbQq+VngVRdWufrYFvg7eKpzFa61CVi7AsfSyZFcrI+4NjBEEvKY+XYoP1aEQMweabt8uR5Y1dFwJ80WCIVn53hWWV4tUasaO1pdyebI1dubi0I8SpQJuuUsThzp3g7lD8gFtsNXxwnhTjSc60mAtFAYiiQKmPV1tSKf+NZKFjZhF6Ccs0isP2g0Gb8QYTlpVdhr/y+Mnq1WSOfkth52hxU9s5hYnZdLQXBe58p6mXFSp+mvZPHJUUTdOtcyrTBW/U1v7y3x+cvJS0bSCeq/fqN6wsDITzOzFj0ra0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=f2G4dnHPG+/Jbtvg6WwpbH7GZ9NIWomafe+0TBZXYf0=; b=VmU7/wtfsxygXGR39vBasoS0S+ri4ZMNf7IA99m82YLd7cs6JiNegzKfs3UbqcWmJEoYD2qhrfF9xs/w3jFFAN4bLN4tQOtLV6RDEaHLcsNxvyQOOzcggm3dZ5UpKE/mXs0ycDrYXIuFAywmT8LUlNHWveyhUg9vNayMa9poZYc= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:18:01 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:18:00 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 6/9] drm/panthor: Add support for Mali-G715 family of GPUs Date: Thu, 20 Mar 2025 11:17:38 +0000 Message-ID: <20250320111741.1937892-7-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO4P123CA0212.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a5::19) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|DU6PEPF0000B61E:EE_|AS4PR08MB7688:EE_ X-MS-Office365-Filtering-Correlation-Id: 05af1d02-4e28-40d5-7400-08dd67a0e986 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: Uprzjcj9Q3ph6vbnwU3kXRbsok/B8JdvWgJ6Psv+tGbDIh+Iy+JLdBMm9k71wECTxmHpfXds4sP81DA5aZvV9d3R2YP22/EtGk+va/3QAy853GBRF4vvzgbSg5B4HhsmYI/OkzOGerpjmF33fbZaeSXa/jqKO4VPWLs2EYwOP2fC+66v3Jva64dV+jLmnvMkU6rHcka8gCEbLI5I2BUaXdD8aUlkwgL/QFy5/af0WHzDQAYNmqr8F4l2n3AAHJeduDDjm2SfRd1vduXnmQf8FX3ZKpTrjTzhCA+g/4+CW0sK2vnhriS2xbZx4ttnNneJ4fwwLHAkxk+bi+FTlqnp0uYdBpEXBnN1XA2MEuYMg29QfJlz6ppj9CazGUhLUF44MuS5Ph4yP8jCeII+0vvZQiePNwFlAwAv/XFXEs7BfPYYjq2qxlg0xOG0J03k6mOyknNk+XTDWwJ1poJE9pihA6M2FUHkwK3YO/bqvpHksNrPGBLZPZcwbGOCp3n0vG489/LycQFSo8Ho4VM95cHcuUR6/jlk6MfdqPMcrRlF8f0l8sDGrQJcvxzEcsP3cFEegwn0LpKG6t/eTtdNI+I9M+eh0+hAdbmBeugXYwq5UfEBFAB3D22TQNzl1e8e7o6Ywp39UhJrhghCsOutYOm1BJPNAP/MxrCYPtGatATAUcaqkEWkXjGjpJWv0dWUH8BaVSqFLSsagqlKksdP4xnVba0CuQL+poB5cUEEWX5/iv26Kus03cI+WFQqPki5N9SIc07UXr7cRQC+dGU6UD5sKggdsM7/58ZcDWLIuMesRIux4oJK/e8fLSsuThly9eAdUMpWAItvUw4mXzZp6/sdTmQAVYL3xJVEXxxPL2Pn2uIb0aSpHgeXPksG1QxzM2RFgxP63IZg4PSXzi7rEKzUtrt45MZtxijTaT73nle1F0WL78vDOBgk/K1e+DWoAFbSoa9dEXz6K3v9Z9WPY3BwxaRyW36bxpSaxT952V9KsrnILEEtvLHqL7f8thWjn7w/he19JZDkoc16m0iPDft6luh6r+L9HqnaLmjJdeA/75vSvswfNt1m9vDXca/F547dcOyDZF5JdeipjP6EiaBWS7BcCmkusEQyPKTSuqPYjYa9h1Z2csPHn8kOy4oiM8nx3TmFyRSkglq++PvOZwNzrRdANTWDWPBtaWEQPWG9+NV/1InGKanGWlrXcpZy/K4bXYSUAu7KuenHyT1XpWFt2xIlsOvaf8qcU8Q3hqbMWLjXCDRjzY5HGKDYlfw81fmxodpd5p1vzZFH0WEhPwNRC9EHKedW0nisanVI0zCqP6Oo5Q48YOkHrcQ6chSBGaTBlsc+o9D8nJ/zMx+bfHIOSJfQBWpBsMfQQPJMYBOt3nfT1Urm7ODxPHMn80GDEGdc X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000B61E.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 47d6ac15-4e23-4349-22dc-08dd67a0dffc X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|14060799003|82310400026|35042699022|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: VLeIVX3r8jnl/VM6vdHh5eEQwEccEqi3ePbf/1/KdxEqv9rPXcXZY9EOIE68U4Wid4Xx3gWRf7RuxaKH9BuLNCF5JXRq9AziyU3Y9GQMB0TzXF2Wo/JF2lLE5pexU3DZ9cr78by7O3TfnjEj70iAaCjIGO/UNTLdkVaKYNhiJgV7f6lO6dGE4lhq4d3rEnaZ6d0Cnq+Xd6VWJQDO/dL1nY/Q95s7G4DBvc9rgvqwI/r/2IB29J2EQc0xAR+lrTGBMDThL+qlqxKFgPBqo6UHMvgEXRA5aBMZG3YzYqTrUhvCuALYKnBM2x3a8M/yVccbZpXuNBdMDLAESgm1k1sYf3Ep1n3oYvHqL3ar7Th4uoXKlfgQbmpjJ1gU12yDGfprnIcfKZKvbok9JnYN7Jp5HFlv9GNgmNn+wH40cwoy5H3Z+Bg2lL83hGL68lfWAkjfJNzzFGYLTK6GLCKmjNrziQiyDLr8yEiIWLgLPpAKzZWqqK17gUJkyV4Qlhd1WT1NLvkAIEqaamx12ZNGUInGzp7us/Ms/nB0t5PX+lhsHpf/myTEhYBsTsAABX7EJ4/nL9cOcReBAt6dNsGZoSmeTMeQ9QPYVe5LjoQ4wkEGRiZPe6TtXAu17HGc/yYBPEUTKTx0hAKUr5DpDO7acA0SBRDRv2eJc9pwdMpeB0ys4tw1c4Fa/9ATMzvPwDAjc3Qi1HDCEXl/KImwoK9h2jJGXpqBNIVHjLOegZGNGTGuDPgp1R4D2rG51XqdSQ5YUrbUXYw9iXUr42zxcfO00g/KG39qk9to64P3bgq/0AevOcYFAN3mG8m3kwCBFIYC34dF/puu+sGdavrMVzQNyXY3VPw3/3mhVUGEcyWXt3F/Vq4ihtafGeOjqljkWps6g3ZlPNsDJy+aW9mjCyzk8IP+DCLtMGwIRq0VDFLZfgErXeGaEv+8pw/2Ne2n+SHmkwlXyJA/vdi1OvKTF1L91HOmHhvJ9bUjL4y2bTJcFMvTVX9sP9ozpjlK3XWnIUmS2ydEY2HpnIvr9a7dPQxnM9nmTl/aZfa3Cots+PBc6GThonvH6XTTdFrWUpqGMd9H8S2EzKnG7e7b4Wao6Q2UiXRIkxbR9pNlNkQq9UfZL+SDgMAyEY4y4nkP1HbugwWccyHE1neaP853eXDLG2HCkUbkimN4s3wJ1bS6lP/vqaNf44rysd6/jsGdfTmhWmsBLSZ/lsezFlD2sTOGwML+7hkg07/zE3b28Le39/J0/DwwmKGWY0vwFVP9hJMaq+JAe7hwa0MIpTO0uvavr5Q2Xa2yFZld2KwNCU5PCPN7FyDdOJSMPzR1Z8h1UVGt652mTWtAQ0j1K4cgb8t6CKI8eNY5ryDbiWjhRqAsvdplb8HEXUOYJDD5FbhVQrkNf87NiIJtIJw9ZAoEbDG+3Nz+/JKNaSKZ/YS3fxYQLpVhKBt4uWUsyzdIEmzfTl9zy7X6Kdu+FHjIYSrTwjxqipuXm+IBgg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(376014)(14060799003)(82310400026)(35042699022)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:16.6184 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 05af1d02-4e28-40d5-7400-08dd67a0e986 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF0000B61E.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7688 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Mali-G715 introduces a new GPU_FEATURES register that provides information about GPU-wide supported features. The register value will be passed on to userspace via gpu_info. It also adds the following registers that are specific to the kernel driver only: - ASN_HASH_0~2 - DOORBELL_FEATURES - PRFCNT_FEATURES - SYSC_ALLOC0~7 - SYSC_PBHA_OVERRIDE0~3 Additionally, Mali-G715 presents an 'Immortalis' naming variant depending on the shader core count and presence of Ray Intersection feature support. This patch adds: - support for correctly identifying the model names for the Mali-G715 family of GPUs. - arch 11.8 FW binary support - reading and handling of GPU_FEATURES register Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_fw.c | 1 + drivers/gpu/drm/panthor/panthor_hw.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/panthor/panthor_regs.h | 12 ++++++++++++ include/uapi/drm/panthor_drm.h | 3 +++ 4 files changed, 42 insertions(+) diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor/panthor_fw.c index ecfbe0456f89..0b3fab95f26b 100644 --- a/drivers/gpu/drm/panthor/panthor_fw.c +++ b/drivers/gpu/drm/panthor/panthor_fw.c @@ -1398,3 +1398,4 @@ int panthor_fw_init(struct panthor_device *ptdev) } MODULE_FIRMWARE("arm/mali/arch10.8/mali_csffw.bin"); +MODULE_FIRMWARE("arm/mali/arch11.8/mali_csffw.bin"); diff --git a/drivers/gpu/drm/panthor/panthor_hw.c b/drivers/gpu/drm/panthor/panthor_hw.c index 12183c04cd21..d04c8723ac98 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.c +++ b/drivers/gpu/drm/panthor/panthor_hw.c @@ -32,15 +32,34 @@ static void arch_10_8_gpu_info_init(struct panthor_device *ptdev) ptdev->gpu_info.l2_present = gpu_read64(ptdev, GPU_L2_PRESENT_LO); } +static void arch_11_8_gpu_info_init(struct panthor_device *ptdev) +{ + arch_10_8_gpu_info_init(ptdev); + + ptdev->gpu_info.gpu_features = gpu_read64(ptdev, GPU_FEATURES_LO); +} + static char *get_gpu_model_name(struct panthor_device *ptdev) { const u32 gpu_id = ptdev->gpu_info.gpu_id; const u32 product_id = GPU_PROD_ID_MAKE(GPU_ARCH_MAJOR(gpu_id), GPU_PROD_MAJOR(gpu_id)); + const bool ray_intersection = !!(ptdev->gpu_info.gpu_features & + GPU_FEATURES_RAY_INTERSECTION); + const u8 shader_core_count = hweight64(ptdev->gpu_info.shader_present); switch (product_id) { case GPU_PROD_ID_MAKE(10, 7): return "Mali-G610"; + case GPU_PROD_ID_MAKE(11, 2): + if (shader_core_count > 10 && ray_intersection) + return "Mali-G715-Immortalis"; + else if (shader_core_count >= 7) + return "Mali-G715"; + + fallthrough; + case GPU_PROD_ID_MAKE(11, 3): + return "Mali-G615"; } return "(Unknown Mali GPU)"; @@ -84,6 +103,13 @@ static struct panthor_hw panthor_hw_devices[] = { .gpu_info_init = arch_10_8_gpu_info_init, }, }, + { + .arch_id = GPU_ARCH_ID_MAKE(11, 8, 0), + .arch_mask = GPU_ARCH_ID_MAKE(0xFF, 0xFF, 0), + .ops = { + .gpu_info_init = arch_11_8_gpu_info_init, + } + }, }; static int init_gpu_id(struct panthor_device *ptdev) diff --git a/drivers/gpu/drm/panthor/panthor_regs.h b/drivers/gpu/drm/panthor/panthor_regs.h index d9e0769d6f1a..7bc2d838e704 100644 --- a/drivers/gpu/drm/panthor/panthor_regs.h +++ b/drivers/gpu/drm/panthor/panthor_regs.h @@ -74,6 +74,11 @@ #define GPU_PWR_OVERRIDE0 0x54 #define GPU_PWR_OVERRIDE1 0x58 +#define GPU_FEATURES_LO 0x60 +#define GPU_FEATURES_HI 0x64 +#define GPU_FEATURES_RAY_INTERSECTION BIT(2) +#define GPU_PRFCNT_FEATURES 0x68 + #define GPU_TIMESTAMP_OFFSET_LO 0x88 #define GPU_TIMESTAMP_OFFSET_HI 0x8C #define GPU_CYCLE_COUNT_LO 0x90 @@ -88,6 +93,8 @@ #define GPU_TEXTURE_FEATURES(n) (0xB0 + ((n) * 4)) +#define GPU_DOORBELL_FEATURES 0xC0 + #define GPU_SHADER_PRESENT_LO 0x100 #define GPU_SHADER_PRESENT_HI 0x104 #define GPU_TILER_PRESENT_LO 0x110 @@ -132,6 +139,8 @@ #define GPU_REVID 0x280 +#define GPU_ASN_HASH(n) (0x2C0 + ((n) * 4)) + #define GPU_COHERENCY_FEATURES 0x300 #define GPU_COHERENCY_PROT_BIT(name) BIT(GPU_COHERENCY_ ## name) @@ -140,6 +149,9 @@ #define GPU_COHERENCY_ACE_LITE 1 #define GPU_COHERENCY_NONE 31 +#define GPU_SYSC_PBHA_OVERRIDE(n) (0x320 + ((n) * 4)) +#define GPU_SYSC_ALLOC(n) (0x340 + ((n) * 4)) + #define MCU_CONTROL 0x700 #define MCU_CONTROL_ENABLE 1 #define MCU_CONTROL_AUTO 2 diff --git a/include/uapi/drm/panthor_drm.h b/include/uapi/drm/panthor_drm.h index 97e2c4510e69..4aba8146af3b 100644 --- a/include/uapi/drm/panthor_drm.h +++ b/include/uapi/drm/panthor_drm.h @@ -307,6 +307,9 @@ struct drm_panthor_gpu_info { /** @pad: MBZ. */ __u32 pad; + + /** @gpu_features: Bitmask describing supported GPU-wide features */ + __u64 gpu_features; }; /** From patchwork Thu Mar 20 11:17:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023736 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CA3C2C36002 for ; Thu, 20 Mar 2025 11:18:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CE81210E5F2; Thu, 20 Mar 2025 11:18:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="Q2ofoScg"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="Q2ofoScg"; dkim-atps=neutral Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013042.outbound.protection.outlook.com [40.107.159.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 05A3B10E5EF for ; Thu, 20 Mar 2025 11:18:19 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=HU51fbheF5TZ7xjKYrgSvFxijtmlrJQ4dWu5Nc8YlQZy8NkNh3/kP3IYMrNptvvP49i/ndC7jG2sL8EVlri1r0yJ0MQvn7UXXsTsxe55rsT0s73oMq2/z/R40fLQjcF55J/2A6NmugpRjnkg4c0SemsMcGQVD2yDDbX1XMuRW7KOm7MWbwCQSQtLMS0RIBNDwM8cOiguVyWxSy2pN5duvJyhqsg2R9V5w6XZvMiCkCmxIV/rEaPZmm3NuCv+wHGz7SdgNbA+jktjJf6xgxYasN9Z7aboFaDvLBpV6fDf2dCf1St/W5+3tcdJc+v5mdi28qzFoummrXQnTLKKP6xyYQ== ARC-Message-Signature: i=2; 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=R5d4xgZ9tgZU2DQVZMu/08PNjeC6+iQchEjmRLDLoQo=; b=Bso15be2OiASqsVKON0bhDJHJOSpjFcaMaRHfvFx27Ek49A4YxTfF3ygrbtjlfbqg8FOQNpVpAKVoYOurQ0gpd11R+g8KR48wdalWzGRY7+dbvZ53cpLVu6Kr5hSd00J06/wk4R2Xv45JpLb3vmeGn3SP2h8Zdvp9Mg6ATp0SG8kjms9F1mc0v8NXexxd+eA7ozDUogqwvpL1AHx1wmuh0NQ6cRUCImL6qOHLcfw8HwvOI5GxqDcdcwyK6x67VBGnO62Z7dUdK//Kp+o1RfFQ/ZG9pQzVQEva7ZfhrYXLe5ujOqVaWFOHhhqreiNO6m+N1AWfMTnAxXIyCBFDOzcTg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R5d4xgZ9tgZU2DQVZMu/08PNjeC6+iQchEjmRLDLoQo=; b=Q2ofoScg6QXTadgz7c+PdigV9tqSpayj93uaPmtXddioLVHs4saX7Q/7IjdAobGDRi/JbTFhVnpUlERVRbCZZ2FOhmqNMpDmtfgLYcf6T6Sq4L1RuT7WuBIXt6RpMwBWoxCI1DSgCZsjcgWObbwKjVUe/o9FKV8xzCwbT/Bn8jk= Received: from PAZP264CA0012.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:21::17) by AS8PR08MB9454.eurprd08.prod.outlook.com (2603:10a6:20b:5ee::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:13 +0000 Received: from AMS0EPF00000194.eurprd05.prod.outlook.com (2603:10a6:102:21:cafe::11) by PAZP264CA0012.outlook.office365.com (2603:10a6:102:21::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.36 via Frontend Transport; Thu, 20 Mar 2025 11:18:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000194.mail.protection.outlook.com (10.167.16.214) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:13 +0000 Received: ("Tessian outbound c7a7213353f4:v597"); Thu, 20 Mar 2025 11:18:13 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 6a5690335aeb3d42 X-TessianGatewayMetadata: FftYgYQ610SD7twKB3aH/5Ze2B9VPifnV3aLLfyH5anAAJLo+BkM/RY0tSZxBjSjQRuDN+h5MIKUMahayRTG+R6RZmNSxUCtFSDiR2Sc5KCVl2+TFTNhpIefA2yjwNYcx8iyEXJuM/2lJnz4OLl3OOofJmU1I0RwtfenwpLCo2k= X-CR-MTA-TID: 64aa7808 Received: from L60ef98af60d8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 461810E7-A79D-4819-B7C3-9F90DFE28AB8.1; Thu, 20 Mar 2025 11:18:05 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L60ef98af60d8.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:18:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y8mifUGJW4f5YLke0P1TDRY46l8BrKeqb9GtY3V0utAz41QxXXaEfC9d/sTwWER1pkZWzKK+/XlSPMWH4yFYjbdW2dGGALSDKxQVN6A1BTCL0N/P7rRZ9R/zmcJOKG0dhy7yYjDsekArauy7So1sxb1LXA9BPKrG60aZqrBxi5rQxiv40CF7jWcVoKWmRydIlTNH3WTmSFsnU6WKVkl9Na9k/vAkHn+j29EjGykv9pxwMkynSTDL2AFPA2/wGKJBAe7yRHJZG27PjNprPz6WKHUrH9VV0tlbYRUkXiUisjNGmIR8oOLlkcapqFQJQZNMV9qTB1CPunRXfe5qJlQxFQ== 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=R5d4xgZ9tgZU2DQVZMu/08PNjeC6+iQchEjmRLDLoQo=; b=JiZPumzeivsV8e8HiABs13R8NrzDcl0TIfxpipMP9QCQz0dixTTL0EvfLoQI5BJmkD1sY28E+MCbw09PhlZV8WBd22CutxOGO58518FyLc9HYikYAkeEpvjm3QTjTrQVzX+rUnBGqCHaZd0iQfGQHlrUtxIqGeotTNtSizgpdfPbMktllJQZT/KspJOHiTlXMdTGS0enBTY5d+IqDk2b8uNGBJND7fevT/3bCHZmhWYEhtWLLKm+mCdMi+yEMBZVKyQakRetxeOM4KgTcYGvLmtuVXQk/hF978kOxLmXW1pKFY/00GQqYwncEX5FqjPpYozyVVq2XMm6EOYLa68BYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R5d4xgZ9tgZU2DQVZMu/08PNjeC6+iQchEjmRLDLoQo=; b=Q2ofoScg6QXTadgz7c+PdigV9tqSpayj93uaPmtXddioLVHs4saX7Q/7IjdAobGDRi/JbTFhVnpUlERVRbCZZ2FOhmqNMpDmtfgLYcf6T6Sq4L1RuT7WuBIXt6RpMwBWoxCI1DSgCZsjcgWObbwKjVUe/o9FKV8xzCwbT/Bn8jk= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by AS8PR08MB9193.eurprd08.prod.outlook.com (2603:10a6:20b:57d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:02 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:18:02 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 7/9] drm/panthor: Support GPU_CONTROL cache flush based on feature bit Date: Thu, 20 Mar 2025 11:17:39 +0000 Message-ID: <20250320111741.1937892-8-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO2P265CA0475.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a2::31) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|AS8PR08MB9193:EE_|AMS0EPF00000194:EE_|AS8PR08MB9454:EE_ X-MS-Office365-Filtering-Correlation-Id: 1617b591-a6e0-4911-3802-08dd67a0e787 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info-Original: JoDXSJa7VtIx3lbYaDRX43hC7bQOQCgh1jVahmxUGXj62fhHCplS3YdhPphBH9xKAycHxfw1JegNxg3a7x72BCTbqmhexAh8PbLODXecu0LAh1ZPvTnFQ49ep6Tf+yeE0vkQmNLK2Ue0vqYAvTprn233omf7rwQBDXZjPd+wwsUhXi1IZVP7BnBHY6t+lCLfH+fJUpCju93xwf9NS5+eunI9tbGVFC9BxwHMlFFgi6WAwlnBYFo/6cK31PDskeYO2SP+ybOcyOzTK+SD1LlbzKV54LInEcpCBdqHm1YLIbk646RjQG2G60dhP7IVnF6lIeZV8lHedBzJEiLmcKzbalr6nAII/fsMNR3vG+QlIQKr5jto1fAz4RvJkD54gPEH2LS290T8OdM9B8HrxkjomS8Vsx1kc/OmbUc8129wM+vNDeLkTvRF4WS5++9trdSkIRe82U2rwyreujslAhG0F3ulqbnEhXXYgpzJydmXDEDaUAP0R0eKWcNo0vQPwafiCDmNWWYwG+BqM2dSZLihF2TAHKyR57a79/M4gQvPQOR57qa5TI4Wttcm205mZCXLXiSJq2UM7YygrsdPS4eBHL6U1ugUWqNgLx4xV1/ivhvm4V8+FiNmSDd4smBUPdz0vgrnLYwGzCYd97Ms0VS8rZTfWO0zyzfJJqzq3m3jO6iISTMth2Q4QD3k9COU1N4kohsoDiPnaLPAsik8RKVno1xuFQzqV8W42khW7C0GbTwC8uzpIYU9MwDAHzYPc2L8NVf13TwlN/z9lNUmDIonHnHqOYNZHfQPQG81LMfx7qUTHEWUSQRXcIRYb725HtPqasQnnefnUAQnoVmSQaeIFnRZIh9OxqM36KZz1GUfR4JlSZO8H5NDrjE0knGyrMX3MCTSMilD6DcfiRuoUO0PzgwAzlUMv6OXJdJVxB9Xwf8YT6Z7Frkv9mj4xqIO09B0WT8DAvs2Z4lO2IBdH1Zmir+UgyqG9AM2xS7SqNdHdIJBe0lGv2mIA52V1dI8HeXXW+AivtS82/AXxk6+Rp7XuuCYnmUyS6ogdEOElyFwn+uin9p003Q+jeiTifxscW2fEbGSlbhyFGfm6EH2c+xeFU/WBgEBCokWFpu2imr4YflzyY29FSsml5yjpSr6nrYDD1W5DtT7JJidDWoi3QNi0QrXnNAs0zZJifJaasyZTNuaPrMDYxENCVzv3cVjcICEjub6gU/G0Dtn5KImfsv62GFsW2UFkASTcAJYFlyX4Oz9RBW5qQfMS0rkfT0lrIHw3Rics+sC1WYIA7ZCUOKzoDFZ8ltQBzmGYTDjuKezj3urdvxXLiSPee8Pb2dGAqtY1xgDDV5XUQf8mFkm6ujL6gn+CMzuw5CG5afpJS0fuPWVzB2JX8NqRFrZg/8LjZPE X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9193 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000194.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 20fd3207-f844-4527-a828-08dd67a0e0de X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|14060799003|36860700013|35042699022|376014|1800799024; X-Microsoft-Antispam-Message-Info: yuNWuzpCo4ot7MmN9SDYsv0KmevHixcU5GKxxrIAI1dkzAues6sRwl8FdzthSkwdZs8MJItc9uyLdmoZ7WO6aC2W9NP3OJrCBSJHy8JpSp5Lr5Xg3h1BABg8rjL8KqAZw4drrxEh226QJJcwA4qZUDuAaYNQunAzCb+qx5yJOgV5/2+oDoXWPvy74QjFWm+v3Mg+xIKRdIqC/vi9gGk4Ru/X5/x8cpEdCeV80nD56+8tWjYEr34kfWyNy/zvqUAP/6GSBfOmRSqBlevhMzfODq5NqpT0c8JkCpOeFsdoRpxBHY0bziUG3bhnH760V2A6Zgdk6JrjD4al1UyLEtUk72fvUnfNmdbkGyTbggBJWAgMknm3A2ssFzJnZDdZp+CF+hpkhhg7QSVvPguCThD02fK9eB3vzqv1FEowniW6Mm7N514kpmtMukC5XZ7ttnKTGF0RbgcgGJ8QpBSaMKSXra0TjBDot1w3/NVGi/vSiK0uJwe0dVPmNCGA9LPBS7IBWe7sUCBKYbmQEsRoXjAZaCm/C8A6/6G8l0ccoAL11k5+IQVRTGFpBxqboyhHrdyosxvbPQUrQm+JVwrFzk3Wqfak5qN1hYMD8/I2dXNe9+oXz1zM6HdV3IjvKUcF0QuUpizWxRA0qCvtp98uIeA9UqNPdNyMuslbL0qp6kjBkr/aRej/kaFmSJmmCH2nESetGqZ5CmgCqYUMYbnFZTc1N02qzhAEH8/UaXZ/cYrGJm+TaTB1W0HFTsfVuHkNRSWbtsy0odtqqlI0lQK2fpyFRh4rHn0lEbAoSY0OzOEu4JPiWx2mioN3u7mpxWomh6hHI1soLcge00f/ndQWLeQ5h7M/1rG03VFGQws30QS90SvtqBaNlmiZL4u0rqMRnru3yDfVc/qlTS1gMDtaOeWhQV5Ys/Pw9jhvjzqszBZMVVZMz9keYqmtX96XibQgRBz+gmy5XckWKCZnF96zKKpZ3+8Pnjkm5LfMzyjP/NX+nCgTqADUFIfYtltRvtduRkaaOjbS6lMhNSOVnuX9S6F2Ygz81m8cKnOwxYzkXz2ivTpjBIIy1h1fQQfCpuwO41ov+eI3OQ8Tc3+NkROg18rkvsHrCEAYyDQGYfV8d9c6sLdrkZtWbpvRZkQFHYcNUQ3sXrsFI/x7GYmY/45OH7Qt82l8qV0DGyg3+RledAerYiYIL3vDuFiI9GnMjKhK6+hhMidE/wBw51HVLBiG5McclBU0qO/ACm9H05xQKP+eGz3HB/5q+r9HdyqJw1D9RBaavNJ7RJnGaWgxatahp/OxhFtLKk36r+fuu0nqfLOmcotbSLhijGY/OyRMvH2m/E6JTuDxgKhntU1lSNIq9zVEVLHHO3LEZDJD7WFg3hz6h8tvAa03LhChhlUAVxJsZdUnZxFgyEejFdhBOQ2Ib7X7H7nJLg/7kf5OVeJh/vyuR+3gx89Nxr8+EEFy/7fXkELp0SOyQyE7PoSGnBtTgae9iTjxxRC2DLFKDXnPi8LhWIk= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(82310400026)(14060799003)(36860700013)(35042699022)(376014)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:13.1586 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1617b591-a6e0-4911-3802-08dd67a0e787 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000194.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9454 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" As the FLUSH_MEM and FLUSH_PT commands are deprecated in GPUs from Mali-G720 onwards, this patch adds support for performing cache maintenance via the FLUSH_CACHES command in GPU_CONTROL, in place of FLUSH_MEM and FLUSH_PT based on PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH feature bit. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_hw.h | 6 +++++ drivers/gpu/drm/panthor/panthor_mmu.c | 35 +++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/drivers/gpu/drm/panthor/panthor_hw.h b/drivers/gpu/drm/panthor/panthor_hw.h index dfe0f86c5d76..4d67fdfe86f9 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.h +++ b/drivers/gpu/drm/panthor/panthor_hw.h @@ -16,6 +16,12 @@ struct panthor_device; * New feature flags will be added with support for newer GPU architectures. */ enum panthor_hw_feature { + /** + * @PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH: Perform cache maintenance + * via GPU_CONTROL. + */ + PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH, + /** @PANTHOR_HW_FEATURES_END: Must be last. */ PANTHOR_HW_FEATURES_END }; diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c index a0a79f19bdea..4ac8bf36177e 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -29,7 +29,9 @@ #include "panthor_device.h" #include "panthor_gem.h" +#include "panthor_gpu.h" #include "panthor_heap.h" +#include "panthor_hw.h" #include "panthor_mmu.h" #include "panthor_regs.h" #include "panthor_sched.h" @@ -568,6 +570,35 @@ static void lock_region(struct panthor_device *ptdev, u32 as_nr, write_cmd(ptdev, as_nr, AS_COMMAND_LOCK); } +static int mmu_hw_do_flush_on_gpu_ctrl(struct panthor_device *ptdev, int as_nr, + u32 op) +{ + const u32 l2_flush_op = CACHE_CLEAN | CACHE_INV; + u32 lsc_flush_op = 0; + int ret; + + if (op == AS_COMMAND_FLUSH_MEM) + lsc_flush_op = CACHE_CLEAN | CACHE_INV; + + ret = wait_ready(ptdev, as_nr); + if (ret) + return ret; + + ret = panthor_gpu_flush_caches(ptdev, l2_flush_op, lsc_flush_op, 0); + if (ret) + return ret; + + /* + * Explicitly unlock the region as the AS is not unlocked automatically + * at the end of the GPU_CONTROL cache flush command, unlike + * AS_COMMAND_FLUSH_MEM or AS_COMMAND_FLUSH_PT. + */ + write_cmd(ptdev, as_nr, AS_COMMAND_UNLOCK); + + /* Wait for the unlock command to complete */ + return wait_ready(ptdev, as_nr); +} + static int mmu_hw_do_operation_locked(struct panthor_device *ptdev, int as_nr, u64 iova, u64 size, u32 op) { @@ -585,6 +616,10 @@ static int mmu_hw_do_operation_locked(struct panthor_device *ptdev, int as_nr, if (op != AS_COMMAND_UNLOCK) lock_region(ptdev, as_nr, iova, size); + if (panthor_hw_supports(ptdev,PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH)) + if (op == AS_COMMAND_FLUSH_MEM || op == AS_COMMAND_FLUSH_PT) + return mmu_hw_do_flush_on_gpu_ctrl(ptdev, as_nr, op); + /* Run the MMU operation */ write_cmd(ptdev, as_nr, op); From patchwork Thu Mar 20 11:17:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023742 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E8D88C36000 for ; Thu, 20 Mar 2025 11:18:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AD74E10E5F3; Thu, 20 Mar 2025 11:18:28 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="CcFjqyVJ"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="CcFjqyVJ"; dkim-atps=neutral Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11011052.outbound.protection.outlook.com [52.101.65.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 41D1810E5EF for ; Thu, 20 Mar 2025 11:18:19 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=jnLGo+0wXvCUt7iAOk0o+6YhcWM84AO7FPqd9TRBIgg0spzFEoWPt1HihWJvWDezmSoxhqhg+DC/5+zD1jRh1pX+EbPOINVanDtaDX8oKkwQiiYW74u5EfQ+Ubbh7k5UsU4Ry6VmE1kHIolfDNe+OoWMzEYp9N8XyOoAREr0Q6FXoiCYo3Kjq7U7j+o7r+QUo4ucnQ1eGgTsQQnHyjbCApF7GXdFoJIEhaoxL/igG5sQ155hvPgMxSHHKMiI7ddFefZ1XTHngeYw7O4UBL8pC8Owe1D3HqIiRIrCeB3ClzMSFhS0Ta6xOILnSQShARrIHprl6LmRYqpbCMVKtrHTsA== ARC-Message-Signature: i=2; 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=+Bnw053aUIxoIZ2hReqrjV90YEfLdhIBB6Lq52201z4=; b=czDeeFv2jYKx6oGH4mb1PEleGWnJXMzdRQ7NaQR9wFMBDlVfCTos6zMuYOkSSwmct42x2jS9ktdbE3Namfyr4oPcFO+f0IrkZvFjamEsgfek/+jVi+gTnq+x1bItuuvBJsQdTJWSX6XMeKsn0hk7FpUdXfjQFOaUc4L3L967il9lw8b3qRnBtU7mas6KimFd2FxytOw74jzc8Z4JceQ4Zkfeluv9DhDiUzrG431Gsorb91ZJFnbewILH8NMpsIjhxPfYX11L6R3SvkU8quuJKucENM1U6l69PvhS4D+xtAsZGGdvOKmbVr+GHszN2JihpAxqnwwRopPrQ5G3WfgUzw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+Bnw053aUIxoIZ2hReqrjV90YEfLdhIBB6Lq52201z4=; b=CcFjqyVJdgkBiFfSWOSfRRr2omfVI28uFr80A4lBJ/eQuDmuHSAWVlsGSj9aq4Sh1MG/oBQ04PnlzQL1burJCGf+bWDp+gDM/zzKrzvMXMyxiFhn9zAw9IbXyhklhSQvZf5mnv0BAT4/W0HGZ8gE/fzGdH+8TKWfQfSi5x/sqAo= Received: from AM0PR10CA0015.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::25) by DB8PR08MB5516.eurprd08.prod.outlook.com (2603:10a6:10:f9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Thu, 20 Mar 2025 11:18:14 +0000 Received: from AMS0EPF00000195.eurprd05.prod.outlook.com (2603:10a6:208:17c:cafe::a9) by AM0PR10CA0015.outlook.office365.com (2603:10a6:208:17c::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.35 via Frontend Transport; Thu, 20 Mar 2025 11:18:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF00000195.mail.protection.outlook.com (10.167.16.215) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:13 +0000 Received: ("Tessian outbound bd61b317aaf8:v597"); Thu, 20 Mar 2025 11:18:13 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: aa0367ad0e6e02fa X-TessianGatewayMetadata: 3wa0q/rxh+M0ZXsaU/mywWls7WintqNFtj5PhMcUrxHRtkPBuD3PFCighYyGB2fx+sN0wyD/1/UeQYqClsXvS3C/1U8AJJGWPSMwBfyJZMNhIbhie/5DY8ywpstbZg/1ytrAlW1r8sGyQRpmQ3hitKoVbCgrWl3+y9+xxYGTe3U= X-CR-MTA-TID: 64aa7808 Received: from Lb15e4ab9bcef.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id AD7D6E4C-D087-4CBA-88BD-91453FECAE6F.1; Thu, 20 Mar 2025 11:18:06 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb15e4ab9bcef.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:18:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NSUxE54DBesUcvqasb1wM7ur1lu5ww9AsxZXBUWq5CxpUvU+l6xgftmgNWBEw5EY8Av0C1/taENoQzfpr3V+bLdQ9oK2WOn9dyRpSsrZi9CJYDPL6nW3XYw2u94zjXobyBnQwsDjr6Fsvv3oG93xeuwaz5sRBypfyoHVOE6rOPJNh3FO5t9qvapJvvL2X+9cPgNWBrQzMA7xv2B19t9yZhMAXmYMeNAYPT19VrRhBd9GEz8pv7Ctt0ZHSi13XWcsnonY6w4fV97W1gRfjWI30enC4C9H8deFTRt8pkw6WgVS+6cF4LLmfhce3c42fojTlMH+L+j6Z8hRg9uXYgv6FQ== 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=+Bnw053aUIxoIZ2hReqrjV90YEfLdhIBB6Lq52201z4=; b=LmuCYUrC8yrdJY9dc8gX/TteQvKqtcYyl5QHmz3t9ZGXYVahcJQdy88M4VgQlv/TCp+rahKIbJF72tA98pyBeVSIwPyP9AEOtOVynsmzHebVJ5bfmmE1WN7THBipGdO/mTwfJe/QHbQU0wj9Ei6HKSIUC6FibRwrQFHqKH0/2aJtkgpZnqgxnWhJ6kc3H6JpxBM8m8c7dhwrtSWr/T4GAaFyblib0pH57XFEogKg+WypH4L89Nlqg54RzTEDQYBHB7tYGuw8DFIGCJieCWzeNQ30NSchfC5q5Z07ve57K/a/FA99GWlodQBvFfVlRKR9tM3W/frLeeMH1ZLMPQds7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+Bnw053aUIxoIZ2hReqrjV90YEfLdhIBB6Lq52201z4=; b=CcFjqyVJdgkBiFfSWOSfRRr2omfVI28uFr80A4lBJ/eQuDmuHSAWVlsGSj9aq4Sh1MG/oBQ04PnlzQL1burJCGf+bWDp+gDM/zzKrzvMXMyxiFhn9zAw9IbXyhklhSQvZf5mnv0BAT4/W0HGZ8gE/fzGdH+8TKWfQfSi5x/sqAo= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:18:03 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:18:03 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 8/9] drm/panthor: Add support for Mali-G720 and Mali-G725 GPUs Date: Thu, 20 Mar 2025 11:17:40 +0000 Message-ID: <20250320111741.1937892-9-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO4P265CA0221.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:33a::20) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|AMS0EPF00000195:EE_|DB8PR08MB5516:EE_ X-MS-Office365-Filtering-Correlation-Id: ec58d75c-c24c-4734-c75f-08dd67a0e7de X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: EWZGNRYN0iU7Ab+60Bpzn1rH8BlhaowB8ZRuJqP+ap6O2Zd5WXWRg0Fa+hGkY6iR1DN1XPKtAMeho6EGVLa0KDyuMsmivg1ZG6oQxaVI2hsCB/s8+gl4QcjY6JbBqyns2lmqSqYmEvgp+vgPJAyLtd4x0zU74iUgFhy4t6fcPIl5mNm0e3bW5vkKRx+E7ivNhpAl5AdJV9Z1WNnjv4QCPtNR1coMbdQVxTay6siDEpqj8fWpGs+5odGqEarCZfFCAhGQdhC/3UxVKJZwSg0TkG1PL5lOu2lemNIGbc0KuO907w+6EM6MZnfJHJ4oTgCZA9C07gJ9HFutghD/YC9o4fhhgyb2Z4xCeGmiTEFQ1C+rGxc2pIEEVbNsoAVkTB1CNZ8Tlhq12DugXVfkuyFM7Gr0zum/FTBQOU5LiE80zS1hIyRIHy66zUKQUTpVFmpA8slcfXl06J1cnasIp8dNBtF1k3K+sQUe2K7ZsT9HBw3ixAb81DzdQAf6U36NShyWzFS2CVETLp4B9SZ8V3dBn8A0lF2h4U4RQZom9iaIWbBq3TGAed0/aR7FtKyNeTiVzuZVxks1xCJAyfMwvvqxMGW8ft8fpzdQxzaZ2Xa1QmIPcs6cwlP9f1yj7ssTkXoxtjOjNX441uhCjfHkTMN701/ftQ0k4w39b6gk69DXP34CjW83TxGNP48agMnADTRoEO4EL2sROM91jWzhUnGuB9ARlP1ijEeokazCDkQWwzYLkUXe5SsSqXxH5GIc4mUGFTTDsOkn6HeGcDR10XcvpqyfFq6tIJs0BF6No+3/VtaCECBvB5D/aR12QWSWcyBQjpWWhGuBnuQQ4r3w9CmMhf9qPaD6uxWteDsHI0cHgbJ00gtkvel7Ula40U8sX3/T7++Bt77J1wZvABXBWc+9/inDVHB7VIR9jmxubcTSbnmeT6+6JWB2AC/+yoURwRUmsIhIcs53S64fEXTo43GBit1SCjPa7FoaQ/3BxSw7XN5AjiEHzv0QOiZEnNnb8LX5aJTjnT+UZc1IqbEG3qFu1D68rkDlJtlkTPkiyxiUFCt1DNmMZQzQqkv4CLi++oXqi86cQ9WE88C+7JdbIKkf7O9WAbUdy9NP/DGPzBAKqTEI9GZWgDfTNIa2aNJGbXnVnyUA5P/IrbXJJdHq1398rEGa6+Pf23SLkhrVz4YgF0YUazZY8yJLDSQMytFS//kyaRe47wZyTt2OCz6Y9dlManP5HfI6MHLdlF9AEH2NGLbOhvic79AVbgo2/uAri1sxHq956/L1C8Ui0RdZ0oosRDNA7Vace6x01CHQPHOoh7xzBFGOW82cJNbTv0w6gaUBNACVUCVmyZAtpmymCC2YFW7MonnAadh/kibWChQVnaOTt1is6n48plOgWG+4DM/m X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000195.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a81907cf-2cfe-4051-596d-08dd67a0e1b5 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|36860700013|82310400026|35042699022|1800799024|376014; X-Microsoft-Antispam-Message-Info: jnpR8SmutkIkSBXGvgpYRrdCC4YUghbSZ9HY9sQWBFJulzRSN5XOil5r6lDYfA00Uy+viuMu2Wl7FEA6Q+lUYEYZhoVnnDxTBH/9A1BIisrHC881VWHSH9zQCGhpSC40f8xDy86kaxcp3Ectzt/WVpPNzPbiUpikuQ3X+KfMSFDrULeN4hCbiYbKNWdCFmPIwgs9ddcqmlJHqlHNgEdytff8mYGTJuhMwc3vqygvOsMCNT4OqGWNUlw4oso7u3FOJag1DoU/EQsMC1plF8idA+ILGTzcOymDKXaj12r4neUNSpxxFeg6LJP/xAA9/4hSnd4IlBzVNIYBOaY4TlPuDH7GeKm/urbt3mdW1oc79o06TDfM5s/CZKNSv3hQ0gkRYwsnS+sCoXhdnobGvl4YRlYD1dG7HIP7uFGtDoDUtpOsNyag3DarZ8LzlD4XpT94IZCKnuTj5vbCiOK02ioknCdGFcQoaUlYKhNCDhFAG3EI/YJGNoicob033z8jrNVxuB/I3XpPneBRSNu631iObHLegYvPyLn6ECFAjXArllPpE23uE14Q3C98Omm9U7eRkz0CcN4spPCUI7fQE8L4pRUt1h3NnGMUe2eM/k5UGgWG8UbaZZAT0tRAh82fZJ6aahWkZXha4Luc5frZ4Yk+KgeZ5gthsYlVl/iJm/2nc+eA0D/7offKBUWI6RZzBt4XE7ibyqKbGZRotCoW76+61D00h6xYB1FUly/9AH9tWrSCHBqK6HIEQUpGcmc4CZjlPEvgRSfzqVpkeY+wpUar45I3Oe+XpMy94lX76WZtae74eIF2q2DWC8uIyLoC2B3Mrx5YgzT+7nyPlvDJ4I3k+sDD7zLFxZfhQ1UvmaEh+YXffrB/I4zY4odVOKVbJLr3s/G4ZOP8E+9rVHVRdjf6/QtjXirJ1bmi/h/kJGOiaDFfTGoz0RcWJ2K6DYgTT2GarFALaYtOVilzGnJMFli9lzygbOH3YAB7sZ/XuGBVdebmlYMt7Dm0pQQZ1kErYUpj7DumEAecWeKdyx0LV1VBXB7d0FdHM0RHjsl8tR4UucAjcjXpDLXPBbDcqelzzRVc0mGPUNsb7rQ2yi68xDz1HtEwTpCHXDwBExfWqpt9aKhKMsvQIae1vHZl683RvSQPk/tW1aXxPZqQo7HSh2dDwl3UKrwyDCLWWV6p+63InsS50EwPlQroXTJTqOiU/PnInpOD55Wd4kXJQwnQbQTO/5vuA3ZGkS2gOKTq/m8rIRIx54azwD1CCz+gR/SpGCJHidRrAzLxkH6U9H2+M/lhvL+6/nCOaZPwUExCiwEDRnFX5ZwDjCiLCsojP0Lzo4Gj80KQ8K286o0irW/sR+PP5Gf1p/sLDCvMwmmiV8g8yTZDNxOro3DSg4e2w0PgaOmIiDz3d4whDT4TWI2WF3k2xHmHw1c5zYtseuayGCN2GDklUW0/FstWiR2g4FdgmmeA2njcKfzW/RjRnfj7HNPbgbO720uP8/q0R70uD0f/NV4= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(14060799003)(36860700013)(82310400026)(35042699022)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:13.8262 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec58d75c-c24c-4734-c75f-08dd67a0e7de X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF00000195.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5516 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Mali-G720 and Mali-G725 deprecates the use of FLUSH_MEM and FLUSH_PT MMU_AS commands in favour of cache maintenance via GPU_COMMAND's FLUSH_CACHES and FLUSH_PA_RANGE. They also introduce the following registers: - GPU_COMMAND_ARG0~1 - SHADER_PWRFEATURES - AMBA_FEATURES - AMBA_ENABLE This patch enables FLUSH_CACHES for both families of GPUs via the PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH bit until FLUSH_PA_RANGE support is added. It also adds the aforementioned register definitions and firmware binary support for arch 12.8 and 13.8. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_fw.c | 2 ++ drivers/gpu/drm/panthor/panthor_hw.c | 38 ++++++++++++++++++++++++++ drivers/gpu/drm/panthor/panthor_regs.h | 13 +++++++++ 3 files changed, 53 insertions(+) diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor/panthor_fw.c index 0b3fab95f26b..8a967af0e2b4 100644 --- a/drivers/gpu/drm/panthor/panthor_fw.c +++ b/drivers/gpu/drm/panthor/panthor_fw.c @@ -1399,3 +1399,5 @@ int panthor_fw_init(struct panthor_device *ptdev) MODULE_FIRMWARE("arm/mali/arch10.8/mali_csffw.bin"); MODULE_FIRMWARE("arm/mali/arch11.8/mali_csffw.bin"); +MODULE_FIRMWARE("arm/mali/arch12.8/mali_csffw.bin"); +MODULE_FIRMWARE("arm/mali/arch13.8/mali_csffw.bin"); diff --git a/drivers/gpu/drm/panthor/panthor_hw.c b/drivers/gpu/drm/panthor/panthor_hw.c index d04c8723ac98..e6354304bbef 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.c +++ b/drivers/gpu/drm/panthor/panthor_hw.c @@ -60,6 +60,24 @@ static char *get_gpu_model_name(struct panthor_device *ptdev) fallthrough; case GPU_PROD_ID_MAKE(11, 3): return "Mali-G615"; + case GPU_PROD_ID_MAKE(12, 0): + if (shader_core_count >= 10 && ray_intersection) + return "Mali-G720-Immortalis"; + else if (shader_core_count >= 6) + return "Mali-G720"; + + fallthrough; + case GPU_PROD_ID_MAKE(12, 1): + return "Mali-G620"; + case GPU_PROD_ID_MAKE(13, 0): + if (shader_core_count >= 10 && ray_intersection) + return "Mali-G925-Immortalis"; + else if (shader_core_count >= 6) + return "Mali-G725"; + + fallthrough; + case GPU_PROD_ID_MAKE(13, 1): + return "Mali-G625"; } return "(Unknown Mali GPU)"; @@ -110,6 +128,26 @@ static struct panthor_hw panthor_hw_devices[] = { .gpu_info_init = arch_11_8_gpu_info_init, } }, + { + .arch_id = GPU_ARCH_ID_MAKE(12, 8, 0), + .arch_mask = GPU_ARCH_ID_MAKE(0xFF, 0xFF, 0), + .features = { + BIT(PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH) + }, + .ops = { + .gpu_info_init = arch_11_8_gpu_info_init, + } + }, + { + .arch_id = GPU_ARCH_ID_MAKE(13, 8, 0), + .arch_mask = GPU_ARCH_ID_MAKE(0xFF, 0xFF, 0), + .features = { + BIT(PANTHOR_HW_FEATURE_GPU_CTRL_CACHE_FLUSH) + }, + .ops = { + .gpu_info_init = arch_11_8_gpu_info_init, + } + }, }; static int init_gpu_id(struct panthor_device *ptdev) diff --git a/drivers/gpu/drm/panthor/panthor_regs.h b/drivers/gpu/drm/panthor/panthor_regs.h index 7bc2d838e704..283e758ac86f 100644 --- a/drivers/gpu/drm/panthor/panthor_regs.h +++ b/drivers/gpu/drm/panthor/panthor_regs.h @@ -95,6 +95,9 @@ #define GPU_DOORBELL_FEATURES 0xC0 +#define GPU_COMMAND_ARG_LO(n) (0xD0 + ((n) * 8)) +#define GPU_COMMAND_ARG_HI(n) (0xD4 + ((n) * 8)) + #define GPU_SHADER_PRESENT_LO 0x100 #define GPU_SHADER_PRESENT_HI 0x104 #define GPU_TILER_PRESENT_LO 0x110 @@ -111,6 +114,8 @@ #define SHADER_PWRON_LO 0x180 #define SHADER_PWRON_HI 0x184 +#define SHADER_PWRFEATURES 0x188 +#define SHADER_PWRFEATURES_RAY_TRACING_UNIT BIT(0) #define TILER_PWRON_LO 0x190 #define TILER_PWRON_HI 0x194 #define L2_PWRON_LO 0x1A0 @@ -149,6 +154,13 @@ #define GPU_COHERENCY_ACE_LITE 1 #define GPU_COHERENCY_NONE 31 +#define AMBA_FEATURES 0x300 +#define AMBA_FEATURES_ACE_LITE BIT(0) +#define AMBA_FEATURES_ACE BIT(1) +#define AMBA_FEATURES_SHAREABLE_CACHE_SUPPORT BIT(5) + +#define AMBA_ENABLE 0x304 + #define GPU_SYSC_PBHA_OVERRIDE(n) (0x320 + ((n) * 4)) #define GPU_SYSC_ALLOC(n) (0x340 + ((n) * 4)) @@ -162,6 +174,7 @@ #define MCU_STATUS_ENABLED 1 #define MCU_STATUS_HALT 2 #define MCU_STATUS_FATAL 3 +#define MCU_FEATURES 0x708 /* Job Control regs */ #define JOB_INT_RAWSTAT 0x1000 From patchwork Thu Mar 20 11:17:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karunika Choo X-Patchwork-Id: 14023743 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 990B8C36006 for ; Thu, 20 Mar 2025 11:18:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DF10A10E5F4; Thu, 20 Mar 2025 11:18:28 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="EsKQ0wxW"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="EsKQ0wxW"; dkim-atps=neutral Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11013061.outbound.protection.outlook.com [52.101.67.61]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1419D10E5F0 for ; Thu, 20 Mar 2025 11:18:20 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=rB/qIVVQmSRvV14m22qmeJ13P66cc+M5GMKona6aJzmqzp1lVwLDrgqRFzpGXbaoFpYFI15qdYvJJ8UhkT+fkKTsVZqaq2gXxzrPGHitmAfjNUYaPX1DRHiImIzsiABpgVMkfFkYVh792k4GqUadzxJQMCUx51N3zrj+HIV/piApTUMPjiuFuE4DWCkZX+md4qmULSSWVCoplQpzpyGbhlvpCbgy1yc9b6JJFWoTUHTMvo4zYfKZChTp52+rHVrmJv1b4mPx3cWT/VCR3iqYYocYUTLzlpk/UAtmRajM9iNuBAdaZifU17Y0pE6K+6CNw/ovH3NttFLK+L5uE/x/lw== ARC-Message-Signature: i=2; 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=wYfH2f2p0p7UsJOPYBI0S+h3GMsBmwKAfo3hC04ZXvs=; b=hb83l4HQsvNKG5Nc0ICYtBlk2AOuu/patcq4g4H2p++pucbIZp3c7F3C6ZMkq4B/QQO2WiBEUUHGyiUJ/JyufKUOij2u5yMNglU1d+pbICysIXp/Zf1ICwbdegzVynVd5Et3LnWXWLdmPq2UUb6AX3+eniCEx/iyzDKF/mwyuZ1GSWA+l7KSoe/1NSSVRJ7CwLH3xkxh+PGPsHIoA8F9uEdTYHfJnK+Z0dLa1WZKZetH6hYSbWIz5RYaiWmhIdiF6jtnp4N9i4GFqWMV0gG1P25GT/YeKXnDD8REwQ6vbeTl1mn0IKUkJpYtqugKntq473cu5JWutkcwhKV8qNsKLA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.freedesktop.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wYfH2f2p0p7UsJOPYBI0S+h3GMsBmwKAfo3hC04ZXvs=; b=EsKQ0wxW6O45Xx2dWDn/y+jTWSsKqQ5t/FtXEach85ybn3SUxksMzM/DLMzH9fqBzh/jMZqbjv4SBZVSGpjiCVHcbE/fmL5Jd7f5CB9QVO3sSqxtlERnNLYpX+dGpL3c8bb3J5dQ+vmbZBRCdbNLVglQrc4QhGbakF3vm95DB60= Received: from DB9PR06CA0002.eurprd06.prod.outlook.com (2603:10a6:10:1db::7) by AS2PR08MB8669.eurprd08.prod.outlook.com (2603:10a6:20b:55c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.34; Thu, 20 Mar 2025 11:18:15 +0000 Received: from DU6PEPF0000B61C.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::7) by DB9PR06CA0002.outlook.office365.com (2603:10a6:10:1db::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.34 via Frontend Transport; Thu, 20 Mar 2025 11:18:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU6PEPF0000B61C.mail.protection.outlook.com (10.167.8.135) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Thu, 20 Mar 2025 11:18:14 +0000 Received: ("Tessian outbound bd61b317aaf8:v597"); Thu, 20 Mar 2025 11:18:14 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: da76cda19740f846 X-TessianGatewayMetadata: DWQRoTS4sdgcjfZTI6/HL9yGyElUJY2GjRbonkkC8RUv1FBai2JWRyHpBjLJ8kJqV+s1lve9haVWiK+Zg8cHkqB2og5R7CH9yZ2YsmJti+mEbrnUjhUZd61n79hfKxAJjwYZ8Kbbg7bV3YwQbZZM2muBUXu32kRKDUs2WDS4RUA= X-CR-MTA-TID: 64aa7808 Received: from Lb15e4ab9bcef.4 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DD4CA556-94EC-425D-8086-CB9C36A430FD.1; Thu, 20 Mar 2025 11:18:07 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb15e4ab9bcef.4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 20 Mar 2025 11:18:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jdOAKenCejIwF+jQazhlqBE906y1e3FwA6MXaLgywbboOEASqKUIkQORKQhcJrucOz28xgE1f7DZi4TdwsH2CT63uUqlsUkUvTg1GKS+/HI60IhIPkMA2a+EIW+WQW987nmo1REwzrLO9Q6yTg/6b9zmq8UC5Q5haCypnmTqsHppK89PSARPKXQbXuNkCLMgkC/Pv9kDoDfkP2KjexWQhP9YUNvQFv1i+EpXAIO3QQZot7/S6+5xYUJp6mp9a+3dbZd1lP1Lwy+uYyqe9c1A+ypuR05xPMnma7uHFY+6OGA2Dfm5KFEXs4Hyh5SVa4Wdpaad7hhNeAEBFa5vJtbcgg== 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=wYfH2f2p0p7UsJOPYBI0S+h3GMsBmwKAfo3hC04ZXvs=; b=XMuVKKth38ZZ9Rw9aS39irc7NEA36W3wmW/m0tuQA1j9+eUlfzDBTOmlRiU8YuC80SXHZ2UmhXdkGV3C1oKdSIgRsMeal4QlU6D4Xj6Oue7VIABnVCBEG+E5IqRs13ClJFI/aiZx9k3UOhkrqyX01CM1uyM6LLG4xeWGVfK4qO2FPxCr4tEyiLVKmk6iw14ZeMVMSXaALNUn2NOCgUExwu5ikjIqCyGZoWmJ46tL1wt0TEYGHPKgqHlN6z/llaPi3/bicndUvEDClTips/U6zX6O3ZlvAtx8nhgXdi3O8Bf4P752OgIbuw1WOSzoAl1BhEOG+rSNMM7wgefH2c0g5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wYfH2f2p0p7UsJOPYBI0S+h3GMsBmwKAfo3hC04ZXvs=; b=EsKQ0wxW6O45Xx2dWDn/y+jTWSsKqQ5t/FtXEach85ybn3SUxksMzM/DLMzH9fqBzh/jMZqbjv4SBZVSGpjiCVHcbE/fmL5Jd7f5CB9QVO3sSqxtlERnNLYpX+dGpL3c8bb3J5dQ+vmbZBRCdbNLVglQrc4QhGbakF3vm95DB60= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) by DB9PR08MB6715.eurprd08.prod.outlook.com (2603:10a6:10:26f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 20 Mar 2025 11:18:05 +0000 Received: from VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74]) by VI0PR08MB11200.eurprd08.prod.outlook.com ([fe80::d594:64a:dfc:db74%5]) with mapi id 15.20.8534.034; Thu, 20 Mar 2025 11:18:05 +0000 From: Karunika Choo To: dri-devel@lists.freedesktop.org Cc: nd@arm.com, Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH v2 9/9] drm/panthor: Add support for Mali-G710, Mali-G510, and Mali-G310 Date: Thu, 20 Mar 2025 11:17:41 +0000 Message-ID: <20250320111741.1937892-10-karunika.choo@arm.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250320111741.1937892-1-karunika.choo@arm.com> References: <20250320111741.1937892-1-karunika.choo@arm.com> X-ClientProxiedBy: LO4P265CA0133.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2c4::8) To VI0PR08MB11200.eurprd08.prod.outlook.com (2603:10a6:800:257::18) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB11200:EE_|DB9PR08MB6715:EE_|DU6PEPF0000B61C:EE_|AS2PR08MB8669:EE_ X-MS-Office365-Filtering-Correlation-Id: 81aea27f-b02f-4898-9d7b-08dd67a0e857 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: jb5DvYkWRoDjhVYmdkHqnE/gLTwcoiYw/muO8M83JP+xWaRwSnkgfhDVeTqCJ02iG91TwIx404iWW+OpmPW/48WfEW68bwda8eBdSQ9TZ7WxzCZgMCqCUBJzpofeiUX2VJrqEopiKyl61o3LmxzrtZuwIezS+jEMAn8F4QiokQsEZxfzr5v9wveO6s+A68eCg5sV0LWzWtcoG9KEDZR/ysI+PtGtuZpf4kJmJYLdQpwz+Hi+eDelKetikUsK9rmsDU3o6gCz7amxmMKb48LlSpvmWTDUVty9pVnJuQFJlK7p0FKyShXzt7LZZA4iRR1rnmpULgz1ZWpZi6qjTr+dcnk7hapgtqV/lz0IfxKAahhobMzXL5zhbOIrxbj8MQwWwQ+I7kxEuLo80ZlV6V65Bmpa5H9vu9dJ4vdjKzVPSBbBxK0Zm3PaXzPJ23sUo+ZZesO5r4L+WqvxanW/cCnLpCLyhvLniW99sprjy6aB18idyywcxmc9hPsxIS6J4i1iYmu8fwBPE7i/2I7SECzm30Aw7n72MQZdu/qXFgbgirgyoZhqX5ty5U1PbRLT/O4VJIHz2NnVhEw67JEMYckMt45dZtgsNiv8wYhaT+kTQw8FSUnx9mVS8lPitj/0KkgqLKQKmWpgB8gSSJpM7pSn0EYgzR1BCKhH7VqGxS0wB4kz8GGwFc1HDHD6hmAXu5QiLYA45nVVjE1HwKv7fO2YWxC65H5JTU2/BRk2TugookLFoNbnMpLBY2yu8fS/hjj3V9jR6pMMckEtyJZF3ygY2zV9eOM3WDpN5qniSEcp5Hzd78uJdZuGHnVo7g9uWaOGm9jQq9tU+iUCHto2rOukr0dRM12syVaGBQOncFwTjLUmaywfoMp95nkgPfmxBkM1iBSW3Ve/Gx3e/jTl9qVEfw+8jFHTeDCKuFlBCGOo3saE2uuaJDXtfof4Qmvvl2XsjY5V1UZRVJmlpUxutMwkde4z1OvV25Fsq0pJ0vCa66l/4wtxA/bUmlmu9C90M7j8+6DGe91tZr16R/q8KkOW8oDTWUfRKX/5s5k8c4II7DCAV7V3ZOhlNXkdHxf9hzDZVmZbOu6HSwTladOm4FYZgw6hNn0wwAVwqV7UUpnkMZiJdK4rckUAoSQN599DIV5fnd2lSFzuMBt+17Z46Zm24O6ePgu2vMt/YFkOyZFu/y0BDDpeuUeU32XugUBfl90Tb5MkUz8ffjirkE52YMF0h+BEQ3pZ04EvzIQEbfizgYP20fjqUFESt13XZLLdMM6fsStg6a23S2Xjh28s6x0PFmm6vznsUa7qBPiptOomIbD07EgXuZUN8OvBjGXzcDl6Yai/wW4pMIx8TvQnAh+SZMN2D1m2dtBGNDiUfrhJ78W1fpLTc08tUgU7/MfG7+uj X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB11200.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6715 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:800:257::18]; domain=VI0PR08MB11200.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000B61C.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 407acb58-ef67-4834-f9af-08dd67a0e27f X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|376014|14060799003|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: 1zrfcwt+uWL5buYFwdL9PNf9cYbTyxTblXTNBxG6h5vdjhmmF4FwHOQ480dkbo1iRpcztoB4+oloDwz9Cfs8IivzhJbM51kUQMu77MAiEvYgs4GlbMuXVFBGiArttT/6ek7cbxqcb8ziD+8Cj598/GlgFSzxw9EhLONfoRZsrMpokEAcWLDsdpqkpLPhQcOC3reHvWBfVh5n5+Wa0fsm3HhZHe/ziE0LCVW8+1X4NLQsCW+IXdtUvBtADAwf7cK5LAEGAIpzaL06Dtg4F6fzM6plpC+YyTcbCD2lQb+5BDz7kLUamDz3k+N/rRMzHQ4DdRXU4+76y5yIWpVst6WnzxiPCY7NEqQzZPN6gLTqJURZ9BJcBkFO8sCp4NLBCAdCL+s1KBAikRg9s3qiMUjFtzV5zHCN1u4m1qOOA1c2CCA53WQiYIRLQ40vQ9Kl4PZkgvv3Lwk+yz6NUOOdOPR/jZFN99M8nkGBxXsop2AfWPaSx57KmpO9vNxdpOAsPYNFIMNExF28N2SWSErIOpihjmOW2pGA3d5k9Yh3RM16ZCpiifm8Hz3JiY9nmbqWHpqx/DSyFlHb8XoIGblTHFE25WBTXbHSYvmjFuLoOaHe6yZq1h4nNFFW+5WJqkhW9uQQ2jocJCMInpt/Ptzs8LAZYPQi1Zk10uKPljxZ48cIgVc/TvdWwFxd98hKQ1VupI/wd0nn2guASaFfnrLLoJBYXhonn9rFj+nwaPVu2w3nQpR8gHfVxcjSrI/2wITffq//QgC7qE56Px2GG1c4dVF7/FRVFX3qT0U7DDorR3zNA0nKAcGFTg8ANqw/g8l0Mod0JqTpWup8yHI8oeHsfUtmYw61nmkaUzSWNlS6EY4TZWylAvXZi1SY9tyJC+vrR1cuVtVKE1wZWOsg34G1Nf6JdRFMay0ZtgNfoP6l2TYiZYQbAFXTbUD03XrbFawhFXJlQnj1GdNla78EM/fhZhNnyVSrHiDpo60cQoap7WsmnDU2hnWE4yA9i8ukf3Zhtv769blXDd9vYYjObeUn9ZL8VRXZ905tDE9OAF5E+T+KnZFRSyh37W96+alvJQqbl3ZY3IFI9sYO815NOVW0q/5yJaevYQhv3RLnbQdbnbagJjxRRIXip50/u4bht9QbiVUg98/AJjG5C7BP1SUIUr638hslosLKMEMK6nu0alvRMqSgHxjuTnn9MC2ABnLvFwcyDRHMzhsZsqzBl3UDSMjIID+2mXavIpqTREIkntNJHwHpc/0Xh8ekLs2+4LiTyOH/CdPg60WTgWVQyh4YfxcsNrBCgYu100IvwP7TwLyG++UxjMVx57TRDe1EgGWkMQPyCO9poE8lAQ6/yez7C/LcHIxHVVZApL9mVDehxdS9RnKUhT+67RqWlpZJ8ltBSHUUldKoAed15P8Fq4AudA/A3kqnuwODkjRcDwcau6DS3gMRrBywSkmF4OkGF/C3fOvvgA5XyQpr74k6DA3VPhNbhKb8O+OxOOgY7gA6TaiVef4= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(35042699022)(376014)(14060799003)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2025 11:18:14.6806 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81aea27f-b02f-4898-9d7b-08dd67a0e857 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF0000B61C.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8669 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patch adds GPU model name and FW binary support for Mali-G710, Mali-G510, and Mali-G310. Signed-off-by: Karunika Choo --- drivers/gpu/drm/panthor/panthor_fw.c | 2 ++ drivers/gpu/drm/panthor/panthor_hw.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor/panthor_fw.c index 8a967af0e2b4..7050adfaa8b6 100644 --- a/drivers/gpu/drm/panthor/panthor_fw.c +++ b/drivers/gpu/drm/panthor/panthor_fw.c @@ -1398,6 +1398,8 @@ int panthor_fw_init(struct panthor_device *ptdev) } MODULE_FIRMWARE("arm/mali/arch10.8/mali_csffw.bin"); +MODULE_FIRMWARE("arm/mali/arch10.10/mali_csffw.bin"); +MODULE_FIRMWARE("arm/mali/arch10.12/mali_csffw.bin"); MODULE_FIRMWARE("arm/mali/arch11.8/mali_csffw.bin"); MODULE_FIRMWARE("arm/mali/arch12.8/mali_csffw.bin"); MODULE_FIRMWARE("arm/mali/arch13.8/mali_csffw.bin"); diff --git a/drivers/gpu/drm/panthor/panthor_hw.c b/drivers/gpu/drm/panthor/panthor_hw.c index e6354304bbef..6f18b7420f90 100644 --- a/drivers/gpu/drm/panthor/panthor_hw.c +++ b/drivers/gpu/drm/panthor/panthor_hw.c @@ -49,8 +49,14 @@ static char *get_gpu_model_name(struct panthor_device *ptdev) const u8 shader_core_count = hweight64(ptdev->gpu_info.shader_present); switch (product_id) { + case GPU_PROD_ID_MAKE(10, 2): + return "Mali-G710"; case GPU_PROD_ID_MAKE(10, 7): return "Mali-G610"; + case GPU_PROD_ID_MAKE(10, 3): + return "Mali-G510"; + case GPU_PROD_ID_MAKE(10, 4): + return "Mali-G310"; case GPU_PROD_ID_MAKE(11, 2): if (shader_core_count > 10 && ray_intersection) return "Mali-G715-Immortalis";