From f58242b56eb359c883f2794b02dd35b325000d18 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Thu, 23 Jan 2020 14:42:01 +0100 Subject: [PATCH] freedreno: Document CP_UNK_A6XX_55 Reviewed-by: Rob Clark Part-of: --- src/freedreno/registers/a6xx.xml | 12 ------ src/freedreno/registers/adreno_pm4.xml | 73 +++++++++++++++++++++++++++++----- 2 files changed, 62 insertions(+), 23 deletions(-) diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml index 8e68f0112be..2cfa49f0a3e 100644 --- a/src/freedreno/registers/a6xx.xml +++ b/src/freedreno/registers/a6xx.xml @@ -3432,18 +3432,6 @@ with a better name. - - - - - - - - - - - - diff --git a/src/freedreno/registers/adreno_pm4.xml b/src/freedreno/registers/adreno_pm4.xml index 3a1a0343767..48f77f64c98 100644 --- a/src/freedreno/registers/adreno_pm4.xml +++ b/src/freedreno/registers/adreno_pm4.xml @@ -422,14 +422,7 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd"> - - + + + + + + - - - + @@ -1507,5 +1509,54 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords) + + + Used by the userspace driver to set various IB's which are + executed during context save/restore for handling + state that isn't restored by the + context switch routine itself. + + + + Executed unconditionally when switching back to the context. + + + + Executed when switching back after switching + away during execution of + a CP_SET_MARKER packet with RM6_YIELD as the + payload *and* the normal save routine was + bypassed for a shorter one. I think this is + connected to the "skipsaverestore" bit set by + the kernel when preempting. + + + + + Executed when switching away from the context, + except for context switches initiated via + CP_YIELD. + + + + + This can only be set by the RB (i.e. the kernel) + and executes with protected mode off, but + is otherwise similar to SAVE_IB. + + + + + + + + + + + + + + + -- 2.11.0