[PATCH] drm/xe/guc: Remove explicit shutdown of SLPC
Rodrigo Vivi
rodrigo.vivi at intel.com
Thu Mar 21 19:51:56 UTC 2024
On Thu, Mar 21, 2024 at 11:49:24AM -0700, Vinay Belgaumkar wrote:
> SLPC shutdown is called in reset and suspend paths. In the reset
> path, it is possible that the H2G call gets lost as GuC is in the
> process of being reset. There is no value in stopping SLPC when
> it will happen anyways.
>
> In the suspend path, we disable communication with GuC, so there
> is no need to explicitly shutdown SLPC.
>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_pc.c | 29 -----------------------------
> 1 file changed, 29 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
> index 786acaf71931..6dfae1c23946 100644
> --- a/drivers/gpu/drm/xe/xe_guc_pc.c
> +++ b/drivers/gpu/drm/xe/xe_guc_pc.c
> @@ -145,25 +145,6 @@ static int pc_action_reset(struct xe_guc_pc *pc)
> return ret;
> }
>
> -static int pc_action_shutdown(struct xe_guc_pc *pc)
> -{
> - struct xe_guc_ct *ct = &pc_to_guc(pc)->ct;
> - int ret;
> - u32 action[] = {
> - GUC_ACTION_HOST2GUC_PC_SLPC_REQUEST,
> - SLPC_EVENT(SLPC_EVENT_SHUTDOWN, 2),
> - xe_bo_ggtt_addr(pc->bo),
> - 0,
> - };
> -
> - ret = xe_guc_ct_send(ct, action, ARRAY_SIZE(action), 0, 0);
> - if (ret)
> - drm_err(&pc_to_xe(pc)->drm, "GuC PC shutdown %pe",
> - ERR_PTR(ret));
> -
> - return ret;
> -}
> -
> static int pc_action_query_task_state(struct xe_guc_pc *pc)
> {
> struct xe_guc_ct *ct = &pc_to_guc(pc)->ct;
> @@ -889,7 +870,6 @@ int xe_guc_pc_start(struct xe_guc_pc *pc)
> int xe_guc_pc_stop(struct xe_guc_pc *pc)
> {
> struct xe_device *xe = pc_to_xe(pc);
> - int ret;
>
> if (xe->info.skip_guc_pc) {
> xe_gt_idle_disable_c6(pc_to_gt(pc));
> @@ -900,15 +880,6 @@ int xe_guc_pc_stop(struct xe_guc_pc *pc)
> pc->freq_ready = false;
> mutex_unlock(&pc->freq_lock);
>
> - ret = pc_action_shutdown(pc);
> - if (ret)
> - return ret;
> -
> - if (wait_for_pc_state(pc, SLPC_GLOBAL_STATE_NOT_RUNNING)) {
> - drm_err(&pc_to_xe(pc)->drm, "GuC PC Shutdown failed\n");
> - return -EIO;
> - }
> -
> return 0;
> }
>
> --
> 2.38.1
>
More information about the Intel-xe
mailing list