[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Remove i915 ggtt WA since GT E (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915: Remove i915 ggtt WA since GT E (rev2)
URL   : https://patchwork.freedesktop.org/series/65066/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6678_full -> Patchwork_13978_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13978_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@independent-bsd:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#111325]) +2 similar 
issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb5/igt@gem_exec_sched...@independent-bsd.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-iclb1/igt@gem_exec_sched...@independent-bsd.html

  * igt@gem_exec_schedule@preempt-contexts-bsd2:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +15 similar 
issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb4/igt@gem_exec_sched...@preempt-contexts-bsd2.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-iclb8/igt@gem_exec_sched...@preempt-contexts-bsd2.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#104108])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl3/igt@gem_soft...@noreloc-s3.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-skl4/igt@gem_soft...@noreloc-s3.html
- shard-kbl:  [PASS][7] -> [INCOMPLETE][8] ([fdo#103665])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-kbl2/igt@gem_soft...@noreloc-s3.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-kbl6/igt@gem_soft...@noreloc-s3.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-apl:  [PASS][9] -> [DMESG-WARN][10] ([fdo#108566]) +4 
similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-apl6/igt@gem_workarou...@suspend-resume-context.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-apl8/igt@gem_workarou...@suspend-resume-context.html

  * igt@kms_color@pipe-a-degamma:
- shard-skl:  [PASS][11] -> [FAIL][12] ([fdo#104782] / [fdo#108145])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl3/igt@kms_co...@pipe-a-degamma.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-skl10/igt@kms_co...@pipe-a-degamma.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +5 
similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-kbl3/igt@kms_cursor_...@pipe-c-cursor-suspend.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-kbl3/igt@kms_cursor_...@pipe-c-cursor-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +1 similar 
issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb7/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
- shard-iclb: [PASS][17] -> [INCOMPLETE][18] ([fdo#107713])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb4/igt@kms_pl...@plane-position-covered-pipe-a-planes.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-iclb1/igt@kms_pl...@plane-position-covered-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#108145] / [fdo#110403])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl7/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-skl2/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +1 similar 
issue
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-iclb5/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- shard-apl:  [PASS][23] -> [FAIL][24] ([fdo#99912])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-apl8/igt@kms_setm...@basic.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/shard-apl6/igt@kms_setm...@basic.html

  * igt@perf_pmu@rc6-runtime-pm-long:
- shard-glk:  [PASS][25] -> [FAIL][26] ([fdo#105010])
   [25]: 

Re: [Intel-gfx] [PATCH] drm/i915: Remove i915 ggtt WA since GT E

2019-08-11 Thread kbuild test robot
Hi Dong,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.3-rc4 next-20190809]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Dong-Yang/drm-i915-Remove-i915-ggtt-WA-since-GT-E/20190812-111840
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All error/warnings (new ones prefixed by >>):

   In file included from 
drivers/gpu/drm/i915/display/intel_display_types.h:46:0,
from drivers/gpu/drm/i915/i915_drv.c:54:
   drivers/gpu/drm/i915/i915_drv.h: In function 
'intel_ggtt_update_needs_vtd_wa':
>> drivers/gpu/drm/i915/i915_drv.h:2259:9: error: expected expression before 
>> 'return'
 return return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && 
intel_vtd_active();
^~
--
   In file included from drivers/gpu/drm/i915/i915_gem_gtt.c:41:0:
   drivers/gpu/drm/i915/i915_drv.h: In function 
'intel_ggtt_update_needs_vtd_wa':
>> drivers/gpu/drm/i915/i915_drv.h:2259:9: error: expected expression before 
>> 'return'
 return return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && 
intel_vtd_active();
^~
>> drivers/gpu/drm/i915/i915_drv.h:2260:1: warning: control reaches end of 
>> non-void function [-Wreturn-type]
}
^

vim +/return +2259 drivers/gpu/drm/i915/i915_drv.h

  2255  
  2256  static inline bool
  2257  intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
  2258  {
> 2259  return return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && 
> intel_vtd_active();
> 2260  }
  2261  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Remove i915 ggtt WA since GT E (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915: Remove i915 ggtt WA since GT E (rev2)
URL   : https://patchwork.freedesktop.org/series/65066/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6678 -> Patchwork_13978


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/

Known issues


  Here are the changes found in Patchwork_13978 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm:  [PASS][1] -> [DMESG-FAIL][2] ([fdo#08])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  
 Possible fixes 

  * {igt@gem_ctx_switch@legacy-render}:
- fi-icl-u2:  [INCOMPLETE][3] ([fdo#107713]) -> [PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html

  * igt@i915_selftest@live_requests:
- fi-byt-j1900:   [INCOMPLETE][5] ([fdo#102657]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-byt-j1900/igt@i915_selftest@live_requests.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-byt-j1900/igt@i915_selftest@live_requests.html

  * igt@kms_busy@basic-flip-a:
- fi-kbl-7567u:   [SKIP][7] ([fdo#109271] / [fdo#109278]) -> [PASS][8] 
+2 similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [SKIP][9] ([fdo#109271] / [fdo#109278]) -> [PASS][10] 
+2 similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][11] ([fdo#109485]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [SKIP][13] ([fdo#109271]) -> [PASS][14] +23 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102657]: https://bugs.freedesktop.org/show_bug.cgi?id=102657
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#08]: https://bugs.freedesktop.org/show_bug.cgi?id=08


Participating hosts (54 -> 44)
--

  Missing(10): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-whl-u 
fi-kbl-8809g fi-icl-y fi-icl-guc fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6678 -> Patchwork_13978

  CI-20190529: 20190529
  CI_DRM_6678: 0330b51e91d7c3bedfe40afadc6c221e4d1a9c61 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5127: f43f5fa12ac1b93febfe3eeb9e9985f5f3e2eff0 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13978: 8899caa0fe6314389c7a36c6355516bf81373a74 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

8899caa0fe63 drm/i915: Remove i915 ggtt WA since GT E

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13978/
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH] drm/i915: Remove i915 ggtt WA since GT E

2019-08-11 Thread Dong Yang
From: "Yang, Dong" 

The APL already fixed this bug since GT E, bug exist from
0 to D, apply WA according GT stepping.

Signed-off-by: Yang, Dong 
---
 drivers/gpu/drm/i915/i915_drv.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5f3e5c13fbaa..95519bac8948 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2141,6 +2141,8 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define BXT_REVID_B0   0x3
 #define BXT_REVID_B_LAST   0x8
 #define BXT_REVID_C0   0x9
+#define BXT_REVID_D0   0xC
+#define BXT_REVID_E0   0xD
 
 #define IS_BXT_REVID(dev_priv, since, until) \
(IS_BROXTON(dev_priv) && IS_REVID(dev_priv, since, until))
@@ -2357,7 +2359,7 @@ static inline bool intel_scanout_needs_vtd_wa(struct 
drm_i915_private *dev_priv)
 static inline bool
 intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
 {
-   return IS_BROXTON(dev_priv) && intel_vtd_active();
+   return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && intel_vtd_active();
 }
 
 /* i915_drv.c */
-- 
2.22.0

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Remove i915 ggtt WA since GT E

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915: Remove i915 ggtt WA since GT E
URL   : https://patchwork.freedesktop.org/series/65066/
State : failure

== Summary ==

CALLscripts/checksyscalls.sh
  CALLscripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK include/generated/compile.h
  CC  drivers/gpu/drm/i915/display/intel_gmbus.h.s
  CC  drivers/gpu/drm/i915/display/intel_display_types.h.s
In file included from ./drivers/gpu/drm/i915/display/intel_display_types.h:46:0,
 from :0:
./drivers/gpu/drm/i915/i915_drv.h: In function ‘intel_ggtt_update_needs_vtd_wa’:
./drivers/gpu/drm/i915/i915_drv.h:2259:9: error: expected expression before 
‘return’
  return return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && intel_vtd_active();
 ^~
scripts/Makefile.build:301: recipe for target 
'drivers/gpu/drm/i915/display/intel_display_types.h.s' failed
make[5]: *** [drivers/gpu/drm/i915/display/intel_display_types.h.s] Error 1
scripts/Makefile.build:490: recipe for target 'drivers/gpu/drm/i915/display' 
failed
make[4]: *** [drivers/gpu/drm/i915/display] Error 2
scripts/Makefile.build:490: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:490: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:490: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1080: recipe for target 'drivers' failed
make: *** [drivers] Error 2

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

[Intel-gfx] [PATCH] drm/i915: Remove i915 ggtt WA since GT E

2019-08-11 Thread Dong Yang
From: "Yang, Dong" 

The APL already fixed this bug since GT E, bug exist from
0 to D, apply WA according GT stepping.

Signed-off-by: Yang, Dong 
---
 drivers/gpu/drm/i915/i915_drv.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5f3e5c13fbaa..ee384c28174a 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2141,6 +2141,8 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define BXT_REVID_B0   0x3
 #define BXT_REVID_B_LAST   0x8
 #define BXT_REVID_C0   0x9
+#define BXT_REVID_D0   0xC
+#define BXT_REVID_E0   0xD
 
 #define IS_BXT_REVID(dev_priv, since, until) \
(IS_BROXTON(dev_priv) && IS_REVID(dev_priv, since, until))
@@ -2357,7 +2359,7 @@ static inline bool intel_scanout_needs_vtd_wa(struct 
drm_i915_private *dev_priv)
 static inline bool
 intel_ggtt_update_needs_vtd_wa(struct drm_i915_private *dev_priv)
 {
-   return IS_BROXTON(dev_priv) && intel_vtd_active();
+   return return IS_BXT_REVID(dev_priv, 0, BXT_REVID_D0) && 
intel_vtd_active();
 }
 
 /* i915_drv.c */
-- 
2.22.0

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

[Intel-gfx] ✓ Fi.CI.IGT: success for dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Patchwork
== Series Details ==

Series: dma-fence: Propagate errors to dma-fence-array container
URL   : https://patchwork.freedesktop.org/series/65062/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6678_full -> Patchwork_13976_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13976_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@bcs0-s3:
- shard-apl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +3 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-apl3/igt@gem_ctx_isolat...@bcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-apl4/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#110841])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb3/igt@gem_ctx_sha...@exec-single-timeline-bsd.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb2/igt@gem_ctx_sha...@exec-single-timeline-bsd.html

  * igt@gem_exec_async@concurrent-writes-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +2 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb3/igt@gem_exec_as...@concurrent-writes-bsd.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb4/igt@gem_exec_as...@concurrent-writes-bsd.html

  * igt@gem_exec_schedule@in-order-bsd2:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#109276]) +16 similar 
issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb1/igt@gem_exec_sched...@in-order-bsd2.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb5/igt@gem_exec_sched...@in-order-bsd2.html

  * igt@i915_selftest@live_hangcheck:
- shard-iclb: [PASS][9] -> [INCOMPLETE][10] ([fdo#107713] / 
[fdo#108569])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb2/igt@i915_selftest@live_hangcheck.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb3/igt@i915_selftest@live_hangcheck.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#110741])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl8/igt@kms_cursor_...@pipe-c-cursor-suspend.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-skl4/igt@kms_cursor_...@pipe-c-cursor-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +3 
similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-kbl1/igt@kms_frontbuffer_track...@fbc-suspend.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-kbl7/igt@kms_frontbuffer_track...@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +6 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb1/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb7/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  [PASS][17] -> [FAIL][18] ([fdo#108145] / [fdo#110403])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl7/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-skl10/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html

  * igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109642] / [fdo#111068])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb2/igt@kms_psr2...@frontbuffer.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb7/igt@kms_psr2...@frontbuffer.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +3 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-iclb1/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- shard-skl:  [PASS][23] -> [FAIL][24] ([fdo#99912])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl6/igt@kms_setm...@basic.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/shard-skl9/igt@kms_setm...@basic.html

  * igt@perf_pmu@rc6-runtime-pm-long:
- shard-skl:  [PASS][25] -> [FAIL][26] 

[Intel-gfx] ✓ Fi.CI.BAT: success for dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Patchwork
== Series Details ==

Series: dma-fence: Propagate errors to dma-fence-array container
URL   : https://patchwork.freedesktop.org/series/65062/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6678 -> Patchwork_13976


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/

Known issues


  Here are the changes found in Patchwork_13976 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107718])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-blb-e6850/igt@gem_exec_susp...@basic-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-blb-e6850/igt@gem_exec_susp...@basic-s3.html

  
 Possible fixes 

  * {igt@gem_ctx_switch@legacy-render}:
- fi-icl-u2:  [INCOMPLETE][3] ([fdo#107713]) -> [PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html

  * igt@kms_busy@basic-flip-a:
- fi-kbl-7567u:   [SKIP][5] ([fdo#109271] / [fdo#109278]) -> [PASS][6] 
+2 similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [SKIP][7] ([fdo#109271] / [fdo#109278]) -> [PASS][8] 
+2 similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][9] ([fdo#109485]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [SKIP][11] ([fdo#109271]) -> [PASS][12] +23 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html

  
 Warnings 

  * igt@i915_pm_rpm@basic-pci-d3-state:
- fi-kbl-guc: [SKIP][13] ([fdo#109271]) -> [FAIL][14] ([fdo#110829])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-guc/igt@i915_pm_...@basic-pci-d3-state.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/fi-kbl-guc/igt@i915_pm_...@basic-pci-d3-state.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#110829]: https://bugs.freedesktop.org/show_bug.cgi?id=110829


Participating hosts (54 -> 43)
--

  Missing(11): fi-ilk-m540 fi-hsw-4200u fi-bsw-n3050 fi-byt-squawks 
fi-bsw-cyan fi-whl-u fi-kbl-8809g fi-pnv-d510 fi-icl-y fi-byt-clapper 
fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6678 -> Patchwork_13976

  CI-20190529: 20190529
  CI_DRM_6678: 0330b51e91d7c3bedfe40afadc6c221e4d1a9c61 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5127: f43f5fa12ac1b93febfe3eeb9e9985f5f3e2eff0 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13976: 9b580a4726757e79155d9002a620edef1a9cfa2c @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

9b580a472675 dma-fence: Propagate errors to dma-fence-array container

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13976/
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Extract GT powermanagement interrupt handling (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Extract GT powermanagement 
interrupt handling (rev2)
URL   : https://patchwork.freedesktop.org/series/65049/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6678 -> Patchwork_13975


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13975 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13975, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/

Possible new issues
---

  Here are the unknown changes that may have been introduced in Patchwork_13975:

### IGT changes ###

 Possible regressions 

  * igt@kms_chamelium@hdmi-edid-read:
- fi-kbl-7567u:   [PASS][1] -> [FAIL][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_chamel...@hdmi-edid-read.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-kbl-7567u/igt@kms_chamel...@hdmi-edid-read.html

  
Known issues


  Here are the changes found in Patchwork_13975 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_exec@basic:
- fi-icl-u2:  [PASS][3] -> [INCOMPLETE][4] ([fdo#107713])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-icl-u2/igt@gem_ctx_e...@basic.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-icl-u2/igt@gem_ctx_e...@basic.html

  * igt@i915_selftest@live_execlists:
- fi-bwr-2160:[PASS][5] -> [DMESG-WARN][6] ([fdo#15])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-bwr-2160/igt@i915_selftest@live_execlists.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-bwr-2160/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:[PASS][7] -> [DMESG-FAIL][8] ([fdo#15])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-bwr-2160/igt@i915_selftest@live_hangcheck.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-bwr-2160/igt@i915_selftest@live_hangcheck.html

  * igt@kms_chamelium@dp-crc-fast:
- fi-cml-u2:  [PASS][9] -> [FAIL][10] ([fdo#110627])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-cml-u2/igt@kms_chamel...@dp-crc-fast.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-cml-u2/igt@kms_chamel...@dp-crc-fast.html

  
 Possible fixes 

  * igt@i915_selftest@live_requests:
- fi-byt-j1900:   [INCOMPLETE][11] ([fdo#102657]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-byt-j1900/igt@i915_selftest@live_requests.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-byt-j1900/igt@i915_selftest@live_requests.html

  * igt@kms_busy@basic-flip-a:
- fi-kbl-7567u:   [SKIP][13] ([fdo#109271] / [fdo#109278]) -> 
[PASS][14] +2 similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [SKIP][15] ([fdo#109271] / [fdo#109278]) -> 
[PASS][16] +2 similar issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7567u:   [WARN][17] ([fdo#109380]) -> [PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-c:
- fi-kbl-7567u:   [SKIP][19] ([fdo#109271]) -> [PASS][20] +23 similar 
issues
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [SKIP][21] ([fdo#109271]) -> [PASS][22] +23 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13975/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Extract GT powermanagement interrupt handling (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Extract GT powermanagement 
interrupt handling (rev2)
URL   : https://patchwork.freedesktop.org/series/65049/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
f8612d8bb2ab drm/i915: Extract GT powermanagement interrupt handling
-:45: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#45: 
new file mode 100644

-:50: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#50: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c:1:
+/*

-:51: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#51: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c:2:
+ * SPDX-License-Identifier: MIT

-:164: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#164: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h:1:
+/*

-:165: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#165: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h:2:
+ * SPDX-License-Identifier: MIT

-:195: CHECK:UNCOMMENTED_DEFINITION: spinlock_t definition without comment
#195: FILE: drivers/gpu/drm/i915/gt/intel_gt_types.h:76:
+   spinlock_t irq_lock;

total: 0 errors, 5 warnings, 1 checks, 566 lines checked
70a22d77e4db drm/i915: Extract general GT interrupt handlers
-:55: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#55: 
new file mode 100644

-:60: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#60: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.c:1:
+/*

-:61: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#61: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.c:2:
+ * SPDX-License-Identifier: MIT

-:521: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#521: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.h:1:
+/*

-:522: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#522: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.h:2:
+ * SPDX-License-Identifier: MIT

total: 0 errors, 5 warnings, 0 checks, 1464 lines checked

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

[Intel-gfx] [CI] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Chris Wilson
When one of the array of fences is signaled, propagate its errors to the
parent fence-array (keeping the first error to be raised).

v2: Opencode cmpxchg_local to avoid compiler freakout.
v3: Be careful not to flag an error if we race against signal-on-any.
v4: Same applies to installing the signal cb.
v5: Use cmpxchg to only set the error once before using a nifty idea by
Christian to avoid changing the status after emitting the signal.

Signed-off-by: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
Reviewed-by: Christian König 
---
 drivers/dma-buf/dma-fence-array.c | 32 ++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/drivers/dma-buf/dma-fence-array.c 
b/drivers/dma-buf/dma-fence-array.c
index 12c6f64c0bc2..d3fbd950be94 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -13,6 +13,8 @@
 #include 
 #include 
 
+#define PENDING_ERROR 1
+
 static const char *dma_fence_array_get_driver_name(struct dma_fence *fence)
 {
return "dma_fence_array";
@@ -23,10 +25,29 @@ static const char *dma_fence_array_get_timeline_name(struct 
dma_fence *fence)
return "unbound";
 }
 
+static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
+ int error)
+{
+   /*
+* Propagate the first error reported by any of our fences, but only
+* before we ourselves are signaled.
+*/
+   if (error)
+   cmpxchg(>base.error, PENDING_ERROR, error);
+}
+
+static void dma_fence_array_clear_pending_error(struct dma_fence_array *array)
+{
+   /* Clear the error flag if not actually set. */
+   cmpxchg(>base.error, PENDING_ERROR, 0);
+}
+
 static void irq_dma_fence_array_work(struct irq_work *wrk)
 {
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
 
+   dma_fence_array_clear_pending_error(array);
+
dma_fence_signal(>base);
dma_fence_put(>base);
 }
@@ -38,6 +59,8 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
container_of(cb, struct dma_fence_array_cb, cb);
struct dma_fence_array *array = array_cb->array;
 
+   dma_fence_array_set_pending_error(array, f->error);
+
if (atomic_dec_and_test(>num_pending))
irq_work_queue(>work);
else
@@ -63,9 +86,14 @@ static bool dma_fence_array_enable_signaling(struct 
dma_fence *fence)
dma_fence_get(>base);
if (dma_fence_add_callback(array->fences[i], [i].cb,
   dma_fence_array_cb_func)) {
+   int error = array->fences[i]->error;
+
+   dma_fence_array_set_pending_error(array, error);
dma_fence_put(>base);
-   if (atomic_dec_and_test(>num_pending))
+   if (atomic_dec_and_test(>num_pending)) {
+   dma_fence_array_clear_pending_error(array);
return false;
+   }
}
}
 
@@ -142,6 +170,8 @@ struct dma_fence_array *dma_fence_array_create(int 
num_fences,
atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
 
+   array->base.error = PENDING_ERROR;
+
return array;
 }
 EXPORT_SYMBOL(dma_fence_array_create);
-- 
2.23.0.rc1

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

[Intel-gfx] [PATCH] drm/i915: Extract general GT interrupt handlers

2019-08-11 Thread Chris Wilson
From: Andi Shyti 

i915_irq.c is large. It serves as the central dispatch and handler for
all of our device interrupts. Lets break it up by pulling out the GT
interrupt handlers.

Based on a patch by Chris Wilson.

Signed-off-by: Andi Shyti 
---
Restore rps init; rps is not moved until the next patch.
---
 drivers/gpu/drm/i915/Makefile   |   1 +
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c |   8 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c  | 455 +++
 drivers/gpu/drm/i915/gt/intel_gt_irq.h  |  44 ++
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c   |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h|   1 +
 drivers/gpu/drm/i915/gt/intel_ringbuffer.c  |   9 +-
 drivers/gpu/drm/i915/i915_drv.h |   1 -
 drivers/gpu/drm/i915/i915_irq.c | 577 ++--
 drivers/gpu/drm/i915/i915_irq.h |  47 ++
 10 files changed, 593 insertions(+), 551 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_irq.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_irq.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index d226659fdbb3..45add812048b 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -79,6 +79,7 @@ gt-y += \
gt/intel_engine_pm.o \
gt/intel_engine_user.o \
gt/intel_gt.o \
+   gt/intel_gt_irq.o \
gt/intel_gt_pm.o \
gt/intel_gt_pm_irq.o \
gt/intel_hangcheck.o \
diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c 
b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
index e1bbc9b428cd..ceba1da61967 100644
--- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
@@ -35,9 +35,9 @@ static void irq_enable(struct intel_engine_cs *engine)
return;
 
/* Caller disables interrupts */
-   spin_lock(>i915->irq_lock);
+   spin_lock(>gt->irq_lock);
engine->irq_enable(engine);
-   spin_unlock(>i915->irq_lock);
+   spin_unlock(>gt->irq_lock);
 }
 
 static void irq_disable(struct intel_engine_cs *engine)
@@ -46,9 +46,9 @@ static void irq_disable(struct intel_engine_cs *engine)
return;
 
/* Caller disables interrupts */
-   spin_lock(>i915->irq_lock);
+   spin_lock(>gt->irq_lock);
engine->irq_disable(engine);
-   spin_unlock(>i915->irq_lock);
+   spin_unlock(>gt->irq_lock);
 }
 
 static void __intel_breadcrumbs_disarm_irq(struct intel_breadcrumbs *b)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_irq.c 
b/drivers/gpu/drm/i915/gt/intel_gt_irq.c
new file mode 100644
index ..34a4fb624bf7
--- /dev/null
+++ b/drivers/gpu/drm/i915/gt/intel_gt_irq.c
@@ -0,0 +1,455 @@
+/*
+ * SPDX-License-Identifier: MIT
+ *
+ * Copyright © 2019 Intel Corporation
+ */
+
+#include 
+
+#include "i915_drv.h"
+#include "i915_irq.h"
+#include "intel_gt.h"
+#include "intel_gt_irq.h"
+#include "intel_uncore.h"
+
+static void guc_irq_handler(struct intel_guc *guc, u16 iir)
+{
+   if (iir & GUC_INTR_GUC2HOST)
+   intel_guc_to_host_event_handler(guc);
+}
+
+static void
+cs_irq_handler(struct intel_engine_cs *engine, u32 iir)
+{
+   bool tasklet = false;
+
+   if (iir & GT_CONTEXT_SWITCH_INTERRUPT)
+   tasklet = true;
+
+   if (iir & GT_RENDER_USER_INTERRUPT) {
+   intel_engine_breadcrumbs_irq(engine);
+   tasklet |= intel_engine_needs_breadcrumb_tasklet(engine);
+   }
+
+   if (tasklet)
+   tasklet_hi_schedule(>execlists.tasklet);
+}
+
+static u32
+gen11_gt_engine_identity(struct intel_gt *gt,
+const unsigned int bank, const unsigned int bit)
+{
+   void __iomem * const regs = gt->uncore->regs;
+   u32 timeout_ts;
+   u32 ident;
+
+   lockdep_assert_held(>irq_lock);
+
+   raw_reg_write(regs, GEN11_IIR_REG_SELECTOR(bank), BIT(bit));
+
+   /*
+* NB: Specs do not specify how long to spin wait,
+* so we do ~100us as an educated guess.
+*/
+   timeout_ts = (local_clock() >> 10) + 100;
+   do {
+   ident = raw_reg_read(regs, GEN11_INTR_IDENTITY_REG(bank));
+   } while (!(ident & GEN11_INTR_DATA_VALID) &&
+!time_after32(local_clock() >> 10, timeout_ts));
+
+   if (unlikely(!(ident & GEN11_INTR_DATA_VALID))) {
+   DRM_ERROR("INTR_IDENTITY_REG%u:%u 0x%08x not valid!\n",
+ bank, bit, ident);
+   return 0;
+   }
+
+   raw_reg_write(regs, GEN11_INTR_IDENTITY_REG(bank),
+ GEN11_INTR_DATA_VALID);
+
+   return ident;
+}
+
+static void
+gen11_other_irq_handler(struct intel_gt *gt, const u8 instance,
+   const u16 iir)
+{
+   if (instance == OTHER_GUC_INSTANCE)
+   return guc_irq_handler(>uc.guc, iir);
+
+   if (instance == OTHER_GTPM_INSTANCE)
+   return gen11_rps_irq_handler(gt, iir);
+
+   WARN_ONCE(1, "unhandled 

[Intel-gfx] ✗ Fi.CI.BAT: failure for Use -EIO code for GuC initialization failures

2019-08-11 Thread Patchwork
== Series Details ==

Series: Use -EIO code for GuC initialization failures
URL   : https://patchwork.freedesktop.org/series/65060/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6678 -> Patchwork_13974


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13974 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13974, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/

Possible new issues
---

  Here are the unknown changes that may have been introduced in Patchwork_13974:

### IGT changes ###

 Possible regressions 

  * igt@i915_selftest@live_workarounds:
- fi-bsw-kefka:   [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-bsw-kefka/igt@i915_selftest@live_workarounds.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-bsw-kefka/igt@i915_selftest@live_workarounds.html

  
Known issues


  Here are the changes found in Patchwork_13974 that come from known issues:

### IGT changes ###

 Possible fixes 

  * {igt@gem_ctx_switch@legacy-render}:
- fi-icl-u2:  [INCOMPLETE][3] ([fdo#107713]) -> [PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html

  * igt@i915_selftest@live_requests:
- fi-byt-j1900:   [INCOMPLETE][5] ([fdo#102657]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-byt-j1900/igt@i915_selftest@live_requests.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-byt-j1900/igt@i915_selftest@live_requests.html

  * igt@kms_busy@basic-flip-a:
- fi-kbl-7567u:   [SKIP][7] ([fdo#109271] / [fdo#109278]) -> [PASS][8] 
+2 similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [SKIP][9] ([fdo#109271] / [fdo#109278]) -> [PASS][10] 
+2 similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7567u:   [WARN][11] ([fdo#109380]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][13] ([fdo#109485]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-c:
- fi-kbl-7567u:   [SKIP][15] ([fdo#109271]) -> [PASS][16] +23 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13974/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102657]: https://bugs.freedesktop.org/show_bug.cgi?id=102657
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (54 -> 45)
--

  Missing(9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-whl-u 
fi-kbl-8809g fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6678 -> Patchwork_13974

  CI-20190529: 20190529
  CI_DRM_6678: 0330b51e91d7c3bedfe40afadc6c221e4d1a9c61 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5127: f43f5fa12ac1b93febfe3eeb9e9985f5f3e2eff0 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13974: f590970f056352e32b870ab61c6f7e5a64580cce @ 

Re: [Intel-gfx] [PATCH 4/4] drm/i915/uc: Use -EIO code for GuC initialization failures

2019-08-11 Thread Chris Wilson
Quoting Michal Wajdeczko (2019-08-11 20:51:32)
> Since commit 6ca9a2beb54a ("drm/i915: Unwind i915_gem_init() failure")
> we believed that we correctly handle all errors encountered during
> GuC initialization, including special one that indicates request to
> run driver with disabled GPU submission (-EIO).
> 
> Unfortunately since commit 121981fafe69 ("drm/i915/guc: Combine
> enable_guc_loading|submission modparams") we stopped using that
> error code to avoid unwanted fallback to execlist submission mode.
> 
> In result any GuC initialization failure was treated as non-recoverable
> error leading to driver load abort, so we could not even read related
> GuC error log to investigate cause of the problem.
> 
> For now always return -EIO on any uC hardware related failure.
> 
> Signed-off-by: Michal Wajdeczko 
> Cc: Daniele Ceraolo Spurio 
> Cc: Chris Wilson 

Works for me,
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 3/4] drm/i915/uc: Update messages from fw upload step

2019-08-11 Thread Chris Wilson
Quoting Michal Wajdeczko (2019-08-11 20:51:31)
> Our old messages were redundant or misleading (as loaded is
> not the same as running). Keep only one message for debug.
> 
> Signed-off-by: Michal Wajdeczko 
> Cc: Daniele Ceraolo Spurio 
> Cc: Chris Wilson 

One is still one too many :)
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 2/4] drm/i915/uc: Include HuC firmware version in summary

2019-08-11 Thread Chris Wilson
Quoting Michal Wajdeczko (2019-08-11 20:51:30)
> After successful uC initialization we are reporting GuC
> firmware version and status of GuC submission and HuC.
> Add HuC fw version to this report to make it complete,
> but also skip all HuC info if HuC is not supported.
> 
> Signed-off-by: Michal Wajdeczko 
> Cc: Daniele Ceraolo Spurio 
> Cc: Chris Wilson 
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c | 16 
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index aa9701cfc754..2acf7907287c 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -503,12 +503,20 @@ int intel_uc_init_hw(struct intel_uc *uc)
> goto err_communication;
> }
>  
> -   dev_info(i915->drm.dev, "GuC firmware version %u.%u\n",
> +   dev_info(i915->drm.dev, "%s firmware version %u.%u\n",
> +intel_uc_fw_type_repr(INTEL_UC_FW_TYPE_GUC),
>  guc->fw.major_ver_found, guc->fw.minor_ver_found);
> -   dev_info(i915->drm.dev, "GuC submission %s\n",
> +   dev_info(i915->drm.dev, "%s %s\n", "GuC submission",
>  enableddisabled(intel_uc_supports_guc_submission(uc)));
> -   dev_info(i915->drm.dev, "HuC %s\n",
> -enableddisabled(intel_huc_is_authenticated(huc)));
> +
> +   if (intel_uc_supports_huc(uc)) {
> +   dev_info(i915->drm.dev, "%s firmware version %u.%u\n",
> +intel_uc_fw_type_repr(INTEL_UC_FW_TYPE_HUC),
> +huc->fw.major_ver_found, huc->fw.minor_ver_found);
> +   dev_info(i915->drm.dev, "%s %s\n",
> +intel_uc_fw_type_repr(INTEL_UC_FW_TYPE_HUC),
> +enableddisabled(intel_huc_is_authenticated(huc)));
> +   }

Could I ask you to squeeze each down to one line?
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 1/4] drm/i915/uc: Fail early if there is no GuC fw available

2019-08-11 Thread Chris Wilson
Quoting Michal Wajdeczko (2019-08-11 20:51:29)
> We don't want to rely on misleading WOPCM partitioning error.
> 
> Signed-off-by: Michal Wajdeczko 
> Cc: Daniele Ceraolo Spurio 
> Cc: Chris Wilson 
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c|  5 +
>  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 21 +
>  2 files changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 32aa4509ba1d..aa9701cfc754 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -436,6 +436,11 @@ int intel_uc_init_hw(struct intel_uc *uc)
> if (!intel_uc_supports_guc(uc))
> return 0;
>  
> +   if (!intel_uc_fw_is_available(>fw)) {
> +   ret = intel_uc_fw_status_to_error(guc->fw.status);
> +   goto err_out;
> +   }
> +
> ret = uc_init_wopcm(uc);
> if (ret)
> goto err_out;
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h 
> b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
> index 0d22e73dff15..ad7e72316dcc 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
> @@ -107,6 +107,27 @@ const char *intel_uc_fw_status_repr(enum 
> intel_uc_fw_status status)
> return "";
>  }
>  
> +static inline int intel_uc_fw_status_to_error(enum intel_uc_fw_status status)
> +{
> +   switch (status) {
> +   case INTEL_UC_FIRMWARE_NOT_SUPPORTED:
> +   case INTEL_UC_FIRMWARE_UNINITIALIZED:
> +   return -EPERM;
> +   case INTEL_UC_FIRMWARE_MISSING:
> +   return -ENOENT;
> +   case INTEL_UC_FIRMWARE_ERROR:
> +   return -ENOEXEC;
> +   case INTEL_UC_FIRMWARE_FAIL:
> +   return -EIO;

Worth distinguishing with -ENXIO or is the similarity to -EIO important?
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915: Extract GT powermanagement interrupt handling

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Extract GT powermanagement 
interrupt handling
URL   : https://patchwork.freedesktop.org/series/65049/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6678_full -> Patchwork_13972_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13972_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13972_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Possible new issues
---

  Here are the unknown changes that may have been introduced in 
Patchwork_13972_full:

### IGT changes ###

 Possible regressions 

  * igt@i915_pm_rps@reset:
- shard-apl:  [PASS][1] -> [FAIL][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-apl3/igt@i915_pm_...@reset.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-apl7/igt@i915_pm_...@reset.html
- shard-hsw:  [PASS][3] -> [FAIL][4] +1 similar issue
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-hsw4/igt@i915_pm_...@reset.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-hsw1/igt@i915_pm_...@reset.html
- shard-glk:  [PASS][5] -> [FAIL][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-glk9/igt@i915_pm_...@reset.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-glk8/igt@i915_pm_...@reset.html

  * igt@i915_pm_rps@waitboost:
- shard-snb:  [PASS][7] -> [FAIL][8] +1 similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-snb2/igt@i915_pm_...@waitboost.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-snb1/igt@i915_pm_...@waitboost.html

  
Known issues


  Here are the changes found in Patchwork_13972_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#110841])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb3/igt@gem_ctx_sha...@exec-single-timeline-bsd.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-iclb2/igt@gem_ctx_sha...@exec-single-timeline-bsd.html

  * igt@gem_eio@in-flight-1us:
- shard-snb:  [PASS][11] -> [INCOMPLETE][12] ([fdo#105411]) +11 
similar issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-snb4/igt@gem_...@in-flight-1us.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-snb6/igt@gem_...@in-flight-1us.html

  * igt@gem_exec_schedule@independent-bsd:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#111325]) +2 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb5/igt@gem_exec_sched...@independent-bsd.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-iclb4/igt@gem_exec_sched...@independent-bsd.html

  * igt@gem_exec_schedule@preempt-contexts-bsd2:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109276]) +11 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb4/igt@gem_exec_sched...@preempt-contexts-bsd2.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-iclb7/igt@gem_exec_sched...@preempt-contexts-bsd2.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][17] -> [INCOMPLETE][18] ([fdo#104108] / 
[fdo#107773])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl3/igt@gem_soft...@noreloc-s3.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-skl2/igt@gem_soft...@noreloc-s3.html

  * igt@i915_pm_rps@min-max-config-loaded:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#108059]) +2 similar 
issues
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-iclb1/igt@i915_pm_...@min-max-config-loaded.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-iclb1/igt@i915_pm_...@min-max-config-loaded.html

  * igt@i915_pm_rps@reset:
- shard-kbl:  [PASS][21] -> [FAIL][22] ([fdo#102250]) +2 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-kbl3/igt@i915_pm_...@reset.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-kbl3/igt@i915_pm_...@reset.html

  * igt@i915_pm_rps@waitboost:
- shard-skl:  [PASS][23] -> [FAIL][24] ([fdo#102250]) +2 similar 
issues
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/shard-skl7/igt@i915_pm_...@waitboost.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/shard-skl2/igt@i915_pm_...@waitboost.html
- shard-apl:  

[Intel-gfx] [PATCH 4/4] drm/i915/uc: Use -EIO code for GuC initialization failures

2019-08-11 Thread Michal Wajdeczko
Since commit 6ca9a2beb54a ("drm/i915: Unwind i915_gem_init() failure")
we believed that we correctly handle all errors encountered during
GuC initialization, including special one that indicates request to
run driver with disabled GPU submission (-EIO).

Unfortunately since commit 121981fafe69 ("drm/i915/guc: Combine
enable_guc_loading|submission modparams") we stopped using that
error code to avoid unwanted fallback to execlist submission mode.

In result any GuC initialization failure was treated as non-recoverable
error leading to driver load abort, so we could not even read related
GuC error log to investigate cause of the problem.

For now always return -EIO on any uC hardware related failure.

Signed-off-by: Michal Wajdeczko 
Cc: Daniele Ceraolo Spurio 
Cc: Chris Wilson 
---
 drivers/gpu/drm/i915/gt/uc/intel_uc.c | 11 +++
 drivers/gpu/drm/i915/i915_gem.c   | 14 --
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 2acf7907287c..3b33fb275efb 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -530,15 +530,10 @@ int intel_uc_init_hw(struct intel_uc *uc)
 err_out:
__uc_sanitize(uc);
 
-   /*
-* Note that there is no fallback as either user explicitly asked for
-* the GuC or driver default option was to run with the GuC enabled.
-*/
-   if (GEM_WARN_ON(ret == -EIO))
-   ret = -EINVAL;
-
i915_probe_error(i915, "GuC initialization failed %d\n", ret);
-   return ret;
+
+   /* We want to keep KMS alive */
+   return -EIO;
 }
 
 void intel_uc_fini_hw(struct intel_uc *uc)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6ff01a404346..4752a3bf9636 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1463,8 +1463,10 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
intel_init_gt_powersave(dev_priv);
 
ret = intel_uc_init(_priv->gt.uc);
-   if (ret)
+   if (ret) {
+   GEM_BUG_ON(ret == -EIO);
goto err_pm;
+   }
 
ret = i915_gem_init_hw(dev_priv);
if (ret)
@@ -1526,7 +1528,8 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 err_init_hw:
intel_uc_fini_hw(_priv->gt.uc);
 err_uc_init:
-   intel_uc_fini(_priv->gt.uc);
+   if (ret != -EIO)
+   intel_uc_fini(_priv->gt.uc);
 err_pm:
if (ret != -EIO) {
intel_cleanup_gt_powersave(dev_priv);
@@ -1542,9 +1545,8 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
intel_uncore_forcewake_put(_priv->uncore, FORCEWAKE_ALL);
mutex_unlock(_priv->drm.struct_mutex);
 
-   intel_uc_cleanup_firmwares(_priv->gt.uc);
-
if (ret != -EIO) {
+   intel_uc_cleanup_firmwares(_priv->gt.uc);
i915_gem_cleanup_userptr(dev_priv);
intel_timelines_fini(dev_priv);
}
@@ -1553,8 +1555,8 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
mutex_lock(_priv->drm.struct_mutex);
 
/*
-* Allow engine initialisation to fail by marking the GPU as
-* wedged. But we only want to do this where the GPU is angry,
+* Allow engines or uC initialisation to fail by marking the GPU
+* as wedged. But we only want to do this when the GPU is angry,
 * for all other failure, such as an allocation failure, bail.
 */
if (!intel_gt_is_wedged(_priv->gt)) {
-- 
2.19.2

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

[Intel-gfx] [PATCH 2/4] drm/i915/uc: Include HuC firmware version in summary

2019-08-11 Thread Michal Wajdeczko
After successful uC initialization we are reporting GuC
firmware version and status of GuC submission and HuC.
Add HuC fw version to this report to make it complete,
but also skip all HuC info if HuC is not supported.

Signed-off-by: Michal Wajdeczko 
Cc: Daniele Ceraolo Spurio 
Cc: Chris Wilson 
---
 drivers/gpu/drm/i915/gt/uc/intel_uc.c | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index aa9701cfc754..2acf7907287c 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -503,12 +503,20 @@ int intel_uc_init_hw(struct intel_uc *uc)
goto err_communication;
}
 
-   dev_info(i915->drm.dev, "GuC firmware version %u.%u\n",
+   dev_info(i915->drm.dev, "%s firmware version %u.%u\n",
+intel_uc_fw_type_repr(INTEL_UC_FW_TYPE_GUC),
 guc->fw.major_ver_found, guc->fw.minor_ver_found);
-   dev_info(i915->drm.dev, "GuC submission %s\n",
+   dev_info(i915->drm.dev, "%s %s\n", "GuC submission",
 enableddisabled(intel_uc_supports_guc_submission(uc)));
-   dev_info(i915->drm.dev, "HuC %s\n",
-enableddisabled(intel_huc_is_authenticated(huc)));
+
+   if (intel_uc_supports_huc(uc)) {
+   dev_info(i915->drm.dev, "%s firmware version %u.%u\n",
+intel_uc_fw_type_repr(INTEL_UC_FW_TYPE_HUC),
+huc->fw.major_ver_found, huc->fw.minor_ver_found);
+   dev_info(i915->drm.dev, "%s %s\n",
+intel_uc_fw_type_repr(INTEL_UC_FW_TYPE_HUC),
+enableddisabled(intel_huc_is_authenticated(huc)));
+   }
 
return 0;
 
-- 
2.19.2

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

[Intel-gfx] [PATCH 3/4] drm/i915/uc: Update messages from fw upload step

2019-08-11 Thread Michal Wajdeczko
Our old messages were redundant or misleading (as loaded is
not the same as running). Keep only one message for debug.

Signed-off-by: Michal Wajdeczko 
Cc: Daniele Ceraolo Spurio 
Cc: Chris Wilson 
---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 14 +++---
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index 22828a76626d..5665019d341a 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -493,9 +493,6 @@ int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, struct 
intel_gt *gt,
 {
int err;
 
-   DRM_DEBUG_DRIVER("%s fw load %s\n",
-intel_uc_fw_type_repr(uc_fw->type), uc_fw->path);
-
/* make sure the status was cleared the last time we reset the uc */
GEM_BUG_ON(intel_uc_fw_is_loaded(uc_fw));
 
@@ -514,14 +511,9 @@ int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, struct 
intel_gt *gt,
goto fail;
 
uc_fw->status = INTEL_UC_FIRMWARE_TRANSFERRED;
-   DRM_DEBUG_DRIVER("%s fw xfer completed\n",
-intel_uc_fw_type_repr(uc_fw->type));
-
-   DRM_INFO("%s: Loaded firmware %s (version %u.%u)\n",
-intel_uc_fw_type_repr(uc_fw->type),
-uc_fw->path,
-uc_fw->major_ver_found, uc_fw->minor_ver_found);
-
+   DRM_DEV_DEBUG_DRIVER(gt->i915->drm.dev, "%s firmware %s: %s\n",
+intel_uc_fw_type_repr(uc_fw->type), uc_fw->path,
+intel_uc_fw_status_repr(uc_fw->status));
return 0;
 
 fail:
-- 
2.19.2

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

[Intel-gfx] [PATCH 1/4] drm/i915/uc: Fail early if there is no GuC fw available

2019-08-11 Thread Michal Wajdeczko
We don't want to rely on misleading WOPCM partitioning error.

Signed-off-by: Michal Wajdeczko 
Cc: Daniele Ceraolo Spurio 
Cc: Chris Wilson 
---
 drivers/gpu/drm/i915/gt/uc/intel_uc.c|  5 +
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 21 +
 2 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 32aa4509ba1d..aa9701cfc754 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -436,6 +436,11 @@ int intel_uc_init_hw(struct intel_uc *uc)
if (!intel_uc_supports_guc(uc))
return 0;
 
+   if (!intel_uc_fw_is_available(>fw)) {
+   ret = intel_uc_fw_status_to_error(guc->fw.status);
+   goto err_out;
+   }
+
ret = uc_init_wopcm(uc);
if (ret)
goto err_out;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h 
b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
index 0d22e73dff15..ad7e72316dcc 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
@@ -107,6 +107,27 @@ const char *intel_uc_fw_status_repr(enum 
intel_uc_fw_status status)
return "";
 }
 
+static inline int intel_uc_fw_status_to_error(enum intel_uc_fw_status status)
+{
+   switch (status) {
+   case INTEL_UC_FIRMWARE_NOT_SUPPORTED:
+   case INTEL_UC_FIRMWARE_UNINITIALIZED:
+   return -EPERM;
+   case INTEL_UC_FIRMWARE_MISSING:
+   return -ENOENT;
+   case INTEL_UC_FIRMWARE_ERROR:
+   return -ENOEXEC;
+   case INTEL_UC_FIRMWARE_FAIL:
+   return -EIO;
+   case INTEL_UC_FIRMWARE_SELECTED:
+   case INTEL_UC_FIRMWARE_AVAILABLE:
+   case INTEL_UC_FIRMWARE_TRANSFERRED:
+   case INTEL_UC_FIRMWARE_RUNNING:
+   return 0;
+   }
+   return -EINVAL;
+}
+
 static inline const char *intel_uc_fw_type_repr(enum intel_uc_fw_type type)
 {
switch (type) {
-- 
2.19.2

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

[Intel-gfx] [PATCH 0/4] Use -EIO code for GuC initialization failures

2019-08-11 Thread Michal Wajdeczko
Next portion of GuC/HuC improvements

Michal Wajdeczko (4):
  drm/i915/uc: Fail early if there is no GuC fw available
  drm/i915/uc: Include HuC firmware version in summary
  drm/i915/uc: Update messages from fw upload step
  drm/i915/uc: Use -EIO code for GuC initialization failures

 drivers/gpu/drm/i915/gt/uc/intel_uc.c| 32 +++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 14 +++
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 21 
 drivers/gpu/drm/i915/i915_gem.c  | 14 ++-
 4 files changed, 52 insertions(+), 29 deletions(-)

-- 
2.19.2

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

Re: [Intel-gfx] [PATCH v4] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread kbuild test robot
Hi Chris,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[cannot apply to v5.3-rc3 next-20190809]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Chris-Wilson/dma-fence-Propagate-errors-to-dma-fence-array-container/20190812-022143
reproduce: make htmldocs

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All warnings (new ones prefixed by >>):

   Warning: The Sphinx 'sphinx_rtd_theme' HTML theme was not found. Make sure 
you have the theme installed to produce pretty HTML output. Falling back to the 
default theme.
   WARNING: dot(1) not found, for better output quality install graphviz from 
http://www.graphviz.org
   WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick 
(https://www.imagemagick.org)
>> include/linux/dma-fence-array.h:49: warning: Function parameter or member 
>> 'pending_error' not described in 'dma_fence_array'
   include/linux/w1.h:272: warning: Function parameter or member 
'of_match_table' not described in 'w1_family'
   include/linux/i2c.h:337: warning: Function parameter or member 'init_irq' 
not described in 'i2c_client'
   lib/genalloc.c:1: warning: 'gen_pool_add_virt' not found
   lib/genalloc.c:1: warning: 'gen_pool_alloc' not found
   lib/genalloc.c:1: warning: 'gen_pool_free' not found
   lib/genalloc.c:1: warning: 'gen_pool_alloc_algo' not found
   include/linux/regulator/machine.h:196: warning: Function parameter or member 
'max_uV_step' not described in 'regulation_constraints'
   include/linux/regulator/driver.h:223: warning: Function parameter or member 
'resume' not described in 'regulator_ops'
   include/linux/spi/spi.h:190: warning: Function parameter or member 
'driver_override' not described in 'spi_device'
   drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found
   drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not 
found
   drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' 
not found
   drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not 
found
   fs/direct-io.c:258: warning: Excess function parameter 'offset' description 
in 'dio_complete'
   fs/libfs.c:496: warning: Excess function parameter 'available' description 
in 'simple_write_end'
   fs/posix_acl.c:647: warning: Function parameter or member 'inode' not 
described in 'posix_acl_update_mode'
   fs/posix_acl.c:647: warning: Function parameter or member 'mode_p' not 
described in 'posix_acl_update_mode'
   fs/posix_acl.c:647: warning: Function parameter or member 'acl' not 
described in 'posix_acl_update_mode'
   include/linux/input/sparse-keymap.h:43: warning: Function parameter or 
member 'sw' not described in 'key_entry'
   drivers/gpu/drm/mcde/mcde_drv.c:1: warning: 'ST-Ericsson MCDE DRM Driver' 
not found
   include/net/mac80211.h:2006: warning: Function parameter or member 'txpwr' 
not described in 'ieee80211_sta'
   mm/util.c:1: warning: 'get_user_pages_fast' not found
   mm/slab.c:4215: warning: Function parameter or member 'objp' not described 
in '__ksize'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'dev_scratch' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 'list' not 
described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'ip_defrag_offset' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'skb_mstamp_ns' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'__cloned_offset' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'head_frag' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'__pkt_type_offset' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'encapsulation' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'encap_hdr_csum' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'csum_valid' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'__pkt_vlan_present_offset' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'vlan_present' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'csum_complete_sw' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'csum_level' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 
'inner_protocol_type' not described in 'sk_buff'
   include/linux/skbuff.h:893: warning: Function parameter or member 

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/tgl: Fixing up list of PG3 power domains.

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915/tgl: Fixing up list of PG3 power domains.
URL   : https://patchwork.freedesktop.org/series/65041/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6677_full -> Patchwork_13968_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13968_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@rcs0-s3:
- shard-kbl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +4 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-kbl1/igt@gem_ctx_isolat...@rcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-kbl7/igt@gem_ctx_isolat...@rcs0-s3.html

  * igt@gem_eio@reset-stress:
- shard-skl:  [PASS][3] -> [FAIL][4] ([fdo#109661])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl4/igt@gem_...@reset-stress.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-skl5/igt@gem_...@reset-stress.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +4 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb5/igt@gem_exec_sched...@preemptive-hang-bsd.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-iclb1/igt@gem_exec_sched...@preemptive-hang-bsd.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-apl:  [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +5 
similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-apl7/igt@gem_workarou...@suspend-resume-context.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-apl7/igt@gem_workarou...@suspend-resume-context.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [PASS][9] -> [FAIL][10] ([fdo#104097])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-hsw2/igt@i915_pm_...@i2c.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-hsw2/igt@i915_pm_...@i2c.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-untiled:
- shard-skl:  [PASS][11] -> [FAIL][12] ([fdo#103184] / [fdo#103232] 
/ [fdo#108472])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl9/igt@kms_draw_...@draw-method-xrgb2101010-mmap-gtt-untiled.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-skl2/igt@kms_draw_...@draw-method-xrgb2101010-mmap-gtt-untiled.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#105363])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl4/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-skl5/igt@kms_f...@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +4 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb6/igt@kms_frontbuffer_track...@fbc-1p-offscren-pri-indfb-draw-blt.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-offscren-pri-indfb-draw-blt.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][17] -> [FAIL][18] ([fdo#108145])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl1/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-skl3/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#108145] / [fdo#110403])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl3/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-skl2/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +2 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-kbl:  [PASS][23] -> [INCOMPLETE][24] ([fdo#103665])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-kbl7/igt@kms_vbl...@pipe-b-ts-continuation-suspend.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/shard-kbl3/igt@kms_vbl...@pipe-b-ts-continuation-suspend.html

  

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v5] dma-fence: Propagate errors to dma-fence-array container (rev6)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [v5] dma-fence: Propagate errors to 
dma-fence-array container (rev6)
URL   : https://patchwork.freedesktop.org/series/65027/
State : failure

== Summary ==

Applying: dma-fence: Propagate errors to dma-fence-array container
Applying: dma-fence: Report the composite sync_file status
Applying: dma-fence: Refactor signaling for manual invocation
Applying: dma-fence: Have dma_fence_signal call signal_locked
Using index info to reconstruct a base tree...
M   drivers/dma-buf/dma-fence.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/dma-buf/dma-fence.c
CONFLICT (content): Merge conflict in drivers/dma-buf/dma-fence.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0004 dma-fence: Have dma_fence_signal call signal_locked
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

Re: [Intel-gfx] [PATCH v5] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Koenig, Christian
Am 11.08.19 um 18:25 schrieb Chris Wilson:
> When one of the array of fences is signaled, propagate its errors to the
> parent fence-array (keeping the first error to be raised).
>
> v2: Opencode cmpxchg_local to avoid compiler freakout.
> v3: Be careful not to flag an error if we race against signal-on-any.
> v4: Same applies to installing the signal cb.
> v5: Use cmpxchg to only set the error once before using a nifty idea by
> Christian to avoid changing the status after emitting the signal.
>
> Signed-off-by: Chris Wilson 
> Cc: Sumit Semwal 
> Cc: Gustavo Padovan 
> Cc: Christian König 

Reviewed-by: Christian König 

> ---
>   drivers/dma-buf/dma-fence-array.c | 32 ++-
>   1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma-buf/dma-fence-array.c 
> b/drivers/dma-buf/dma-fence-array.c
> index 12c6f64c0bc2..d3fbd950be94 100644
> --- a/drivers/dma-buf/dma-fence-array.c
> +++ b/drivers/dma-buf/dma-fence-array.c
> @@ -13,6 +13,8 @@
>   #include 
>   #include 
>   
> +#define PENDING_ERROR 1
> +
>   static const char *dma_fence_array_get_driver_name(struct dma_fence *fence)
>   {
>   return "dma_fence_array";
> @@ -23,10 +25,29 @@ static const char 
> *dma_fence_array_get_timeline_name(struct dma_fence *fence)
>   return "unbound";
>   }
>   
> +static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
> +   int error)
> +{
> + /*
> +  * Propagate the first error reported by any of our fences, but only
> +  * before we ourselves are signaled.
> +  */
> + if (error)
> + cmpxchg(>base.error, PENDING_ERROR, error);
> +}
> +
> +static void dma_fence_array_clear_pending_error(struct dma_fence_array 
> *array)
> +{
> + /* Clear the error flag if not actually set. */
> + cmpxchg(>base.error, PENDING_ERROR, 0);
> +}
> +
>   static void irq_dma_fence_array_work(struct irq_work *wrk)
>   {
>   struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
>   
> + dma_fence_array_clear_pending_error(array);
> +
>   dma_fence_signal(>base);
>   dma_fence_put(>base);
>   }
> @@ -38,6 +59,8 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
>   container_of(cb, struct dma_fence_array_cb, cb);
>   struct dma_fence_array *array = array_cb->array;
>   
> + dma_fence_array_set_pending_error(array, f->error);
> +
>   if (atomic_dec_and_test(>num_pending))
>   irq_work_queue(>work);
>   else
> @@ -63,9 +86,14 @@ static bool dma_fence_array_enable_signaling(struct 
> dma_fence *fence)
>   dma_fence_get(>base);
>   if (dma_fence_add_callback(array->fences[i], [i].cb,
>  dma_fence_array_cb_func)) {
> + int error = array->fences[i]->error;
> +
> + dma_fence_array_set_pending_error(array, error);
>   dma_fence_put(>base);
> - if (atomic_dec_and_test(>num_pending))
> + if (atomic_dec_and_test(>num_pending)) {
> + dma_fence_array_clear_pending_error(array);
>   return false;
> + }
>   }
>   }
>   
> @@ -142,6 +170,8 @@ struct dma_fence_array *dma_fence_array_create(int 
> num_fences,
>   atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
>   array->fences = fences;
>   
> + array->base.error = PENDING_ERROR;
> +
>   return array;
>   }
>   EXPORT_SYMBOL(dma_fence_array_create);

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

[Intel-gfx] [PATCH v5] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Chris Wilson
When one of the array of fences is signaled, propagate its errors to the
parent fence-array (keeping the first error to be raised).

v2: Opencode cmpxchg_local to avoid compiler freakout.
v3: Be careful not to flag an error if we race against signal-on-any.
v4: Same applies to installing the signal cb.
v5: Use cmpxchg to only set the error once before using a nifty idea by
Christian to avoid changing the status after emitting the signal.

Signed-off-by: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
---
 drivers/dma-buf/dma-fence-array.c | 32 ++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/drivers/dma-buf/dma-fence-array.c 
b/drivers/dma-buf/dma-fence-array.c
index 12c6f64c0bc2..d3fbd950be94 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -13,6 +13,8 @@
 #include 
 #include 
 
+#define PENDING_ERROR 1
+
 static const char *dma_fence_array_get_driver_name(struct dma_fence *fence)
 {
return "dma_fence_array";
@@ -23,10 +25,29 @@ static const char *dma_fence_array_get_timeline_name(struct 
dma_fence *fence)
return "unbound";
 }
 
+static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
+ int error)
+{
+   /*
+* Propagate the first error reported by any of our fences, but only
+* before we ourselves are signaled.
+*/
+   if (error)
+   cmpxchg(>base.error, PENDING_ERROR, error);
+}
+
+static void dma_fence_array_clear_pending_error(struct dma_fence_array *array)
+{
+   /* Clear the error flag if not actually set. */
+   cmpxchg(>base.error, PENDING_ERROR, 0);
+}
+
 static void irq_dma_fence_array_work(struct irq_work *wrk)
 {
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
 
+   dma_fence_array_clear_pending_error(array);
+
dma_fence_signal(>base);
dma_fence_put(>base);
 }
@@ -38,6 +59,8 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
container_of(cb, struct dma_fence_array_cb, cb);
struct dma_fence_array *array = array_cb->array;
 
+   dma_fence_array_set_pending_error(array, f->error);
+
if (atomic_dec_and_test(>num_pending))
irq_work_queue(>work);
else
@@ -63,9 +86,14 @@ static bool dma_fence_array_enable_signaling(struct 
dma_fence *fence)
dma_fence_get(>base);
if (dma_fence_add_callback(array->fences[i], [i].cb,
   dma_fence_array_cb_func)) {
+   int error = array->fences[i]->error;
+
+   dma_fence_array_set_pending_error(array, error);
dma_fence_put(>base);
-   if (atomic_dec_and_test(>num_pending))
+   if (atomic_dec_and_test(>num_pending)) {
+   dma_fence_array_clear_pending_error(array);
return false;
+   }
}
}
 
@@ -142,6 +170,8 @@ struct dma_fence_array *dma_fence_array_create(int 
num_fences,
atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
 
+   array->base.error = PENDING_ERROR;
+
return array;
 }
 EXPORT_SYMBOL(dma_fence_array_create);
-- 
2.23.0.rc1

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

Re: [Intel-gfx] [PATCH 5/4] dma-fence: Have dma_fence_signal call signal_locked

2019-08-11 Thread Koenig, Christian
Am 11.08.19 um 11:15 schrieb Chris Wilson:
> Now that dma_fence_signal always takes the spinlock to flush the
> cb_list, simply take the spinlock and call dma_fence_signal_locked() to
> avoid code repetition.
>
> Suggested-by: Christian König 
> Signed-off-by: Chris Wilson 
> Cc: Christian König 

Reviewed-by: Christian König 

> ---
>   drivers/dma-buf/dma-fence.c | 32 
>   1 file changed, 12 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index ab4a456bba04..367b71084d34 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -122,26 +122,18 @@ EXPORT_SYMBOL(dma_fence_context_alloc);
>*/
>   int dma_fence_signal_locked(struct dma_fence *fence)
>   {
> - int ret = 0;
> -
> - lockdep_assert_held(fence->lock);
> -
>   if (WARN_ON(!fence))
>   return -EINVAL;
>   
> - if (!__dma_fence_signal(fence)) {
> - ret = -EINVAL;
> + lockdep_assert_held(fence->lock);
>   
> - /*
> -  * we might have raced with the unlocked dma_fence_signal,
> -  * still run through all callbacks
> -  */
> - } else {
> - __dma_fence_signal__timestamp(fence, ktime_get());
> - }
> + if (!__dma_fence_signal(fence))
> + return -EINVAL;
>   
> + __dma_fence_signal__timestamp(fence, ktime_get());
>   __dma_fence_signal__notify(fence);
> - return ret;
> +
> + return 0;
>   }
>   EXPORT_SYMBOL(dma_fence_signal_locked);
>   
> @@ -161,19 +153,19 @@ EXPORT_SYMBOL(dma_fence_signal_locked);
>   int dma_fence_signal(struct dma_fence *fence)
>   {
>   unsigned long flags;
> + int ret;
>   
>   if (!fence)
>   return -EINVAL;
>   
> - if (!__dma_fence_signal(fence))
> - return -EINVAL;
> -
> - __dma_fence_signal__timestamp(fence, ktime_get());
> + if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, >flags))
> + return 0;
>   
>   spin_lock_irqsave(fence->lock, flags);
> - __dma_fence_signal__notify(fence);
> + ret = dma_fence_signal_locked(fence);
>   spin_unlock_irqrestore(fence->lock, flags);
> - return 0;
> +
> + return ret;
>   }
>   EXPORT_SYMBOL(dma_fence_signal);
>   

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

Re: [Intel-gfx] [PATCH v4] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Koenig, Christian
How about this instead:

Setting array->base.error = 1 during initialization.

Then cmpxchg(array->base.error, 1, error) whenever a fence in the array 
signals.

And then finally cmpxchg(array->base.error, 1, 0) when the array itself 
signals.

Christian.

Am 11.08.19 um 14:21 schrieb Chris Wilson:
> When one of the array of fences is signaled, propagate its errors to the
> parent fence-array (keeping the first error to be raised).
>
> v2: Opencode cmpxchg_local to avoid compiler freakout.
> v3: Be careful not to flag an error if we race against signal-on-any.
> v4: Same applies to installing the signal cb.
>
> Signed-off-by: Chris Wilson 
> Cc: Sumit Semwal 
> Cc: Gustavo Padovan 
> Cc: Christian König 
> ---
>   drivers/dma-buf/dma-fence-array.c | 37 ++-
>   include/linux/dma-fence-array.h   |  2 ++
>   2 files changed, 38 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma-buf/dma-fence-array.c 
> b/drivers/dma-buf/dma-fence-array.c
> index 12c6f64c0bc2..4d574dff0ba9 100644
> --- a/drivers/dma-buf/dma-fence-array.c
> +++ b/drivers/dma-buf/dma-fence-array.c
> @@ -23,10 +23,37 @@ static const char 
> *dma_fence_array_get_timeline_name(struct dma_fence *fence)
>   return "unbound";
>   }
>   
> +static void dma_fence_array_set_error(struct dma_fence_array *array)
> +{
> + int error = READ_ONCE(array->pending_error);
> +
> + if (!array->base.error && error)
> + dma_fence_set_error(>base, error);
> +}
> +
> +static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
> +   int error)
> +{
> + /*
> +  * Propagate the first error reported by any of our fences, but only
> +  * before we ourselves are signaled.
> +  *
> +  * Note that this may race with multiple fences completing
> +  * simultaneously in error, but only one error will be kept, not
> +  * necessarily the first. So long as we propagate an error if any
> +  * fences were in error before we are signaled we should be telling
> +  * an acceptable truth.
> +  */
> + if (error && !array->pending_error)
> + WRITE_ONCE(array->pending_error, error);
> +}
> +
>   static void irq_dma_fence_array_work(struct irq_work *wrk)
>   {
>   struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
>   
> + dma_fence_array_set_error(array);
> +
>   dma_fence_signal(>base);
>   dma_fence_put(>base);
>   }
> @@ -38,6 +65,8 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
>   container_of(cb, struct dma_fence_array_cb, cb);
>   struct dma_fence_array *array = array_cb->array;
>   
> + dma_fence_array_set_pending_error(array, f->error);
> +
>   if (atomic_dec_and_test(>num_pending))
>   irq_work_queue(>work);
>   else
> @@ -63,9 +92,14 @@ static bool dma_fence_array_enable_signaling(struct 
> dma_fence *fence)
>   dma_fence_get(>base);
>   if (dma_fence_add_callback(array->fences[i], [i].cb,
>  dma_fence_array_cb_func)) {
> + int error = array->fences[i]->error;
> +
> + dma_fence_array_set_pending_error(array, error);
>   dma_fence_put(>base);
> - if (atomic_dec_and_test(>num_pending))
> + if (atomic_dec_and_test(>num_pending)) {
> + dma_fence_array_set_error(array);
>   return false;
> + }
>   }
>   }
>   
> @@ -141,6 +175,7 @@ struct dma_fence_array *dma_fence_array_create(int 
> num_fences,
>   array->num_fences = num_fences;
>   atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
>   array->fences = fences;
> + array->pending_error = 0;
>   
>   return array;
>   }
> diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
> index 303dd712220f..faaf70c524ae 100644
> --- a/include/linux/dma-fence-array.h
> +++ b/include/linux/dma-fence-array.h
> @@ -42,6 +42,8 @@ struct dma_fence_array {
>   atomic_t num_pending;
>   struct dma_fence **fences;
>   
> + int pending_error;
> +
>   struct irq_work work;
>   };
>   

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: Remove DDI IO power domain from PG3 power domains (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Remove DDI IO power domain from PG3 power domains (rev2)
URL   : https://patchwork.freedesktop.org/series/64465/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6677_full -> Patchwork_13966_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13966_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#110854])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb1/igt@gem_exec_balan...@smoke.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-iclb3/igt@gem_exec_balan...@smoke.html

  * igt@gem_exec_schedule@preempt-queue-bsd2:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +13 similar 
issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb1/igt@gem_exec_sched...@preempt-queue-bsd2.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-iclb3/igt@gem_exec_sched...@preempt-queue-bsd2.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +7 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb6/igt@gem_exec_sched...@reorder-wide-bsd.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-iclb4/igt@gem_exec_sched...@reorder-wide-bsd.html

  * igt@i915_suspend@fence-restore-untiled:
- shard-skl:  [PASS][7] -> [INCOMPLETE][8] ([fdo#104108]) +1 
similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl9/igt@i915_susp...@fence-restore-untiled.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-skl3/igt@i915_susp...@fence-restore-untiled.html

  * igt@i915_suspend@sysfs-reader:
- shard-apl:  [PASS][9] -> [DMESG-WARN][10] ([fdo#108566]) +5 
similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-apl2/igt@i915_susp...@sysfs-reader.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-apl3/igt@i915_susp...@sysfs-reader.html

  * igt@kms_color@pipe-a-degamma:
- shard-skl:  [PASS][11] -> [FAIL][12] ([fdo#104782] / [fdo#108145])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl1/igt@kms_co...@pipe-a-degamma.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-skl6/igt@kms_co...@pipe-a-degamma.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#105363]) +1 similar 
issue
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl1/igt@kms_f...@flip-vs-expired-vblank.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-skl6/igt@kms_f...@flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +3 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb7/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- shard-kbl:  [PASS][17] -> [DMESG-WARN][18] ([fdo#108566]) +3 
similar issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-kbl4/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-kbl7/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#108145])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl1/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-skl6/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  [PASS][21] -> [FAIL][22] ([fdo#108145] / [fdo#110403])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl3/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-skl7/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html

  * igt@kms_psr@no_drrs:
- shard-iclb: [PASS][23] -> [FAIL][24] ([fdo#108341])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb8/igt@kms_psr@no_drrs.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb:   

[Intel-gfx] ✓ Fi.CI.IGT: success for DC3CO Support for TGL (rev3)

2019-08-11 Thread Patchwork
== Series Details ==

Series: DC3CO Support for TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/64923/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6677_full -> Patchwork_13965_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13965_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_bad_destroy@invalid-default-ctx:
- shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb7/igt@gem_ctx_bad_dest...@invalid-default-ctx.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-iclb4/igt@gem_ctx_bad_dest...@invalid-default-ctx.html

  * igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#110854])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb1/igt@gem_exec_balan...@smoke.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-iclb7/igt@gem_exec_balan...@smoke.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109276]) +21 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb2/igt@gem_exec_sched...@preempt-queue-bsd1.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-iclb6/igt@gem_exec_sched...@preempt-queue-bsd1.html

  * igt@gem_exec_schedule@wide-bsd:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#111325]) +3 similar 
issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb7/igt@gem_exec_sched...@wide-bsd.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-iclb2/igt@gem_exec_sched...@wide-bsd.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][9] -> [INCOMPLETE][10] ([fdo#104108]) +1 
similar issue
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl1/igt@gem_soft...@noreloc-s3.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-skl3/igt@gem_soft...@noreloc-s3.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [PASS][11] -> [FAIL][12] ([fdo#104097])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-hsw2/igt@i915_pm_...@i2c.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-hsw7/igt@i915_pm_...@i2c.html

  * igt@i915_suspend@sysfs-reader:
- shard-kbl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-kbl7/igt@i915_susp...@sysfs-reader.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-kbl4/igt@i915_susp...@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x256-random:
- shard-skl:  [PASS][15] -> [FAIL][16] ([fdo#103232])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl4/igt@kms_cursor_...@pipe-a-cursor-256x256-random.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-skl8/igt@kms_cursor_...@pipe-a-cursor-256x256-random.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
- shard-iclb: [PASS][17] -> [FAIL][18] ([fdo#103167])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#108145])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl1/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-skl8/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  [PASS][21] -> [FAIL][22] ([fdo#108145] / [fdo#110403])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-skl3/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-skl2/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html

  * igt@kms_psr@psr2_no_drrs:
- shard-iclb: [PASS][23] -> [SKIP][24] ([fdo#109441]) +1 similar 
issue
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/shard-iclb6/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-apl:  [PASS][25] -> [DMESG-WARN][26] ([fdo#108566]) +1 
similar issue
   [25]: 

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Extract GT powermanagement interrupt handling

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Extract GT powermanagement 
interrupt handling
URL   : https://patchwork.freedesktop.org/series/65049/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6678 -> Patchwork_13972


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/

Known issues


  Here are the changes found in Patchwork_13972 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm:  [PASS][1] -> [DMESG-FAIL][2] ([fdo#08])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  * igt@prime_vgem@basic-fence-flip:
- fi-ilk-650: [PASS][3] -> [DMESG-WARN][4] ([fdo#106387]) +1 
similar issue
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-ilk-650/igt@prime_v...@basic-fence-flip.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-ilk-650/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * {igt@gem_ctx_switch@legacy-render}:
- fi-icl-u2:  [INCOMPLETE][5] ([fdo#107713]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html

  * igt@kms_busy@basic-flip-a:
- fi-kbl-7567u:   [SKIP][7] ([fdo#109271] / [fdo#109278]) -> [PASS][8] 
+2 similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [SKIP][9] ([fdo#109271] / [fdo#109278]) -> [PASS][10] 
+2 similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7567u:   [WARN][11] ([fdo#109380]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-c:
- fi-kbl-7567u:   [SKIP][13] ([fdo#109271]) -> [PASS][14] +23 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [SKIP][15] ([fdo#109271]) -> [PASS][16] +23 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6678/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#08]: https://bugs.freedesktop.org/show_bug.cgi?id=08


Participating hosts (54 -> 46)
--

  Missing(8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-kbl-8809g fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6678 -> Patchwork_13972

  CI-20190529: 20190529
  CI_DRM_6678: 0330b51e91d7c3bedfe40afadc6c221e4d1a9c61 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5127: f43f5fa12ac1b93febfe3eeb9e9985f5f3e2eff0 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13972: f7132b8a78e05565c2952d914c37f8990b6f8735 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

f7132b8a78e0 drm/i915: Extract general GT interrupt handlers
3b77c08c3532 drm/i915: Extract GT powermanagement interrupt handling

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13972/
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Extract GT powermanagement interrupt handling

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Extract GT powermanagement 
interrupt handling
URL   : https://patchwork.freedesktop.org/series/65049/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
3b77c08c3532 drm/i915: Extract GT powermanagement interrupt handling
-:45: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#45: 
new file mode 100644

-:50: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#50: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c:1:
+/*

-:51: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#51: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c:2:
+ * SPDX-License-Identifier: MIT

-:164: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#164: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h:1:
+/*

-:165: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#165: FILE: drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h:2:
+ * SPDX-License-Identifier: MIT

-:195: CHECK:UNCOMMENTED_DEFINITION: spinlock_t definition without comment
#195: FILE: drivers/gpu/drm/i915/gt/intel_gt_types.h:76:
+   spinlock_t irq_lock;

total: 0 errors, 5 warnings, 1 checks, 566 lines checked
f7132b8a78e0 drm/i915: Extract general GT interrupt handlers
-:55: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#55: 
new file mode 100644

-:60: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#60: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.c:1:
+/*

-:61: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#61: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.c:2:
+ * SPDX-License-Identifier: MIT

-:521: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier 
tag in line 1
#521: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.h:1:
+/*

-:522: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use 
line 1 instead
#522: FILE: drivers/gpu/drm/i915/gt/intel_gt_irq.h:2:
+ * SPDX-License-Identifier: MIT

total: 0 errors, 5 warnings, 0 checks, 1497 lines checked

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

[Intel-gfx] [PATCH 2/2] drm/i915: Extract general GT interrupt handlers

2019-08-11 Thread Chris Wilson
From: Andi Shyti 

i915_irq.c is large. It serves as the central dispatch and handler for
all of our device interrupts. Lets break it up by pulling out the GT
interrupt handlers.

Based on a patch by Chris Wilson.

Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/Makefile   |   1 +
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c |   8 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c  | 455 +++
 drivers/gpu/drm/i915/gt/intel_gt_irq.h  |  44 ++
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c   |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h|   1 +
 drivers/gpu/drm/i915/gt/intel_ringbuffer.c  |   9 +-
 drivers/gpu/drm/i915/i915_drv.h |   1 -
 drivers/gpu/drm/i915/i915_irq.c | 604 ++--
 drivers/gpu/drm/i915/i915_irq.h |  47 ++
 10 files changed, 593 insertions(+), 578 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_irq.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_irq.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index d226659fdbb3..45add812048b 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -79,6 +79,7 @@ gt-y += \
gt/intel_engine_pm.o \
gt/intel_engine_user.o \
gt/intel_gt.o \
+   gt/intel_gt_irq.o \
gt/intel_gt_pm.o \
gt/intel_gt_pm_irq.o \
gt/intel_hangcheck.o \
diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c 
b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
index e1bbc9b428cd..ceba1da61967 100644
--- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
@@ -35,9 +35,9 @@ static void irq_enable(struct intel_engine_cs *engine)
return;
 
/* Caller disables interrupts */
-   spin_lock(>i915->irq_lock);
+   spin_lock(>gt->irq_lock);
engine->irq_enable(engine);
-   spin_unlock(>i915->irq_lock);
+   spin_unlock(>gt->irq_lock);
 }
 
 static void irq_disable(struct intel_engine_cs *engine)
@@ -46,9 +46,9 @@ static void irq_disable(struct intel_engine_cs *engine)
return;
 
/* Caller disables interrupts */
-   spin_lock(>i915->irq_lock);
+   spin_lock(>gt->irq_lock);
engine->irq_disable(engine);
-   spin_unlock(>i915->irq_lock);
+   spin_unlock(>gt->irq_lock);
 }
 
 static void __intel_breadcrumbs_disarm_irq(struct intel_breadcrumbs *b)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_irq.c 
b/drivers/gpu/drm/i915/gt/intel_gt_irq.c
new file mode 100644
index ..34a4fb624bf7
--- /dev/null
+++ b/drivers/gpu/drm/i915/gt/intel_gt_irq.c
@@ -0,0 +1,455 @@
+/*
+ * SPDX-License-Identifier: MIT
+ *
+ * Copyright © 2019 Intel Corporation
+ */
+
+#include 
+
+#include "i915_drv.h"
+#include "i915_irq.h"
+#include "intel_gt.h"
+#include "intel_gt_irq.h"
+#include "intel_uncore.h"
+
+static void guc_irq_handler(struct intel_guc *guc, u16 iir)
+{
+   if (iir & GUC_INTR_GUC2HOST)
+   intel_guc_to_host_event_handler(guc);
+}
+
+static void
+cs_irq_handler(struct intel_engine_cs *engine, u32 iir)
+{
+   bool tasklet = false;
+
+   if (iir & GT_CONTEXT_SWITCH_INTERRUPT)
+   tasklet = true;
+
+   if (iir & GT_RENDER_USER_INTERRUPT) {
+   intel_engine_breadcrumbs_irq(engine);
+   tasklet |= intel_engine_needs_breadcrumb_tasklet(engine);
+   }
+
+   if (tasklet)
+   tasklet_hi_schedule(>execlists.tasklet);
+}
+
+static u32
+gen11_gt_engine_identity(struct intel_gt *gt,
+const unsigned int bank, const unsigned int bit)
+{
+   void __iomem * const regs = gt->uncore->regs;
+   u32 timeout_ts;
+   u32 ident;
+
+   lockdep_assert_held(>irq_lock);
+
+   raw_reg_write(regs, GEN11_IIR_REG_SELECTOR(bank), BIT(bit));
+
+   /*
+* NB: Specs do not specify how long to spin wait,
+* so we do ~100us as an educated guess.
+*/
+   timeout_ts = (local_clock() >> 10) + 100;
+   do {
+   ident = raw_reg_read(regs, GEN11_INTR_IDENTITY_REG(bank));
+   } while (!(ident & GEN11_INTR_DATA_VALID) &&
+!time_after32(local_clock() >> 10, timeout_ts));
+
+   if (unlikely(!(ident & GEN11_INTR_DATA_VALID))) {
+   DRM_ERROR("INTR_IDENTITY_REG%u:%u 0x%08x not valid!\n",
+ bank, bit, ident);
+   return 0;
+   }
+
+   raw_reg_write(regs, GEN11_INTR_IDENTITY_REG(bank),
+ GEN11_INTR_DATA_VALID);
+
+   return ident;
+}
+
+static void
+gen11_other_irq_handler(struct intel_gt *gt, const u8 instance,
+   const u16 iir)
+{
+   if (instance == OTHER_GUC_INSTANCE)
+   return guc_irq_handler(>uc.guc, iir);
+
+   if (instance == OTHER_GTPM_INSTANCE)
+   return gen11_rps_irq_handler(gt, iir);
+
+   WARN_ONCE(1, "unhandled other interrupt instance=0x%x, iir=0x%x\n",
+ 

[Intel-gfx] [PATCH 1/2] drm/i915: Extract GT powermanagement interrupt handling

2019-08-11 Thread Chris Wilson
From: Andi Shyti 

i915_irq.c is large. It serves as the central dispatch and handler for
all of our device interrupts. Pull out the GT pm interrupt handling
(leaving the central dispatch) so that we can encapsulate the logic a
little better.

Based on a patch by Chris Wilson.

Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/Makefile  |   1 +
 drivers/gpu/drm/i915/gt/intel_gt.c |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c  | 108 ++
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h  |  22 +++
 drivers/gpu/drm/i915/gt/intel_gt_types.h   |   3 +-
 drivers/gpu/drm/i915/gt/intel_ringbuffer.c |   5 +-
 drivers/gpu/drm/i915/i915_irq.c| 220 +
 drivers/gpu/drm/i915/i915_irq.h|   2 -
 8 files changed, 191 insertions(+), 174 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 3962d9728dd7..d226659fdbb3 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -80,6 +80,7 @@ gt-y += \
gt/intel_engine_user.o \
gt/intel_gt.o \
gt/intel_gt_pm.o \
+   gt/intel_gt_pm_irq.o \
gt/intel_hangcheck.o \
gt/intel_lrc.o \
gt/intel_renderstate.o \
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
b/drivers/gpu/drm/i915/gt/intel_gt.c
index c543467a8a1c..914bd2db3bc7 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -13,9 +13,11 @@ void intel_gt_init_early(struct intel_gt *gt, struct 
drm_i915_private *i915)
gt->i915 = i915;
gt->uncore = >uncore;
 
+   spin_lock_init(>irq_lock);
+
INIT_LIST_HEAD(>active_rings);
-   INIT_LIST_HEAD(>closed_vma);
 
+   INIT_LIST_HEAD(>closed_vma);
spin_lock_init(>closed_lock);
 
intel_gt_init_hangcheck(gt);
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c 
b/drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c
new file mode 100644
index ..83e11c2cc5ab
--- /dev/null
+++ b/drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c
@@ -0,0 +1,108 @@
+/*
+ * SPDX-License-Identifier: MIT
+ *
+ * Copyright © 2019 Intel Corporation
+ */
+
+#include "i915_drv.h"
+#include "i915_reg.h"
+#include "intel_gt.h"
+#include "intel_gt_pm_irq.h"
+
+static void write_pm_imr(struct intel_gt *gt)
+{
+   struct drm_i915_private *i915 = gt->i915;
+   struct intel_uncore *uncore = gt->uncore;
+   u32 mask = gt->pm_imr;
+   i915_reg_t reg;
+
+   if (INTEL_GEN(i915) >= 11) {
+   reg = GEN11_GPM_WGBOXPERF_INTR_MASK;
+   mask <<= 16; /* pm is in upper half */
+   } else if (INTEL_GEN(i915) >= 8) {
+   reg = GEN8_GT_IMR(2);
+   } else {
+   reg = GEN6_PMIMR;
+   }
+
+   intel_uncore_write(uncore, reg, mask);
+}
+
+static void gen6_gt_pm_update_irq(struct intel_gt *gt,
+ u32 interrupt_mask,
+ u32 enabled_irq_mask)
+{
+   u32 new_val;
+
+   WARN_ON(enabled_irq_mask & ~interrupt_mask);
+
+   lockdep_assert_held(>irq_lock);
+
+   new_val = gt->pm_imr;
+   new_val &= ~interrupt_mask;
+   new_val |= ~enabled_irq_mask & interrupt_mask;
+
+   if (new_val != gt->pm_imr) {
+   gt->pm_imr = new_val;
+   write_pm_imr(gt);
+   }
+}
+
+void gen6_gt_pm_unmask_irq(struct intel_gt *gt, u32 mask)
+{
+   gen6_gt_pm_update_irq(gt, mask, mask);
+}
+
+void gen6_gt_pm_mask_irq(struct intel_gt *gt, u32 mask)
+{
+   gen6_gt_pm_update_irq(gt, mask, 0);
+}
+
+void gen6_gt_pm_reset_iir(struct intel_gt *gt, u32 reset_mask)
+{
+   struct intel_uncore *uncore = gt->uncore;
+   i915_reg_t reg = INTEL_GEN(gt->i915) >= 8 ? GEN8_GT_IIR(2) : GEN6_PMIIR;
+
+   lockdep_assert_held(>irq_lock);
+
+   intel_uncore_write(uncore, reg, reset_mask);
+   intel_uncore_write(uncore, reg, reset_mask);
+   intel_uncore_posting_read(uncore, reg);
+}
+
+static void write_pm_ier(struct intel_gt *gt)
+{
+   struct drm_i915_private *i915 = gt->i915;
+   struct intel_uncore *uncore = gt->uncore;
+   u32 mask = gt->pm_ier;
+   i915_reg_t reg;
+
+   if (INTEL_GEN(i915) >= 11) {
+   reg = GEN11_GPM_WGBOXPERF_INTR_ENABLE;
+   mask <<= 16; /* pm is in upper half */
+   } else if (INTEL_GEN(i915) >= 8) {
+   reg = GEN8_GT_IER(2);
+   } else {
+   reg = GEN6_PMIER;
+   }
+
+   intel_uncore_write(uncore, reg, mask);
+}
+
+void gen6_gt_pm_enable_irq(struct intel_gt *gt, u32 enable_mask)
+{
+   lockdep_assert_held(>irq_lock);
+
+   gt->pm_ier |= enable_mask;
+   write_pm_ier(gt);
+   gen6_gt_pm_unmask_irq(gt, enable_mask);
+}
+
+void gen6_gt_pm_disable_irq(struct intel_gt *gt, u32 disable_mask)
+{
+   lockdep_assert_held(>irq_lock);
+
+   gt->pm_ier &= 

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v4] dma-fence: Propagate errors to dma-fence-array container (rev5)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [v4] dma-fence: Propagate errors to 
dma-fence-array container (rev5)
URL   : https://patchwork.freedesktop.org/series/65027/
State : failure

== Summary ==

Applying: dma-fence: Propagate errors to dma-fence-array container
Applying: dma-fence: Report the composite sync_file status
Applying: dma-fence: Refactor signaling for manual invocation
Applying: dma-fence: Have dma_fence_signal call signal_locked
Using index info to reconstruct a base tree...
M   drivers/dma-buf/dma-fence.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/dma-buf/dma-fence.c
CONFLICT (content): Merge conflict in drivers/dma-buf/dma-fence.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0004 dma-fence: Have dma_fence_signal call signal_locked
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

[Intel-gfx] [PATCH v4] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Chris Wilson
When one of the array of fences is signaled, propagate its errors to the
parent fence-array (keeping the first error to be raised).

v2: Opencode cmpxchg_local to avoid compiler freakout.
v3: Be careful not to flag an error if we race against signal-on-any.
v4: Same applies to installing the signal cb.

Signed-off-by: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
---
 drivers/dma-buf/dma-fence-array.c | 37 ++-
 include/linux/dma-fence-array.h   |  2 ++
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/drivers/dma-buf/dma-fence-array.c 
b/drivers/dma-buf/dma-fence-array.c
index 12c6f64c0bc2..4d574dff0ba9 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -23,10 +23,37 @@ static const char *dma_fence_array_get_timeline_name(struct 
dma_fence *fence)
return "unbound";
 }
 
+static void dma_fence_array_set_error(struct dma_fence_array *array)
+{
+   int error = READ_ONCE(array->pending_error);
+
+   if (!array->base.error && error)
+   dma_fence_set_error(>base, error);
+}
+
+static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
+ int error)
+{
+   /*
+* Propagate the first error reported by any of our fences, but only
+* before we ourselves are signaled.
+*
+* Note that this may race with multiple fences completing
+* simultaneously in error, but only one error will be kept, not
+* necessarily the first. So long as we propagate an error if any
+* fences were in error before we are signaled we should be telling
+* an acceptable truth.
+*/
+   if (error && !array->pending_error)
+   WRITE_ONCE(array->pending_error, error);
+}
+
 static void irq_dma_fence_array_work(struct irq_work *wrk)
 {
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
 
+   dma_fence_array_set_error(array);
+
dma_fence_signal(>base);
dma_fence_put(>base);
 }
@@ -38,6 +65,8 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
container_of(cb, struct dma_fence_array_cb, cb);
struct dma_fence_array *array = array_cb->array;
 
+   dma_fence_array_set_pending_error(array, f->error);
+
if (atomic_dec_and_test(>num_pending))
irq_work_queue(>work);
else
@@ -63,9 +92,14 @@ static bool dma_fence_array_enable_signaling(struct 
dma_fence *fence)
dma_fence_get(>base);
if (dma_fence_add_callback(array->fences[i], [i].cb,
   dma_fence_array_cb_func)) {
+   int error = array->fences[i]->error;
+
+   dma_fence_array_set_pending_error(array, error);
dma_fence_put(>base);
-   if (atomic_dec_and_test(>num_pending))
+   if (atomic_dec_and_test(>num_pending)) {
+   dma_fence_array_set_error(array);
return false;
+   }
}
}
 
@@ -141,6 +175,7 @@ struct dma_fence_array *dma_fence_array_create(int 
num_fences,
array->num_fences = num_fences;
atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
+   array->pending_error = 0;
 
return array;
 }
diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
index 303dd712220f..faaf70c524ae 100644
--- a/include/linux/dma-fence-array.h
+++ b/include/linux/dma-fence-array.h
@@ -42,6 +42,8 @@ struct dma_fence_array {
atomic_t num_pending;
struct dma_fence **fences;
 
+   int pending_error;
+
struct irq_work work;
 };
 
-- 
2.23.0.rc1

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v3] dma-fence: Propagate errors to dma-fence-array container (rev4)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [v3] dma-fence: Propagate errors to 
dma-fence-array container (rev4)
URL   : https://patchwork.freedesktop.org/series/65027/
State : failure

== Summary ==

Applying: dma-fence: Propagate errors to dma-fence-array container
Applying: dma-fence: Report the composite sync_file status
Applying: dma-fence: Refactor signaling for manual invocation
Applying: dma-fence: Have dma_fence_signal call signal_locked
Using index info to reconstruct a base tree...
M   drivers/dma-buf/dma-fence.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/dma-buf/dma-fence.c
CONFLICT (content): Merge conflict in drivers/dma-buf/dma-fence.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0004 dma-fence: Have dma_fence_signal call signal_locked
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

[Intel-gfx] [PATCH v3] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Chris Wilson
When one of the array of fences is signaled, propagate its errors to the
parent fence-array (keeping the first error to be raised).

v2: Opencode cmpxchg_local to avoid compiler freakout.
v3: Be careful not to flag an error if we race against signal-on-any

Signed-off-by: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
---
 drivers/dma-buf/dma-fence-array.c | 25 +
 include/linux/dma-fence-array.h   |  2 ++
 2 files changed, 27 insertions(+)

diff --git a/drivers/dma-buf/dma-fence-array.c 
b/drivers/dma-buf/dma-fence-array.c
index 12c6f64c0bc2..e806c5fe9ec9 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -23,10 +23,19 @@ static const char *dma_fence_array_get_timeline_name(struct 
dma_fence *fence)
return "unbound";
 }
 
+static void dma_fence_array_set_error_once(struct dma_fence_array *array,
+  int error)
+{
+   if (!array->base.error && error)
+   dma_fence_set_error(>base, error);
+}
+
 static void irq_dma_fence_array_work(struct irq_work *wrk)
 {
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
 
+   dma_fence_array_set_error_once(array, READ_ONCE(array->pending_error));
+
dma_fence_signal(>base);
dma_fence_put(>base);
 }
@@ -38,6 +47,19 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
container_of(cb, struct dma_fence_array_cb, cb);
struct dma_fence_array *array = array_cb->array;
 
+   /*
+* Propagate the first error reported by any of our fences, but only
+* before we ourselves are signaled.
+*
+* Note that this may race with multiple fences completing
+* simultaneously in error, but only one error will be kept, not
+* necessarily the first. So long as we propagate an error if any
+* fences were in error before we are signaled we should be telling
+* an acceptable truth.
+*/
+   if (f->error && !array->pending_error)
+   WRITE_ONCE(array->pending_error, f->error);
+
if (atomic_dec_and_test(>num_pending))
irq_work_queue(>work);
else
@@ -63,6 +85,8 @@ static bool dma_fence_array_enable_signaling(struct dma_fence 
*fence)
dma_fence_get(>base);
if (dma_fence_add_callback(array->fences[i], [i].cb,
   dma_fence_array_cb_func)) {
+   dma_fence_array_set_error_once(array,
+  array->fences[i]->error);
dma_fence_put(>base);
if (atomic_dec_and_test(>num_pending))
return false;
@@ -141,6 +165,7 @@ struct dma_fence_array *dma_fence_array_create(int 
num_fences,
array->num_fences = num_fences;
atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
+   array->pending_error = 0;
 
return array;
 }
diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
index 303dd712220f..faaf70c524ae 100644
--- a/include/linux/dma-fence-array.h
+++ b/include/linux/dma-fence-array.h
@@ -42,6 +42,8 @@ struct dma_fence_array {
atomic_t num_pending;
struct dma_fence **fences;
 
+   int pending_error;
+
struct irq_work work;
 };
 
-- 
2.23.0.rc1

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/4] dma-fence: Propagate errors to dma-fence-array container (rev3)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/4] dma-fence: Propagate errors to 
dma-fence-array container (rev3)
URL   : https://patchwork.freedesktop.org/series/65027/
State : failure

== Summary ==

Applying: dma-fence: Propagate errors to dma-fence-array container
error: patch failed: drivers/dma-buf/dma-fence-array.c:33
error: drivers/dma-buf/dma-fence-array.c: patch does not apply
error: patch failed: include/linux/dma-fence-array.h:42
error: include/linux/dma-fence-array.h: patch does not apply
error: Did you hand edit your patch?
It does not apply to blobs recorded in its index.
hint: Use 'git am --show-current-patch' to see the failed patch
Using index info to reconstruct a base tree...
M   drivers/dma-buf/dma-fence-array.c
Patch failed at 0001 dma-fence: Propagate errors to dma-fence-array container
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Verify the engine setup after recording the defaults

2019-08-11 Thread Chris Wilson
Quoting Andi Shyti (2019-08-11 10:57:44)
> Hi Chris,
> 
> On Sat, Aug 10, 2019 at 10:03:29AM +0100, Chris Wilson wrote:
> > Check that the engine w/a persist after we performed a context switch
> > and record those w/a into the default context state.
> > 
> > Signed-off-by: Chris Wilson 
> > Cc: Andi Shyti 
> 
> Acked-by: Andi Shyti 

The only problem as I'm sure you've discovered is that our selftests
assume the engine is parked, and this w/a verification leaves them
awake. Vexing.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 1/4] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Chris Wilson
Quoting Koenig, Christian (2019-08-11 09:58:31)
> Am 10.08.19 um 17:34 schrieb Chris Wilson:
> > + /*
> > +  * Propagate the first error reported by any of our fences, but only
> > +  * before we ourselves are signaled.
> > +  */
> > + if (atomic_read(>num_pending) > 0)
> > + fence_set_error_once(>base, f->error);
> 
> That is racy even if you check the atomic because num_pending can be 
> initialized to 1 for signal any arrays as well.

We both agree that we don't care about the potential write tearing if
two errors occur simultaneous, either error will do for our error?

So it's just the matter of not marking the array as being in error if we
have already signaled.
 
> I suggest to rather test in dma_fence_array_set_error_once if we got an 
> error and if yes grab the sequence lock and test if we are already 
> signaled or not.

How about embracing the race with something like,

diff --git a/drivers/dma-buf/dma-fence-array.c 
b/drivers/dma-buf/dma-fence-array.c
index d90675bb4fcc..c71c57d25e48 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -33,6 +33,8 @@ static void irq_dma_fence_array_work(struct irq_work *wrk)
 {
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);

+   fence_set_error_once(>base, READ_ONCE(array->pending_error));
+
dma_fence_signal(>base);
dma_fence_put(>base);
 }
@@ -48,8 +50,8 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
 * Propagate the first error reported by any of our fences, but only
 * before we ourselves are signaled.
 */
-   if (atomic_read(>num_pending) > 0)
-   fence_set_error_once(>base, f->error);
+   if (f->error && !array->pending_error)
+   WRITE_ONCE(array->pending_error, f->error);

if (atomic_dec_and_test(>num_pending))
irq_work_queue(>work);
@@ -156,6 +158,7 @@ struct dma_fence_array *dma_fence_array_create(int 
num_fences,
array->num_fences = num_fences;
atomic_set(>num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
+   array->pending_error = 0;

return array;
 }
diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
index 303dd712220f..faaf70c524ae 100644
--- a/include/linux/dma-fence-array.h
+++ b/include/linux/dma-fence-array.h
@@ -42,6 +42,8 @@ struct dma_fence_array {
atomic_t num_pending;
struct dma_fence **fences;

+   int pending_error;
+
struct irq_work work;
 };


That ensures there is no race between signaling and raising the error,
but accepts that multiple fences may try and raise an error. There is
still the potential for the signal-on-any to be flagged as an error by
the second fence, but I claim that race is immaterial as the second
fence could have been the signaler.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftests: Prevent the timeslice expiring during suppression tests

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Prevent the timeslice expiring during suppression 
tests
URL   : https://patchwork.freedesktop.org/series/65032/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6675_full -> Patchwork_13964_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13964_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@rcs0-s3:
- shard-apl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +5 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-apl3/igt@gem_ctx_isolat...@rcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-apl6/igt@gem_ctx_isolat...@rcs0-s3.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#110841])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb3/igt@gem_ctx_sha...@exec-single-timeline-bsd.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-iclb4/igt@gem_ctx_sha...@exec-single-timeline-bsd.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd1:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109276]) +14 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb1/igt@gem_ctx_sha...@exec-single-timeline-bsd1.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-iclb8/igt@gem_ctx_sha...@exec-single-timeline-bsd1.html

  * igt@gem_exec_schedule@deep-bsd:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#111325]) +1 similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb8/igt@gem_exec_sched...@deep-bsd.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-iclb1/igt@gem_exec_sched...@deep-bsd.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][9] -> [INCOMPLETE][10] ([fdo#104108]) +1 
similar issue
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl5/igt@gem_soft...@noreloc-s3.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-skl1/igt@gem_soft...@noreloc-s3.html

  * igt@gem_tiled_swapping@non-threaded:
- shard-apl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#108686])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-apl4/igt@gem_tiled_swapp...@non-threaded.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-apl3/igt@gem_tiled_swapp...@non-threaded.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [PASS][13] -> [FAIL][14] ([fdo#104097])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-hsw6/igt@i915_pm_...@i2c.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-hsw6/igt@i915_pm_...@i2c.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +1 similar 
issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb1/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
- shard-skl:  [PASS][17] -> [INCOMPLETE][18] ([fdo#104108] / 
[fdo#106978])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl2/igt@kms_frontbuffer_track...@fbcpsr-suspend.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-skl7/igt@kms_frontbuffer_track...@fbcpsr-suspend.html

  * igt@kms_psr@psr2_suspend:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441]) +1 similar 
issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb2/igt@kms_psr@psr2_suspend.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-iclb6/igt@kms_psr@psr2_suspend.html

  * igt@kms_setmode@basic:
- shard-skl:  [PASS][21] -> [FAIL][22] ([fdo#99912])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl6/igt@kms_setm...@basic.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-skl8/igt@kms_setm...@basic.html

  * igt@perf_pmu@rc6:
- shard-kbl:  [PASS][23] -> [SKIP][24] ([fdo#109271])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-kbl7/igt@perf_...@rc6.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13964/shard-kbl7/igt@perf_...@rc6.html

  * igt@perf_pmu@rc6-runtime-pm-long:
- shard-iclb: [PASS][25] -> [FAIL][26] ([fdo#105010])
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb3/igt@perf_...@rc6-runtime-pm-long.html
   [26]: 

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/blt: support copying objects

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915/blt: support copying objects
URL   : https://patchwork.freedesktop.org/series/65031/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6675_full -> Patchwork_13963_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13963_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#110841])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb3/igt@gem_ctx_sha...@exec-single-timeline-bsd.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-iclb1/igt@gem_ctx_sha...@exec-single-timeline-bsd.html

  * igt@gem_exec_schedule@out-order-bsd2:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +9 similar 
issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb4/igt@gem_exec_sched...@out-order-bsd2.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-iclb5/igt@gem_exec_sched...@out-order-bsd2.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +7 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb7/igt@gem_exec_sched...@preemptive-hang-bsd.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-iclb2/igt@gem_exec_sched...@preemptive-hang-bsd.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-apl:  [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +5 
similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-apl4/igt@gem_workarou...@suspend-resume-context.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-apl2/igt@gem_workarou...@suspend-resume-context.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [PASS][9] -> [FAIL][10] ([fdo#104097])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-hsw6/igt@i915_pm_...@i2c.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-hsw2/igt@i915_pm_...@i2c.html

  * igt@i915_suspend@forcewake:
- shard-kbl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +2 
similar issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-kbl7/igt@i915_susp...@forcewake.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-kbl3/igt@i915_susp...@forcewake.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-hsw:  [PASS][13] -> [FAIL][14] ([fdo#103355])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-hsw1/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-hsw6/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +4 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb5/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-iclb8/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-kbl:  [PASS][17] -> [INCOMPLETE][18] ([fdo#103665])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-kbl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-kbl2/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_psr@no_drrs:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#108341])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb6/igt@kms_psr@no_drrs.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_cursor_mmap_gtt:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_gtt.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_gtt.html

  * igt@perf@polling:
- shard-skl:  [PASS][23] -> [FAIL][24] ([fdo#110728])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl9/igt@p...@polling.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13963/shard-skl10/igt@p...@polling.html

  
 Possible fixes 

  * igt@gem_ctx_isolation@bcs0-s3:
- shard-kbl:  [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +2 
similar issues
   [25]: 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/tgl: Fixing up list of PG3 power domains.

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915/tgl: Fixing up list of PG3 power domains.
URL   : https://patchwork.freedesktop.org/series/65041/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6677 -> Patchwork_13968


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/

Known issues


  Here are the changes found in Patchwork_13968 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107718])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-blb-e6850/igt@gem_exec_susp...@basic-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-blb-e6850/igt@gem_exec_susp...@basic-s3.html

  * igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm:  [PASS][3] -> [DMESG-FAIL][4] ([fdo#08])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_requests:
- fi-byt-j1900:   [PASS][5] -> [INCOMPLETE][6] ([fdo#102657])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-byt-j1900/igt@i915_selftest@live_requests.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-byt-j1900/igt@i915_selftest@live_requests.html

  * igt@kms_chamelium@dp-crc-fast:
- fi-cml-u2:  [PASS][7] -> [FAIL][8] ([fdo#110627])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-cml-u2/igt@kms_chamel...@dp-crc-fast.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-cml-u2/igt@kms_chamel...@dp-crc-fast.html

  * igt@kms_chamelium@dp-edid-read:
- fi-kbl-7500u:   [PASS][9] -> [WARN][10] ([fdo#109483])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7567u:   [PASS][11] -> [FAIL][12] ([fdo#109485])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7567u/igt@kms_chamel...@hdmi-hpd-fast.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-kbl-7567u/igt@kms_chamel...@hdmi-hpd-fast.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [PASS][13] -> [SKIP][14] ([fdo#109271]) +23 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * igt@gem_mmap_gtt@basic-read:
- fi-icl-u3:  [DMESG-WARN][15] ([fdo#107724]) -> [PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-u3/igt@gem_mmap_...@basic-read.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-icl-u3/igt@gem_mmap_...@basic-read.html

  * igt@gem_mmap_gtt@basic-write-no-prefault:
- {fi-icl-dsi}:   [DMESG-WARN][17] ([fdo#106107]) -> [PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-dsi/igt@gem_mmap_...@basic-write-no-prefault.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-icl-dsi/igt@gem_mmap_...@basic-write-no-prefault.html

  * igt@i915_pm_rpm@module-reload:
- fi-skl-6600u:   [FAIL][19] ([fdo#107707]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6600u/igt@i915_pm_...@module-reload.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-skl-6600u/igt@i915_pm_...@module-reload.html

  * {igt@i915_selftest@live_gt_timelines}:
- fi-bsw-kefka:   [DMESG-WARN][21] -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-bsw-kefka/igt@i915_selftest@live_gt_timelines.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-bsw-kefka/igt@i915_selftest@live_gt_timelines.html

  * igt@kms_busy@basic-flip-a:
- fi-kbl-7567u:   [SKIP][23] ([fdo#109271] / [fdo#109278]) -> 
[PASS][24] +2 similar issues
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13968/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  
 Warnings 

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  [FAIL][25] ([fdo#109483]) -> [DMESG-WARN][26] 
([fdo#102505] / [fdo#110390])
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-u2/igt@kms_chamel...@common-hpd-after-suspend.html
   [26]: 

[Intel-gfx] [PATCH] drm/i915/tgl: Fixing up list of PG3 power domains.

2019-08-11 Thread Anshuman Gupta
The DDI-IO power wells (PWR_WELL_CTL_DDI) are backing
the IO/PHY functionality, which doesn't need the PG3
power power well. Accordingly fixing up the list of
PG3 power domains.

Cc: Imre Deak 
Cc: Ville Syrjälä 
Signed-off-by: Anshuman Gupta 
---
 drivers/gpu/drm/i915/display/intel_display_power.c | 6 --
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index e3bea2b74ce2..eac41125cf3b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -2575,17 +2575,11 @@ void intel_display_power_put(struct drm_i915_private 
*dev_priv,
BIT_ULL(POWER_DOMAIN_TRANSCODER_D) |\
BIT_ULL(POWER_DOMAIN_PIPE_B_PANEL_FITTER) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_TC1_LANES) |  \
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_TC1_IO) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_TC2_LANES) |  \
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_TC2_IO) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_TC3_LANES) |  \
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_TC3_IO) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_TC4_LANES) |  \
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_TC4_IO) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_TC5_LANES) |  \
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_TC5_IO) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_TC6_LANES) |  \
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_TC6_IO) | \
BIT_ULL(POWER_DOMAIN_AUX_TC1) | \
BIT_ULL(POWER_DOMAIN_AUX_TC2) | \
BIT_ULL(POWER_DOMAIN_AUX_TC3) | \
-- 
2.21.0

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

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Verify the engine setup after recording the defaults

2019-08-11 Thread Andi Shyti
Hi Chris,

On Sat, Aug 10, 2019 at 10:03:29AM +0100, Chris Wilson wrote:
> Check that the engine w/a persist after we performed a context switch
> and record those w/a into the default context state.
> 
> Signed-off-by: Chris Wilson 
> Cc: Andi Shyti 

Acked-by: Andi Shyti 

Thanks,
Andi
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Remove unused debugfs/i915_emon_status

2019-08-11 Thread Andi Shyti
Hi Chris,

On Sat, Aug 10, 2019 at 10:03:28AM +0100, Chris Wilson wrote:
> Before we start upon our great GT interrupt refactor, throw out the
> cruft! In this case, it is an unloved debugfs showing the current ips
> status, a fairly meaningless bunch of numbers that we are not checking.
> 
> Signed-off-by: Chris Wilson 
> Cc: Andi Shyti 

Acked-by: Andi Shyti 

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/4] dma-fence: Propagate errors to dma-fence-array container (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/4] dma-fence: Propagate errors to 
dma-fence-array container (rev2)
URL   : https://patchwork.freedesktop.org/series/65027/
State : failure

== Summary ==

Applying: dma-fence: Propagate errors to dma-fence-array container
Applying: dma-fence: Report the composite sync_file status
Applying: dma-fence: Refactor signaling for manual invocation
Applying: dma-fence: Have dma_fence_signal call signal_locked
Using index info to reconstruct a base tree...
M   drivers/dma-buf/dma-fence.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/dma-buf/dma-fence.c
CONFLICT (content): Merge conflict in drivers/dma-buf/dma-fence.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0004 dma-fence: Have dma_fence_signal call signal_locked
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

Re: [Intel-gfx] [PATCH] dma-buf: rename reservation_object to dma_resv

2019-08-11 Thread Chris Wilson
Quoting Christian König (2019-08-11 09:56:01)
> Be more consistent with the naming of the other DMA-buf objects.

From the tip of my fingers, \o/
 
> Signed-off-by: Christian König 

Letting the compiler do the real work (for the bits I spot checked it
was the expected mechanical translation), and overwhelmingly agreeing with
the motivation,
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH 5/4] dma-fence: Have dma_fence_signal call signal_locked

2019-08-11 Thread Chris Wilson
Now that dma_fence_signal always takes the spinlock to flush the
cb_list, simply take the spinlock and call dma_fence_signal_locked() to
avoid code repetition.

Suggested-by: Christian König 
Signed-off-by: Chris Wilson 
Cc: Christian König 
---
 drivers/dma-buf/dma-fence.c | 32 
 1 file changed, 12 insertions(+), 20 deletions(-)

diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index ab4a456bba04..367b71084d34 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -122,26 +122,18 @@ EXPORT_SYMBOL(dma_fence_context_alloc);
  */
 int dma_fence_signal_locked(struct dma_fence *fence)
 {
-   int ret = 0;
-
-   lockdep_assert_held(fence->lock);
-
if (WARN_ON(!fence))
return -EINVAL;
 
-   if (!__dma_fence_signal(fence)) {
-   ret = -EINVAL;
+   lockdep_assert_held(fence->lock);
 
-   /*
-* we might have raced with the unlocked dma_fence_signal,
-* still run through all callbacks
-*/
-   } else {
-   __dma_fence_signal__timestamp(fence, ktime_get());
-   }
+   if (!__dma_fence_signal(fence))
+   return -EINVAL;
 
+   __dma_fence_signal__timestamp(fence, ktime_get());
__dma_fence_signal__notify(fence);
-   return ret;
+
+   return 0;
 }
 EXPORT_SYMBOL(dma_fence_signal_locked);
 
@@ -161,19 +153,19 @@ EXPORT_SYMBOL(dma_fence_signal_locked);
 int dma_fence_signal(struct dma_fence *fence)
 {
unsigned long flags;
+   int ret;
 
if (!fence)
return -EINVAL;
 
-   if (!__dma_fence_signal(fence))
-   return -EINVAL;
-
-   __dma_fence_signal__timestamp(fence, ktime_get());
+   if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, >flags))
+   return 0;
 
spin_lock_irqsave(fence->lock, flags);
-   __dma_fence_signal__notify(fence);
+   ret = dma_fence_signal_locked(fence);
spin_unlock_irqrestore(fence->lock, flags);
-   return 0;
+
+   return ret;
 }
 EXPORT_SYMBOL(dma_fence_signal);
 
-- 
2.23.0.rc1

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

Re: [Intel-gfx] [PATCH 4/4] dma-fence: Always execute signal callbacks

2019-08-11 Thread Koenig, Christian
Am 10.08.19 um 17:34 schrieb Chris Wilson:
> Allow for some users to surreptitiously insert lazy signal callbacks that
> do not depend on enabling the signaling mechanism around every fence.
> (The cost of interrupts is too darn high, to revive an old meme.)
> This means that we may have a cb_list even if the signaling bit is not
> enabled, so always notify the callbacks.
>
> The cost is that dma_fence_signal() must always acquire the spinlock to
> ensure that the cb_list is flushed.
>
> Signed-off-by: Chris Wilson 
> ---
>   drivers/dma-buf/dma-fence.c | 8 +++-
>   1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index 027a6a894abd..ab4a456bba04 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -170,11 +170,9 @@ int dma_fence_signal(struct dma_fence *fence)
>   
>   __dma_fence_signal__timestamp(fence, ktime_get());
>   
> - if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, >flags)) {
> - spin_lock_irqsave(fence->lock, flags);
> - __dma_fence_signal__notify(fence);
> - spin_unlock_irqrestore(fence->lock, flags);
> - }
> + spin_lock_irqsave(fence->lock, flags);
> + __dma_fence_signal__notify(fence);
> + spin_unlock_irqrestore(fence->lock, flags);

If we now always grab the spinlock anyway I suggest to rather merge 
dma_fence_signal and dma_fence_signal_locked.

Christian.

>   return 0;
>   }
>   EXPORT_SYMBOL(dma_fence_signal);

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

Re: [Intel-gfx] [PATCH 1/4] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Koenig, Christian
Am 10.08.19 um 17:34 schrieb Chris Wilson:
> When one of the array of fences is signaled, propagate its errors to the
> parent fence-array (keeping the first error to be raised).
>
> v2: Opencode cmpxchg_local to avoid compiler freakout.
>
> Signed-off-by: Chris Wilson 
> Cc: Sumit Semwal 
> Cc: Gustavo Padovan 
> ---
>   drivers/dma-buf/dma-fence-array.c | 15 +++
>   1 file changed, 15 insertions(+)
>
> diff --git a/drivers/dma-buf/dma-fence-array.c 
> b/drivers/dma-buf/dma-fence-array.c
> index 12c6f64c0bc2..d90675bb4fcc 100644
> --- a/drivers/dma-buf/dma-fence-array.c
> +++ b/drivers/dma-buf/dma-fence-array.c
> @@ -13,6 +13,12 @@
>   #include 
>   #include 
>   
> +static void fence_set_error_once(struct dma_fence *fence, int error)

I would use a dma_fence_array prefix for all names in the file.

> +{
> + if (!fence->error && error)
> + dma_fence_set_error(fence, error);
> +}
> +
>   static const char *dma_fence_array_get_driver_name(struct dma_fence *fence)
>   {
>   return "dma_fence_array";
> @@ -38,6 +44,13 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
>   container_of(cb, struct dma_fence_array_cb, cb);
>   struct dma_fence_array *array = array_cb->array;
>   
> + /*
> +  * Propagate the first error reported by any of our fences, but only
> +  * before we ourselves are signaled.
> +  */
> + if (atomic_read(>num_pending) > 0)
> + fence_set_error_once(>base, f->error);

That is racy even if you check the atomic because num_pending can be 
initialized to 1 for signal any arrays as well.

I suggest to rather test in dma_fence_array_set_error_once if we got an 
error and if yes grab the sequence lock and test if we are already 
signaled or not.

Christian.

> +
>   if (atomic_dec_and_test(>num_pending))
>   irq_work_queue(>work);
>   else
> @@ -63,6 +76,8 @@ static bool dma_fence_array_enable_signaling(struct 
> dma_fence *fence)
>   dma_fence_get(>base);
>   if (dma_fence_add_callback(array->fences[i], [i].cb,
>  dma_fence_array_cb_func)) {
> + fence_set_error_once(>base,
> +  array->fences[i]->error);
>   dma_fence_put(>base);
>   if (atomic_dec_and_test(>num_pending))
>   return false;

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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Remove DDI IO power domain from PG3 power domains (rev2)

2019-08-11 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Remove DDI IO power domain from PG3 power domains (rev2)
URL   : https://patchwork.freedesktop.org/series/64465/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6677 -> Patchwork_13966


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/

Known issues


  Here are the changes found in Patchwork_13966 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@i915_pm_rpm@module-reload:
- fi-cfl-8109u:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107802])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-cfl-8109u/igt@i915_pm_...@module-reload.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-cfl-8109u/igt@i915_pm_...@module-reload.html

  * igt@i915_selftest@live_requests:
- fi-byt-j1900:   [PASS][3] -> [INCOMPLETE][4] ([fdo#102657])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-byt-j1900/igt@i915_selftest@live_requests.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-byt-j1900/igt@i915_selftest@live_requests.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [PASS][5] -> [SKIP][6] ([fdo#109271] / [fdo#109278]) 
+2 similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [PASS][7] -> [FAIL][8] ([fdo#109485])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [PASS][9] -> [SKIP][10] ([fdo#109271]) +23 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
- fi-icl-u3:  [PASS][11] -> [DMESG-WARN][12] ([fdo#107724])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-u3/igt@prime_v...@basic-fence-flip.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-icl-u3/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * igt@gem_mmap_gtt@basic-read:
- fi-icl-u3:  [DMESG-WARN][13] ([fdo#107724]) -> [PASS][14] +1 
similar issue
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-u3/igt@gem_mmap_...@basic-read.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-icl-u3/igt@gem_mmap_...@basic-read.html

  * igt@gem_mmap_gtt@basic-write-no-prefault:
- {fi-icl-dsi}:   [DMESG-WARN][15] ([fdo#106107]) -> [PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-dsi/igt@gem_mmap_...@basic-write-no-prefault.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-icl-dsi/igt@gem_mmap_...@basic-write-no-prefault.html

  * igt@i915_pm_rpm@module-reload:
- fi-skl-6600u:   [FAIL][17] ([fdo#107707]) -> [PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6600u/igt@i915_pm_...@module-reload.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-skl-6600u/igt@i915_pm_...@module-reload.html

  * {igt@i915_selftest@live_gt_timelines}:
- fi-bsw-kefka:   [DMESG-WARN][19] -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-bsw-kefka/igt@i915_selftest@live_gt_timelines.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-bsw-kefka/igt@i915_selftest@live_gt_timelines.html

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-kbl-7567u:   [WARN][21] ([fdo#109380]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-kbl-7567u/igt@kms_chamel...@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-c:
- fi-kbl-7567u:   [SKIP][23] ([fdo#109271]) -> [PASS][24] +23 similar 
issues
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13966/fi-kbl-7567u/igt@kms_pipe_crc_ba...@read-crc-pipe-c.html

  
 Warnings 

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  [FAIL][25] ([fdo#109483]) -> [DMESG-WARN][26] 
([fdo#102505] / [fdo#110390])
   [25]: 

Re: [Intel-gfx] [PATCH v3 2/2] drm/i915: add syncobj timeline support

2019-08-11 Thread Lionel Landwerlin

On 01/08/2019 17:16, Chris Wilson wrote:

Quoting Lionel Landwerlin (2019-08-01 15:29:34)

On 31/07/2019 23:03, Chris Wilson wrote:

Quoting Lionel Landwerlin (2019-07-31 15:07:33)

-static struct drm_syncobj **
-get_fence_array(struct drm_i915_gem_execbuffer2 *args,
-   struct drm_file *file)
+static struct i915_eb_fences *
+get_timeline_fence_array(struct i915_execbuffer *eb, int *out_n_fences)
+{
+   struct drm_i915_gem_execbuffer_ext_timeline_fences *timeline_fences =
+   >extensions.timeline_fences;
+   struct drm_i915_gem_exec_fence __user *user_fences;
+   struct i915_eb_fences *fences;
+   u64 __user *user_values;
+   u64 num_fences, num_user_fences = timeline_fences->fence_count;
+   unsigned long n;
+   int err;
+
+   /* Check multiplication overflow for access_ok() and kvmalloc_array() */
+   BUILD_BUG_ON(sizeof(size_t) > sizeof(unsigned long));
+   if (num_user_fences > min_t(unsigned long,
+   ULONG_MAX / sizeof(*user_fences),
+   SIZE_MAX / sizeof(*fences)))
+   return ERR_PTR(-EINVAL);
+
+   user_fences = u64_to_user_ptr(timeline_fences->handles_ptr);
+   if (!access_ok(user_fences, num_user_fences * sizeof(*user_fences)))
+   return ERR_PTR(-EFAULT);
+
+   user_values = u64_to_user_ptr(timeline_fences->values_ptr);
+   if (!access_ok(user_values, num_user_fences * sizeof(*user_values)))
+   return ERR_PTR(-EFAULT);
+
+   fences = kvmalloc_array(num_user_fences, sizeof(*fences),
+   __GFP_NOWARN | GFP_KERNEL);
+   if (!fences)
+   return ERR_PTR(-ENOMEM);
+
+   BUILD_BUG_ON(~(ARCH_KMALLOC_MINALIGN - 1) &
+~__I915_EXEC_FENCE_UNKNOWN_FLAGS);
+
+   for (n = 0, num_fences = 0; n < timeline_fences->fence_count; n++) {
+   struct drm_i915_gem_exec_fence user_fence;
+   struct drm_syncobj *syncobj;
+   struct dma_fence *fence = NULL;
+   u64 point;
+
+   if (__copy_from_user(_fence, user_fences++, 
sizeof(user_fence))) {
+   err = -EFAULT;
+   goto err;
+   }
+
+   if (user_fence.flags & __I915_EXEC_FENCE_UNKNOWN_FLAGS) {
+   err = -EINVAL;
+   goto err;
+   }
+
+   if (__get_user(point, user_values++)) {
+   err = -EFAULT;
+   goto err;
+   }
+
+   syncobj = drm_syncobj_find(eb->file, user_fence.handle);
+   if (!syncobj) {
+   DRM_DEBUG("Invalid syncobj handle provided\n");
+   err = -ENOENT;
+   goto err;
+   }
+
+   if (user_fence.flags & I915_EXEC_FENCE_WAIT) {
+   fence = drm_syncobj_fence_get(syncobj);
+   if (!fence) {
+   DRM_DEBUG("Syncobj handle has no fence\n");
+   drm_syncobj_put(syncobj);
+   err = -EINVAL;
+   goto err;
+   }
+
+   err = dma_fence_chain_find_seqno(, point);
+   if (err) {
+   DRM_DEBUG("Syncobj handle missing requested point 
%llu\n", point);
+   drm_syncobj_put(syncobj);
+   goto err;
+   }
+
+   /* A point might have been signaled already and
+* garbage collected from the timeline. In this case
+* just ignore the point and carry on.
+*/
+   if (!fence) {
+   drm_syncobj_put(syncobj);
+   continue;
+   }
+   }
+
+   /*
+* For timeline syncobjs we need to preallocate chains for
+* later signaling.
+*/
+   if (point != 0 && user_fence.flags & I915_EXEC_FENCE_SIGNAL) {

if (dma_fence_chain_find_seqno() == 0)
   return -EINVAL;

as an early sanity check?


+   fences[num_fences].chain_fence =
+   kmalloc(sizeof(*fences[num_fences].chain_fence),
+   GFP_KERNEL);
+   if (!fences[num_fences].chain_fence) {
+   dma_fence_put(fence);
+   drm_syncobj_put(syncobj);
+   err = -ENOMEM;
+   DRM_DEBUG("Unable to alloc chain_fence\n");
+   goto err;
+   }
+   } else {
+   fences[num_fences].chain_fence = NULL;
+ 

[Intel-gfx] ✓ Fi.CI.BAT: success for DC3CO Support for TGL (rev3)

2019-08-11 Thread Patchwork
== Series Details ==

Series: DC3CO Support for TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/64923/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6677 -> Patchwork_13965


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/

Known issues


  Here are the changes found in Patchwork_13965 that come from known issues:

### IGT changes ###

 Issues hit 

  * igt@debugfs_test@read_all_entries:
- fi-ilk-650: [PASS][1] -> [DMESG-WARN][2] ([fdo#106387])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-ilk-650/igt@debugfs_test@read_all_entries.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-ilk-650/igt@debugfs_test@read_all_entries.html

  * igt@i915_pm_rpm@basic-pci-d3-state:
- fi-skl-6600u:   [PASS][3] -> [FAIL][4] ([fdo#107707])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6600u/igt@i915_pm_...@basic-pci-d3-state.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-skl-6600u/igt@i915_pm_...@basic-pci-d3-state.html

  * igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq:  [PASS][5] -> [FAIL][6] ([fdo#108511])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6770hq/igt@i915_pm_...@module-reload.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-skl-6770hq/igt@i915_pm_...@module-reload.html

  * igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm:  [PASS][7] -> [DMESG-FAIL][8] ([fdo#08])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_requests:
- fi-byt-j1900:   [PASS][9] -> [INCOMPLETE][10] ([fdo#102657])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-byt-j1900/igt@i915_selftest@live_requests.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-byt-j1900/igt@i915_selftest@live_requests.html

  * igt@kms_addfb_basic@bad-pitch-256:
- fi-icl-u3:  [PASS][11] -> [DMESG-WARN][12] ([fdo#107724])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-u3/igt@kms_addfb_ba...@bad-pitch-256.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-icl-u3/igt@kms_addfb_ba...@bad-pitch-256.html

  * igt@kms_busy@basic-flip-c:
- fi-skl-6770hq:  [PASS][13] -> [SKIP][14] ([fdo#109271] / 
[fdo#109278]) +2 similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6770hq/igt@kms_b...@basic-flip-c.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-skl-6770hq/igt@kms_b...@basic-flip-c.html

  * igt@kms_flip@basic-flip-vs-dpms:
- fi-skl-6770hq:  [PASS][15] -> [SKIP][16] ([fdo#109271]) +23 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6770hq/igt@kms_f...@basic-flip-vs-dpms.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-skl-6770hq/igt@kms_f...@basic-flip-vs-dpms.html

  * igt@prime_vgem@basic-fence-flip:
- fi-kbl-7500u:   [PASS][17] -> [SKIP][18] ([fdo#109271]) +23 similar 
issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-kbl-7500u/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * igt@gem_mmap_gtt@basic-read:
- fi-icl-u3:  [DMESG-WARN][19] ([fdo#107724]) -> [PASS][20] +1 
similar issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-u3/igt@gem_mmap_...@basic-read.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-icl-u3/igt@gem_mmap_...@basic-read.html

  * igt@gem_mmap_gtt@basic-write-no-prefault:
- {fi-icl-dsi}:   [DMESG-WARN][21] ([fdo#106107]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-icl-dsi/igt@gem_mmap_...@basic-write-no-prefault.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-icl-dsi/igt@gem_mmap_...@basic-write-no-prefault.html

  * igt@i915_pm_rpm@module-reload:
- fi-skl-6600u:   [FAIL][23] ([fdo#107707]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-skl-6600u/igt@i915_pm_...@module-reload.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13965/fi-skl-6600u/igt@i915_pm_...@module-reload.html

  * {igt@i915_selftest@live_gt_timelines}:
- fi-bsw-kefka:   [DMESG-WARN][25] -> [PASS][26]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6677/fi-bsw-kefka/igt@i915_selftest@live_gt_timelines.html
   [26]: 

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/4] dma-fence: Propagate errors to dma-fence-array container

2019-08-11 Thread Patchwork
== Series Details ==

Series: series starting with [1/4] dma-fence: Propagate errors to 
dma-fence-array container
URL   : https://patchwork.freedesktop.org/series/65027/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6675_full -> Patchwork_13962_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13962_full that come from known 
issues:

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@bcs0-s3:
- shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#109100])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb4/igt@gem_ctx_isolat...@bcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-iclb4/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_eio@reset-stress:
- shard-kbl:  [PASS][3] -> [FAIL][4] ([fdo#109661])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-kbl7/igt@gem_...@reset-stress.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-kbl6/igt@gem_...@reset-stress.html

  * igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#110854])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb1/igt@gem_exec_balan...@smoke.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-iclb7/igt@gem_exec_balan...@smoke.html

  * igt@gem_exec_reloc@basic-range-active:
- shard-skl:  [PASS][7] -> [DMESG-WARN][8] ([fdo#106107])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl8/igt@gem_exec_re...@basic-range-active.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-skl8/igt@gem_exec_re...@basic-range-active.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#111325]) +2 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb6/igt@gem_exec_sched...@reorder-wide-bsd.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-iclb1/igt@gem_exec_sched...@reorder-wide-bsd.html

  * igt@kms_flip@2x-dpms-vs-vblank-race:
- shard-hsw:  [PASS][11] -> [DMESG-WARN][12] ([fdo#102614])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-hsw4/igt@kms_f...@2x-dpms-vs-vblank-race.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-hsw5/igt@kms_f...@2x-dpms-vs-vblank-race.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
- shard-apl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +3 
similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-apl4/igt@kms_f...@flip-vs-suspend-interruptible.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-apl6/igt@kms_f...@flip-vs-suspend-interruptible.html
- shard-kbl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#108566]) +3 
similar issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-kbl2/igt@kms_f...@flip-vs-suspend-interruptible.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-kbl3/igt@kms_f...@flip-vs-suspend-interruptible.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible:
- shard-hsw:  [PASS][17] -> [INCOMPLETE][18] ([fdo#103540])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-hsw2/igt@kms_flip@wf_vblank-ts-check-interruptible.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-hsw7/igt@kms_flip@wf_vblank-ts-check-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#103167]) +1 similar 
issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb5/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +3 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_setmode@basic:
- shard-skl:  [PASS][23] -> [FAIL][24] ([fdo#99912])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl6/igt@kms_setm...@basic.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13962/shard-skl7/igt@kms_setm...@basic.html

  * igt@perf@polling:
- shard-skl:  [PASS][25] -> [FAIL][26] ([fdo#110728])
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6675/shard-skl9/igt@p...@polling.html
   [26]: 

[Intel-gfx] [PATCH v2] drm/i915/icl: Remove DDI IO power domain from PG3 power domains

2019-08-11 Thread Anshuman Gupta
The DDI-IO power wells (PWR_WELL_CTL_DDI) are backing
the IO/PHY functionality, which doesn't need the PG3
power power well. Accordingly fixing up the list of
PG3 power domains.

v2: Removed "DDI E/F IO"power domain as well [Imre]

Cc: Imre Deak 
Cc: Ville Syrjälä 
Signed-off-by: Anshuman Gupta 
---
 drivers/gpu/drm/i915/display/intel_display_power.c | 5 -
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index e3bea2b74ce2..99ed4b4d7c3c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -2482,15 +2482,10 @@ void intel_display_power_put(struct drm_i915_private 
*dev_priv,
BIT_ULL(POWER_DOMAIN_TRANSCODER_C) |\
BIT_ULL(POWER_DOMAIN_PIPE_B_PANEL_FITTER) | \
BIT_ULL(POWER_DOMAIN_PORT_DDI_B_LANES) |\
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_B_IO) |   \
BIT_ULL(POWER_DOMAIN_PORT_DDI_C_LANES) |\
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_C_IO) |   \
BIT_ULL(POWER_DOMAIN_PORT_DDI_D_LANES) |\
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_D_IO) |   \
BIT_ULL(POWER_DOMAIN_PORT_DDI_E_LANES) |\
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_E_IO) |   \
BIT_ULL(POWER_DOMAIN_PORT_DDI_F_LANES) |\
-   BIT_ULL(POWER_DOMAIN_PORT_DDI_F_IO) |   \
BIT_ULL(POWER_DOMAIN_AUX_B) |   \
BIT_ULL(POWER_DOMAIN_AUX_C) |   \
BIT_ULL(POWER_DOMAIN_AUX_D) |   \
-- 
2.21.0

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

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for DC3CO Support for TGL (rev3)

2019-08-11 Thread Patchwork
== Series Details ==

Series: DC3CO Support for TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/64923/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915/tgl: Add DC3CO required register and bits
Okay!

Commit: drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask
Okay!

Commit: drm/i915/tgl: Add power well to enable DC3CO state
Okay!

Commit: drm/i915/tgl: mutual exclusive handling for DC3CO and DC5/6
Okay!

Commit: drm/i915/tgl: Add helper function to prefer dc3co over dc5
Okay!

Commit: drm/i915/tgl: Add VIDEO power domain
Okay!

Commit: drm/i915/tgl: DC3CO PSR2 helper
+drivers/gpu/drm/i915/display/intel_psr.c:557:23: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/display/intel_psr.c:558:23: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/display/intel_psr.c:558:23: warning: expression using 
sizeof(void)

Commit: drm/i915/tgl: switch between dc3co and dc5 based on display idleness
Okay!

Commit: drm/i915/tgl: Add DC3CO counter in i915_dmc_info
Okay!

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for DC3CO Support for TGL (rev3)

2019-08-11 Thread Patchwork
== Series Details ==

Series: DC3CO Support for TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/64923/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
2054d249c446 drm/i915/tgl: Add DC3CO required register and bits
4baba79d9dae drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask
0b870884f799 drm/i915/tgl: Add power well to enable DC3CO state
-:53: CHECK:USLEEP_RANGE: usleep_range is preferred over udelay; see 
Documentation/timers/timers-howto.rst
#53: FILE: drivers/gpu/drm/i915/display/intel_display_power.c:810:
+   udelay(200);

total: 0 errors, 0 warnings, 1 checks, 101 lines checked
90090f91b4ff drm/i915/tgl: mutual exclusive handling for DC3CO and DC5/6
009a62ac40eb drm/i915/tgl: Add helper function to prefer dc3co over dc5
ecf16f51f1d5 drm/i915/tgl: Add VIDEO power domain
593a0fd308b8 drm/i915/tgl: DC3CO PSR2 helper
72d3d56414e2 drm/i915/tgl: switch between dc3co and dc5 based on display 
idleness
b2921c6c42ee drm/i915/tgl: Add DC3CO counter in i915_dmc_info

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

[Intel-gfx] [PATCH v5 3/9] drm/i915/tgl: Add power well to enable DC3CO state

2019-08-11 Thread Anshuman Gupta
"DC3CO Off" power well inherits its power domains from
"DC Off" power well, these power domains will disallow
DC3CO when any external displays are connected and at
time of modeset and aux programming.
Renaming "DC Off" power well to "DC5 Off" power well.

v2: commit log improvement.
v3: Used intel_wait_for_register to wait for DC3CO exit. [Imre]
Used gen9_set_dc_state() to allow/disallow DC3CO. [Imre]
Moved transcoder psr2 exit line enablement from tgl_allow_dc3co()
to a appropriate place haswell_crtc_enable(). [Imre]
Changed the DC3CO power well enabled call back logic as
recommended in review comments. [Imre]
v4: Used wait_for_us() instead of intel_wait_for_reg(). [Imre (IRC)]
v5: using udelay() instead of waiting for DC3CO exit status.
v6: Fixed minor unwanted change.

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Cc: Rodrigo Vivi 
Signed-off-by: Anshuman Gupta 
---
 .../drm/i915/display/intel_display_power.c| 67 ++-
 1 file changed, 66 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index e2ef202aeeef..7ca9992bb663 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -791,6 +791,25 @@ static void gen9_set_dc_state(struct drm_i915_private 
*dev_priv, u32 state)
dev_priv->csr.dc_state = val & mask;
 }
 
+static void tgl_allow_dc3co(struct drm_i915_private *dev_priv)
+{
+   gen9_set_dc_state(dev_priv, DC_STATE_EN_DC3CO);
+}
+
+static void tgl_disallow_dc3co(struct drm_i915_private *dev_priv)
+{
+   u32 val;
+
+   val = I915_READ(DC_STATE_EN);
+   val &= ~DC_STATE_DC3CO_STATUS;
+   I915_WRITE(DC_STATE_EN, val);
+   gen9_set_dc_state(dev_priv, DC_STATE_DISABLE);
+   /*
+* Delay of 200us DC3CO Exit time B.Spec 49196
+*/
+   udelay(200);
+}
+
 static void bxt_enable_dc9(struct drm_i915_private *dev_priv)
 {
assert_can_enable_dc9(dev_priv);
@@ -1007,6 +1026,33 @@ static void gen9_dc_off_power_well_disable(struct 
drm_i915_private *dev_priv,
gen9_enable_dc5(dev_priv);
 }
 
+static void tgl_dc3co_power_well_enable(struct drm_i915_private *dev_priv,
+   struct i915_power_well *power_well)
+{
+   tgl_disallow_dc3co(dev_priv);
+}
+
+static void tgl_dc3co_power_well_disable(struct drm_i915_private *dev_priv,
+struct i915_power_well *power_well)
+{
+   if (!dev_priv->psr.sink_psr2_support)
+   return;
+
+   if (dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO)
+   tgl_allow_dc3co(dev_priv);
+}
+
+static bool tgl_dc3co_power_well_enabled(struct drm_i915_private *dev_priv,
+struct i915_power_well *power_well)
+{
+   /*
+* Checking alone DC_STATE_EN is not enough as DC5 power well also
+* allow/disallow DC3CO to make sure both are not enabled at same time
+*/
+   return ((I915_READ(DC_STATE_EN) & DC_STATE_EN_DC3CO) == 0 &&
+   (I915_READ(DC_STATE_EN) & DC_STATE_EN_UPTO_DC5_DC6_MASK) == 0);
+}
+
 static void i9xx_power_well_sync_hw_noop(struct drm_i915_private *dev_priv,
 struct i915_power_well *power_well)
 {
@@ -2611,6 +2657,12 @@ void intel_display_power_put(struct drm_i915_private 
*dev_priv,
BIT_ULL(POWER_DOMAIN_TRANSCODER_VDSC_PW2) | \
BIT_ULL(POWER_DOMAIN_INIT))
 
+#define TGL_DISPLAY_DC3CO_OFF_POWER_DOMAINS (  \
+   TGL_PW_2_POWER_DOMAINS |\
+   BIT_ULL(POWER_DOMAIN_MODESET) | \
+   BIT_ULL(POWER_DOMAIN_AUX_A) |   \
+   BIT_ULL(POWER_DOMAIN_INIT))
+
 #define TGL_DISPLAY_DC_OFF_POWER_DOMAINS ( \
TGL_PW_2_POWER_DOMAINS |\
BIT_ULL(POWER_DOMAIN_MODESET) | \
@@ -2715,6 +2767,13 @@ static const struct i915_power_well_ops 
gen9_dc_off_power_well_ops = {
.is_enabled = gen9_dc_off_power_well_enabled,
 };
 
+static const struct i915_power_well_ops tgl_dc3co_power_well_ops = {
+   .sync_hw = i9xx_power_well_sync_hw_noop,
+   .enable = tgl_dc3co_power_well_enable,
+   .disable = tgl_dc3co_power_well_disable,
+   .is_enabled = tgl_dc3co_power_well_enabled,
+};
+
 static const struct i915_power_well_ops bxt_dpio_cmn_power_well_ops = {
.sync_hw = i9xx_power_well_sync_hw_noop,
.enable = bxt_dpio_cmn_power_well_enable,
@@ -3626,11 +3685,17 @@ static const struct i915_power_well_desc 
tgl_power_wells[] = {
},
},
{
-   .name = "DC off",
+   .name = "DC5 off",
.domains = TGL_DISPLAY_DC_OFF_POWER_DOMAINS,
.ops = _dc_off_power_well_ops,
.id = DISP_PW_ID_NONE,
},
+   {
+   .name =