diff options
Diffstat (limited to 'kernel/gsp_phys_booter.c')
| -rw-r--r-- | kernel/gsp_phys_booter.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index f603c10..bc312b0 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -16634,9 +16634,15 @@ gsp_phys_gr_output_retire_wait(const struct gsp_phys_gr_submit *req, u32 pj; bool launch_page = false; + /* + * Exclude EVERY forwarded launch page - including the + * 0xffffffff (non-QMD) ones (pushbuffer/indirect/bank pages + * the fill also relocates as high-VA candidates). r150 + * excluded only the QMD pages and out_base landed on the + * 0x1d9000 bank page group: out_pages=3, the wait exited + * after 72 ms and the late-write capture was lost. + */ for (pj = 0; pj < req->n_pages; pj++) { - if (req->pages[pj].qmd_word == 0xffffffffu) - continue; if (req->pages[pj].guest_va == req->data[di].va) { launch_page = true; break; @@ -16663,9 +16669,6 @@ gsp_phys_gr_output_retire_wait(const struct gsp_phys_gr_submit *req, bool lp = false; for (pj = 0; pj < req->n_pages; pj++) { - if (req->pages[pj].qmd_word == - 0xffffffffu) - continue; if (req->pages[pj].guest_va == req->data[k].va) { lp = true; |
