Re: [Intel-gfx] [PATCH] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all

2015-04-14 Thread Mika Kuoppala
Daniel Vetter daniel.vet...@ffwll.ch writes:

 We stopped handling them in

 commit aaecdf611a05cac26a94713bad25297e60225c29
 Author: Daniel Vetter daniel.vet...@ffwll.ch
 Date:   Tue Nov 4 15:52:22 2014 +0100

 drm/i915: Stop gathering error states for CS error interrupts

 but just clearing is apparently not enough: A sufficiently dead gpu
 left behind by firmware (*cough* coreboot *cough*) can keep the gpu in
 an endless loop of such interrupts, eventually leading to the nmi
 firing. And definitely to what looks like a machine hang.

 Since we don't even enable these interrupts on gen5+ let's do the same
 on earlier platforms.

 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

Reviewed-by: Mika Kuoppala mika.kuopp...@intel.com

 ---
  drivers/gpu/drm/i915/i915_irq.c | 8 ++--
  1 file changed, 2 insertions(+), 6 deletions(-)

 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
 index 14ecb4d13a1a..6d494432b19f 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device 
 *dev)
   ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
 -   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
 -   I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
   I915_WRITE16(IMR, dev_priv-irq_mask);
  
   I915_WRITE16(IER,
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 -  I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
I915_USER_INTERRUPT);
   POSTING_READ16(IER);
  
 @@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device 
 *dev)
 I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
 -   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
 -   I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
  
   enable_mask =
   I915_ASLE_INTERRUPT |
   I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
   I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 - I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
   I915_USER_INTERRUPT;
  
   if (I915_HAS_HOTPLUG(dev)) {
 -- 
 2.1.4

 ___
 Intel-gfx mailing list
 Intel-gfx@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all

2015-04-14 Thread Jani Nikula
On Tue, 14 Apr 2015, Mika Kuoppala mika.kuopp...@linux.intel.com wrote:
 Daniel Vetter daniel.vet...@ffwll.ch writes:

 We stopped handling them in

 commit aaecdf611a05cac26a94713bad25297e60225c29
 Author: Daniel Vetter daniel.vet...@ffwll.ch
 Date:   Tue Nov 4 15:52:22 2014 +0100

 drm/i915: Stop gathering error states for CS error interrupts

 but just clearing is apparently not enough: A sufficiently dead gpu
 left behind by firmware (*cough* coreboot *cough*) can keep the gpu in
 an endless loop of such interrupts, eventually leading to the nmi
 firing. And definitely to what looks like a machine hang.

 Since we don't even enable these interrupts on gen5+ let's do the same
 on earlier platforms.

 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

 Reviewed-by: Mika Kuoppala mika.kuopp...@intel.com

Pushed to drm-intel-next-fixes, thanks for the patch and review.

BR,
Jani.



 ---
  drivers/gpu/drm/i915/i915_irq.c | 8 ++--
  1 file changed, 2 insertions(+), 6 deletions(-)

 diff --git a/drivers/gpu/drm/i915/i915_irq.c 
 b/drivers/gpu/drm/i915/i915_irq.c
 index 14ecb4d13a1a..6d494432b19f 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device 
 *dev)
  ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
 -  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
 -  I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
  I915_WRITE16(IMR, dev_priv-irq_mask);
  
  I915_WRITE16(IER,
   I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
   I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 - I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
   I915_USER_INTERRUPT);
  POSTING_READ16(IER);
  
 @@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device 
 *dev)
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
 -  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
 -  I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
  
  enable_mask =
  I915_ASLE_INTERRUPT |
  I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
  I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 -I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
  I915_USER_INTERRUPT;
  
  if (I915_HAS_HOTPLUG(dev)) {
 -- 
 2.1.4

 ___
 Intel-gfx mailing list
 Intel-gfx@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/intel-gfx
 ___
 Intel-gfx mailing list
 Intel-gfx@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all

2015-04-07 Thread Daniel Vetter
On Wed, Apr 01, 2015 at 01:43:46PM +0200, Daniel Vetter wrote:
 We stopped handling them in
 
 commit aaecdf611a05cac26a94713bad25297e60225c29
 Author: Daniel Vetter daniel.vet...@ffwll.ch
 Date:   Tue Nov 4 15:52:22 2014 +0100
 
 drm/i915: Stop gathering error states for CS error interrupts
 
 but just clearing is apparently not enough: A sufficiently dead gpu
 left behind by firmware (*cough* coreboot *cough*) can keep the gpu in
 an endless loop of such interrupts, eventually leading to the nmi
 firing. And definitely to what looks like a machine hang.
 
 Since we don't even enable these interrupts on gen5+ let's do the same
 on earlier platforms.
 
 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

Tested-by: Mono mono-for-kernel-...@donderklumpen.de
Tested-by: i...@gluglug.org.uk
Cc: sta...@vger.kernel.org


 ---
  drivers/gpu/drm/i915/i915_irq.c | 8 ++--
  1 file changed, 2 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
 index 14ecb4d13a1a..6d494432b19f 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device 
 *dev)
   ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
 -   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
 -   I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
   I915_WRITE16(IMR, dev_priv-irq_mask);
  
   I915_WRITE16(IER,
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 -  I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
I915_USER_INTERRUPT);
   POSTING_READ16(IER);
  
 @@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device 
 *dev)
 I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
 -   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
 -   I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
 +   I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
  
   enable_mask =
   I915_ASLE_INTERRUPT |
   I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
   I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
 - I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
   I915_USER_INTERRUPT;
  
   if (I915_HAS_HOTPLUG(dev)) {
 -- 
 2.1.4
 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all

2015-04-01 Thread Daniel Vetter
We stopped handling them in

commit aaecdf611a05cac26a94713bad25297e60225c29
Author: Daniel Vetter daniel.vet...@ffwll.ch
Date:   Tue Nov 4 15:52:22 2014 +0100

drm/i915: Stop gathering error states for CS error interrupts

but just clearing is apparently not enough: A sufficiently dead gpu
left behind by firmware (*cough* coreboot *cough*) can keep the gpu in
an endless loop of such interrupts, eventually leading to the nmi
firing. And definitely to what looks like a machine hang.

Since we don't even enable these interrupts on gen5+ let's do the same
on earlier platforms.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93171
Signed-off-by: Daniel Vetter daniel.vet...@intel.com
---
 drivers/gpu/drm/i915/i915_irq.c | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 14ecb4d13a1a..6d494432b19f 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device *dev)
