summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_rm_emulation.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-11 17:50:53 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-11 17:50:53 -0400
commitb06a23c3a8ed36de9db3b880fe6df55d63ad4586 (patch)
tree2cdd63b2e6e7b8c194b7e031ceeb8ef0e4d20473 /kernel/gsp_rm_emulation.c
parent4e98122015a736459d303b71d32b300448e51dad (diff)
downloadopen-iov-b06a23c3a8ed36de9db3b880fe6df55d63ad4586.tar.gz
open-iov-b06a23c3a8ed36de9db3b880fe6df55d63ad4586.zip
Revert "vgsp-sema: scope channel deletion to the owning RM client (ISSUE-0002)"
This reverts commit 5fa773c2cd4e166d2c31a40aff9fb63e7534fec3.
Diffstat (limited to 'kernel/gsp_rm_emulation.c')
-rw-r--r--kernel/gsp_rm_emulation.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/gsp_rm_emulation.c b/kernel/gsp_rm_emulation.c
index b4bee46..8318f56 100644
--- a/kernel/gsp_rm_emulation.c
+++ b/kernel/gsp_rm_emulation.c
@@ -2348,9 +2348,8 @@ static bool gsp_rm_is_channel_class(u32 class_id)
#define GSPRM_CHAN_MEM_APERTURE 16 /* offset of addressSpace in the desc */
#define GSPRM_CHAN_NOTIFIER_MEM 248
-static void gsp_rm_register_channel(struct gsp_emu_context *ctx, u32 h_client,
- u32 h_object, const u8 *params,
- u32 params_size)
+static void gsp_rm_register_channel(struct gsp_emu_context *ctx, u32 h_object,
+ const u8 *params, u32 params_size)
{
struct sema_channel_desc desc;
@@ -2359,7 +2358,6 @@ static void gsp_rm_register_channel(struct gsp_emu_context *ctx, u32 h_client,
memset(&desc, 0, sizeof(desc));
desc.h_object = h_object;
- desc.h_client = h_client;
memcpy(&desc.gpfifo_va, params + GSPRM_CHAN_GPFIFO_OFFSET, 8);
memcpy(&desc.gpfifo_entries, params + GSPRM_CHAN_GPFIFO_ENTRIES, 4);
memcpy(&desc.engine_type, params + GSPRM_CHAN_ENGINE_TYPE, 4);
@@ -2437,7 +2435,7 @@ static void gsp_rm_handle_rm_alloc(struct gsp_emu_context *ctx,
/* Channels: hand the progress service everything it needs to run the
* work submitted on this channel (GPFIFO ring + USERD). */
if (gsp_rm_is_channel_class(class_id))
- gsp_rm_register_channel(ctx, hc, ho, params, params_size);
+ gsp_rm_register_channel(ctx, ho, params, params_size);
/*
* NV01_EVENT (allocated with class 0x79 in the guest ABI; params are
@@ -3246,7 +3244,7 @@ static void gsp_rm_handle_free(struct gsp_emu_context *ctx, const u8 *elem,
memcpy(&hObjOld, params + 8, 4);
memset(params + 12, 0, 4); /* status = NV_OK */
- gsp_sema_service_channel_del(hObjOld, hRoot);
+ gsp_sema_service_channel_del(hObjOld);
/*
* Retire event records that refer to the object being freed. Posting an