diff mbox

[3/3] drm/i915/bxt: Add WaForceContextSaveRestoreNonCoherent

Message ID 1428667946-29838-4-git-send-email-nicholas.hoath@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Nick Hoath April 10, 2015, 12:12 p.m. UTC
Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
---
 drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Shuang He April 14, 2015, 11:39 a.m. UTC | #1
Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 6173
-------------------------------------Summary-------------------------------------
Platform          Delta          drm-intel-nightly          Series Applied
PNV                                  276/276              276/276
ILK                                  302/302              302/302
SNB                 -34              313/313              279/313
IVB                                  337/337              337/337
BYT                                  286/286              286/286
HSW                                  395/395              395/395
BDW                                  321/321              321/321
-------------------------------------Detailed-------------------------------------
Platform  Test                                drm-intel-nightly          Series Applied
*SNB  igt@gem_mmap_gtt@read-no-prefault      PASS(5)      DMESG_WARN(1)PASS(1)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_cursor_crc@cursor-size-change      DMESG_WARN(5)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@bo-too-big      DMESG_WARN(5)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@bo-too-big-interruptible      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip_event_leak      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@flip-vs-dpms-off-vs-modeset      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@nonexisting-fb      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@nonexisting-fb-interruptible      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
*SNB  igt@kms_flip_tiling@flip-changes-tiling      DMESG_WARN(6)PASS(3)      FAIL(1)DMESG_WARN(1)
 SNB  igt@kms_mmio_vs_cs_flip@setcrtc_vs_cs_flip      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_mmio_vs_cs_flip@setplane_vs_cs_flip      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@kms_rotation_crc@primary-rotation      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@cursor      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@cursor-dpms      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@debugfs-forcewake-user      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@dpms-mode-unset-non-lpsp      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@dpms-non-lpsp      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@drm-resources-equal      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@fences      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@fences-dpms      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@gem-execbuf      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@gem-idle      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@gem-mmap-cpu      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@gem-mmap-gtt      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@gem-pread      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@i2c      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@modeset-non-lpsp      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@modeset-non-lpsp-stress-no-wait      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@pci-d3-state      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@reg-read-ioctl      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
 SNB  igt@pm_rpm@rte      DMESG_WARN(6)PASS(3)      DMESG_WARN(2)
(dmesg patch applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_retries,give_up@too many voltage .* give up
drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborting@failed to train .* aborting
Note: You need to pay more attention to line start with '*'
Imre Deak April 29, 2015, 1:02 p.m. UTC | #2
On pe, 2015-04-10 at 13:12 +0100, Nick Hoath wrote:
> Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index eebee73..cc62e5c 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -1054,6 +1054,10 @@ static int bxt_init_workarounds(struct intel_engine_cs *ring)
>  			GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
>  	}
>  
> +	/* WaForceContextSaveRestoreNonCoherent:bxt */
> +	WA_SET_BIT_MASKED(HDC_CHICKEN0,
> +			  HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
> +

Looks ok, but again it needs to be added for SKL (all steppings) in
gen9_init_workarounds.

>  	return 0;
>  }
>
Nick Hoath May 6, 2015, 4:01 p.m. UTC | #3
On 29/04/2015 14:02, Deak, Imre wrote:
> On pe, 2015-04-10 at 13:12 +0100, Nick Hoath wrote:
>> Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
>> index eebee73..cc62e5c 100644
>> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
>> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
>> @@ -1054,6 +1054,10 @@ static int bxt_init_workarounds(struct intel_engine_cs *ring)
>>   			GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
>>   	}
>>
>> +	/* WaForceContextSaveRestoreNonCoherent:bxt */
>> +	WA_SET_BIT_MASKED(HDC_CHICKEN0,
>> +			  HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
>> +
>
> Looks ok, but again it needs to be added for SKL (all steppings) in
> gen9_init_workarounds.

The same argument as for patch 2/3 applies?

>
>>   	return 0;
>>   }
>>
>
>
Imre Deak May 6, 2015, 4:32 p.m. UTC | #4
On Wed, 2015-05-06 at 17:01 +0100, Nick Hoath wrote:
> On 29/04/2015 14:02, Deak, Imre wrote:
> > On pe, 2015-04-10 at 13:12 +0100, Nick Hoath wrote:
> >> Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
> >> ---
> >>   drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++++
> >>   1 file changed, 5 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >> index eebee73..cc62e5c 100644
> >> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >> @@ -1054,6 +1054,10 @@ static int bxt_init_workarounds(struct intel_engine_cs *ring)
> >>   			GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
> >>   	}
> >>
> >> +	/* WaForceContextSaveRestoreNonCoherent:bxt */
> >> +	WA_SET_BIT_MASKED(HDC_CHICKEN0,
> >> +			  HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
> >> +
> >
> > Looks ok, but again it needs to be added for SKL (all steppings) in
> > gen9_init_workarounds.
> 
> The same argument as for patch 2/3 applies?

Yes, applying this on SKL as a follow up is ok:

Reviewed-by: Imre Deak <imre.deak@intel.com>
Daniel Vetter May 7, 2015, 6:39 a.m. UTC | #5
On Wed, May 06, 2015 at 07:32:08PM +0300, Imre Deak wrote:
> On Wed, 2015-05-06 at 17:01 +0100, Nick Hoath wrote:
> > On 29/04/2015 14:02, Deak, Imre wrote:
> > > On pe, 2015-04-10 at 13:12 +0100, Nick Hoath wrote:
> > >> Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
> > >> ---
> > >>   drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++++
> > >>   1 file changed, 5 insertions(+)
> > >>
> > >> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > >> index eebee73..cc62e5c 100644
> > >> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> > >> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > >> @@ -1054,6 +1054,10 @@ static int bxt_init_workarounds(struct intel_engine_cs *ring)
> > >>   			GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
> > >>   	}
> > >>
> > >> +	/* WaForceContextSaveRestoreNonCoherent:bxt */
> > >> +	WA_SET_BIT_MASKED(HDC_CHICKEN0,
> > >> +			  HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
> > >> +
> > >
> > > Looks ok, but again it needs to be added for SKL (all steppings) in
> > > gen9_init_workarounds.
> > 
> > The same argument as for patch 2/3 applies?
> 
> Yes, applying this on SKL as a follow up is ok:
> 
> Reviewed-by: Imre Deak <imre.deak@intel.com>

Queued for -next, thanks for the patch.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index eebee73..cc62e5c 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1054,6 +1054,10 @@  static int bxt_init_workarounds(struct intel_engine_cs *ring)
 			GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
 	}
 
+	/* WaForceContextSaveRestoreNonCoherent:bxt */
+	WA_SET_BIT_MASKED(HDC_CHICKEN0,
+			  HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT);
+
 	return 0;
 }