dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/11] drm/tyr: add VM and BO ioctl support
@ 2026-09-29  2:15 Ke Sun via B4 Relay
  2026-09-29  2:15 ` [PATCH v3 01/11] rust: sizes: add SZ_4G constant Ke Sun via B4 Relay
                   ` (10 more replies)
  0 siblings, 11 replies; 19+ messages in thread
From: Ke Sun via B4 Relay @ 2026-09-29  2:15 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, Lorenzo Stoakes,
	Liam R. Howlett, Lyude Paul, David Airlie, Simona Vetter,
	Greg Kroah-Hartman, Rafael J. Wysocki
  Cc: Sami Tolvanen, rust-for-linux, linux-mm, dri-devel, driver-core,
	Ke Sun, Alvin Sun

Add the VM and BO ioctls to the Tyr driver, aligning its userspace
interface with panthor.

The series is based on Danilo's `drm-file` series on
`drm-rust-next`. It also carries Sami Tolvanen's buffer
cache-management patches from
https://gitlab.freedesktop.org/panfrost/linux sami/tyr/7.3/dev.

The panthor IGT tests pass on an RK3588S device.

A branch with the full series and all prerequisites applied is
available at:
https://gitlab.freedesktop.org/alvinsun039/linux.git tyr-ioctls

Link: https://gitlab.freedesktop.org/panfrost/linux/-/merge_requests/64
Signed-off-by: Ke Sun <sunke@kylinos.cn>
---
Changes in v3:
- Drop the VmOwner wrapper and kill VMs explicitly on destroy and
  file close (Deborah).
- Add Sami Tolvanen's buffer cache-management patches: coherent
  devices map buffers cached, write-combine buffers flush at
  creation, and BO_CREATE accepts WB_MMAP.
- Drop the new_dummy_object refactor; the dummy object stays a direct
  Bo::new since new_object now fetches the sgtable for write-combine
  buffers.
- Document the LargeSizeConstants trait in the sizes patch (Miguel).
- Misc commit message and comment cleanups.
- Link to v2: https://lore.kernel.org/r/20260908-tyr-ioctls-v2-0-88bea777df67@kylinos.cn

Changes in v2:
- Fold the VM pool into vm.rs and cap it at 32 VMs per file (Deborah).
- Add VmOwner so a VM is killed exactly once on drop, regardless of
  remaining references (Daniel).
- Replace the VmSpec enum with new_for_fw()/new_for_user()
  constructors (Daniel).
- Parse VM_BIND op types via VmBindOpType and use the kernel
  Atomic<bool> for the unusable flag (Daniel).
- Use PAGE_SIZE for the dummy object size (Daniel).
- Rename BoData::create_flags() to flags() (Daniel).
- Report VA-split failures with dev_err! at the caller (Deborah).
- Link to v1: https://lore.kernel.org/r/20260902-tyr-ioctls-v1-0-e0fdbf8bd108@kylinos.cn

---
Alvin Sun (8):
      rust: sizes: add SZ_4G constant
      rust: mm: add `task_size` helper
      rust: sync: arc: relax `ForeignOwnable` for `Arc<T>`
      drm/tyr: add per-file VM pool
      drm/tyr: add user and MCU VM specifications
      drm/tyr: add BO creation and lookup helpers
      drm/tyr: add VM-related ioctls
      drm/tyr: add BO-related ioctls

Sami Tolvanen (3):
      rust: device: expose dma_coherent()
      drm/tyr: gem: flush write-combine BOs from probe-time coherence
      drm/tyr: gem: map cached BOs for DRM_PANTHOR_BO_WB_MMAP

 drivers/gpu/drm/tyr/driver.rs   |  24 ++-
 drivers/gpu/drm/tyr/file.rs     | 405 +++++++++++++++++++++++++++++++++++++++-
 drivers/gpu/drm/tyr/fw.rs       |  21 ++-
 drivers/gpu/drm/tyr/gem.rs      |  78 +++++++-
 drivers/gpu/drm/tyr/vm.rs       | 325 ++++++++++++++++++++++++++++++--
 rust/bindings/bindings_helper.h |   1 +
 rust/kernel/device.rs           |  16 ++
 rust/kernel/mm.rs               |   7 +
 rust/kernel/sizes.rs            |  12 ++
 rust/kernel/sync/arc.rs         |  12 +-
 10 files changed, 851 insertions(+), 50 deletions(-)
---
base-commit: 47cba9eeecd9a046ee5d211b86aae3e84d2e0b53
change-id: 20260901-tyr-ioctls-f10ef0dcbfa6

Best regards,
--  
Ke Sun <sunke@kylinos.cn>



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

end of thread, other threads:[~2026-10-09 14:52 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-29  2:15 [PATCH v3 00/11] drm/tyr: add VM and BO ioctl support Ke Sun via B4 Relay
2026-09-29  2:15 ` [PATCH v3 01/11] rust: sizes: add SZ_4G constant Ke Sun via B4 Relay
2026-09-29  2:15 ` [PATCH v3 02/11] rust: mm: add `task_size` helper Ke Sun via B4 Relay
2026-09-29  2:15 ` [PATCH v3 03/11] rust: sync: arc: relax `ForeignOwnable` for `Arc<T>` Ke Sun via B4 Relay
2026-09-29  2:15 ` [PATCH v3 04/11] drm/tyr: add per-file VM pool Ke Sun via B4 Relay
2026-10-09 14:22   ` Daniel Almeida
2026-09-29  2:15 ` [PATCH v3 05/11] drm/tyr: add user and MCU VM specifications Ke Sun via B4 Relay
2026-10-09 14:26   ` Daniel Almeida
2026-10-09 14:27   ` Daniel Almeida
2026-09-29  2:15 ` [PATCH v3 06/11] drm/tyr: add BO creation and lookup helpers Ke Sun via B4 Relay
2026-10-09 14:28   ` Daniel Almeida
2026-09-29  2:15 ` [PATCH v3 07/11] drm/tyr: add VM-related ioctls Ke Sun via B4 Relay
2026-10-09 14:36   ` Daniel Almeida
2026-09-29  2:15 ` [PATCH v3 08/11] drm/tyr: add BO-related ioctls Ke Sun via B4 Relay
2026-10-09 14:52   ` Daniel Almeida
2026-09-29  2:15 ` [PATCH v3 09/11] rust: device: expose dma_coherent() Ke Sun via B4 Relay
2026-09-29 18:40   ` Danilo Krummrich
2026-09-29  2:16 ` [PATCH v3 10/11] drm/tyr: gem: flush write-combine BOs from probe-time coherence Ke Sun via B4 Relay
2026-09-29  2:16 ` [PATCH v3 11/11] drm/tyr: gem: map cached BOs for DRM_PANTHOR_BO_WB_MMAP Ke Sun via B4 Relay

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox