From mboxrd@z Thu Jan 1 00:00:00 1970 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 3E63CE99053 for ; Fri, 10 Apr 2026 07:55:10 +0000 (UTC) Received: from kara.freedesktop.org (unknown [131.252.210.166]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED8BF10E90A; Fri, 10 Apr 2026 07:55:08 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.b="FlHDZa8y"; dkim-atps=neutral Received: from kara.freedesktop.org (localhost [127.0.0.1]) by kara.freedesktop.org (Postfix) with ESMTP id 35006457E1; Fri, 10 Apr 2026 07:43:27 +0000 (UTC) ARC-Seal: i=2; cv=pass; a=rsa-sha256; d=lists.freedesktop.org; s=20240201; t=1775807007; b=ZSTmacvsoH/IKdGNGuqoij/BYRWFTf4ITPsMqpiHGYEZrcxSXX+jcTgo6dhOarLNHJixR /ZGxMARjBaN244LQpfRtpvFNdkuu15plre7KeofR+jsFYJSZWzoNCtCadwwlQ3EbxhhJMc2 rVJCvS1Mp/un4WRrZK3gMBc0NkaZb1OkWZ7AuKQKJ4YfRASp0WpRJQQRheH9lY6azodY3Jy WbKfsrpYxa5147/jfK2hsiXwyFZ5pjaQBSmqatSRFeG5r0eHkiuUIeB3iTEJbTXXMjIlDvr m1C66K9ebHOZA2l4zYZ/++H1IvZwTvmS0T57wTugVgn/6mW9Iaod/pYD9p5A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=lists.freedesktop.org; s=20240201; t=1775807007; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=bXIwA3cBTYg9W7vf3J0WNkZ5n0axjmrs0WIR3wwi9eQ=; b=yHlTmuCtifi59+rNmhAAcN6olfCJRvRC398woUuqKi97KmarinyoX949skiWEL5hwIuwI pWPX5As8sz0HlrotfkPoGWkeDbvBLBkEU9hmLf/nYUNg6j5VZbZ/sevEMdjg5E7QJaK2Q+O TBG8SYL3zH+Dhgko9EfRNfvf/9MHgtg6qBHRunVgxJRKtM7oYYLWie6ORECKnw6d9ZFatTL 2N/o/d6dwXnF8/6Hpkr2q67ICbAkfGcfqgXpUurey1OHudwiitUFjddXvlfalJVoy4KEZri u6swmLz8yI/sPF0nBkFZks8A6PVYE6jJyyrYonwLSKElirlnlrHb/4zzSB3A== ARC-Authentication-Results: i=2; mail.freedesktop.org; dkim=pass header.d=Nvidia.com; arc=pass; dmarc=pass (Used From Domain Record) header.from=nvidia.com policy.dmarc=reject Authentication-Results: mail.freedesktop.org; dkim=pass header.d=Nvidia.com; arc=pass; dmarc=pass (Used From Domain Record) header.from=nvidia.com policy.dmarc=reject Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by kara.freedesktop.org (Postfix) with ESMTPS id BB24E457E3 for ; Fri, 10 Apr 2026 07:43:24 +0000 (UTC) Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011024.outbound.protection.outlook.com [52.101.62.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B37810E14B; Fri, 10 Apr 2026 07:55:06 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ruBIY017/1CJOjMhMc0AU4DCBCsHlVvdII0ha+OE5llWs2VWGkBDYZ82b2iH1BPQt+C6SqaHJvNbvOXZYzONJHE2JtB6mz8G3KlLV9SlE/4KGccf1BriZrCyBSyZZsfvPpZDmcWx6Uyi98wDXrMjaGD7tOEXQdUn8qi6aIPPcm8C2JUpUWn8wFZwlfyt7e6cPz/xhUWp/xuhaHw+6EBIB4yEj12Cpx5ipGep5eGOjmSuPcydaIDRcoJKvzt0MSRjook1Fd7Ckt2/E+m2fTLFghtDg8BI08cF5T+b8i5Ln6vWruvu+ivFffyiEmZxe9wnC7S4N/FLRJNexHFM5aylug== 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=bXIwA3cBTYg9W7vf3J0WNkZ5n0axjmrs0WIR3wwi9eQ=; b=lssgAst6PtEKxmjnNUzNCO1xh/SG8/CMSrgM915pIAXtXL2k4lLeApftBBhotI52JFx4PgWJmBlt3FODunBF0wVG3qbRnDfX0EQXjnNbElikMdEqbNw521guoAyrL1PIxeVhm8nfAjSWx6osDwROE1aiMCHgtQs828f218o2e0PLb+b3VpgHBJyUVca7udIjqC6NSX5a7V8zoXN1TVID8X4fgwV5r1dsmy3vzrpDQZO2bWNK8ahq3reZFKJzpGVX47A1JQ7QiKzGXDDkaU4GK5l2Ig2A1T4zXoyHMBPa6MQ8LMXRD71E2JTgzQq/jBa3jaF4PsxhOql/8HzO0g95CQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bXIwA3cBTYg9W7vf3J0WNkZ5n0axjmrs0WIR3wwi9eQ=; b=FlHDZa8ykdgjR9gh/hOA8EbpuQ2BSFWSa3MqvEFr2z3aHonJxz+r5M5CC3+GTUY9+IKsdItyyfXDcVNH91fWZsTRYMsMHuTuELXx4bI7Fbft+vk4T4/4/Db/F3be4FJ/1I7PxfKcGlfeA+/Kxmfod1Kq0bvyxQhMRAzf7e4QHHIwU/304F7o4F5sT0yKcjJtn8l7vVru5icljD7WFFWzaLunORAOh71x4CzP8Q+yM6jbX0EVeSs3DiKevCqbEILuYVIveVrkPPXL2+yImVeqSR87kzetNQzm5Ye2jUc17+ad4Rd7SOxpAkGPkyysvqOvM3GYFpHQo8l/pxxtazys5w== Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by PH7PR12MB8156.namprd12.prod.outlook.com (2603:10b6:510:2b5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9791.34; Fri, 10 Apr 2026 07:55:02 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9769.041; Fri, 10 Apr 2026 07:55:02 +0000 Content-Type: text/plain; charset=UTF-8 Date: Fri, 10 Apr 2026 16:54:58 +0900 Message-Id: Subject: Re: [PATCH v10 2/5] drm/gem/shmem: Introduce __drm_gem_shmem_free_sgt_locked() From: "Alexandre Courbot" To: "Lyude Paul" Content-Transfer-Encoding: quoted-printable References: <20260409001559.622026-1-lyude@redhat.com> <20260409001559.622026-3-lyude@redhat.com> In-Reply-To: <20260409001559.622026-3-lyude@redhat.com> X-ClientProxiedBy: TY4P301CA0103.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:37b::18) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|PH7PR12MB8156:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d3f3032-211f-464d-409a-08de96d67866 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|10070799003|366016|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: rfd1zQb0HJrMMNqzjIsyzCQR1w2WF/0egJqODymbTFfhzGM/OKrgcVeYLBYccHI26jD+6YAsvlYxzJ4HdRevSA0LHPwQA+Pc2m7qbd8xd8XwG90slEKFAgumCYB2dT2BANkpmpGZVjBd1eicTvXmkSseFkKsAvXXtpcK43Uc0FCjFI/FVHFQOAoyX8EZIChca2cQ2PlyVav130UkWCP37IVgqNPG6y8V3/elo7FhuU8RbdN+jAsWsNuNwwSpVW7+Ny/cWXQo6I2t5M7dvIHZOPCFlyPxD/mNfbIZGPrYZHA9P0jcBKWZMzRcYNCxnPxyHtS0uo7Treug5KFvH0mfrkV8qurX7mYWvY4Jd/04cSnbuB59D945eBZ8DaCRUSkDKOjnQCb6qZBfeRiz/CUQl9hY+m+ovh9NX3jY80R8tQsrBPIeWH79u8Klu6BNi+QqxNBiyIjj3eBJOyFtdcXXTFWvP7U96OrnwX/ap57XB6pFQXjLwD7VL7VLSJT3prNMOPQCiNzEiK0o8ZviBIh9+tE4wn8IsDmLIc8LqsBRC8WbbeApZQWLicwDz0XbTJcQr1KTL6ztw249mzACAFYF2x49Y4yNr6ODvQHgNmqR6bmpMvlBbEmtIn0a5rw//WQKcllp7RH1VSnHHUAbrXYkhYNocW08OOJ4HP5nPxB6AsgVlJH/HgQ8oIXaVcYsYQDyeshFxHtQ7SADNq53LmtWqVaRzIgPe2zrxU185dXC0O4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(10070799003)(366016)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bVZYUFdUVkhWNTUxV3BFcEsrbW1XUXlVNmtrTjZaWkd5cWlTL2taRkpydmZF?= =?utf-8?B?TGE2UFNLWTdKTWlVdUl1bXlURFRvMENqOUZMSTNFYi9NZGlKUHl6eFlyUEx3?= =?utf-8?B?SEdFNldOYjZ4UDJqWEFzNHNRMndlbEtlMVNVR1pTV2RhWTdaTEtMRTdQb0h2?= =?utf-8?B?aEtMZC82RU9naWpsbUdsZFNKS25rTkZiY3pWcE1EOGVXNmZPS0dTOXlJK2dp?= =?utf-8?B?SFlNUWducm5LUFB4MmV1Qk5UNmZCVUJXUkdWQlF2OVdhRjNvdy9GV3VyTGxO?= =?utf-8?B?MUNHTGNYOHRLSldqNHpUemxZL3l4Y3JFQjNKcGQybm1oUjEzamczeVFxYndI?= =?utf-8?B?ektWSGtpa3JRQmM2eS9jdjBwcFhRcUM1aHZQZElMcG0rbWZ0cVZkcWJCeUdD?= =?utf-8?B?L092bFpHeUtKYnhKL1NHcTdhZXNNSW0wK1Y0Q0txR2ZUZDZOdkxIMGg5MnIw?= =?utf-8?B?cHV0czBLbEdNT2ZoNmYzYXM3MkE3TVhZcWNKYlcyTGpScFVHYmNpclZsSEp0?= =?utf-8?B?ZVpOVXd0blRRdWN1bEU3WjJmUXo2dTJ0R2REU3l6YUtBaTVXUG5NMDVCVSt5?= =?utf-8?B?cXNycjdlZEVyYnlHS3RkS3M0Y01ZZjBvNUQ0SXdmWU1oem9sb2xYQnhLTTRn?= =?utf-8?B?cHJTMXpRWVIvNDl5YkIxOHNpT2libWYya3FTdzFZbXdMcmZmazhHdlZzakNr?= =?utf-8?B?VHFmZ0pub1ZZNUQ3WUpnSnZySzJTOFRKQ0NZcHJsQUtlOVZnNjk1b21Bd2E1?= =?utf-8?B?R1ZrRUFSU0hzMUx5bVVaaVlnaTNma0w0SVVyWHp4OTQxMEg4b2xVS3dRV21t?= =?utf-8?B?bjQ4ODl0YmRuNGNVNlFRLzQxUU91U1NRNUlyQkxNcEx1dUdHNUFueXlkYks2?= =?utf-8?B?dWR0c29Ea0RHY0owcGFzYTg1Z0lHU2VWclN0UEMvTFBNbkoxMXRXNk1DajNm?= =?utf-8?B?cWtvQ1hySks4SUZIS0pvNi9pMm14ZXpiUXNxZzNPaEYwQk1KMlR2ejJrdUNH?= =?utf-8?B?dmJYMDJZd1YrTGQwb2F5bVdCcmtsTEZBWE9vNks0dGFtaTN2a3MzSjUwQTdw?= =?utf-8?B?WmtxWVlaVFdvTzVNd3MxV3lhcG1QWTFMSnhhMlVhV3NvRm5VaGhwS3V4V043?= =?utf-8?B?eG5aaUt6aVM4YWZpOXdacncvSDcybTZURmloOFpjakZoeW92cWNaVjBSNm81?= =?utf-8?B?dnJlSmc2bHIzbGtLaXdESnlZTmdKaWNTUTdPNmx5dUFRbDdRdUFzUFRGTnRv?= =?utf-8?B?azBWN0tadnZtNitqVkJSbThFOEpZcTJYcHV2T0dERlFrVlFGbkluUUw3aDA5?= =?utf-8?B?T1NteWdVN2J3V3FOaUV5K3lBUm16SkVuZ0duckQ4OGhzV3Zmd2hTY00rMG9M?= =?utf-8?B?bWdJeEVaUEoxYVIvaVJkdjFaNzZxYnpGS0JUemhrV1pSNjJwWHoydUZuZFRE?= =?utf-8?B?eDA3eldnMEcwNnpiSzByaEp5ckdSVXorc1NIbEVXc1VCRXhRcG5FaThnRzZO?= =?utf-8?B?NE9PMlVQNkRvTnZaTm1hcVlacGxHMlc3N0RkWFBjZXk3MlFacUlaOUQ4V21Q?= =?utf-8?B?R1gwSXF0Z1JFc3MrNGFEcHkyQVA2L1lCWjNvdGpLZGVRb25VRGpsY05NZEhl?= =?utf-8?B?UDZvN0UzcjFpS29udC9odzY0Q0RXU0RET3RiVTFtVFdsbS81SGJQeXpiVnln?= =?utf-8?B?bnZKNU5KMlR3SDhQUVRrNG1uT0RxYXF5UzQwT2k2Ymt4Y2xGRWl0aTVEODN2?= =?utf-8?B?cnM1WTJJOERjOVdPa1k0RFBielI3VjFSeGNMNktQYi9ORkhjbW1nczlhamFI?= =?utf-8?B?TXUrWG4zQ0ZWK0NKK2tncFFjaUhzOTRGQmwrQjNRaGl3ZTJtL2NZRURzT1dU?= =?utf-8?B?ZlpwYWtGUHNKT2tMcHpibWRBQXpLM1VZTSs3am1nT2RvNTRvZE9OcGJ1ZVhT?= =?utf-8?B?L2dPUUo0Q1ArR3phRlRqa2EwYkRRcXFnRUZyTGYxdGlnVFV1VW1ZTGk1aE93?= =?utf-8?B?YnBHRUFieUtyeVJ2QkZsOEtwdkd2ek5nVDM5ZzhRS2lyVHFxL0U2aTg2NkQ4?= =?utf-8?B?VDJVK3lyYWc4MUlFMkNUcU9yN3U4dWpPN2RKY2k5SG56bDVTUkdnVWdXK0I2?= =?utf-8?B?VHJwU2tLdVlyYkZZZEh5TW9tWnpueEx3ZEwvSDNwUUx6dGdIK1F6Lzg5WEZh?= =?utf-8?B?MDRGaFBERmpuazBlKzErZkF3R2ZUdGZkb3owTDN0eExCL3hwd2hWT2FYMmVM?= =?utf-8?B?ZnBXbSs2VmovTVJRWEdEd0xJQ2ltQ2x6ZlR2dEJuU1FqVW5BdWQ0T0JpUTky?= =?utf-8?B?MG9DZVlENXIzclpJaGxsbHVoYjdxNjJKajJxMWhUeXY2d29jczM1Y3B1WjFt?= =?utf-8?Q?GgYmrMCXEqWlw85O8BneseUKPPly3hCVJEnuEYX6wJRI1?= X-MS-Exchange-AntiSpam-MessageData-1: g7sddYn/EdP5Sg== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d3f3032-211f-464d-409a-08de96d67866 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2026 07:55:02.3150 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xgRiI+BVJ8bsyhfFvFLq1FA+zb3yuHQn9HlJmSI040oK6mw6DUShJJSxsix3BgeWU0S0x6AuYLeTobPr5V8Uaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8156 Message-ID-Hash: O7SKWT2QGTCGFHRPT2FCFT5TORPIVKLI X-Message-ID-Hash: O7SKWT2QGTCGFHRPT2FCFT5TORPIVKLI X-MailFrom: acourbot@nvidia.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation CC: nouveau@lists.freedesktop.org, Gary Guo , Daniel Almeida , rust-for-linux@vger.kernel.org, Danilo Krummrich , dri-devel@lists.freedesktop.org, Matthew Maurer , FUJITA Tomonori , Lorenzo Stoakes , christian.koenig@amd.com, Asahi Lina , Miguel Ojeda , Andreas Hindborg , Simona Vetter , Alice Ryhl , Boqun Feng , Sumit Semwal , Krishna Ketan Rai , linux-media@vger.kernel.org, Shankari Anand , Benno Lossin , Viresh Kumar , linaro-mm-sig@lists.linaro.org, Asahi Lina , Greg Kroah-Hartman , kernel@vger.kernel.org X-Mailman-Version: 3.3.8 Precedence: list List-Id: Nouveau development list Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Thu Apr 9, 2026 at 9:12 AM JST, Lyude Paul wrote: > One of the complications of trying to use the shmem helpers to create a > scatterlist for shmem objects is that we need to be able to provide a > guarantee that the driver cannot be unbound for the lifetime of the > scatterlist. > > The easiest way of handling this seems to be just hooking up an unmap > operation to devres the first time we create a scatterlist, which allows = us > to still take advantage of gem shmem facilities without breaking that > guarantee. To allow for this, we extract __drm_gem_shmem_free_sgt_locked(= ) > - which allows a caller (e.g. the rust bindings) to manually unmap the sg= t > for a gem object as needed. > > Signed-off-by: Lyude Paul > --- > drivers/gpu/drm/drm_gem_shmem_helper.c | 32 +++++++++++++++++++++----- > include/drm/drm_gem_shmem_helper.h | 1 + > 2 files changed, 27 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm= _gem_shmem_helper.c > index 4500deef41278..addf8c1e5341e 100644 > --- a/drivers/gpu/drm/drm_gem_shmem_helper.c > +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c > @@ -158,6 +158,30 @@ struct drm_gem_shmem_object *drm_gem_shmem_create(st= ruct drm_device *dev, size_t > } > EXPORT_SYMBOL_GPL(drm_gem_shmem_create); > =20 > +/** > + * drm_gem_shmem_release_sgt_locked - Unpin and DMA unmap pages, and rel= ease the The function name is missing the `__` prefix. Outside of that, and fwiw, Reviewed-by: Alexandre Courbot