diff mbox

drm/i915/guc: Disable automatic GuC firmware loading

Message ID 1464017675-12257-1-git-send-email-tvrtko.ursulin@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tvrtko Ursulin May 23, 2016, 3:34 p.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

New GuC code is logging errors at runtime suspend and resume which
causes CI testing to log "orange" status. Default to not trying to
load the firmware until this is resolved.

Example of the log:

 [drm] RC6 on
 [drm:intel_runtime_suspend] Suspending device
 [drm:host2guc_action [i915]] *ERROR* GUC: host2guc action 0x501 failed. ret=-110 status=0x00000501 response=0x40000000
 ...
 [drm:intel_runtime_resume] Resuming device
 [drm:host2guc_action [i915]] *ERROR* GUC: host2guc action 0x502 failed. ret=-110 status=0x00000502 response=0x40000000
 [drm:intel_runtime_resume] Device resumed

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Dave Gordon <david.s.gordon@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Chris Harris <chris.harris@intel.com>
---
 drivers/gpu/drm/i915/i915_params.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Tvrtko Ursulin May 24, 2016, 10:40 a.m. UTC | #1
On 24/05/16 06:50, Patchwork wrote:
> == Series Details ==
>
> Series: drm/i915/guc: Disable automatic GuC firmware loading
> URL   : https://patchwork.freedesktop.org/series/7577/
> State : failure
>
> == Summary ==
>
> Series 7577v1 drm/i915/guc: Disable automatic GuC firmware loading
> http://patchwork.freedesktop.org/api/1.0/series/7577/revisions/1/mbox
>
> Test drv_module_reload_basic:
>                  pass       -> DMESG-WARN (ro-byt-n2820)

Re-appearance of  "HW access outside of RPM atomic section", filed new 
https://bugs.freedesktop.org/show_bug.cgi?id=95634.

> Test gem_busy:
>          Subgroup basic-parallel-vebox:
>                  dmesg-warn -> PASS       (ro-skl-i7-6700hq)
> Test gem_ctx_create:
>          Subgroup basic:
>                  pass       -> DMESG-WARN (ro-skl-i7-6700hq)

Unrelated " *ERROR* Potential atomic update failure on pipe A", filed 
new https://bugs.freedesktop.org/show_bug.cgi?id=95632.

> Test gem_exec_flush:
>          Subgroup basic-wb-rw-default:
>                  pass       -> DMESG-WARN (ro-skl-i7-6700hq)
> Test gem_exec_suspend:
>          Subgroup basic:
>                  pass       -> DMESG-WARN (ro-skl-i7-6700hq)

More of https://bugs.freedesktop.org/show_bug.cgi?id=95632.

> Test gem_ringfill:
>          Subgroup basic-default-interruptible:
>                  dmesg-warn -> PASS       (ro-skl-i7-6700hq)
> Test gem_storedw_loop:
>          Subgroup basic-default:
>                  dmesg-warn -> PASS       (ro-skl-i7-6700hq)
> Test kms_flip:
>          Subgroup basic-flip-vs-wf_vblank:
>                  pass       -> FAIL       (ro-bdw-i7-5600u)

Unrelated https://bugs.freedesktop.org/show_bug.cgi?id=94294

> Test kms_frontbuffer_tracking:
>          Subgroup basic:
>                  pass       -> DMESG-WARN (ro-skl-i7-6700hq)
> Test kms_pipe_crc_basic:
>          Subgroup bad-pipe:
>                  dmesg-warn -> PASS       (ro-skl-i7-6700hq)
> Test kms_psr_sink_crc:
>          Subgroup psr_basic:
>                  pass       -> DMESG-WARN (ro-skl-i7-6700hq)
> Test kms_setmode:
>          Subgroup basic-clone-single-crtc:
>                  pass       -> DMESG-WARN (ro-skl-i7-6700hq)

More of https://bugs.freedesktop.org/show_bug.cgi?id=95632.

> Test pm_rpm:
>          Subgroup basic-pci-d3-state:
>                  fail       -> PASS       (ro-skl-i7-6700hq)
>          Subgroup basic-rte:
>                  dmesg-warn -> PASS       (ro-skl-i7-6700hq)
>
> ro-bdw-i5-5250u  total:209  pass:172  dwarn:0   dfail:0   fail:0   skip:37
> ro-bdw-i7-5557U  total:209  pass:197  dwarn:0   dfail:0   fail:0   skip:12
> ro-bdw-i7-5600u  total:209  pass:179  dwarn:0   dfail:0   fail:2   skip:28
> ro-bsw-n3050     total:209  pass:168  dwarn:0   dfail:0   fail:2   skip:39
> ro-byt-n2820     total:209  pass:169  dwarn:1   dfail:0   fail:2   skip:37
> ro-hsw-i3-4010u  total:209  pass:186  dwarn:0   dfail:0   fail:0   skip:23
> ro-hsw-i7-4770r  total:209  pass:186  dwarn:0   dfail:0   fail:0   skip:23
> ro-ilk-i7-620lm  total:209  pass:146  dwarn:0   dfail:0   fail:1   skip:62
> ro-ilk1-i5-650   total:204  pass:146  dwarn:0   dfail:0   fail:1   skip:57
> ro-ivb-i7-3770   total:209  pass:177  dwarn:0   dfail:0   fail:0   skip:32
> ro-ivb2-i7-3770  total:209  pass:181  dwarn:0   dfail:0   fail:0   skip:28
> ro-skl-i7-6700hq total:204  pass:175  dwarn:8   dfail:0   fail:0   skip:21
> ro-snb-i7-2620M  total:209  pass:170  dwarn:0   dfail:0   fail:1   skip:38
>
> Results at /archive/results/CI_IGT_test/RO_Patchwork_981/
>
> 8621fb5 drm-intel-nightly: 2016y-05m-23d-18h-18m-33s UTC integration manifest
> 2961287 drm/i915/guc: Disable automatic GuC firmware loading

So it is just missing an r-b.

Regards,