~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
  I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
  I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
+ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
I915_WRITE16(IMR, dev_priv-irq_mask);
 
I915_WRITE16(IER,
 I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
-I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
 I915_USER_INTERRUPT);
POSTING_READ16(IER);
 
@@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device *dev)
  I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
  I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
  I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
+ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
 
enable_mask =
I915_ASLE_INTERRUPT |
I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
-   I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
I915_USER_INTERRUPT;
 
if (I915_HAS_HOTPLUG(dev)) {
-- 
2.1.4

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all

2015-04-01 Thread shuang . he
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: 
shuang...@intel.com)
Task id: 6114
-Summary-
Platform  Delta  drm-intel-nightly  Series Applied
PNV -3  272/272  269/272
ILK -1  302/302  301/302
SNB  303/303  303/303
IVB  338/338  338/338
BYT -1  287/287  286/287
HSW  361/361  361/361
BDW  308/308  308/308
-Detailed-
Platform  Testdrm-intel-nightly  Series 
Applied
 PNV  igt@gem_tiled_pread_pwrite  FAIL(3)PASS(4)  FAIL(1)PASS(1)
 PNV  igt@gem_userptr_blits@coherency-sync  CRASH(3)PASS(4)  CRASH(2)
 PNV  igt@gen3_render_tiledx_blits  FAIL(4)PASS(2)  FAIL(2)
*ILK  igt@kms_flip@wf_vblank-vs-modeset-interruptible  PASS(2)  
DMESG_WARN(1)PASS(1)
*BYT  igt@gem_exec_bad_domains@conflicting-write-domain  PASS(3)  
FAIL(1)PASS(1)
Note: You need to pay more attention to line start with '*'
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx