Internal feedback is to exactly match the register dumps output as it did in execlist, however it seems that the register dump function in execlist targetting the GT subsystem also includes non-GT registers like display-related ones that GuC doesn't manage. So for that, I will have to break up the execlist function into global-non-gt vs global-gt and then call the former for both GuC and non-GuC cases (skipping latter when GuC is doing the dump). ...alan On Tue, 2022-01-18 at 02:03 -0800, Alan Previn wrote: > Add device specific tables and register lists to cover different engines > class types for GuC error state capture for XE_LP products. > > Also, add runtime allocation and freeing of extended register lists > for registers that need steering identifiers that depend on > the detected HW config. > > Signed-off-by: Alan Previn <alan.previn.teres.alexis@xxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h | 2 + > .../gpu/drm/i915/gt/uc/intel_guc_capture.c | 208 +++++++++++++++--- > drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h | 4 +- > 3 files changed, 186 insertions(+), 28 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c > index 20c537274e60..6adfb5c07bcf 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c > @@ -19,20 +19,84 @@ > * NOTE: For engine-registers, GuC only needs the register offsets > * from the engine-mmio-base > */ > +#define COMMON_GEN12BASE_GLOBAL() \ > + {GEN12_FAULT_TLB_DATA0, 0, 0, "GEN12_FAULT_TLB_DATA0"}, \ > + {GEN12_FAULT_TLB_DATA1, 0, 0, "GEN12_FAULT_TLB_DATA1"}, \ > + {FORCEWAKE_MT, 0, 0, "FORCEWAKE_MT"}, \ > + {DERRMR, 0, 0, "DERRMR"}, \ > + {GEN12_AUX_ERR_DBG, 0, 0, "GEN12_AUX_ERR_DBG"}, \ > + {GEN12_GAM_DONE, 0, 0, "GEN12_GAM_DONE"}, \ > + {GEN11_GUC_SG_INTR_ENABLE, 0, 0, "GEN11_GUC_SG_INTR_ENABLE"}, \ > + {GEN11_CRYPTO_RSVD_INTR_ENABLE, 0, 0, "GEN11_CRYPTO_RSVD_INTR_ENABLE"}, \ > + {GEN11_GUNIT_CSME_INTR_ENABLE, 0, 0, "GEN11_GUNIT_CSME_INTR_ENABLE"}, \ > + {GEN11_GPM_WGBOXPERF_INTR_ENABLE, 0, 0, "GEN11_GPM_WGBOXPERF_INTR_ENABLE"}, \ > + {GEN8_DE_MISC_IER, 0, 0, "GEN8_DE_MISC_IER"}, \ > + {GEN12_RING_FAULT_REG, 0, 0, "GEN12_RING_FAULT_REG"} > +