[Intel-xe] [PATCH v3 1/3] drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()

Matthew Brost matthew.brost at intel.com
Thu Sep 14 15:36:56 UTC 2023


On Wed, Sep 13, 2023 at 04:28:35PM -0700, Daniele Ceraolo Spurio wrote:
> The guc_submission_enabled() function is being used as a boolean toggle
> for all firmwares and all related features, not just GuC submission. We
> could add additional flags/functions to distinguish and allow different
> use-cases (e.g. loading HuC but not using GuC submission), but given
> that not using GuC is a debug-only scenario having a global switch for
> all FWs is enough. However, we want to make it clear that this switch
> turns off everything, so rename it to uc_enabled().
> 
> v2: rebase on s/XE_WARN_ON/xe_assert
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: John Harrison <John.C.Harrison at Intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_device.h     |  2 +-
>  drivers/gpu/drm/xe/xe_exec_queue.c |  2 +-
>  drivers/gpu/drm/xe/xe_execlist.c   |  6 +++---
>  drivers/gpu/drm/xe/xe_ggtt.c       |  2 +-
>  drivers/gpu/drm/xe/xe_gt.c         |  4 ++--
>  drivers/gpu/drm/xe/xe_guc_pc.c     |  2 +-
>  drivers/gpu/drm/xe/xe_guc_submit.c |  4 ++--
>  drivers/gpu/drm/xe/xe_hw_engine.c  |  4 ++--
>  drivers/gpu/drm/xe/xe_irq.c        |  2 +-
>  drivers/gpu/drm/xe/xe_uc.c         | 16 ++++++++--------
>  10 files changed, 22 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
> index 71582094834c..c4232de40ae0 100644
> --- a/drivers/gpu/drm/xe/xe_device.h
> +++ b/drivers/gpu/drm/xe/xe_device.h
> @@ -114,7 +114,7 @@ static inline struct xe_gt *xe_root_mmio_gt(struct xe_device *xe)
>  	return xe_device_get_root_tile(xe)->primary_gt;
>  }
>  
> -static inline bool xe_device_guc_submission_enabled(struct xe_device *xe)
> +static inline bool xe_device_uc_enabled(struct xe_device *xe)
>  {
>  	return !xe->info.force_execlist;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 6725157d8c1d..744be293fe37 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -585,7 +585,7 @@ static u32 calc_validate_logical_mask(struct xe_device *xe, struct xe_gt *gt,
>  	u16 gt_id;
>  	u32 return_mask = 0, prev_mask;
>  
> -	if (XE_IOCTL_DBG(xe, !xe_device_guc_submission_enabled(xe) &&
> +	if (XE_IOCTL_DBG(xe, !xe_device_uc_enabled(xe) &&
>  			 len > 1))
>  		return 0;
>  
> diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
> index ec33d57c60aa..5be7f53f023a 100644
> --- a/drivers/gpu/drm/xe/xe_execlist.c
> +++ b/drivers/gpu/drm/xe/xe_execlist.c
> @@ -322,7 +322,7 @@ static int execlist_exec_queue_init(struct xe_exec_queue *q)
>  	struct xe_device *xe = gt_to_xe(q->gt);
>  	int err;
>  
> -	xe_assert(xe, !xe_device_guc_submission_enabled(xe));
> +	xe_assert(xe, !xe_device_uc_enabled(xe));
>  
>  	drm_info(&xe->drm, "Enabling execlist submission (GuC submission disabled)\n");
>  
> @@ -373,7 +373,7 @@ static void execlist_exec_queue_fini_async(struct work_struct *w)
>  	struct xe_device *xe = gt_to_xe(q->gt);
>  	unsigned long flags;
>  
> -	xe_assert(xe, !xe_device_guc_submission_enabled(xe));
> +	xe_assert(xe, !xe_device_uc_enabled(xe));
>  
>  	spin_lock_irqsave(&exl->port->lock, flags);
>  	if (WARN_ON(exl->active_priority != DRM_SCHED_PRIORITY_UNSET))
> @@ -460,7 +460,7 @@ static const struct xe_exec_queue_ops execlist_exec_queue_ops = {
>  int xe_execlist_init(struct xe_gt *gt)
>  {
>  	/* GuC submission enabled, nothing to do */
> -	if (xe_device_guc_submission_enabled(gt_to_xe(gt)))
> +	if (xe_device_uc_enabled(gt_to_xe(gt)))
>  		return 0;
>  
>  	gt->exec_queue_ops = &execlist_exec_queue_ops;
> diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c
> index 2f81aede1156..54baaffc7235 100644
> --- a/drivers/gpu/drm/xe/xe_ggtt.c
> +++ b/drivers/gpu/drm/xe/xe_ggtt.c
> @@ -233,7 +233,7 @@ static void ggtt_invalidate_gt_tlb(struct xe_gt *gt)
>  		xe_gt_assert(gt, seqno > 0);
>  		if (seqno > 0)
>  			xe_gt_tlb_invalidation_wait(gt, seqno);
> -	} else if (xe_device_guc_submission_enabled(gt_to_xe(gt))) {
> +	} else if (xe_device_uc_enabled(gt_to_xe(gt))) {
>  		struct xe_device *xe = gt_to_xe(gt);
>  
>  		if (xe->info.platform == XE_PVC) {
> diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
> index 5d86bb2bb94d..28b9a73d25e1 100644
> --- a/drivers/gpu/drm/xe/xe_gt.c
> +++ b/drivers/gpu/drm/xe/xe_gt.c
> @@ -549,7 +549,7 @@ static int gt_reset(struct xe_gt *gt)
>  	int err;
>  
>  	/* We only support GT resets with GuC submission */
> -	if (!xe_device_guc_submission_enabled(gt_to_xe(gt)))
> +	if (!xe_device_uc_enabled(gt_to_xe(gt)))
>  		return -ENODEV;
>  
>  	xe_gt_info(gt, "reset started\n");
> @@ -642,7 +642,7 @@ int xe_gt_suspend(struct xe_gt *gt)
>  	int err;
>  
>  	/* For now suspend/resume is only allowed with GuC */
> -	if (!xe_device_guc_submission_enabled(gt_to_xe(gt)))
> +	if (!xe_device_uc_enabled(gt_to_xe(gt)))
>  		return -ENODEV;
>  
>  	xe_gt_sanitize(gt);
> diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
> index 99d855680894..8a4d299d6cb0 100644
> --- a/drivers/gpu/drm/xe/xe_guc_pc.c
> +++ b/drivers/gpu/drm/xe/xe_guc_pc.c
> @@ -816,7 +816,7 @@ int xe_guc_pc_start(struct xe_guc_pc *pc)
>  	u32 size = PAGE_ALIGN(sizeof(struct slpc_shared_data));
>  	int ret;
>  
> -	xe_gt_assert(gt, xe_device_guc_submission_enabled(xe));
> +	xe_gt_assert(gt, xe_device_uc_enabled(xe));
>  
>  	xe_device_mem_access_get(pc_to_xe(pc));
>  
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index e928a20ba0cb..ac5fc2c797a7 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -1135,7 +1135,7 @@ static int guc_exec_queue_init(struct xe_exec_queue *q)
>  	long timeout;
>  	int err;
>  
> -	xe_assert(xe, xe_device_guc_submission_enabled(guc_to_xe(guc)));
> +	xe_assert(xe, xe_device_uc_enabled(guc_to_xe(guc)));
>  
>  	ge = kzalloc(sizeof(*ge), GFP_KERNEL);
>  	if (!ge)
> @@ -1905,7 +1905,7 @@ void xe_guc_submit_print(struct xe_guc *guc, struct drm_printer *p)
>  	struct xe_exec_queue *q;
>  	unsigned long index;
>  
> -	if (!xe_device_guc_submission_enabled(guc_to_xe(guc)))
> +	if (!xe_device_uc_enabled(guc_to_xe(guc)))
>  		return;
>  
>  	mutex_lock(&guc->submission_state.lock);
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index 9c2e212fa4cf..a8681089fb60 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -434,7 +434,7 @@ static int hw_engine_init(struct xe_gt *gt, struct xe_hw_engine *hwe,
>  	if (err)
>  		goto err_hwsp;
>  
> -	if (!xe_device_guc_submission_enabled(xe)) {
> +	if (!xe_device_uc_enabled(xe)) {
>  		hwe->exl_port = xe_execlist_port_create(xe, hwe);
>  		if (IS_ERR(hwe->exl_port)) {
>  			err = PTR_ERR(hwe->exl_port);
> @@ -442,7 +442,7 @@ static int hw_engine_init(struct xe_gt *gt, struct xe_hw_engine *hwe,
>  		}
>  	}
>  
> -	if (xe_device_guc_submission_enabled(xe))
> +	if (xe_device_uc_enabled(xe))
>  		xe_hw_engine_enable_ring(hwe);
>  
>  	/* We reserve the highest BCS instance for USM */
> diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
> index 1dee3e832eb5..ca98150a7dd1 100644
> --- a/drivers/gpu/drm/xe/xe_irq.c
> +++ b/drivers/gpu/drm/xe/xe_irq.c
> @@ -129,7 +129,7 @@ void xe_irq_enable_hwe(struct xe_gt *gt)
>  	u32 ccs_mask, bcs_mask;
>  	u32 irqs, dmask, smask;
>  
> -	if (xe_device_guc_submission_enabled(xe)) {
> +	if (xe_device_uc_enabled(xe)) {
>  		irqs = GT_RENDER_USER_INTERRUPT |
>  			GT_RENDER_PIPECTL_NOTIFY_INTERRUPT;
>  	} else {
> diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c
> index a8ecb5c6e01a..5b7d6177c1c2 100644
> --- a/drivers/gpu/drm/xe/xe_uc.c
> +++ b/drivers/gpu/drm/xe/xe_uc.c
> @@ -32,7 +32,7 @@ int xe_uc_init(struct xe_uc *uc)
>  	int ret;
>  
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	ret = xe_guc_init(&uc->guc);
> @@ -66,7 +66,7 @@ int xe_uc_init(struct xe_uc *uc)
>  int xe_uc_init_post_hwconfig(struct xe_uc *uc)
>  {
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	return xe_guc_init_post_hwconfig(&uc->guc);
> @@ -110,7 +110,7 @@ int xe_uc_init_hwconfig(struct xe_uc *uc)
>  	int ret;
>  
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	ret = xe_guc_min_load_for_hwconfig(&uc->guc);
> @@ -129,7 +129,7 @@ int xe_uc_init_hw(struct xe_uc *uc)
>  	int ret;
>  
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	ret = xe_uc_sanitize_reset(uc);
> @@ -175,7 +175,7 @@ int xe_uc_fini_hw(struct xe_uc *uc)
>  int xe_uc_reset_prepare(struct xe_uc *uc)
>  {
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	return xe_guc_reset_prepare(&uc->guc);
> @@ -194,7 +194,7 @@ void xe_uc_stop_prepare(struct xe_uc *uc)
>  int xe_uc_stop(struct xe_uc *uc)
>  {
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	return xe_guc_stop(&uc->guc);
> @@ -203,7 +203,7 @@ int xe_uc_stop(struct xe_uc *uc)
>  int xe_uc_start(struct xe_uc *uc)
>  {
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	return xe_guc_start(&uc->guc);
> @@ -226,7 +226,7 @@ int xe_uc_suspend(struct xe_uc *uc)
>  	int ret;
>  
>  	/* GuC submission not enabled, nothing to do */
> -	if (!xe_device_guc_submission_enabled(uc_to_xe(uc)))
> +	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>  		return 0;
>  
>  	uc_reset_wait(uc);
> -- 
> 2.41.0
> 


More information about the Intel-xe mailing list