diff options
Diffstat (limited to 'kernel/gsp_sema_service.h')
| -rw-r--r-- | kernel/gsp_sema_service.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h index 7778443..ae9b7da 100644 --- a/kernel/gsp_sema_service.h +++ b/kernel/gsp_sema_service.h @@ -66,6 +66,17 @@ int gsp_sema_service_counter_add(u32 h_object, u64 pa); void gsp_sema_service_doorbell(u32 token); /* + * P5 wave-1 shadow work lifetime hooks. The backend release path must call + * gsp_sema_service_work_quiesce() before it frees the ladder buffers: it + * pauses new shadow requests and waits (bounded by the submit's 200 ms poll + * cap) for the in-flight one to finish, so no poll ever touches freed memory. + * gsp_sema_service_work_resume() re-enables requests when a new backend + * session starts. + */ +void gsp_sema_service_work_quiesce(void); +void gsp_sema_service_work_resume(void); + +/* * Discover and pin GR (compute) channel rings after the CE region of the * channel video-memory allocation. Set false to leave GR rings untranslated * (the pump then only runs the CE channels). |
