From patchwork Wed Oct 30 22:54:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akash Goel X-Patchwork-Id: 13857279 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 4BE08D6B6DD for ; Wed, 30 Oct 2024 22:54:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B186510E811; Wed, 30 Oct 2024 22:54:53 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="YzZPD23v"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="YzZPD23v"; dkim-atps=neutral Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2066.outbound.protection.outlook.com [40.107.20.66]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67AE010E811 for ; Wed, 30 Oct 2024 22:54:52 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=EHLT5xqeQ4e2KFDp2fMyKdNxvNuYxj2n+MDAlrkcuLfDqL0xdWzp8V1bDA44Pcd2bU/lXm+E4AosU2C6EaBdxaN/JTJ6WWy3oOWH6q/5w6BYRJY7zTXnzsFzZXlFUIE3D2AWqfb9pwcOMzaPs18xfyUP8wrR7/zx6uqgVDf4FG3/Dm8m8wR8P2S/b50uhkSFN+TFNTJ2xBDKShwMhb/QJ3fnSKoVe0Vx561GYS/FiB8/rZpBES00gpmdahhk2Y/EEKiUfs5oKA8TRyBjVn7Iu7JEb+Sx9PMpVDgAaWl3wZf+420+HHMAk4eqj6dCPgIzj2vcwz1DuUUCqPVCJYAFPA== 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=WWueCNyZqVKU1U8x04wH5AvoTaQVzgpJQk+LfwKyuiM=; b=URicetilYVTRJai6ONmYnUur6BImHebZ6xps/0DNqvL/xWK29F+X0hoKwl8onQM8pT06LmHuonQE/I480Srqc8w593gZvWPtO2FDGVgi+x6tGpJQ93zLTBES8l5jOVOFnxSKM7lKSlGEcy+p81lNdljikUYnlIO+PUmNC2BcBR9YiZnbBvpyCRWFOwa7yhvxNA8Jj25TnGpcgnuEzYvnYRhkF/OhoFY+NGlIouCj+vShT+Tz9Amy9wblVR3sGaYuQGbRWEzXsxl6z6VJiGtmgRTSzbI3bJNC8kbnrHbpI7TiuL6o2gWXg4QZOokqhEtJLZYCDxUbkxIbKz/mZ5T8CA== 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=WWueCNyZqVKU1U8x04wH5AvoTaQVzgpJQk+LfwKyuiM=; b=YzZPD23vv0OK+rfzkyJXgCVFz2xaQ3XQ7V3uK6z3mwzgauUEiOVm1OfgAIl9lH1kmvoMaFb3e5PAPQUFGTWr5rnC1ejhng1AwABbukZBbhnFZ4pureWD2Owe5VH/sfOGXrJEUkzAUh3pzUhJfF4+zfhAQizW3Y+Q7XkowLHnLm4= Received: from AS8PR04CA0172.eurprd04.prod.outlook.com (2603:10a6:20b:331::27) by DB9PR08MB7494.eurprd08.prod.outlook.com (2603:10a6:10:36d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.32; Wed, 30 Oct 2024 22:54:46 +0000 Received: from AMS0EPF000001B7.eurprd05.prod.outlook.com (2603:10a6:20b:331:cafe::46) by AS8PR04CA0172.outlook.office365.com (2603:10a6:20b:331::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.20 via Frontend Transport; Wed, 30 Oct 2024 22:54:46 +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 AMS0EPF000001B7.mail.protection.outlook.com (10.167.16.171) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8114.16 via Frontend Transport; Wed, 30 Oct 2024 22:54:45 +0000 Received: ("Tessian outbound 373849c2df5a:v490"); Wed, 30 Oct 2024 22:54:45 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b1974b11ff324607 X-TessianGatewayMetadata: PttunnHR+72Uo1fcXjn3+Grq/JxzQyqai4/oDqYQZcAYiUjZGruWWFTVEhkJFuOUMv7iWRXg280im/pEw3wfj0CkR6Giwn7LOyLKzXyk9RsECV9tFmzGRgFV9s1B5z1EzQ7DuAomQ08g9xd0MW5VoPLDVUEFNiTCm3MYU0DSAmQ= X-CR-MTA-TID: 64aa7808 Received: from Ld3d405e87095.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C3FF211E-B71E-4BF7-A006-6FEBEC8435C1.1; Wed, 30 Oct 2024 22:54:33 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Ld3d405e87095.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 30 Oct 2024 22:54:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oQBekIozVgpV2XgJI8D8ZNobUyRgNgoFVLGTuncpvs0PELSBDgEMdsJ3T21FBPYhRwIRwSt5iizN+ueGEW0LOkT2DOkarZFdqEm8KwOpFwRUNqK1mvd55kVwZ7G1vMeu2Batz7P5NzksjBJvpDXTgE0NvBIQeAvgLjlYN6Cs6+exM7ED3gOE/mB4e6UBbVOKmp38fTOwhfxmGG3ATe0/tBC24x+qphi+IhIVS2mgHviIu3njN77XCZ9bvrwmR82ms9gOKhySdMlcQMhbF4N7Zuh8oh8LAHaiQHXt6g5DFVwLdAcWr6yaD69/H0acxIFm9CB+USE+eGYQm99f5oV6RA== 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=WWueCNyZqVKU1U8x04wH5AvoTaQVzgpJQk+LfwKyuiM=; b=YbMA9LcD8sU6YKwVCOxoLRnbCatMuLeqVG/BZjAgCYgfL5M8t2mIyOeYZ1QkATLJzATEBbd2v4oSgM2KChI+YJvoRjkcu9IyM2yiBDffqZE3Ewefnp089w1E31sjfntfUIrs25Pxo0u69nu2x8Qg0zHgu0rF/Sf7wmWLcgGNMuO16CFcqAXdZKNiZzXdTEMSWHtBymtF8WDKQmsix6+7syHO04rlx9ny296RhcV2fk+hgDfyocoO+Yg3PA8kI8eo9v36A9sCGdGXC2yEEIMGhMqNbkz4gHYIm5SV9jsk7zN4wkZsFI1g7VXPHqtCooYd7sKnIHAnCh4Bs0oF7F9Srw== 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=WWueCNyZqVKU1U8x04wH5AvoTaQVzgpJQk+LfwKyuiM=; b=YzZPD23vv0OK+rfzkyJXgCVFz2xaQ3XQ7V3uK6z3mwzgauUEiOVm1OfgAIl9lH1kmvoMaFb3e5PAPQUFGTWr5rnC1ejhng1AwABbukZBbhnFZ4pureWD2Owe5VH/sfOGXrJEUkzAUh3pzUhJfF4+zfhAQizW3Y+Q7XkowLHnLm4= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB6982.eurprd08.prod.outlook.com (2603:10a6:20b:415::16) by AS8PR08MB6182.eurprd08.prod.outlook.com (2603:10a6:20b:291::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.32; Wed, 30 Oct 2024 22:54:31 +0000 Received: from AM9PR08MB6982.eurprd08.prod.outlook.com ([fe80::5d5d:a4a7:198c:fbdd]) by AM9PR08MB6982.eurprd08.prod.outlook.com ([fe80::5d5d:a4a7:198c:fbdd%3]) with mapi id 15.20.8114.015; Wed, 30 Oct 2024 22:54:31 +0000 From: Akash Goel To: boris.brezillon@collabora.com, liviu.dudau@arm.com, steven.price@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, mihail.atanassov@arm.com, ketil.johnsen@arm.com, florent.tomasin@arm.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, daniel@ffwll.ch, nd@arm.com, Akash Goel Subject: [PATCH v2 1/3] drm/panthor: Update memattr programing to align with GPU spec Date: Wed, 30 Oct 2024 22:54:05 +0000 Message-Id: <20241030225407.4077513-2-akash.goel@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241030225407.4077513-1-akash.goel@arm.com> References: <20241030225407.4077513-1-akash.goel@arm.com> X-ClientProxiedBy: LO4P123CA0533.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:2c5::18) To AM9PR08MB6982.eurprd08.prod.outlook.com (2603:10a6:20b:415::16) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AM9PR08MB6982:EE_|AS8PR08MB6182:EE_|AMS0EPF000001B7:EE_|DB9PR08MB7494:EE_ X-MS-Office365-Filtering-Correlation-Id: 456d61ac-55b1-421e-09ce-08dcf935d99b 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: wMXwZFs3DTFtroiX0TEFD9V32DNqCo/NXjekzLpLbdjaF5rW/LhpylStd7k56w5VQO1kkRQCJyLZdTQwESjS4tdMj5d81Hh+kU818iQnAhKZJLb7unplDYYIMbz+63FQX9JbENobhkTyNQ70Wiqox6S+gxTAqWQBSOXfdmCGKjYX0+yTtuHhJ/W/a9CyN9F9g0hZ+j01tkR5HyzTDvm3NC4cGeHTNkFJ08tlIHJqW+jOLQsnGvC83emukVbHCWSg7VoebKgFr95xXXMwynR2OhaAu+BMWRgf7H86HgDq3uN4Vz8jyaNOBcW/nxjE8X+HdPLXimJRBBDY4eLe7v1kpKlII5ZFRZgCbHd/o+y0YxJ6adcKYPp/aoZZ9Yd/1BKU9v7yn4/grbYV4pahg2hqAIvYS2rom1aF39EEh5q6Ybxg7yUHcNmog+aQB4WDDE4BmkQ8pohEfi0ImBGGpFY6r/ZLiWQKEOWikxiqn7D5BDG6cL/Bwm6Uhm5QWDmv152bUBzSRK1/jmT/2fX6szcHORokqxXwyB5dl1JQw09xHyfCf7Ti8CbV2SOrmdYsSu4kuVbp12dtwgnuF9Yrx5lhhKDNnDw8axJeexDFPa5wGQjVQ1CTSSoIcq1WMKhFMTzUIGvd/pU4qeQ5lipWL2VUvXZwdBlAIa9uwus6vO2/uR2D22Jzej2y9EBPgSOKjqYs5nN/fMBv6tQn9cUENg8keqW1hLXnzf2uoYf4TtBeirgAFm7uuIt1SB2VUpB2gWj9onmvSv0PuPmpCZ6rljTakI8HISHfiaY16sv51MPpXEGyW8D5DdyvH1+gmZT8aQF64FpCl+ovklPZhimdEkDePBpZwwrkBqTxnQ6eIHxIRt8dkc3CBTKsE/jFywJ6qMPm67PPubUE7R72+SUldy1vJTGu0I8erAIGcgEj2boDfFguz0BL82QWeZT7d94pDlZa757l/MDRPjUGkQtRg394xrwX0j4oejv2AUpO3HdF5fguZBlCnbQ3u5NZ18VPU5jvx/vb7fdAYZdYW2HsM6TY1jAJ6D2FIn6M8FewnH8WJIX8kwaNqncIyVOjpLAUnNLZU7ACySrw6OtrbQy7B8Ucm12RWE/Wmt+1QJ8a8dNOKkMkzr21Os77kwrDVVBVwOBJRFBxq+RaKLQMsfkWFwH7bGC1FfP/uUjAYQVzBCoSC/jpHHOPC6B7/VXNgyDHBfPOQK3ClggaUXne5QGr41mjezAUfZkkY0mchDWvj9/2IgV127R1QnPJHEbLxEOYqVxXEMlBkyqdfc6UVLcaKVkRGwiC8jqrMwueGJGJJ5SuSC5wrEXPjzs123u3YgPyZLtf X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6982.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6182 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:20b:415::16]; domain=AM9PR08MB6982.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF000001B7.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 778ef862-344c-4838-dc93-08dcf935d0a9 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700013|82310400026|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: /IxMKAvHwzviaJvNPJqahCvF2XkHETb9D4/rARO1+Sh9dyYrfj90YoYTnads9PZ6IoWZ8gMIUxIXBOafVUBBqgi/YmAFteWcgJME+zp2ZbuZMgUFp/PhS72qmdgH59AIJ+VHafq7cnb4HCbe8/jyMs8TjbM48geCVt41Tld9LwcGGJrXhxSatyNnFEWIznCWcQ62lY2akN3hkHyepHMRuFqNGSd57sDCsp6alkP7ckiHr85XPv3Q/laaUaHLnYBzyx/19gRtwlbUs6FFxZhI2NiqusGOmhv2HIFtDexyKnW13tEHDah/nGmo8nqhs/16VcnQ+0O77PxEPeWokMTy+4NSymhhJRAm10DaS++yivGptqTpVrDFYZSltCWrNXHZzma5KU5UmAh6Frb4uKfYnRZKcA1gcOaIgPVFrZS7MwHIhEhIkHoYKPjmFn8DSvu51p4SbPVmJjVnlV/BTM7N7EX/1jRxMK9pDJFpoTuknFNFOijFCAONDScuS5vxhuOsAosvz/j8ZrPI4A4gADO5au12fMMxzG3CU5joGYWAUWDtmxYoha9VEdW8jDTswkIw6OMRbAWZ9TxB2WgY2DuuAmszTZcl1NC8f3CMeRCbhtnCe3jIjMTuhPw3fnVzp5ED8WXHDFz7mVZL2S2RqhWu77HD9p2Mvvhx50kh1KWKzodplMexf8lTyYd8ajDVinx1qW6k/+QyliA9I0hGYXPspbLPWQwT7mLl/YKqQ6VWCd3kFLFU2ztlAotRV8eiMrxMIBwBbhbia7OguX3vjeckh1G8+UyiU1p3kUrgvsckSMBBPi4dlFBlQuMGgkao5bdl9X0krWwOnORBXLCYZdlGh0Rwekoz2xCzATpCtI7HDLXmhFhYyj/eMOhFQDnqh6Uy5n+dO4mz+gRCmjTBL7pUYGGJNT661YS8ZJMV53zMeRikbMNrJq/wMZ4z0MNUiA8kuah2d1ZPElhkPl4T3u6+EZyMPZn01TCmF6E0gtsPxIXHs1vu7qSV7CPnHDQqmyo+77fwUWux100LyUOQddQD0n3oaWNW44tfg7O0uf5cteaj+0fOQoECZIrCrRAo0Fb4AZNX4sG5vZXVMrJtnUaxn5Ee/5ttUiPQdKquA2ZlDioVeTu3qN8/0Sx+YpZAVv12pqVEZXlMZm5SspPIh00SacAbk4O4GCMdtqjmmpATqmSG2cSkYMqnhHbjxGguEpishh+OmbUaSDOGh7shDSuOdLj5WzOufV34oBGqFpJy2jApLc+87XTczmWI1qh/89zyuVi09NozvLn1RpRmFc067zag2QsVCZDn7zttmPEoJ0Iq/wzC3M4aSZwfftSjrE+3zPbHtpb+RNlero3xghaMFsnxMA7VhRPCTdMjPSN5VMft6z1xl9xBlXxIuxTcB8NZf8ksKFzWFJzDu/xyhJmT9w== 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:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(376014)(36860700013)(82310400026)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2024 22:54:45.8698 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 456d61ac-55b1-421e-09ce-08dcf935d99b 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: AMS0EPF000001B7.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7494 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 GPU Arch spec forbids the GPU PTEs to indicate Inner or Outer shareability when no_coherency protocol is selected. Doing so results in unexpected or undesired snooping of the CPU caches on some platforms, such as Juno FPGA, causing functional issues. For example the boot of MCU firmware fails as GPU ends up reading stale data for the FW memory pages from the CPU's cache. The FW memory pages are initialized with uncached mapping when the device is not reported to be dma-coherent. The shareability bits are set to inner-shareable when IOMMU_CACHE flag is passed to map_pages() callback and IOMMU_CACHE flag is passed by Panthor driver when memory needs to be mapped as cached on the GPU side. IOMMU_CACHE seems to imply cache coherent and is probably not fit for purpose for the memory that is mapped as cached on GPU side but doesn't need to remain coherent with the CPU. This commit updates the programming of MEMATTR register to use MIDGARD_INNER instead of CPU_INNER when coherency is disabled. That way the inner-shareability specified in the GPU PTEs would map to Mali's internal-shareable mode, which is always supported by the GPU regardless of the coherency protocal and is required by the Userspace driver to ensure coherency between the shader cores. v2: - Added R-b tags Signed-off-by: Akash Goel Reviewed-by: Boris Brezillon Reviewed-by: Liviu Dudau Reviewed-by: Steven Price --- drivers/gpu/drm/panthor/panthor_mmu.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c index f3ee5d2753f1..f522a116c1b1 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -1927,7 +1927,7 @@ struct panthor_heap_pool *panthor_vm_get_heap_pool(struct panthor_vm *vm, bool c return pool; } -static u64 mair_to_memattr(u64 mair) +static u64 mair_to_memattr(u64 mair, bool coherent) { u64 memattr = 0; u32 i; @@ -1946,14 +1946,21 @@ static u64 mair_to_memattr(u64 mair) AS_MEMATTR_AARCH64_SH_MIDGARD_INNER | AS_MEMATTR_AARCH64_INNER_ALLOC_EXPL(false, false); } else { - /* Use SH_CPU_INNER mode so SH_IS, which is used when - * IOMMU_CACHE is set, actually maps to the standard - * definition of inner-shareable and not Mali's - * internal-shareable mode. - */ out_attr = AS_MEMATTR_AARCH64_INNER_OUTER_WB | - AS_MEMATTR_AARCH64_SH_CPU_INNER | AS_MEMATTR_AARCH64_INNER_ALLOC_EXPL(inner & 1, inner & 2); + /* Use SH_MIDGARD_INNER mode when device isn't coherent, + * so SH_IS, which is used when IOMMU_CACHE is set, maps + * to Mali's internal-shareable mode. As per the Mali + * Spec, inner and outer-shareable modes aren't allowed + * for WB memory when coherency is disabled. + * Use SH_CPU_INNER mode when coherency is enabled, so + * that SH_IS actually maps to the standard definition of + * inner-shareable. + */ + if (!coherent) + out_attr |= AS_MEMATTR_AARCH64_SH_MIDGARD_INNER; + else + out_attr |= AS_MEMATTR_AARCH64_SH_CPU_INNER; } memattr |= (u64)out_attr << (8 * i); @@ -2325,7 +2332,7 @@ panthor_vm_create(struct panthor_device *ptdev, bool for_mcu, goto err_sched_fini; mair = io_pgtable_ops_to_pgtable(vm->pgtbl_ops)->cfg.arm_lpae_s1_cfg.mair; - vm->memattr = mair_to_memattr(mair); + vm->memattr = mair_to_memattr(mair, ptdev->coherent); mutex_lock(&ptdev->mmu->vm.lock); list_add_tail(&vm->node, &ptdev->mmu->vm.list); From patchwork Wed Oct 30 22:54:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akash Goel X-Patchwork-Id: 13857278 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 0C14CD6B6DA for ; Wed, 30 Oct 2024 22:54:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 66F0510E80F; Wed, 30 Oct 2024 22:54:49 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="k9VtfyeZ"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="k9VtfyeZ"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2041.outbound.protection.outlook.com [40.107.22.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B6E010E80F for ; Wed, 30 Oct 2024 22:54:48 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=t+o/bKGBT7p9kEYqoZ/pxytzxu3EOeQTKBhDqdOGF4/DDllmAxMr/0Pzptg6rRaPjYCKs0/FrYTQdzDWEzVP4CwlYNVQziTbmzXpkJtPdR+/kiNT1wM5RHS1JV24MYAWasse2HPAHw6W9ZjOaq8PjWlkqafyGXwb+xMXw+mmUdHOUKVftr0dzLcM51S47owJsyAeVuXSjrz4cv/b22WH4QGqJKmyEiwYy3qYzaRqqQ1X/mju/Pxf6enBgkKRmuELDmcd4cACz8qEdcjRcsDXzxplY52QijAadq+9/iNAQ8fXq0rYN7NBl6iwu66+llxrfSNm9Ji5nUdyg0DPQxzmvA== 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=zMjEiFJDS7pfTQ12HBPYix4Wsu56U4W7SjBRDXijWKs=; b=F5H87Mk27sentn21TXovgU9/L3zmL4+v4Vh58+xe70aXo85ISnKGDeyh43HFj5Y4bcR3852vjqPZztq1ZoabSk/fLW4Sy5eLSRNxxgB3SbQ6x0SQsOiGVUEih9XD/u+NtO2SIEi5RhILziitV3QqIfS3jqRmrTPaGjyXJFc8J7UQXXMu5OcweYEkZ+0U3NEMQXQtrdNIz7NNu/LGjm0avOrkoow/UtHpDqEFKBfYY6a/eoWNNXDDY8/1YvGfHIMG9PIShuDrfR7QRweJblvGyZGGFVkbWH1RF/Zkcv0Lxlgr7LqYEF5M6cJv5jpij4weC2pGeiHotxECwmj5b089sw== 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=bestguesspass 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=zMjEiFJDS7pfTQ12HBPYix4Wsu56U4W7SjBRDXijWKs=; b=k9VtfyeZ3lyuuNbXrCKSEicvE7ljva8lMrTpanchBOgSXKqfZFsMg+nOuylzC5vt6SkKvywzpNN9WUe5gMXcy5YSDQIG99470+P8czwFgPvmcPJAKcYmy+O0PJPKER1hxVGe9RNbHBWwwlR40FD8EPxaHHLkznf3Hxa4D+jdtlQ= Received: from DB9PR06CA0019.eurprd06.prod.outlook.com (2603:10a6:10:1db::24) by DB9PR08MB6585.eurprd08.prod.outlook.com (2603:10a6:10:250::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.32; Wed, 30 Oct 2024 22:54:44 +0000 Received: from DB1PEPF0003922F.eurprd03.prod.outlook.com (2603:10a6:10:1db:cafe::a0) by DB9PR06CA0019.outlook.office365.com (2603:10a6:10:1db::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.20 via Frontend Transport; Wed, 30 Oct 2024 22:54:44 +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=bestguesspass 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 DB1PEPF0003922F.mail.protection.outlook.com (10.167.8.102) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8114.16 via Frontend Transport; Wed, 30 Oct 2024 22:54:42 +0000 Received: ("Tessian outbound 4f9bb016c0c5:v490"); Wed, 30 Oct 2024 22:54:42 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 2d4efa4434dfa321 X-TessianGatewayMetadata: Rx3sBlQ52DKUc3Zt/UamjSRSV1wsJv49TempBwChk16twhk/pi2oNzg97zmHNbBYt9gOYIPcarHfxe7o/VaNPQiqVSIpmML8NNmK/zJvJDEic7tPGzBqG6ozWQkwrbrecHcaxAhHLPFpoXo2lGVtJ5Vho2FnHQNbNaQGxUI/Swc= X-CR-MTA-TID: 64aa7808 Received: from Ldd73cf7404fa.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3A86D0CC-2661-41AB-8984-6760F4569D3F.1; Wed, 30 Oct 2024 22:54:35 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Ldd73cf7404fa.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 30 Oct 2024 22:54:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B8rIGdu9iEA+obyC8FqNK1/cT25duO/ioqTNIzJKGouTCneJvAHAN4g0fAV2p6ZSoNfXPzcdeQzmrrjUwGR8jcJD7t+5mNbPStnTDuwv1nOb0lRX1n9w42BWR+8LCES9tqMug9PMP+D2vutza1HXCCOIAfkWn6SAhO49P1+GrYwWw94zOoua1q5sfCPFYocciSYnCgRxIw/XIVP2b/XAY46hXbw2+yXk0E6ygurDj5YdMfJDqFTeWeYcGZQFVDcvP8ZBIK7vZhMkZ8k8kMQm33rqglxuV9iNY0xtbzYw6pezCUCA+A9kILshXYYMxHCMtWjiUWCpT6AI3Rokczjcow== 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=zMjEiFJDS7pfTQ12HBPYix4Wsu56U4W7SjBRDXijWKs=; b=Y3Q/h40UJA3SSIfDDoCKwuZN+BlxtWj+ZyNtZBF0HlXHbC8CkxMyaloZDlf5Rkd6TIbHU1wZsY+rWXD/6Hf65pvHRaLBNEv/ojzzyoD+2MqumXdvYc5ti2GP7uQepUB95rmPXVJDC15roFrM4S4cMBcVsAGs79WE8SP5C2yajViks7K2bO5wNDrGO01L14vWDucViev6Zt+WNvQHxn/3Njq9nYh87zFTt6s2JSQh/SFBBu8oHDjOrUePRLgkAYkNbmeren25bPVm9sIfu7okmsZzGKawdRkzyZXEy5xXRlMSXiUOzBQyw/jvqomtPZ4W7qpdJm5ohqmJ7sUlWe9E4w== 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=zMjEiFJDS7pfTQ12HBPYix4Wsu56U4W7SjBRDXijWKs=; b=k9VtfyeZ3lyuuNbXrCKSEicvE7ljva8lMrTpanchBOgSXKqfZFsMg+nOuylzC5vt6SkKvywzpNN9WUe5gMXcy5YSDQIG99470+P8czwFgPvmcPJAKcYmy+O0PJPKER1hxVGe9RNbHBWwwlR40FD8EPxaHHLkznf3Hxa4D+jdtlQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB6982.eurprd08.prod.outlook.com (2603:10a6:20b:415::16) by AS8PR08MB6182.eurprd08.prod.outlook.com (2603:10a6:20b:291::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.32; Wed, 30 Oct 2024 22:54:33 +0000 Received: from AM9PR08MB6982.eurprd08.prod.outlook.com ([fe80::5d5d:a4a7:198c:fbdd]) by AM9PR08MB6982.eurprd08.prod.outlook.com ([fe80::5d5d:a4a7:198c:fbdd%3]) with mapi id 15.20.8114.015; Wed, 30 Oct 2024 22:54:33 +0000 From: Akash Goel To: boris.brezillon@collabora.com, liviu.dudau@arm.com, steven.price@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, mihail.atanassov@arm.com, ketil.johnsen@arm.com, florent.tomasin@arm.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, daniel@ffwll.ch, nd@arm.com, Akash Goel Subject: [PATCH v2 2/3] drm/panthor: Explicitly set the coherency mode Date: Wed, 30 Oct 2024 22:54:06 +0000 Message-Id: <20241030225407.4077513-3-akash.goel@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241030225407.4077513-1-akash.goel@arm.com> References: <20241030225407.4077513-1-akash.goel@arm.com> X-ClientProxiedBy: LO4P265CA0102.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bc::17) To AM9PR08MB6982.eurprd08.prod.outlook.com (2603:10a6:20b:415::16) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AM9PR08MB6982:EE_|AS8PR08MB6182:EE_|DB1PEPF0003922F:EE_|DB9PR08MB6585:EE_ X-MS-Office365-Filtering-Correlation-Id: 9afddb1e-2a30-48d6-695b-08dcf935d7c5 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: jVF3gbCcPHnEAfLzsW8h6WTZOUNQKj8sDk4OvjxHNOWqYDCFqxT5WJHE0H0/KX/hjmG/f5RbdOzvitOkKjrns8dKLfMX1XINaVBSlwS0bgEc6oFdRQbWIZa0rfnIqwv0udr5uoLhU61R6GiqN46coXGUUCDBpBOh3KLEfvXGYRD64eC6wUUlBxVQXELmgB0WHI5rLfqTl1nk7iAdhALXPr+9kQGV5Nwusi12bvMNedoYVJM7nbplEXnhKs3oflrbW2KHukoo5QWaVSlAjo26KCCelrj8E+sIiIT86As3oDotWoLo/l35tROZqPgVsmj7Kf6qGYhL+DKtW0W9aS7u1v/zPXu9VIpB2UQ97pBG5ddPex0SzElPdbv5hAYnag65Vh8ZPjczPmqd/pj/wxM7rHgCDKANPRsb39bRz/K5ZFdToTNVrKqBzeHgmE1Gc6U23nY9Fj0pAb1dg6gDO5ub/Dk+iw0f4R7N43cIf7E/C1qt3HHM8VXnUD2Z3gRjnAoTiTMsqPx6JVcvkmVoiJkzHsPNAtlz2J21C/GrwPDeatGh5CksJU9uRLCIja/AhU1WWGBsvyB1qIQTP6ic+PP1wW9qTgYYoC/2QiQiXm6Oa04DSIhsh9ilYu7FBGG9QnJPrIkfaaRv6+CTC2OfMJd/Pyjm1PORmA8nZ0YoVgzZdxHzXGmPCBcCnkT1pYPKblb/RZ2HeYHhpnPfItVqZMAuQRlpaApdWc3XxN6Sz9bSZ3KSom93++TWSJqLDB5lgH/w1DwCw4A96ErH2rz/FCYQJsfpgB6cs4tU0FWHJlQr/IVCbBMO0UmrokN1d+9JWdKtVkE6+fr4rY8UBFPpdxgG0/CQqr0tjqBHBAPKCk+Cu4LSAvV7xo4+3OBinr6vsRJ5jYz68Ouy7v8YvzKow0EpmIVAPyyrnXPXWVm9RlH1ziBHfwqq0E2/03vb+CBAFnRxxqcRujn1F8Sugdgp1pf6FlIV7rfcsLLK8lVdMRG8w+LXg61y3/NXtDaP0TEdREiKrhIGs23EdcZQGyZii7aeeimkeqQ3Oa85OjsPIjQO0MkyepbN7nc9ExkwbdV9tZIIGBH34JbuZ5kPKSClQ7Hu17Lt1N+Bsxj9hWi+b68bMSAIPIMfHOjpSLhS/jSn1whZlojrnkGE5edC0aTzLy4OU09jRRF1gDf+cwB7YkaNZ/ENNxSb23sWWSUtocgm8Utu21EQhsPYtI1xhV8IMX9eEWSjq2QAZ7wt2nCn0m1+/y5rQ80TVU81pzXIODo0f51y6ax9IhFBo2mh9aST9wM6HKBrn5LpN0YOlRIaLtK46o0= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6982.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6182 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:20b:415::16]; domain=AM9PR08MB6982.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF0003922F.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7fbaa608-e7b4-4f46-3ab2-08dcf935d231 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: 2JLYIo4qr57330WdIcalM/HhLI23n76WTsuIF8FFlHkUr1FEeu5y3GF6cCY8ejnjIqVIUp/y2esfSVDfhZQXzE8NB9vvabzzLoZOp6cBFMjJVZfLgk8F7c0QM3VLrOJc4vYuP+KizG9N3nG6crA7Cqy1yj/iDGCMUp2oMufd1RFah+v1zJNwq7aTCHwIW1Kn057SpJ26W1bjwRXj5th+Mjrk7ERppk7GGgKICFFuK5ViyVAPhTO4l6lMQ8Xmrheg7YZ+IbdXt4kyplnBGYc06+KDmT1D1wMUkanZ0OufSp2d3Z1GIDUsq3PYMtX/c0T5yQnS2MJ35k/HXrKS0xaxq61Ex9mL3YM2GftnAg2oNCWAVHG87OBeRstud1Fvf6Q7oDXZeMNmN768rrS1rptFltIb+wsKu1HUKJHzgDV2ChkDEFCp4jF3po7elUJHYfpoxVM5qFifZ3rnl5Nm5xn3F+Vs3VU/zQmmd9C2cuEgx2aVDtJIth64aHQGbvfD5volmsE+A60WKkzZBjL1U7W1SvTo6dH0y46lbw6kwqYi4guI1EXh3WKG36WthO+FfwRH9BEZHtWFlhBGch3wOtfX9VPVR+408+Y+2sKMydHAP246tR+Mv/E4ZICFjZ9aNsJsUgqsV6BucqppXhz6wdrNLRcYlMt/0094pkXyNJJ4ybbTp2l0nGWKBCz9a4Uzz+1TlxQRNUd96ZEVo146tHORGGHU5VRFBJXjNWR8B4Zp3lC8DZVcDrrxjhWO3DbLb5JmXFAety7jn1slaRmnP0Y66i1IVRLZL3wjRMPQPFo98O0TaicocXWuin3vvw2HMx9COgaIZ1bNP5BYIaTjiDiNFSYe8rUqfmRdVo/2ggDYdRBB2QtUhMpTNVsrMi0qW8Cxpk329U4pfhD3DVzpBH5PJ2JbF2ZX8fqrscMZdzS1GAt2W4XMVqK6egoru7p727vCPGNwWDywVluj3YquPakHhcViH3aqw2rkr/mY+JZmTJTvGE06zZAzh8hobn/l+kzpXCfjNe/mhsTCxkBtM0S1KXpK9ngr6WLUpvChBHqHtcGYcxpxaJCb9XhZBWga3SOto3iBiPB4tzvYSY6LVR5ZFWTuygTTXgleWFvipXdTMyeilTaLWpruiTQGI2OGH9vIHsIK4eRgfqRQ2vMSSdZ3n2N0GnwH4aNkqkJwJ1oL8EOSJxr+jn/hZ3ZRTGcxvl2m5RyA0X4pjG1Rt2OtRof+od4+TWln3tRyIQ8swnLe4o8y1JUrud8S5LwObcCPwD71JWjIxl1f0bCZvMb6XgBlbKTyfXAr/jJdQwNKqyRk6cFeQ1wigBBVcqakZIQ4AU4hZrOZt/jETcaB3lPAL0PyH/kt2x03X2d7b3L3L7WbLkVKq+rWISL7NubohMDVhM/jc1+8sG7VqeMfcqNRjVazqA== 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:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2024 22:54:42.8389 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9afddb1e-2a30-48d6-695b-08dcf935d7c5 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: DB1PEPF0003922F.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6585 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 commit fixes the potential misalignment between the value of device tree property "dma-coherent" and default value of COHERENCY_ENABLE register. Panthor driver didn't explicitly program the COHERENCY_ENABLE register with the desired coherency mode. The default value of COHERENCY_ENABLE register is implementation defined, so it may not be always aligned with the "dma-coherent" property value. The commit also checks the COHERENCY_FEATURES register to confirm that the coherency protocol is actually supported or not. v2: - Added R-b tags Signed-off-by: Akash Goel Reviewed-by: Boris Brezillon Reviewed-by: Liviu Dudau Reviewed-by: Steven Price --- drivers/gpu/drm/panthor/panthor_device.c | 22 +++++++++++++++++++++- drivers/gpu/drm/panthor/panthor_gpu.c | 9 +++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panthor/panthor_device.c b/drivers/gpu/drm/panthor/panthor_device.c index 4082c8f2951d..984615f4ed27 100644 --- a/drivers/gpu/drm/panthor/panthor_device.c +++ b/drivers/gpu/drm/panthor/panthor_device.c @@ -22,6 +22,24 @@ #include "panthor_regs.h" #include "panthor_sched.h" +static int panthor_gpu_coherency_init(struct panthor_device *ptdev) +{ + ptdev->coherent = device_get_dma_attr(ptdev->base.dev) == DEV_DMA_COHERENT; + + if (!ptdev->coherent) + return 0; + + /* Check if the ACE-Lite coherency protocol is actually supported by the GPU. + * ACE protocol has never been supported for command stream frontend GPUs. + */ + if ((gpu_read(ptdev, GPU_COHERENCY_FEATURES) & + GPU_COHERENCY_PROT_BIT(ACE_LITE))) + return 0; + + drm_err(&ptdev->base, "Coherency not supported by the device"); + return -ENOTSUPP; +} + static int panthor_clk_init(struct panthor_device *ptdev) { ptdev->clks.core = devm_clk_get(ptdev->base.dev, NULL); @@ -156,7 +174,9 @@ int panthor_device_init(struct panthor_device *ptdev) struct page *p; int ret; - ptdev->coherent = device_get_dma_attr(ptdev->base.dev) == DEV_DMA_COHERENT; + ret = panthor_gpu_coherency_init(ptdev); + if (ret) + return ret; init_completion(&ptdev->unplug.done); ret = drmm_mutex_init(&ptdev->base, &ptdev->unplug.lock); diff --git a/drivers/gpu/drm/panthor/panthor_gpu.c b/drivers/gpu/drm/panthor/panthor_gpu.c index 5251d8764e7d..1e24f08a519a 100644 --- a/drivers/gpu/drm/panthor/panthor_gpu.c +++ b/drivers/gpu/drm/panthor/panthor_gpu.c @@ -77,6 +77,12 @@ static const struct panthor_model gpu_models[] = { GPU_IRQ_RESET_COMPLETED | \ GPU_IRQ_CLEAN_CACHES_COMPLETED) +static void panthor_gpu_coherency_set(struct panthor_device *ptdev) +{ + gpu_write(ptdev, GPU_COHERENCY_PROTOCOL, + 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; @@ -365,6 +371,9 @@ int panthor_gpu_l2_power_on(struct panthor_device *ptdev) hweight64(ptdev->gpu_info.shader_present)); } + /* Set the desired coherency mode before the power up of L2 */ + panthor_gpu_coherency_set(ptdev); + return panthor_gpu_power_on(ptdev, L2, 1, 20000); } From patchwork Wed Oct 30 22:54:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akash Goel X-Patchwork-Id: 13857280 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 A3572D6B6DD for ; Wed, 30 Oct 2024 22:55:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ED4A710E818; Wed, 30 Oct 2024 22:55:00 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.b="Vpen1JfB"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="Vpen1JfB"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2047.outbound.protection.outlook.com [40.107.22.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B9D110E815 for ; Wed, 30 Oct 2024 22:54:55 +0000 (UTC) ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=AAF2Aunbl/0Biyig/B1lYi427HpSrUJlTdBMFN5a080NiShTU0qtuRqooCeEKCkYxl0kko39F3YUFQkJYeIQWYcvjslyvBA36CliC7CP5dQmlbGhfjdxb5p496i2w6R1lQCXdtlpmRm3hbmvuGEHLqlpXNBymCfE/yC3CRNLwYmKl3TEbHN3McUXGXc0FTSOHmAgcx9hg0PPAvBAjm9ZjF5rJdj4oMcFgTErxqNScwkZzXdmD4vDsyEAAsB+Ab4F5Eck6MXUyRd8gB5o9UtB7dkBS2mSN+oD0Mea2qwJXvAqSgElWEu28eYPFqdbOq1L4CnweHsMtn71kopcltLe3w== 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=KS2RNOydT5j2+tNeEKwfMthtF+ZmUygKnhu6t3Stf38=; b=OpCd6yHUhz00sD6jq7O5AJm9k42lMdsnbC/x4ORz8ZuE4w7hXQpD8HE0CvlzvtbSl7nTowZWuJ2Jxjip5/kz14p0nt0z+PCO+BBZvPAgkCl3IEJHdlUPffef8GnDyXT8ysfT7v6YYKqANa5GH28RsByvSWVHGYG7Yvjtizq+oCzzXyHdq+G4fAiTfIVgquHbluJrw5MNCvaVY6xa7fTWO8WPbd9PkZZzoce7FynWFSo5AMoZjcaHlshu49NfrcSa3dv4ihF+2jYu1km/iM6SgeOTjZdopTnQ8pLX+8S4sLnf4/r7yR7ydMBNKKCIah16+2IG+UTxDB5GamYYu8ahhA== 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=KS2RNOydT5j2+tNeEKwfMthtF+ZmUygKnhu6t3Stf38=; b=Vpen1JfBLIAzYXFfEjDI89yIEzS8ihScfD11VFfsfStjz79+EeSgJ1PDkO+RHHDaM5bZ6PeEOb+J4vPtP7Ap+BMsEtze0Gp8PBMuMpkrF9FFznxr8Mrz5QpSaatkHXEhQzWPt2ngPPbtgCqeAwO8v4iolTG5E8mA5j+D+s8Yv/0= Received: from AM9P195CA0023.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::28) by GV1PR08MB10669.eurprd08.prod.outlook.com (2603:10a6:150:167::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.27; Wed, 30 Oct 2024 22:54:48 +0000 Received: from AMS1EPF0000004D.eurprd04.prod.outlook.com (2603:10a6:20b:21f:cafe::2f) by AM9P195CA0023.outlook.office365.com (2603:10a6:20b:21f::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.20 via Frontend Transport; Wed, 30 Oct 2024 22:54:48 +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 AMS1EPF0000004D.mail.protection.outlook.com (10.167.16.138) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8114.16 via Frontend Transport; Wed, 30 Oct 2024 22:54:48 +0000 Received: ("Tessian outbound 99870d44e01c:v490"); Wed, 30 Oct 2024 22:54:47 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3d5412f84220f916 X-TessianGatewayMetadata: XsGE7xrCKjTeo1U+9Vw0lzhmGLzhnALo+Gt7jV5buLgAiueOLJi1P51iJ1nva9YFOxLSgCv2lswPDGN19IHOOKwNyC8j3yYbz9N7JUIf8zP8AvdxAwpA1kLhv4pc+NEsEK4pYqX2MS8Ipyc8AB86DonfA/6E5ZIJl1wrij3dgjc= X-CR-MTA-TID: 64aa7808 Received: from L7320d669fc95.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C8A8A916-5F83-4A23-BA8B-08292EC32A9B.1; Wed, 30 Oct 2024 22:54:40 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L7320d669fc95.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 30 Oct 2024 22:54:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nflYbtHZWpmU+lkovnr34/p4MtfSz6RXEKO20WnRTfcrP06ijUPocymU7fyQigICLOhufbM+RGdaSnH3dk/p7hz0wELMApstZHN3YAAdxzTXt1gdXPVOgyCRpiswtMKFPd8WjA5TrSW69gH+KJBZ+nDDgkYxrUGjgNrCDHC3r/0pEsGP1W9xK6wIRaH6FvItFAAx2NQZtYvCqptMo23ggdHhpHkmpEy9tJyEow1XC6VDC3DIg2uVRiizz0pObH4yLvRzAUt00hfYHQ5u//krBvMSuJjULd8P1Zzuu8mgPW1vdiqFxOBydAPBBI0+0HXwadMpQtg9SMCUp5Pgc6CtKg== 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=KS2RNOydT5j2+tNeEKwfMthtF+ZmUygKnhu6t3Stf38=; b=v0j0L3oh/nvNl7DHXtbfOYFmykNv6B1+l3/y6MydDPKz3i4nRFPk4zB2Xr7CQwfv3Pr+ZAdDodBpldpl8Q+Q90znSO5nDzajxmjmEMAIB5fCcKqzgml0DYz1XsE6MPN38CImYn/VP1Zhccp2Bb7PsLtKrvXQDviYBzMbraplEywyb3ABz6pV6qC5SFYKa62329oZPXM0JKEwwKdVby78erYJ8rIWAoBlLhjGFT6PVoY36mIpXkYIakHplNLvCSROjheC8ra/Qlf3WE5Y9tMeUhOZs/kd0PprhY1yABs/6kD8wRht6RH9WekBugYNg2bUtuVo0ywjobz3wJZgtUeaJg== 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=KS2RNOydT5j2+tNeEKwfMthtF+ZmUygKnhu6t3Stf38=; b=Vpen1JfBLIAzYXFfEjDI89yIEzS8ihScfD11VFfsfStjz79+EeSgJ1PDkO+RHHDaM5bZ6PeEOb+J4vPtP7Ap+BMsEtze0Gp8PBMuMpkrF9FFznxr8Mrz5QpSaatkHXEhQzWPt2ngPPbtgCqeAwO8v4iolTG5E8mA5j+D+s8Yv/0= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB6982.eurprd08.prod.outlook.com (2603:10a6:20b:415::16) by AS8PR08MB6182.eurprd08.prod.outlook.com (2603:10a6:20b:291::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.32; Wed, 30 Oct 2024 22:54:37 +0000 Received: from AM9PR08MB6982.eurprd08.prod.outlook.com ([fe80::5d5d:a4a7:198c:fbdd]) by AM9PR08MB6982.eurprd08.prod.outlook.com ([fe80::5d5d:a4a7:198c:fbdd%3]) with mapi id 15.20.8114.015; Wed, 30 Oct 2024 22:54:37 +0000 From: Akash Goel To: boris.brezillon@collabora.com, liviu.dudau@arm.com, steven.price@arm.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, mihail.atanassov@arm.com, ketil.johnsen@arm.com, florent.tomasin@arm.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, daniel@ffwll.ch, nd@arm.com, Akash Goel Subject: [PATCH v2 3/3] drm/panthor: Prevent potential overwrite of buffer objects Date: Wed, 30 Oct 2024 22:54:07 +0000 Message-Id: <20241030225407.4077513-4-akash.goel@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20241030225407.4077513-1-akash.goel@arm.com> References: <20241030225407.4077513-1-akash.goel@arm.com> X-ClientProxiedBy: LO6P265CA0027.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ff::13) To AM9PR08MB6982.eurprd08.prod.outlook.com (2603:10a6:20b:415::16) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AM9PR08MB6982:EE_|AS8PR08MB6182:EE_|AMS1EPF0000004D:EE_|GV1PR08MB10669:EE_ X-MS-Office365-Filtering-Correlation-Id: a58fa9d0-0560-4c17-594c-08dcf935daea 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: TWwCSVWdraMvxI7DEBJ9CAUb44PdD88Gz14xfTH7p6ucP0UYZIXQV626EZwKcu4cIwj3lKydc8lXv7nzq6iQyUXPUcaiVtpo7gi3cO+MrYy0EkfpbJH5dqF6l8kSy+519qfMgkelNaBHnWfQ8uYuLuPQ9kOzn+exc4R7r4Lgd/Swq+DVlIVnXpJxZVotvQYAW8lRtQahrHeb3PHWQhQfMYbgfx44Bi8esG+oChcwSxI2l+YjIPcto1TBnFIY/v0XUsf6xM0Kglcx7tZJmM1YjmvEGPUVL6IcgGmh0K0/4JfPcysehJbWuH1jot0zajDoGf33bQPCuZNEeG/RJs2R3K4bLHM6XNtdKyLEuZjohgUej2PFaibMCdp0aSGOxb4BwN7IStLJqCLo7vHRZBnNJLVvQDjsOR+G7tKMnevFJwro3NskI303dAPxq+Ni/Li7Cu3QyB5SDBMSQvLxS0Y5muQHag8uGX41jI2Yqe5Yn0Xq5erZ1oDtJpw8JwMhNH6G6JCGScuCZrmU5hQcd9ZcOhsQw0YHucFcDusdzWSpNNv6vZ7ZkV4M0KtKfMxJi9E8i3FQCSLfysjS76cQekRXkohk+IP7Cf9UTh8gjtvVX/Z5dUQWKuI+xe7VNHNcBa9pKmfZpDgfxZkGFvlzI8gkcPRzdTsYZLk4+NPHxm+XlMMZten8stCL2THxM7q3Hb5T2p9SwXGcq6P3FMBNJmoZwBUOu70FDNXL9toCpQK+eOQ0jzaNRBuyNaJxOoV7RI29m/c9k9vL4Yo7dOnlSMULiWY9K0Eg20ax/SES5Crn9qv5Q6JamPmBrBcYhOyp8IpMQnfPiGYYo+/quxMkwp5Dp4teGzc1FgZzG+cXONPFNmmGal+rAp0MPyrJON3uDJMhvYr9GTbNU/f7QGaQ4aK2TqSkFA3MKYa5fXVNXvYG5GLmtv3oMC+7HmV5q6w7NZIncmMPchY7T6sn4fXvMHvaSVBC2+kQdu8eGmOXQp1dOulZML2b7rkxvPVgxV4p7UGn0A5TCihl9D/VLOOMco2Yj4EmmeJRpX+/V9csWTIV+3QNxPe6f68XRevWrItPnTS5wuchd0xzkeSDhMK3Xh+OjSvPKoeQJdYvCW1TmBIzP5J88a9+AB1qJ5fsh2wuWFtzwAh4fLepP3w8cAfRmOUaGedt+2gsEjW8Ar/zd3zJqnE20elTxQO6GPTzHHGTobYOWviXt+2DPZzteGMfod91gtRt6O4pBIWKh3YXAZPyK4Y6ls+TSuOLHWV+OnKq3HfGfIgqYFzCAGTh+BWxBB2pguy7NDJY9pT13vcQyMhEXLFLhSo6Vm1eOZNPJz5X0a0B X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6982.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6182 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:20b:415::16]; domain=AM9PR08MB6982.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF0000004D.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f5d2057f-6cab-4575-5725-08dcf935d4a1 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|35042699022|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: D8zRuh3wcJd8Ekgi6mXY9c0bDTbtzG2PfYVZ6uABY9IEUEwz+tpdV8vHxUNr8Kn6osp+OS63feAy7nJyy1cTh8S1olnVpU4QpTAGO4D0aT3WAsTTgd2p36s0FraaiQxdMpoY0rtdPkTds0bjPj4LB8j/2JCLOhe+IOqHWJOOtyq+3TrPpZQyJ1bOezYC02vd0xES7eUfx7CMOA7VH6WhyJBmUa/2oGCSsquAdeFcAHbNq18SZLrSmypZ8pqlHyXeSbXEZVwddpaA+a4UD9/LkSbpB0cO5ho5yXC/DcWMz9LD0aX6XF8UKTgGAlZyx2SGkZ4BBfnqXtYOVT8EcfTN4TlyfKEBr1HuT+qqVKzCSmhLIcI7QvvfkGWkJ2bjArrsewSWoJH1KDdQqGVRdz4mw1P/rbalnYQN8UpqTADiW5i39ZaPBpS0jnWn5w8OdzUuRZBFDjKgof6SiTiwH2ATRZPRq6Bxi5LMyqXHN00pTJQORDvFBGvTGkBRIqWYVqtYd5N65LMC4GlPmEws89r4+FM6U6U8NvwdnqmK5xK5lo20IQWPUT7Nd2crretOVLoGig4l8NENsjmbv6B5R0fZoD/+W4NbFDzZhksCwbNNRQVpVAEQXm9DD433KiCLs1bT2MWxDWkt+Lr0ztQzKzTUI/bNvF8hTjwEjJUbfdcmnWgKqK1QsAI4aVLfGn7+wXVHtms/URBhR+J9wKH8injuJcyMKjf7UfJDAUZusOioi5O3i9KXpZkjRm+0Du1/U60aZKU0dotql4PdCerIiSOEv8w1cjdmIfBsJrIYJWlb2wDm6G/Ohrv+YaPFv/saDJIK6/WVSpZNp/0asprTacUTzrbMDDCgbO1t/+/loC2U1CxI7HuPFtspzSpVcsG1P4RR600i2yHN8QEacsE4DSOtrWqEypwb9eQaPMiK/xM0H/YgSRSopns5JvZzNgM/eItw/oQbgJ1BFdy7n16lDlEdyThEqqlegf4Qwo9+2OGJ5Lh9nXU72M6/7NgbA/en1+mc+XPc6o9PjHOeVUoatQXV+o1VOwY4yhpd77LNppgfRJmE25PVZ1HJBXRp5isX/HGdpeX+/B/wDruwrLB7kIZpMn0bMFMQCvc8XfO34D8Cy6Ci2KyC0D3FU3EbRTNMAEcaGTzI0sKe4HBv2XQxZRThko7/ArQsb7e+otWu3ypHGEDNHGmsCAb5RpkZyaCt7MiYY64o8uHA2ES8N6KbzQlbEIUFlsDFdcFAJxvFmnMg3zk0vdFOayaiQ/TyTleDyF5XY9FJksyguYpEWdbPr0cdWjMY34zXkDWTyA1OPwno2KMEWLfbQ4BIHltApnVY2t3Eg5CJL811D3+JfU5nwMF42zv7BGGfl84EYLLxchVfSYDEFtjpYWAhydKUdrmR7LctqoV/gSlS5gYGzxM7Oj1yYw== 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:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(1800799024)(376014)(35042699022)(82310400026)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2024 22:54:48.0673 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a58fa9d0-0560-4c17-594c-08dcf935daea 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: AMS1EPF0000004D.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10669 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" All CPU mappings are forced as uncached for Panthor buffer objects when system(IO) coherency is disabled. Physical backing for Panthor BOs is allocated by shmem, which clears the pages also after allocation. But there is no explicit cache flush done after the clearing of pages. So it could happen that there are dirty cachelines in the CPU cache for the BOs, when they are accessed from the CPU side through uncached CPU mapping, and the eviction of cachelines overwrites the data of BOs. This commit tries to avoid the potential overwrite scenario. v2: - no change Signed-off-by: Akash Goel --- drivers/gpu/drm/panthor/panthor_gem.h | 10 ++++++++++ drivers/gpu/drm/panthor/panthor_mmu.c | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/drivers/gpu/drm/panthor/panthor_gem.h b/drivers/gpu/drm/panthor/panthor_gem.h index e43021cf6d45..4b0f43f1edf1 100644 --- a/drivers/gpu/drm/panthor/panthor_gem.h +++ b/drivers/gpu/drm/panthor/panthor_gem.h @@ -46,6 +46,16 @@ struct panthor_gem_object { /** @flags: Combination of drm_panthor_bo_flags flags. */ u32 flags; + + /** + * @cleaned: The buffer object pages have been cleaned. + * + * There could be dirty CPU cachelines for the pages of buffer object + * after allocation, as shmem will zero out the pages. The cachelines + * need to be cleaned if the pages are going to be accessed with an + * uncached CPU mapping. + */ + bool cleaned; }; /** diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c index f522a116c1b1..d8cc9e7d064e 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -1249,6 +1249,11 @@ static int panthor_vm_prepare_map_op_ctx(struct panthor_vm_op_ctx *op_ctx, op_ctx->map.sgt = sgt; + if (bo->base.map_wc && !bo->cleaned) { + dma_sync_sgtable_for_device(vm->ptdev->base.dev, sgt, DMA_TO_DEVICE); + bo->cleaned = true; + } + preallocated_vm_bo = drm_gpuvm_bo_create(&vm->base, &bo->base.base); if (!preallocated_vm_bo) { if (!bo->base.base.import_attach)