On Mon Mar 2, 2026 at 8:42 PM JST, Eliot Courtney wrote: > Splits large RPCs if necessary and sends the remaining parts using > continuation records. RPCs that do not need continuation records > continue to write directly into the command buffer. Ones that do write > into a staging buffer first, so there is one copy. > > Continuation record for receive is not necessary to support at the > moment because those replies do not need to be read and are currently > drained by retrying `receive_msg` on ERANGE. > > Signed-off-by: Eliot Courtney <[email protected]> > --- > drivers/gpu/nova-core/gsp.rs | 1 + > drivers/gpu/nova-core/gsp/cmdq.rs | 41 +++++++- > drivers/gpu/nova-core/gsp/continuation.rs | 167 > ++++++++++++++++++++++++++++++ > drivers/gpu/nova-core/gsp/fw.rs | 4 + > 4 files changed, 210 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/nova-core/gsp.rs b/drivers/gpu/nova-core/gsp.rs > index 174feaca0a6b..ccf56f1ad246 100644 > --- a/drivers/gpu/nova-core/gsp.rs > +++ b/drivers/gpu/nova-core/gsp.rs > @@ -16,6 +16,7 @@ > > pub(crate) mod cmdq; > pub(crate) mod commands; > +mod continuation;
Looking at this series it seems more logical to have `continuation` under `cmdq` than just `gsp`. Nothing in `gsp` makes use of it, as it is an implementation detail of the command queue. And that way the `pub(super)` exports would be perfectly scoped to their user. Re-reading my review of v3, I am the one who suggested to put it under `gsp` - so this is my mistake. No need to resend just for that, I can fix when applying and this should have no impact on the patches that come above it. Giving it a few days to gather reviews, but after a first skim this looks ready to me.
