All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] drm/tyr: add debugfs support
@ 2026-08-06 17:07 Alvin Sun
  2026-08-06 17:07 ` [PATCH v3 1/8] rust: seq_file: add as_raw() method Alvin Sun
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Alvin Sun @ 2026-08-06 17:07 UTC (permalink / raw)
  To: Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron,
	Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross,
	Danilo Krummrich, Daniel Almeida, Tamir Duberstein,
	Alexandre Courbot, Onur Özkan, Greg Kroah-Hartman,
	Rafael J. Wysocki, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter
  Cc: Alexander Viro, Christian Brauner, Jan Kara, Matthew Brost,
	Thomas Hellström, rust-for-linux, driver-core, dri-devel,
	Alvin Sun

Add debugfs support for the Tyr DRM driver.

The series adds a SeqShow trait for seq_file-backed debugfs files, a
debugfs_init callback on the DRM Driver trait, and a gpuvas debugfs
file in Tyr exposing GPU VA space information.

This is based on drm-rust-next and depends on:

[PATCH v10 0/7] drm/tyr: firmware loading and MCU boot support
  https://lore.kernel.org/r/20260728-fw-boot-b4-v10-0-9187aefa3f2f@collabora.com

See the full dependency and commit history at [1].

Link: https://gitlab.freedesktop.org/panfrost/linux/-/issues/11
Link: https://gitlab.freedesktop.org/panfrost/linux/-/merge_requests/59 [1]
Signed-off-by: Alvin Sun <alvin.sun@linux.dev>
---
Changes in v3:
- Drop the DrmSeqShow adapter and use SeqShow directly, per Danilo's
  feedback. Simplify the debugfs_init callback signature accordingly.
- Redesign VmRegistry per Daniel's and Alice's feedback: move it to
  vm.rs at the top level of the registration data, use Arc<VmRegistry>
  for shared ownership, and separate register/unregister from Vm::new
  and Vm::kill. Registration failure is non-fatal (dev_warn) since the
  registry is a debugfs convenience.
- Add VmRegistry::unregister to remove VMs on teardown, addressing
  Alice's concern about the list going out of sync.
- Drop the "hold device reference for open files" patch; the debugfs
  proxy fops already ensure file operations cannot outlive
  debugfs_remove().
- Improve SAFETY comments and fix style issues identified during review.
- Link to v2: https://lore.kernel.org/r/20260731-tyr-debugfs-v2-v2-0-aea19eccb996@linux.dev

Changes in v2:
- Reworked the debugfs implementation per feedback from Danilo on v1:
  dropped the hazptr/revocable-based approach in favor of the DRM
  debugfs_init callback and generic seq_file abstractions.
- Fixed a UAF in drm_debugfs where a device could be unregistered while
  a debugfs file remains open (drm_dev_get/put across file lifetime).
- Link to v1: https://lore.kernel.org/r/20260326-b4-tyr-debugfs-v1-0-074badd18716@linux.dev

---
Alvin Sun (8):
      rust: seq_file: add as_raw() method
      rust: debugfs: add seq_file support
      rust: debugfs: add ScopeRef for existing dentries
      drm: move debugfs_init after dev->registered is set
      rust: drm: add debugfs_init callback to Driver trait
      rust: drm: gpuvm: add dump_gpuva_info to UniqueRefGpuVm
      drm/tyr: track VMs in a registry
      drm/tyr: add gpuvas debugfs file

 drivers/gpu/drm/drm_debugfs.c   |  3 --
 drivers/gpu/drm/drm_drv.c       |  5 +++
 drivers/gpu/drm/tyr/debugfs.rs  | 20 ++++++++++
 drivers/gpu/drm/tyr/driver.rs   | 16 +++++++-
 drivers/gpu/drm/tyr/fw.rs       | 18 +++++++--
 drivers/gpu/drm/tyr/tyr.rs      |  1 +
 drivers/gpu/drm/tyr/vm.rs       | 33 ++++++++++++++++
 rust/bindings/bindings_helper.h |  1 +
 rust/kernel/debugfs.rs          | 84 ++++++++++++++++++++++++++++++++++++++++-
 rust/kernel/debugfs/entry.rs    | 15 +++++++-
 rust/kernel/debugfs/file_ops.rs | 60 +++++++++++++++++++++++++++++
 rust/kernel/debugfs/traits.rs   | 11 ++++++
 rust/kernel/drm/device.rs       | 41 +++++++++++++++++++-
 rust/kernel/drm/driver.rs       | 11 ++++++
 rust/kernel/drm/gpuvm/mod.rs    |  9 +++++
 rust/kernel/seq_file.rs         |  6 +++
 16 files changed, 323 insertions(+), 11 deletions(-)
---
base-commit: 0ffc014cb2abfc79d161662b125e085b3e7107e7
change-id: 20260730-tyr-debugfs-v2-608cef77d6e9

Best regards,
-- 
Alvin Sun <alvin.sun@linux.dev>



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-08-06 17:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06 17:07 [PATCH v3 0/8] drm/tyr: add debugfs support Alvin Sun
2026-08-06 17:07 ` [PATCH v3 1/8] rust: seq_file: add as_raw() method Alvin Sun
2026-08-06 17:07 ` [PATCH v3 2/8] rust: debugfs: add seq_file support Alvin Sun
2026-08-06 17:07 ` [PATCH v3 3/8] rust: debugfs: add ScopeRef for existing dentries Alvin Sun
2026-08-06 17:07 ` [PATCH v3 4/8] drm: move debugfs_init after dev->registered is set Alvin Sun
2026-08-06 17:07 ` [PATCH v3 5/8] rust: drm: add debugfs_init callback to Driver trait Alvin Sun
2026-08-06 17:07 ` [PATCH v3 6/8] rust: drm: gpuvm: add dump_gpuva_info to UniqueRefGpuVm Alvin Sun
2026-08-06 17:07 ` [PATCH v3 7/8] drm/tyr: track VMs in a registry Alvin Sun
2026-08-06 17:07 ` [PATCH v3 8/8] drm/tyr: add gpuvas debugfs file Alvin Sun

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.