From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f74.google.com (mail-ed1-f74.google.com [209.85.208.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2587477992 for ; Tue, 5 May 2026 13:29:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777987797; cv=none; b=GCPj4XJJttHbS+aeZrLkWXVI+iHkCwFs/OVav6FdpoPfDZuohEDb4GyP93KeACDQuRBkkbREyTFESiYv8FBh6IDVKOjWhZKiDOz3Pefz4ZtRIv/U4OS/oO8tcK/vFP1UhZ07wU6djCGKeMyVhIbMpNb5hzzj63qo0s99SH5ZYao= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777987797; c=relaxed/simple; bh=aQO08rGPJzhHvd6//hl71M6W8VT/35kSkZVff4mCPx0=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Tkqj7iACAK1TccLaZuDR3KBnB9tCsgQpdRm3DBa8KYAO+PLmsLk+UCvol0qmYWQYQhWWRhXEJn9msXodTfbAtdO0AOmsMISQW5xY7yUdYcU/3eKoAc7v8NA1Ad+ZPlMIDNVY51kgKr0bJabNZdnblvrI4lN1BM4ih2qUjcR8VR8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=qAqCDf0d; arc=none smtp.client-ip=209.85.208.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="qAqCDf0d" Received: by mail-ed1-f74.google.com with SMTP id 4fb4d7f45d1cf-6763c34cf60so6399735a12.0 for ; Tue, 05 May 2026 06:29:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1777987793; x=1778592593; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=CpepGuKXgfvFMmQ+T342/Rhe0BYRQCqXBCcIl4WlfVw=; b=qAqCDf0d0ikix5wF2tuUSdA5O9IErdUYpPm4MfXSY5WK4Ard3k/pHlWtD5qaMAnlc0 92sVmZzEftbx4/Bu2RqeHbtSsNoQK5vWwLaiiGOeYb5PswzW+r8jdFYj0LKBcjP7rInx pwahQrxZpfzH5iRzlzbrHNW3zeOtpIwNXfZ9bRx7xYOf6RIdzhNWzJ76uQ2ew6gG1uJj 2ivdK94npcP5RQySP2Bqr4Xmj4jB93UT5GltIT7AWdWThJqOYzaMtaTJQz2oyVFsEPv7 5+1ax/gFQ4V4PtJaQYyqiZ5SGo+S921gixekW5Xu5SAJci22kSdJx82OCoexmCGRghp/ WWJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777987793; x=1778592593; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CpepGuKXgfvFMmQ+T342/Rhe0BYRQCqXBCcIl4WlfVw=; b=hR4guCnsz3F6jbk6CiCpbFd5dLHE8oGQz2CzKgvuGADNoq+UZwni8ib8X63NnA/NJW vjQPApMg8AkpjeEgyWu1y/b4x+N8bVKIT5h/axsULxjj3JHw8UhdktoQIJfQUv1+ZloP jLZ7k8BLWHyHLq842FIaLVxF29VSe3XvrY9R0y2QF4M5cuI3P8fj+g7yAgeMu43/jvq0 lljQZhHBOUJ/DRJGs6sllk5r+s3WA//7DTqnfv4fQBv/w+kkILvq3Jigjd47lG0DXy/f //SLgtllukfaV0fymrgtI3cazoWqbKP2/W60ENzkJvcJWNJfaGeT68G66Ik+fs4eHccm kz0g== X-Forwarded-Encrypted: i=1; AFNElJ+fsg9fCauevag3AwZqoOr38v8YvsSUweXGsXQNv9pKZxJG8xEwegbfP5Y9onoFd1oT/Bpn29qqQD+RR/I=@vger.kernel.org X-Gm-Message-State: AOJu0YzYj/WCBA15mTbD4n7GPGvGhJBNrllLGAIFNo7Pfo6Xvyfyot4i UXzd/af12Nv+TaWKH90/faMO1wz8QWes3SwxP/1AbTxW2pHv3+Wub6kMCFA7IBb43VI9qEbiGDw ZClrM6ujARCsAGIkYuw== X-Received: from edt4.prod.google.com ([2002:a05:6402:4544:b0:674:91ac:5f8d]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:aa7:d549:0:b0:67c:89f2:ae27 with SMTP id 4fb4d7f45d1cf-67cc392dd47mr1230899a12.9.1777987792212; Tue, 05 May 2026 06:29:52 -0700 (PDT) Date: Tue, 05 May 2026 13:29:36 +0000 In-Reply-To: <20260505-gpuvm-drm-exec-v1-0-958306ded36e@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260505-gpuvm-drm-exec-v1-0-958306ded36e@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=2384; i=aliceryhl@google.com; h=from:subject:message-id; bh=qNt2YdF4x2/LkeE3v0aanKcghsBitoEfdGwCtuzYJG8=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBp+fDN5yfDPclhyo9aW/ZKlIgjXm3Vd+w2m/7ka jLF9JvKgy2JAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCafnwzQAKCRAEWL7uWMY5 RtbXD/9h1m28gW+XzDUCixlmkFA9bVKmREih8TMXWDOjzdNd64jBqUuL7J0kBuPnFTOR2e/BQgs 56VQrHNqszkoPsZ55YDJZ9Abk7+3Zv8CTNL/lQG6KSFQDZ9CG3MJ30VTUZq94BBbKVsC/D9tf44 MlMgbxRQWEOyM7YAlzO2nouLO1zVG0lip/j/UFiFbktLb8o16a/eTtikKYhR7zw+fPfprLnqNSR zh+w18CDNl9aL2T+/8ba4NZxvaZ/gFHPMD6jr34ORM/jGHN6P39kUe4iZgqIp93OC527T6+AuhY 6kowv1GJx7/uQ/+T8RfnPCsL2rTWLe+7MXv6CKu+VE7bzSHR1MPi678g+SNAETbk47xGGF5MRbz j6u4Vs9vzeJ4u84Q5f4uN16zzxRx+RV8/clqcOzRCsCXFr0T0EFaSHEQ8xsPu880DSu37lVTX6J Lh2VsMV6fTByQpYSU+8sFQRwhkKu4hVPvSHNaL8hIxtTmHL9ikQ4CDj74y2sGKeWKea0bIaZbSv FwvtauuGjX461Xw7NaS+xQguhgvXvAQWgGCc1fSfwc01LLg+9dU8l9BCNTzxhI2OQ7nhsFAda9v URTWkLpyAspRgQ4unH6xm4eOe7HkCr7tnTEzAvE9K4trHFjVGLOQvTwhGnl7lRuO9nsMiaWoMfG ah5N6vB46gV7/qg== X-Mailer: b4 0.14.3 Message-ID: <20260505-gpuvm-drm-exec-v1-1-958306ded36e@google.com> Subject: [PATCH 1/2] rust: dma_buf: add stub dma_fence abstraction From: Alice Ryhl To: Danilo Krummrich , Matthew Brost , "=?utf-8?q?Thomas_Hellstr=C3=B6m?=" , Daniel Almeida , Boris Brezillon , Gary Guo , "=?utf-8?q?Onur_=C3=96zkan?=" , Philipp Stanner Cc: Sumit Semwal , "=?utf-8?q?Christian_K=C3=B6nig?=" , Miguel Ojeda , Boqun Feng , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, dri-devel@lists.freedesktop.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" From: Philipp Stanner This adds a trivial DMA Fence type for use in other abstractions that need to take a DMA fence as a parameter. For now, the type is a stub, but may be used with fences defined by C. Signed-off-by: Philipp Stanner Signed-off-by: Alice Ryhl --- This stub is included only for completeness. Most likely we will land this on top of the Philipp's patch that actually adds Fence for real, and this stub commit will not be necessary. Taken from: https://gitlab.freedesktop.org/pstanner/linux-drm-work/-/merge_requests/1 --- rust/kernel/dma_buf/dma_fence.rs | 32 ++++++++++++++++++++++++++++++++ rust/kernel/dma_buf/mod.rs | 7 +++++++ rust/kernel/lib.rs | 1 + 3 files changed, 40 insertions(+) diff --git a/rust/kernel/dma_buf/dma_fence.rs b/rust/kernel/dma_buf/dma_fence.rs new file mode 100644 index 000000000000..135df74013db --- /dev/null +++ b/rust/kernel/dma_buf/dma_fence.rs @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0 +// +// Copyright (C) 2025, 2026 Red Hat Inc.: +// - Philipp Stanner + +//! DMA Fence support. +//! +//! Reference: +//! +//! C header: [`include/linux/dma-fence.h`](srctree/include/linux/dma-fence.h) + +use crate::{ + bindings, + prelude::*, + types::Opaque, // +}; + +/// A dma fence. +#[pin_data] +#[repr(transparent)] +pub struct Fence { + #[pin] + inner: Opaque, +} + +impl Fence { + /// Access the raw dma fence. + #[inline] + pub fn as_raw(&self) -> *mut bindings::dma_fence { + self.inner.get() + } +} diff --git a/rust/kernel/dma_buf/mod.rs b/rust/kernel/dma_buf/mod.rs new file mode 100644 index 000000000000..b66e747c35ad --- /dev/null +++ b/rust/kernel/dma_buf/mod.rs @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT + +//! DMA-buf subsystem abstractions. + +pub mod dma_fence; + +pub use self::dma_fence::Fence; diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs index b72b2fbe046d..a05ccaa7598c 100644 --- a/rust/kernel/lib.rs +++ b/rust/kernel/lib.rs @@ -63,6 +63,7 @@ pub mod device_id; pub mod devres; pub mod dma; +pub mod dma_buf; pub mod driver; #[cfg(CONFIG_DRM = "y")] pub mod drm; -- 2.54.0.545.g6539524ca2-goog