From patchwork Fri Dec 1 04:21:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 13475341 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 90629C4167B for ; Fri, 1 Dec 2023 04:25:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F02010E7B4; Fri, 1 Dec 2023 04:25:20 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 76A8810E7B4; Fri, 1 Dec 2023 04:22:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701404544; x=1732940544; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=AQ2dZLayHUDP0jH1AB6YrGRkoM0DmGZNkU/JdgAa6bM=; b=XcxyvPD3nd/RdJZ43rZ8ieeGrbnWGjfdTthlMATTLyl95m+nnIdzSULS Xht62JePCwMRerXmZ3nv5MUYj6WCmyDNjPY1EpdlIBkWVd/C07cXHOXRt fy0eqqTRJ83EJRl6aY6ZFUyUlZxGJ75hROBH9tpPEycZWAJ1KhX+ptugC 2SPuhwve4IJvZk7O9EjqeuLFyyu812kn5FDGkMmBowSCCl9GvSt6sHZRS EomM/xV837KKDJ+vTcHktlhNsmIDTCVOvHJsMyx3ZZlMooXXX9vcF0cNG RIITe/bUhh0BE4q/Uh3uyR4Oruator9INxGK1R2ckiok98uy1e+SYVNUB A==; X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="443468" X-IronPort-AV: E=Sophos;i="6.04,240,1695711600"; d="scan'208";a="443468" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Nov 2023 20:22:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="1101170198" X-IronPort-AV: E=Sophos;i="6.04,240,1695711600"; d="scan'208";a="1101170198" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga005.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Nov 2023 20:22:22 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 30 Nov 2023 20:22:21 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Thu, 30 Nov 2023 20:22:21 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Thu, 30 Nov 2023 20:22:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LcgrNT7VS1jJk1hC4Rk030ZKLVx5ABI0wA7HIT77u+2fwAsRohxUk+Ov4jBSvJyGohd9FFRxMEEgJEaqhLQ7n+XsPbqql6plF7G4lpbQDm3ULlZljtlNC5H2bz5gIugTWrloBIfRWWmrHI4XqO0s1PcdvFHc+O9amEGTxuuB0FwBkjgcVXSwhe7IJonFIiLTTc+Pc5A3F35lxtwrMYESfjEb0JwI7NE0XTS4afZ+7JbZMjShzNCyQVgrR0Up2lOFhHAQrQLCNVwHPri1dwWgcgUAAqlU4GFN0kdbNFXnt+FHZza1QzHTHqxYMgkYLrclfacDBLkiFEZGuC5pGgDFLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=uUud/mk0v+CgWs0kLubzdEXJrSWMf2r4xCW6oP6l/tI=; b=PhoXYbLsh3eOAE2m8MtUjvGagl6JrcpuPbyhxFvZ+kHh2b8PW+LzqiD3TIlXRm0o7DddwMyEm8jafPOMZNuUEGNH+SKC/iTuH1m0LEiTJS/wLoaMQ5/4MRgXkdvnubPazZVwMF0beN0Qq3Bk5UfNOUVh9gZ3Y1jad8/SCdt9gQUZO0FT/1Acc6OZYJQSiWVEn1kskhPZ243H+kpZwO1qk1w2/pB4egDGO+T9kqDxvueFuAZ2nf7Oy2rX9mcJYVvuyZLcv3xaV/kt+VKcCqSvBI/pVf5HmKM/iJilxuE3lepD+5ASvbMxEUw4n8Zv2qHvoMDmJAJHtKDzMxV8B4uv4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) by MW3PR11MB4666.namprd11.prod.outlook.com (2603:10b6:303:56::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 04:22:20 +0000 Received: from MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::ada2:f954:a3a5:6179]) by MN0PR11MB6059.namprd11.prod.outlook.com ([fe80::ada2:f954:a3a5:6179%5]) with mapi id 15.20.7046.023; Fri, 1 Dec 2023 04:22:20 +0000 From: Rodrigo Vivi To: , , , , , , , , , Subject: [PATCH 4/5] drm/doc/rfc: Move userptr integration and vm_bind to the 'completed' section Date: Thu, 30 Nov 2023 23:21:54 -0500 Message-ID: <20231201042158.80009-5-rodrigo.vivi@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20231201042158.80009-1-rodrigo.vivi@intel.com> References: <20231201042158.80009-1-rodrigo.vivi@intel.com> X-ClientProxiedBy: BYAPR07CA0087.namprd07.prod.outlook.com (2603:10b6:a03:12b::28) To MN0PR11MB6059.namprd11.prod.outlook.com (2603:10b6:208:377::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6059:EE_|MW3PR11MB4666:EE_ X-MS-Office365-Filtering-Correlation-Id: ff623bf7-67a9-41cb-15df-08dbf2251bce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4HrO1m2XHEZUfDAWRU/Qxf3E/IMw7PFG7ZmH4mF9XauUNjU5Vk6LqRIG7fCyMZbe5pyXm1mWSmJAFTcnttZwp8PQwSL2YxCdSrNOGPLbhXytV0ExL1KnkJ3D8J9orjeJFhFO02yFNcObJDBQPKZodoMvo5WchjLmnIIOxKetOFYmDmOx1bluu1NEMMTKEQO9sPlx4Du6aja7uY7NYguwbI3jHoEVcovTo6ieQ3cRnZ0olvFIeqwbb8FOvd9OQzxhwrsRhabxcpO8mH1mv9hwCIOuOL1SYBRGMo3j8WOokeW7hF+ZPEmb3zPofV7Kwg29D0V0nnxVYpyOTHbYHKYb15tHauPJxhJSlm+IqvMTJhQ+P/vC21Vuu8ldoPlKXyJO8+IocuDB6BWuYlkTuMF2SbmVICZ7pCGU7YRqR6s+aaaRMsLOzxlh3tlRNVoMIgRMmf6tKOo6Cce8eXxpy4qfIt/OWtFimDgVjqqsbqZBz/ADNoPoF7JN6Q9uMmFrEP17IqG0fn8IhjCrQnztZZ1pg4t/d2dH5eSJThoyUv+a/ppvKiWt2MJex+Kqdm/pAj3w/Q6JFLpNsWX1qklA8L6w1mLZz3vI9fzt6KhlnQU0xWE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR11MB6059.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(346002)(376002)(366004)(396003)(136003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(26005)(6512007)(6506007)(1076003)(107886003)(44832011)(6666004)(2616005)(83380400001)(478600001)(4326008)(41300700001)(8676002)(8936002)(7416002)(5660300002)(2906002)(6486002)(316002)(66556008)(66476007)(66946007)(36756003)(38100700002)(82960400001)(86362001)(66899024)(921008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hRFvzRBYwcaTZYAgvYZWbJ0gZwHm?= =?utf-8?q?8guUQ0u0uI14kfnC8abte7Cvu+soskVtsv38PGoTkDcqyp6mwmTdgHQ0N4uu5sdJB?= =?utf-8?q?BlTfBgNdl1iE7DZYIQaapnFavRAZEOdo4CNRNTiV3aGvsxuZtY5s0E3D+crDlRj/p?= =?utf-8?q?Ogt+zWeWG4ypLNIJueQqNChUljpa2OGfzc2DZL+3BHwgAuzilTQBCi552M1ChtbBR?= =?utf-8?q?YB5l9zBF310jbGFqLyDHrL8uACcxB7i0QR4YSDJFycb0UpRAKS4XXJ4gAvvwPyuL/?= =?utf-8?q?e9SyC1WLgamoT2ENs3iGRUMNAdHhz7Kv1NV+a4btfaTeMIYs5NmKzQo3T3Q0OMAMY?= =?utf-8?q?4zvPlCX60goI/3pjoKCZkGSkK40WimxoEfb9OhoeFPIZUN7MeENsBtc4NnArTlbf6?= =?utf-8?q?uOFuXrG/eLW39ucoqadZvUE+vAxtRUK+XQ9YUomZVqynTV9e9mvNlXIFemj5Uhc/X?= =?utf-8?q?RLTddccYQ8qmbc/x5AIlGRVaZCKtwL4vSKiE3BEtRXfIbe9lup9wNp0A5D/AWnF9m?= =?utf-8?q?kxmK4Z3R2f5zIokMsWLIojrYOvTNr56U5N7IIkThRUFd03A9vtFGdOq6rqTy3dOMl?= =?utf-8?q?LkSdd+420ihqJW9l450LI0hhzb/cBOKg3L0KRy/+g60xwUFoUjfva4xt3I1wclA0I?= =?utf-8?q?BxHoWrJHqgK2NYKKLdh3Q9KV2TfILhzizFNZrY0Umtsv62m/E7sHNxdqpJkCF8T/q?= =?utf-8?q?a/VCPcnxBOQ/aQZyUlXOFvwcYE/aaMwZGkR9ogsEG7BFoLpy2hfDBUBSfO5MaxQr2?= =?utf-8?q?UlKnhzgQuhlGwlhOz9nOIfLuCUfBuVNiBP/zbUb5VVeRxNHZjqd5egbp88M+Dfsio?= =?utf-8?q?fzDkKcVglFyAT768HHTRH8gTnc3kpvOhAosMNowPxgdbCV60Yqde/nX/T9aRuiAnB?= =?utf-8?q?Unk9bbLm7S6otBZMCwTP/vcHVKvMTS5/Jae+Eilw4IoaUqu07d3f6QYo1/jex4Wf5?= =?utf-8?q?iQwL0I8Bzsa3CkCdkss2rQdNpQ+tglun2nWFUBN7GpUsWBqC7o7G/BQS8kQOniu72?= =?utf-8?q?mwn4fPXBNkdQzTa/sH6q9RZYMoQujbMHuiVIcrRSgUFbO1olYJFH8aPQgLFtzMj/I?= =?utf-8?q?x1ofB2Xr/fS+Gvh3wQAaAKQoTnh+c95jscXZKhUVsB9Z1c4lk78u8qwbdptpkIOt6?= =?utf-8?q?r80H7MiKLXyDxeLKqN2YgYTB2Q5SoYtUrLXu6nminKDWG0ng2q2lCPw7doto5bY0S?= =?utf-8?q?C8873UEKa/w0bksBwihfxH0cbckZcDw9gtY6cPisOC3c5RsgkNfFKfWMLEne9XX4r?= =?utf-8?q?5n4u13Sjst0WNMNyEZARayLq/MQr5KnJb2CTr/wrsqOLJghQasDU48UdDIiLsCOdB?= =?utf-8?q?NILssQfjcknmRXrIrsVligrAiQLcNBYxJaeSUrgRrTqIzEXcTq/5lqd8kqbrY5/z+?= =?utf-8?q?ju2II/+yL304pzHj44rUDFVJQHEPGCq2MHA4xi37IbrTuIJYXVxHwkBU42L+YM6QW?= =?utf-8?q?2oc1uZA6rQWHzaf0PlAcRo3ZydZI9iMeUVQ/Y6OfpiQZedsl8TKyMmPppF5FG8pfT?= =?utf-8?q?5WHNuz95S9cFTdpfFQe2Yei+gWTT4j/Fgg=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: ff623bf7-67a9-41cb-15df-08dbf2251bce X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6059.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 04:22:19.9961 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +YVGRKqCgtrvHosUz5NB82Pua3pkfKJEJmcnmpYLZiHNPr7xGszJrJUv+W8gCwJsIs7pU6V6bh3WYEEbHdy4IA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4666 X-OriginatorOrg: intel.com 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: , Cc: Rodrigo Vivi Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The must-have part of the documentation was already added to the existing /gpu/drm-vm-bind-async. The other extra discussion around GPUVM helpers are currently active in the community. None of those discussion should block Xe since documentation, specially around locking was completed in a community consensus. Signed-off-by: Rodrigo Vivi --- Documentation/gpu/rfc/xe.rst | 64 ++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst index 87dd620aea59..cfff8a59a876 100644 --- a/Documentation/gpu/rfc/xe.rst +++ b/Documentation/gpu/rfc/xe.rst @@ -70,38 +70,6 @@ When the time comes for Xe, the protection will be lifted on Xe and kept in i915 Xe – Pre-Merge Goals - Work-in-Progress ======================================= -Userptr integration and vm_bind -------------------------------- -Different drivers implement different ways of dealing with execution of userptr. -With multiple drivers currently introducing support to VM_BIND, the goal is to -aim for a DRM consensus on what’s the best way to have that support. To some -extent this is already getting addressed itself with the GPUVA where likely the -userptr will be a GPUVA with a NULL GEM call VM bind directly on the userptr. -However, there are more aspects around the rules for that and the usage of -mmu_notifiers, locking and other aspects. - -This task here has the goal of introducing a documentation of the basic rules. - -The documentation *needs* to first live in this document (API session below) and -then moved to another more specific document or at Xe level or at DRM level. - -Documentation should include: - - * The userptr part of the VM_BIND api. - - * Locking, including the page-faulting case. - - * O(1) complexity under VM_BIND. - -The document is now included in the drm documentation :doc:`here `. - -Some parts of userptr like mmu_notifiers should become GPUVA or DRM helpers when -the second driver supporting VM_BIND+userptr appears. Details to be defined when -the time comes. - -The DRM GPUVM helpers do not yet include the userptr parts, but discussions -about implementing them are ongoing. - Display integration with i915 ----------------------------- In order to share the display code with the i915 driver so that there is maximum @@ -139,6 +107,38 @@ Xe – uAPI high level overview Xe – Pre-Merge Goals - Completed ================================ +Userptr integration and vm_bind +------------------------------- +Different drivers implement different ways of dealing with execution of userptr. +With multiple drivers currently introducing support to VM_BIND, the goal is to +aim for a DRM consensus on what’s the best way to have that support. To some +extent this is already getting addressed itself with the GPUVA where likely the +userptr will be a GPUVA with a NULL GEM call VM bind directly on the userptr. +However, there are more aspects around the rules for that and the usage of +mmu_notifiers, locking and other aspects. + +This task here has the goal of introducing a documentation of the basic rules. + +The documentation *needs* to first live in this document (API session below) and +then moved to another more specific document or at Xe level or at DRM level. + +Documentation should include: + + * The userptr part of the VM_BIND api. + + * Locking, including the page-faulting case. + + * O(1) complexity under VM_BIND. + +The document is now included in the drm documentation :doc:`here `. + +Some parts of userptr like mmu_notifiers should become GPUVA or DRM helpers when +the second driver supporting VM_BIND+userptr appears. Details to be defined when +the time comes. + +The DRM GPUVM helpers do not yet include the userptr parts, but discussions +about implementing them are ongoing. + ASYNC VM_BIND ------------- Although having a common DRM level IOCTL for VM_BIND is not a requirement to get