public inbox for rust-for-linux@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/6] drm/tyr: Use register! macro
@ 2026-04-02 23:35 Deborah Brouwer
  2026-04-02 23:35 ` [PATCH v4 1/6] drm/tyr: Use register! macro for GPU_CONTROL Deborah Brouwer
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Deborah Brouwer @ 2026-04-02 23:35 UTC (permalink / raw)
  To: dri-devel, rust-for-linux, Boqun Feng
  Cc: Danilo Krummrich, Alice Ryhl, Daniel Almeida, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Miguel Ojeda, Gary Guo, Björn Roy Baron, Benno Lossin,
	Andreas Hindborg, Trevor Gross, Steven Price, Boris Brezillon,
	Dirk Behme, Alexandre Courbot, Deborah Brouwer, Boqun Feng

This series changes the Tyr driver to use the kernel's register! macro
for hardware register access, replacing manual bit manipulation and custom
register structures with a more type-safe and maintainable approach.

---
This series applies on drm-rust-next
tag: drm-rust-next-2026-03-30
base commit: 7c50d748b4a6

Changes in v4:
 - Add PartialEq to all enums so they can be used in comparisons.
 - Replace u64 registers with u32 LO/HI pairs and helper functions to read them.
 - Combine all MMU register definitions into one patch.
 - Drop [PATCH v3 03/12] drm/tyr: Set interconnect coherency during probe
   to avoid possible leaks/data corruption.
 - Pick up Ab, Rb tags

 - Link to v3: https://lore.kernel.org/r/20260323-b4-tyr-use-register-macro-v3-v3-0-a87daf9e4701@collabora.com
    
Changes in v3:
 - Update write_val() with write_reg() from API change.
 - Replace const values with enums and use => ?=> syntax.
 - Convert 1-bit fields to bool.
 - Change module visibility from pub(super) to pub(crate).
 - Add new commits to define mmu address registers.
 - Add new commit exposing hardware DOORBELLS.
 - Pick up Reviewed-by tags.
    
 There are also change logs per patch.
    
 - Link to v2: https://lore.kernel.org/r/20260311-b4-tyr-use-register-macro-v2-v2-0-b936d9eb8f51@collabora.com
        
Changes in v2:
 - Rebase on v8 of register! macro series;
 - Add documentation;
 - Remove manual functions to get address bits;
 - Revise gpu_info() to use macro;
 - Remove manual functions to get address bits;
 - Revise gpu_info() to use macro;
 - Revise l2_power_on() to use macro;
 - Set interconnect coherency protocol with macro;
 - Separate commits for each register page;
 - Replace HI/LO pairs with 64bit registers
 - Order registers by address;
 - Remove doorbell clear field from GPU_IRQ_CLEAR;
 - GPU command is redesigned to accommodate multiple layouts;
 - MMU register bits corrected;
 - Use UPPERCASE for register names;
 - Move the consts to impl block for registers;

Signed-off-by: Deborah Brouwer <deborah.brouwer@collabora.com>

---
Daniel Almeida (1):
      drm/tyr: Use register! macro for GPU_CONTROL

Deborah Brouwer (5):
      drm/tyr: Print GPU_ID without filtering
      drm/tyr: Use register! macro for JOB_CONTROL
      drm/tyr: Use register! macro for MMU_CONTROL
      drm/tyr: Remove custom register struct
      drm/tyr: Add DOORBELL_BLOCK registers

 drivers/gpu/drm/tyr/driver.rs |   24 +-
 drivers/gpu/drm/tyr/gpu.rs    |  232 +++---
 drivers/gpu/drm/tyr/regs.rs   | 1744 ++++++++++++++++++++++++++++++++++++++---
 3 files changed, 1761 insertions(+), 239 deletions(-)
---
base-commit: 7c50d748b4a635bc39802ea3f6b120e66b1b9067
change-id: 20260402-tyr-use-register-macro-v4-b1dd15f471aa

Best regards,
-- 
Deborah Brouwer <deborah.brouwer@collabora.com>


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

end of thread, other threads:[~2026-04-03  7:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-02 23:35 [PATCH v4 0/6] drm/tyr: Use register! macro Deborah Brouwer
2026-04-02 23:35 ` [PATCH v4 1/6] drm/tyr: Use register! macro for GPU_CONTROL Deborah Brouwer
2026-04-02 23:35 ` [PATCH v4 2/6] drm/tyr: Print GPU_ID without filtering Deborah Brouwer
2026-04-02 23:35 ` [PATCH v4 3/6] drm/tyr: Use register! macro for JOB_CONTROL Deborah Brouwer
2026-04-03  7:27   ` Boris Brezillon
2026-04-02 23:35 ` [PATCH v4 4/6] drm/tyr: Use register! macro for MMU_CONTROL Deborah Brouwer
2026-04-02 23:35 ` [PATCH v4 5/6] drm/tyr: Remove custom register struct Deborah Brouwer
2026-04-02 23:35 ` [PATCH v4 6/6] drm/tyr: Add DOORBELL_BLOCK registers Deborah Brouwer

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