diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-11 17:50:53 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-11 17:50:53 -0400 |
| commit | 74ca378aeb5c160ca173697213861f0dbacdb434 (patch) | |
| tree | e057153d071b14877eeecc5ea2e2b2bec5ada546 /kernel/gsp_rm_emulation.c | |
| parent | 007b75f1132e79efc6453b807a2e650146428698 (diff) | |
| download | open-iov-74ca378aeb5c160ca173697213861f0dbacdb434.tar.gz open-iov-74ca378aeb5c160ca173697213861f0dbacdb434.zip | |
Revert "vgsp-sema: scope channel deletion to the owning RM client (ISSUE-0002)"
This reverts commit f5961087aa17111c6cdb7f6641626c0c877eee6b.
Diffstat (limited to 'kernel/gsp_rm_emulation.c')
| -rw-r--r-- | kernel/gsp_rm_emulation.c | 10 |
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 |
