Re: [PATCH] firmware/guc: Remove USES_GUC_SUBMISSION for suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit title is slightly misleading, as the USES_GUC_SUBMISSION is not removed from a suspend/resume path. the firmware tag is also confusing since this fixes an i915 bug. Maybe something like "drm/i915/guc: Remove USES_GUC_SUBMISSION for ads programming" would be clearer

On 22/06/18 10:05, Anusha Srivatsa wrote:
In the guc_ctl_debug_flags, the ads struct is programmed only
when USES_GUC_SUBMISSION is satisfied. But, this has to be
programmed for all suspend/resume cases.
Remove the condition and program the ads struct for
both huc loading and guc submission.

This issue was noticed when CI threw errors for enable_guc=2
(load huc; disable submission)


Do we need a fixes: tag? Not sure we want this backported since GuC is off by default.

Credits to: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
Cc: John Spotswood <john.a.spotswood@xxxxxxxxx>
Cc: Oscar Mateo <oscar.mateo@xxxxxxxxx>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx>
---
  drivers/gpu/drm/i915/intel_guc.c | 9 ++++-----
  1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_guc.c b/drivers/gpu/drm/i915/intel_guc.c
index 1aff30b..b1d1a10 100644
--- a/drivers/gpu/drm/i915/intel_guc.c
+++ b/drivers/gpu/drm/i915/intel_guc.c
@@ -207,6 +207,7 @@ static u32 guc_ctl_debug_flags(struct intel_guc *guc)
  {
  	u32 level = intel_guc_log_get_level(&guc->log);
  	u32 flags = 0;
+	u32 ads = 0;
if (!GUC_LOG_LEVEL_IS_ENABLED(level))
  		flags |= GUC_LOG_DEFAULT_DISABLED;
@@ -217,12 +218,10 @@ static u32 guc_ctl_debug_flags(struct intel_guc *guc)
  		flags |= GUC_LOG_LEVEL_TO_VERBOSITY(level) <<
  			 GUC_LOG_VERBOSITY_SHIFT;
- if (USES_GUC_SUBMISSION(guc_to_i915(guc))) {
-		u32 ads = intel_guc_ggtt_offset(guc, guc->ads_vma)
-			>> PAGE_SHIFT;
+	ads = intel_guc_ggtt_offset(guc, guc->ads_vma) <<

You've flipped the shift here. With that fixed:

Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>

+			PAGE_SHIFT;
- flags |= ads << GUC_ADS_ADDR_SHIFT | GUC_ADS_ENABLED;
-	}
+	flags |= ads << GUC_ADS_ADDR_SHIFT | GUC_ADS_ENABLED;
return flags;
  }

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux