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.
--- 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-b936d9eb8...@collabora.com This series applies on drm-rust-next. base-commit: a19457958c30 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; - 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 <[email protected]> --- Daniel Almeida (1): drm/tyr: Use register! macro for GPU_CONTROL Deborah Brouwer (11): drm/tyr: Print GPU_ID without filtering drm/tyr: Set interconnect coherency during probe 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 MMU address space registers drm/tyr: Add fields for MEMATTR register drm/tyr: Add fields for COMMAND register drm/tyr: Add fields for FAULTSTATUS register drm/tyr: Add fields for TRANSCFG register drm/tyr: Add DOORBELL_BLOCK registers drivers/gpu/drm/tyr/driver.rs | 29 +- drivers/gpu/drm/tyr/gpu.rs | 213 +++--- drivers/gpu/drm/tyr/regs.rs | 1587 ++++++++++++++++++++++++++++++++++++++--- 3 files changed, 1589 insertions(+), 240 deletions(-) --- base-commit: a19457958c3018783881c4416f272cd594f13049 change-id: 20260323-b4-tyr-use-register-macro-v3-d4366a02e975 Best regards, -- Deborah Brouwer <[email protected]>
