[Intel-gfx] [RFC 4/7] drm/i915/guc: Add GuC's error state capture output structures.
Matthew Brost
matthew.brost at intel.com
Tue Dec 7 21:01:29 UTC 2021
On Mon, Nov 22, 2021 at 03:03:59PM -0800, Alan Previn wrote:
> Add GuC's error capture output structures and definitions as how
> they would appear in GuC log buffer's error capture subregion after
> an error state capture G2H event notification.
>
> Signed-off-by: Alan Previn <alan.previn.teres.alexis at intel.com>
> ---
> .../gpu/drm/i915/gt/uc/intel_guc_capture.h | 35 +++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
> index df420f0f49b3..b2454b6cd778 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
> @@ -29,6 +29,41 @@ struct __guc_mmio_reg_descr_group {
> struct __guc_mmio_reg_descr * ext;
> };
>
> +struct intel_guc_capture_out_data_header {
> + u32 reserved1;
> + u32 info;
> + #define GUC_CAPTURE_DATAHDR_SRC_TYPE GENMASK(3, 0) /* as per enum guc_capture_type */
> + #define GUC_CAPTURE_DATAHDR_SRC_CLASS GENMASK(7, 4) /* as per GUC_MAX_ENGINE_CLASSES */
> + #define GUC_CAPTURE_DATAHDR_SRC_INSTANCE GENMASK(11, 8)
> + u32 lrca; /* if type-instance, LRCA (address) that hung, else set to ~0 */
> + u32 guc_ctx_id; /* if type-instance, context index of hung context, else set to ~0 */
s/guc_ctx_id/guc_id
With __packed (per Jani's feedback) as well:
Reviewed-by: Matthew Brost <matthew.brost at intel.com>
> + u32 num_mmios;
> + #define GUC_CAPTURE_DATAHDR_NUM_MMIOS GENMASK(9, 0)
> +};
> +
> +struct intel_guc_capture_out_data {
> + struct intel_guc_capture_out_data_header capture_header;
> + struct guc_mmio_reg capture_list[0];
> +};
> +
> +enum guc_capture_group_types {
> + GUC_STATE_CAPTURE_GROUP_TYPE_FULL,
> + GUC_STATE_CAPTURE_GROUP_TYPE_PARTIAL,
> + GUC_STATE_CAPTURE_GROUP_TYPE_MAX,
> +};
> +
> +struct intel_guc_capture_out_group_header {
> + u32 reserved1;
> + u32 info;
> + #define GUC_CAPTURE_GRPHDR_SRC_NUMCAPTURES GENMASK(7, 0)
> + #define GUC_CAPTURE_GRPHDR_SRC_CAPTURE_TYPE GENMASK(15, 8)
> +};
> +
> +struct intel_guc_capture_out_group {
> + struct intel_guc_capture_out_group_header group_header;
> + struct intel_guc_capture_out_data group_lists[0];
> +};
> +
> struct intel_guc_state_capture {
> struct __guc_mmio_reg_descr_group *reglists;
> u16 num_instance_regs[GUC_CAPTURE_LIST_INDEX_MAX][GUC_MAX_ENGINE_CLASSES];
> --
> 2.25.1
>
More information about the Intel-gfx
mailing list