Clarify why using only the first returned slice from allocate_command
for the message headers is okay.

Signed-off-by: Eliot Courtney <[email protected]>
---
 drivers/gpu/nova-core/gsp/cmdq.rs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/nova-core/gsp/cmdq.rs 
b/drivers/gpu/nova-core/gsp/cmdq.rs
index dbc9e95f1b17..78f0b1a0e30c 100644
--- a/drivers/gpu/nova-core/gsp/cmdq.rs
+++ b/drivers/gpu/nova-core/gsp/cmdq.rs
@@ -542,7 +542,9 @@ pub(crate) fn send_command<M>(&mut self, bar: &Bar0, 
command: M) -> Result
         let command_size = Self::command_size(&command);
         let dst = self.gsp_mem.allocate_command_with_timeout(command_size)?;
 
-        // Extract area for the command itself.
+        // Extract area for the command itself. The GSP message header and the 
command header
+        // together are guaranteed to fit entirely into a single page, so it's 
ok to only look
+        // at `dst.contents.0` here.
         let (cmd, payload_1) = 
M::Command::from_bytes_mut_prefix(dst.contents.0).ok_or(EIO)?;
 
         // Fill the header and command in-place.

-- 
2.53.0

Reply via email to