summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_booter.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-04 07:49:31 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-04 07:49:31 -0500
commit34cac6163d06ebd47e0e7336888fe3b84ce9c30f (patch)
tree9d6f3a5b0d21cfe87991f6ce2f00ad7e97a2d157 /kernel/gsp_phys_booter.h
parent78b2ddd3ac93fc4db8769a0bb5def898ee3f3943 (diff)
downloadopen-iov-34cac6163d06ebd47e0e7336888fe3b84ce9c30f.tar.gz
open-iov-34cac6163d06ebd47e0e7336888fe3b84ce9c30f.zip
vgsp-mme: CONT-118 strict release + FE-busy deferral - sema_gl_mme_hold_strict (calls release only when pre_words_out==0 && fe_idle() && live_gen==pl_gen) and sema_gl_mme_fe_defer (busy-defer the load-only carrier at svc_gr_request before fill/consume, bounded 4 consecutive defers/gen with GIVEUP log) - both default 1, independent live A/B, 0 = legacy-equivalent
Diffstat (limited to 'kernel/gsp_phys_booter.h')
-rw-r--r--kernel/gsp_phys_booter.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/gsp_phys_booter.h b/kernel/gsp_phys_booter.h
index 6f4d1ea..5ae5ae6 100644
--- a/kernel/gsp_phys_booter.h
+++ b/kernel/gsp_phys_booter.h
@@ -528,6 +528,15 @@ bool gsp_phys_gr_quiet_hold_active(void);
int gsp_phys_backend_guest_gr_submit(const struct gsp_phys_gr_submit *req,
struct gsp_phys_backend_copy_result *out);
+/*
+ * r1445 5c: true when a 3D stream launch (h_object / win3d_n identify the
+ * window) would become a load-only MME carrier while the GR front-end is
+ * not idle; the service's request gate then busy-defers (nothing emitted
+ * or submitted, no release authored, candidate retried). Bounded per
+ * prelude generation internally; sema_gl_mme_fe_defer=0 makes it a no-op.
+ */
+bool gsp_phys_gr_mme_fe_defer_wanted(u32 h_object, u32 win3d_n);
+
/* GR forwarding counters (submitted/verified/cancelled), plain reads. */
void gsp_phys_backend_gr_counters(u64 *submitted, u64 *ok, u64 *refused,
u64 *timed_out, u64 *pool_exhausted);