Skip to contentSkip to conversation

Nova: Move register definition into module using it

PATCH In review Antonin Malzieu Ridolfi 2 participants 2 messages May 16 – May 20

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Nova: Move register definition into module using it

First babystep to split the register definitions grouped in nova root register file to the module which actually use them.

---
 drivers/gpu/nova-core/gsp.rs      |  1 +
 drivers/gpu/nova-core/gsp/cmdq.rs |  3 ++-
 drivers/gpu/nova-core/gsp/regs.rs | 11 +++++++++++
 drivers/gpu/nova-core/regs.rs     |  8 --------
 4 files changed, 14 insertions(+), 9 deletions(-)
 create mode 100644 drivers/gpu/nova-core/gsp/regs.rs
drivers/gpu/nova-core/gsp.rs +1 -0
index ba5b7f990031..756b9c75dc90 100644
@@ -21,6 +21,7 @@
 pub(crate) mod cmdq;
 pub(crate) mod commands;
 mod fw;
+mod regs;
 mod sequencer;
 
 pub(crate) use fw::{
drivers/gpu/nova-core/gsp/cmdq.rs +0 -0

i
ndex 275da9b1ee0e..4d54350e8095 100644

drivers/gpu/nova-core/gsp/cmdq.rs +2 -1
@@ -51,10 +51,11 @@
         GSP_PAGE_SIZE, //
     },
     num,
-    regs,
     sbuffer::SBufferIter, //
 };
 
+use super::regs;
+
 /// Marker type representing the absence of a reply for a command. Commands using this as their
 /// reply type are sent using [`Cmdq::send_command_no_wait`].
 pub(crate) struct NoReply;
drivers/gpu/nova-core/gsp/regs.rs new file +11 -0
new file mode 100644
index 000000000000..a76dea3c3ab0
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0
+
+use kernel::io::register;
+
+// PGSP
+
+register! {
+    pub(super) NV_PGSP_QUEUE_HEAD(u32) @ 0x00110c00 {
+        31:0    address;
+    }
+}
drivers/gpu/nova-core/regs.rs +0 -0
index 6faeed73901d..d675afbb56b2 100644

--- a/drivers/gpu/nov
a-core/regs.rs
+++ b/drivers/gpu/nova-core/regs.rs

@@ -177,14 +177,6 @@ pub(crate) fn higher_bound(self) -> u64 {
     }

}

-// PGSP
-
-register! {
- pub(crate) NV_PGSP_QUEUE_HEAD(u32) @ 0x00110c00 {
- 31:0 address;
- }
-}
-
// PGC6 register space.
//
// GC6 is a GPU low-power state where VRAM is in self-refresh and the GPU is powered down (except
--
2.54.0

#1 lore raw

Hi Antonin, thanks for this first patch!

Note about the subject: if you look at patches under drivers/gpu/nova-core, you will notice that they all use the same prefix (gpu: nova-core:). Here since you touch the gsp module, you'll want to refine it further to gpu: nova-core: gsp:.

Quoted 2 lines · Antonin Malzieu Ridolfi

First babystep to split the register definitions grouped in nova root register file to the module which actually use them.

nit: "first babystep" is irrelevant for the git history, we prefer to keep the log strictly factual. If you want to add side-comments, you can do so after the --- marker - these won't be picked up when the patch is applied.

Quoted 11 lines
---
 drivers/gpu/nova-core/gsp.rs      |  1 +
 drivers/gpu/nova-core/gsp/cmdq.rs |  3 ++-
 drivers/gpu/nova-core/gsp/regs.rs | 11 +++++++++++
 drivers/gpu/nova-core/regs.rs     |  8 --------
 4 files changed, 14 insertions(+), 9 deletions(-)
 create mode 100644 drivers/gpu/nova-core/gsp/regs.rs

The patch in itself looks exactly like expected. The reduced visibility is definitely nice.

I suppose you will want to send a v2 addressing this feedback; feel free to include one or more extra obvious modules as additional patches if you feel like it. This is the kind of rework that can be merged quickly.