Tvrtko
Chris Wilson May 24, 2016, 11:12 a.m. UTC | #2
On Mon, May 23, 2016 at 04:34:35PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> New GuC code is logging errors at runtime suspend and resume which
> causes CI testing to log "orange" status. Default to not trying to
> load the firmware until this is resolved.
> 
> Example of the log:
> 
>  [drm] RC6 on
>  [drm:intel_runtime_suspend] Suspending device
>  [drm:host2guc_action [i915]] *ERROR* GUC: host2guc action 0x501 failed. ret=-110 status=0x00000501 response=0x40000000
>  ...
>  [drm:intel_runtime_resume] Resuming device
>  [drm:host2guc_action [i915]] *ERROR* GUC: host2guc action 0x502 failed. ret=-110 status=0x00000502 response=0x40000000
>  [drm:intel_runtime_resume] Device resumed
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Dave Gordon <david.s.gordon@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Chris Harris <chris.harris@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_params.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 21a323c01cdb..9a5d58b251f5 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -53,7 +53,7 @@ struct i915_params i915 __read_mostly = {
>  	.verbose_state_checks = 1,
>  	.nuclear_pageflip = 0,
>  	.edp_vswing = 0,
> -	.enable_guc_loading = -1,
> +	.enable_guc_loading = 0,
>  	.enable_guc_submission = 0,
>  	.guc_log_level = -1,
>  	.enable_dp_mst = true,
> @@ -197,7 +197,7 @@ MODULE_PARM_DESC(edp_vswing,
>  module_param_named_unsafe(enable_guc_loading, i915.enable_guc_loading, int, 0400);
>  MODULE_PARM_DESC(enable_guc_loading,
>  		"Enable GuC firmware loading "
> -		"(-1=auto [default], 0=never, 1=if available, 2=required)");
> +		"(-1=auto, 0=never [default], 1=if available, 2=required)");
>  
>  module_param_named_unsafe(enable_guc_submission, i915.enable_guc_submission, int, 0400);
>  MODULE_PARM_DESC(enable_guc_submission,

Patch does what it says on the tin,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Not thrilled by the [soft] ABI of i915.enable_guc_loading though.
That looks like an internal dependency of various GuC enabled features
and not a standalone feature that the user should be controlling.
-Chris
Tvrtko Ursulin May 24, 2016, 11:27 a.m. UTC | #3
On 24/05/16 12:12, Chris Wilson wrote:
> On Mon, May 23, 2016 at 04:34:35PM +0100, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> New GuC code is logging errors at runtime suspend and resume which
>> causes CI testing to log "orange" status. Default to not trying to
>> load the firmware until this is resolved.
>>
>> Example of the log:
>>
>>   [drm] RC6 on
>>   [drm:intel_runtime_suspend] Suspending device
>>   [drm:host2guc_action [i915]] *ERROR* GUC: host2guc action 0x501 failed. ret=-110 status=0x00000501 response=0x40000000
>>   ...
>>   [drm:intel_runtime_resume] Resuming device
>>   [drm:host2guc_action [i915]] *ERROR* GUC: host2guc action 0x502 failed. ret=-110 status=0x00000502 response=0x40000000
>>   [drm:intel_runtime_resume] Device resumed
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Dave Gordon <david.s.gordon@intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Chris Harris <chris.harris@intel.com>
>> ---
>>   drivers/gpu/drm/i915/i915_params.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
>> index 21a323c01cdb..9a5d58b251f5 100644
>> --- a/drivers/gpu/drm/i915/i915_params.c
>> +++ b/drivers/gpu/drm/i915/i915_params.c
>> @@ -53,7 +53,7 @@ struct i915_params i915 __read_mostly = {
>>   	.verbose_state_checks = 1,
>>   	.nuclear_pageflip = 0,
>>   	.edp_vswing = 0,
>> -	.enable_guc_loading = -1,
>> +	.enable_guc_loading = 0,
>>   	.enable_guc_submission = 0,
>>   	.guc_log_level = -1,
>>   	.enable_dp_mst = true,
>> @@ -197,7 +197,7 @@ MODULE_PARM_DESC(edp_vswing,
>>   module_param_named_unsafe(enable_guc_loading, i915.enable_guc_loading, int, 0400);
>>   MODULE_PARM_DESC(enable_guc_loading,
>>   		"Enable GuC firmware loading "
>> -		"(-1=auto [default], 0=never, 1=if available, 2=required)");
>> +		"(-1=auto, 0=never [default], 1=if available, 2=required)");
>>
>>   module_param_named_unsafe(enable_guc_submission, i915.enable_guc_submission, int, 0400);
>>   MODULE_PARM_DESC(enable_guc_submission,
>
> Patch does what it says on the tin,
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>
> Not thrilled by the [soft] ABI of i915.enable_guc_loading though.
> That looks like an internal dependency of various GuC enabled features
> and not a standalone feature that the user should be controlling.

Merged, thanks for the patch and review.

Wider discussion on params I suppose when Dave gets back.

Regards,

Tvrtko
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 21a323c01cdb..9a5d58b251f5 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -53,7 +53,7 @@  struct i915_params i915 __read_mostly = {
 	.verbose_state_checks = 1,
 	.nuclear_pageflip = 0,
 	.edp_vswing = 0,
-	.enable_guc_loading = -1,
+	.enable_guc_loading = 0,
 	.enable_guc_submission = 0,
 	.guc_log_level = -1,
 	.enable_dp_mst = true,
@@ -197,7 +197,7 @@  MODULE_PARM_DESC(edp_vswing,
 module_param_named_unsafe(enable_guc_loading, i915.enable_guc_loading, int, 0400);
 MODULE_PARM_DESC(enable_guc_loading,
 		"Enable GuC firmware loading "
-		"(-1=auto [default], 0=never, 1=if available, 2=required)");
+		"(-1=auto, 0=never [default], 1=if available, 2=required)");
 
 module_param_named_unsafe(enable_guc_submission, i915.enable_guc_submission, int, 0400);
 MODULE_PARM_DESC(enable_guc_submission,