mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-02 15:53:42 +00:00
Wedge the entire device, not just GT which may have triggered the wedge. To implement this, cleanup the layering so xe_device_declare_wedged() calls into the lower layers (GT) to ensure entire device is wedged. While we are here, also signal any pending GT TLB invalidations upon wedging device. Lastly, short circuit reset wait if device is wedged. v2: - Short circuit reset wait if device is wedged (Local testing) Fixes:8ed9aaae39("drm/xe: Force wedged state and block GT reset upon any GPU hang") Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240716063902.1390130-1-matthew.brost@intel.com (cherry picked from commit7dbe8af13c) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
27 lines
704 B
C
27 lines
704 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2022 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_UC_H_
|
|
#define _XE_UC_H_
|
|
|
|
struct xe_uc;
|
|
|
|
int xe_uc_init(struct xe_uc *uc);
|
|
int xe_uc_init_hwconfig(struct xe_uc *uc);
|
|
int xe_uc_init_post_hwconfig(struct xe_uc *uc);
|
|
int xe_uc_init_hw(struct xe_uc *uc);
|
|
int xe_uc_fini_hw(struct xe_uc *uc);
|
|
void xe_uc_gucrc_disable(struct xe_uc *uc);
|
|
int xe_uc_reset_prepare(struct xe_uc *uc);
|
|
void xe_uc_stop_prepare(struct xe_uc *uc);
|
|
void xe_uc_stop(struct xe_uc *uc);
|
|
int xe_uc_start(struct xe_uc *uc);
|
|
int xe_uc_suspend(struct xe_uc *uc);
|
|
int xe_uc_sanitize_reset(struct xe_uc *uc);
|
|
void xe_uc_remove(struct xe_uc *uc);
|
|
void xe_uc_declare_wedged(struct xe_uc *uc);
|
|
|
|
#endif
|