On Sat Feb 8, 2025 at 2:58 AM JST, Zhi Wang wrote: > There can be multiple cases of handling the GSP RPC messages, which > are the reply of GSP RPC commands according to the requirement of the > callers and the nature of the GSP RPC commands. > > Some GSP RPC command needs a new reply policy: "caller don't care about > the message content but want to make sure a reply is received". To > support this case, a new reply policy is introduced. > > Introduce new reply policy NVKM_GSP_RPC_REPLY_POLL, which waits for the > returned GSP message but discards it for the caller. > > No functional change is intended. > > Signed-off-by: Zhi Wang <zhiw@xxxxxxxxxx> > --- > drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h | 1 + > drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h > index c467e44cab47..bc16510261b8 100644 > --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h > +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h > @@ -33,6 +33,7 @@ typedef void (*nvkm_gsp_event_func)(struct nvkm_gsp_event *, void *repv, u32 rep > > enum { > NVKM_GSP_RPC_REPLY_RECV = 1, > + NVKM_GSP_RPC_REPLY_POLL, > }; > > struct nvkm_gsp { > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c > index bc8eb9a3cb28..af2836cca38f 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c > @@ -601,6 +601,9 @@ r535_gsp_rpc_handle_reply(struct nvkm_gsp *gsp, u32 fn, int reply, > else > repv = msg; > break; > + case NVKM_GSP_RPC_REPLY_POLL: > + repv = r535_gsp_msg_recv(gsp, fn, 0); > + break; > default: > repv = ERR_PTR(-EINVAL); > break; I suspect patch 4 can be merged into this one, so we introduce the user at the same time as the functionality.