[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/ehl: Update MOCS table for EHL

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915/ehl: Update MOCS table for EHL
URL   : https://patchwork.freedesktop.org/series/61409/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6171_full -> Patchwork_13142_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13142_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13142_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_13142_full:

### IGT changes ###

 Possible regressions 

  * igt@kms_cursor_crc@pipe-b-cursor-suspend:
- shard-snb:  [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-snb1/igt@kms_cursor_...@pipe-b-cursor-suspend.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-snb4/igt@kms_cursor_...@pipe-b-cursor-suspend.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_eio@in-flight-suspend:
- shard-glk:  [PASS][3] -> [FAIL][4] ([fdo#110667])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-glk8/igt@gem_...@in-flight-suspend.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-glk9/igt@gem_...@in-flight-suspend.html

  * igt@gem_mmap_gtt@forked-medium-copy-xy:
- shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713] / 
[fdo#109100])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-iclb4/igt@gem_mmap_...@forked-medium-copy-xy.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-iclb3/igt@gem_mmap_...@forked-medium-copy-xy.html

  * igt@gem_tiled_swapping@non-threaded:
- shard-apl:  [PASS][7] -> [FAIL][8] ([fdo#108686])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-apl5/igt@gem_tiled_swapp...@non-threaded.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-apl1/igt@gem_tiled_swapp...@non-threaded.html

  * igt@i915_pm_rpm@pm-tiling:
- shard-iclb: [PASS][9] -> [INCOMPLETE][10] ([fdo#107713] / 
[fdo#108840])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-iclb2/igt@i915_pm_...@pm-tiling.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-iclb2/igt@i915_pm_...@pm-tiling.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
- shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#104108])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-skl6/igt@i915_susp...@fence-restore-tiled2untiled.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-skl7/igt@i915_susp...@fence-restore-tiled2untiled.html

  * igt@i915_suspend@fence-restore-untiled:
- shard-apl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +2 
similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-apl5/igt@i915_susp...@fence-restore-untiled.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-apl1/igt@i915_susp...@fence-restore-untiled.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-hsw:  [PASS][15] -> [FAIL][16] ([fdo#103355])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-hsw2/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-hsw6/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk:  [PASS][17] -> [FAIL][18] ([fdo#105363]) +1 similar 
issue
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-glk9/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-glk5/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@plain-flip-ts-check-interruptible:
- shard-glk:  [PASS][19] -> [FAIL][20] ([fdo#100368])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-glk2/igt@kms_f...@plain-flip-ts-check-interruptible.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-glk7/igt@kms_f...@plain-flip-ts-check-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
- shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#103167]) +3 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/shard-iclb6/igt@kms_frontbuffer_track...@fbc-1p-primscrn-indfb-msflip-blt.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/shard-iclb8/igt@kms_frontbuffer_track.

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915: Track the purgeable objects on a separate eviction list

2019-05-31 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Track the purgeable objects on a 
separate eviction list
URL   : https://patchwork.freedesktop.org/series/61405/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6170_full -> Patchwork_13141_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13141_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13141_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_13141_full:

### IGT changes ###

 Possible regressions 

  * igt@gem_ppgtt@flink-and-exit-vma-leak:
- shard-glk:  [PASS][1] -> [FAIL][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-glk1/igt@gem_pp...@flink-and-exit-vma-leak.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-glk3/igt@gem_pp...@flink-and-exit-vma-leak.html
- shard-apl:  [PASS][3] -> [FAIL][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-apl8/igt@gem_pp...@flink-and-exit-vma-leak.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-apl6/igt@gem_pp...@flink-and-exit-vma-leak.html
- shard-kbl:  [PASS][5] -> [FAIL][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-kbl2/igt@gem_pp...@flink-and-exit-vma-leak.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-kbl2/igt@gem_pp...@flink-and-exit-vma-leak.html
- shard-skl:  [PASS][7] -> [FAIL][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-skl5/igt@gem_pp...@flink-and-exit-vma-leak.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-skl4/igt@gem_pp...@flink-and-exit-vma-leak.html
- shard-hsw:  [PASS][9] -> [FAIL][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-hsw4/igt@gem_pp...@flink-and-exit-vma-leak.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-hsw4/igt@gem_pp...@flink-and-exit-vma-leak.html
- shard-iclb: [PASS][11] -> [FAIL][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-iclb1/igt@gem_pp...@flink-and-exit-vma-leak.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-iclb6/igt@gem_pp...@flink-and-exit-vma-leak.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_mmap_gtt@forked-medium-copy-xy:
- shard-iclb: [PASS][13] -> [INCOMPLETE][14] ([fdo#107713] / 
[fdo#109100])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-iclb6/igt@gem_mmap_...@forked-medium-copy-xy.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-iclb5/igt@gem_mmap_...@forked-medium-copy-xy.html

  * igt@gem_workarounds@suspend-resume:
- shard-apl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#108566]) +6 
similar issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-apl5/igt@gem_workarou...@suspend-resume.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-apl3/igt@gem_workarou...@suspend-resume.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
- shard-skl:  [PASS][17] -> [INCOMPLETE][18] ([fdo#104108] / 
[fdo#107807])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-skl5/igt@i915_pm_...@system-suspend-execbuf.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-skl4/igt@i915_pm_...@system-suspend-execbuf.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109349])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-iclb2/igt@kms_dp_...@basic-dsc-enable-edp.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-iclb1/igt@kms_dp_...@basic-dsc-enable-edp.html

  * igt@kms_flip@flip-vs-suspend:
- shard-snb:  [PASS][21] -> [DMESG-WARN][22] ([fdo#102365])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-snb4/igt@kms_f...@flip-vs-suspend.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-snb4/igt@kms_f...@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render:
- shard-iclb: [PASS][23] -> [FAIL][24] ([fdo#103167]) +5 similar 
issues
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/shard-iclb1/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-indfb-draw-render.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/shard-iclb5/igt@kms_frontbuffer_track..

[Intel-gfx] ✓ Fi.CI.BAT: success for split out intel_display_power

2019-05-31 Thread Patchwork
== Series Details ==

Series: split out intel_display_power
URL   : https://patchwork.freedesktop.org/series/61453/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6178 -> Patchwork_13154


Summary
---

  **SUCCESS**

  No regressions found.

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

Possible new issues
---

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

### IGT changes ###

 Suppressed 

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_selftest@live_mman}:
- fi-icl-y:   [PASS][1] -> [TIMEOUT][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-y/igt@i915_selftest@live_mman.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-y/igt@i915_selftest@live_mman.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_flink_basic@bad-open:
- fi-icl-u3:  [PASS][3] -> [DMESG-WARN][4] ([fdo#107724]) +1 
similar issue
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-u3/igt@gem_flink_ba...@bad-open.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-u3/igt@gem_flink_ba...@bad-open.html

  * igt@i915_selftest@live_hangcheck:
- fi-icl-y:   [PASS][5] -> [INCOMPLETE][6] ([fdo#107713] / 
[fdo#108569])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-y/igt@i915_selftest@live_hangcheck.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-y/igt@i915_selftest@live_hangcheck.html

  
 Possible fixes 

  * igt@gem_ctx_switch@basic-default:
- {fi-icl-guc}:   [INCOMPLETE][7] ([fdo#107713] / [fdo#108569]) -> 
[PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-guc/igt@gem_ctx_swi...@basic-default.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-guc/igt@gem_ctx_swi...@basic-default.html

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u3:  [INCOMPLETE][9] ([fdo#107713] / [fdo#108569]) -> 
[PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-u3/igt@i915_selftest@live_hangcheck.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-u3/igt@i915_selftest@live_hangcheck.html

  * {igt@i915_selftest@live_mman}:
- fi-icl-u3:  [TIMEOUT][11] -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-u3/igt@i915_selftest@live_mman.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-u3/igt@i915_selftest@live_mman.html

  * igt@kms_flip@basic-plain-flip:
- fi-icl-u3:  [DMESG-WARN][13] ([fdo#107724]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6178/fi-icl-u3/igt@kms_f...@basic-plain-flip.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13154/fi-icl-u3/igt@kms_f...@basic-plain-flip.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#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569


Participating hosts (52 -> 46)
--

  Additional (1): fi-pnv-d510 
  Missing(7): fi-cml-u2 fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-kbl-7560u fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6178 -> Patchwork_13154

  CI_DRM_6178: 2dc8deaab5a647fa6a63f9b2ca4343dba870f3c4 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5026: 4108c74c3b15460de25ab989f4e2031594559dfc @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13154: 392ffe04011b4e8404b829cc1e88d63ce733f5df @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

392ffe04011b drm/i915: move more defs in intel_display_power.h
757791efed23 drm/i915: extract intel_display_power.h/c from intel_runtime_pm.h/c

== Logs ==

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

Re: [Intel-gfx] [RFC 1/7] drm/i915: prefer i915_runtime_pm in intel_runtime function

2019-05-31 Thread Daniele Ceraolo Spurio



On 5/21/19 1:45 AM, Jani Nikula wrote:

On Thu, 16 May 2019, Daniele Ceraolo Spurio  
wrote:

As a first step towards updating the code to work on the runtime_pm
structure instead of i915, rework all the internals to use and pass
around that.

Signed-off-by: Daniele Ceraolo Spurio 
---
  drivers/gpu/drm/i915/i915_drv.h |   2 +
  drivers/gpu/drm/i915/intel_drv.h|  10 +-
  drivers/gpu/drm/i915/intel_runtime_pm.c | 152 
  3 files changed, 82 insertions(+), 82 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5801f5407589..474074c7f395 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1177,6 +1177,8 @@ struct skl_wm_params {
   */
  struct i915_runtime_pm {
atomic_t wakeref_count;
+   struct device *kdev;


This could use a small comment to say what device this is.



Would something like:

/* the intel gpu we're loaded on */

work? Or should I just rename it to i915_kdev like we use in other parts 
of the driver?


Thanks,
Daniele


BR,
Jani.


+   bool available;
bool suspended;
bool irqs_enabled;
  
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h

index 30b2d6ed2d53..bd04f394fbd3 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1662,13 +1662,17 @@ assert_rpm_wakelock_held(struct i915_runtime_pm 
*rpm, int wakeref_count)
  }
  
  static inline void

-assert_rpm_raw_wakeref_held(struct drm_i915_private *i915)
+__assert_rpm_raw_wakeref_held(struct i915_runtime_pm *rpm)
  {
-   struct i915_runtime_pm *rpm = &i915->runtime_pm;
-
assert_rpm_raw_wakeref_held(rpm, atomic_read(&rpm->wakeref_count));
  }
  
+static inline void

+assert_rpm_raw_wakeref_held(struct drm_i915_private *i915)
+{
+   __assert_rpm_raw_wakeref_held(&i915->runtime_pm);
+}
+
  static inline void
  __assert_rpm_wakelock_held(struct i915_runtime_pm *rpm)
  {
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index b4abababdf6c..2e21f562df44 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -60,19 +60,19 @@
   * present for a given platform.
   */
  
-static intel_wakeref_t intel_runtime_pm_get_raw(struct drm_i915_private *i915);

+static intel_wakeref_t intel_runtime_pm_get_raw(struct i915_runtime_pm *rpm);
  static void
-__intel_runtime_pm_put(struct drm_i915_private *i915, intel_wakeref_t wref,
+__intel_runtime_pm_put(struct i915_runtime_pm *rpm, intel_wakeref_t wref,
   bool wakelock);
  
  #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)

  static void
-intel_runtime_pm_put_raw(struct drm_i915_private *i915, intel_wakeref_t wref);
+intel_runtime_pm_put_raw(struct i915_runtime_pm *rpm, intel_wakeref_t wref);
  #else
-static inline void intel_runtime_pm_put_raw(struct drm_i915_private *i915,
+static inline void intel_runtime_pm_put_raw(struct i915_runtime_pm *rpm,
intel_wakeref_t wref)
  {
-   __intel_runtime_pm_put(i915, -1, false);
+   __intel_runtime_pm_put(rpm, -1, false);
  }
  #endif
  
@@ -112,21 +112,18 @@ static void __print_depot_stack(depot_stack_handle_t stack,

snprint_stack_trace(buf, sz, &trace, indent);
  }
  
-static void init_intel_runtime_pm_wakeref(struct drm_i915_private *i915)

+static void init_intel_runtime_pm_wakeref(struct i915_runtime_pm *rpm)
  {
-   struct i915_runtime_pm *rpm = &i915->runtime_pm;
-
spin_lock_init(&rpm->debug.lock);
  }
  
  static noinline depot_stack_handle_t

-track_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+track_intel_runtime_pm_wakeref(struct i915_runtime_pm *rpm)
  {
-   struct i915_runtime_pm *rpm = &i915->runtime_pm;
depot_stack_handle_t stack, *stacks;
unsigned long flags;
  
-	if (!HAS_RUNTIME_PM(i915))

+   if (!rpm->available)
return -1;
  
  	stack = __save_depot_stack();

@@ -153,10 +150,9 @@ track_intel_runtime_pm_wakeref(struct drm_i915_private 
*i915)
return stack;
  }
  
-static void untrack_intel_runtime_pm_wakeref(struct drm_i915_private *i915,

+static void untrack_intel_runtime_pm_wakeref(struct i915_runtime_pm *rpm,
 depot_stack_handle_t stack)
  {
-   struct i915_runtime_pm *rpm = &i915->runtime_pm;
unsigned long flags, n;
bool found = false;
  
@@ -274,9 +270,8 @@ dump_and_free_wakeref_tracking(struct intel_runtime_pm_debug *debug)

  }
  
  static noinline void

-__intel_wakeref_dec_and_check_tracking(struct drm_i915_private *i915)
+__intel_wakeref_dec_and_check_tracking(struct i915_runtime_pm *rpm)
  {
-   struct i915_runtime_pm *rpm = &i915->runtime_pm;
struct intel_runtime_pm_debug dbg = {};
unsigned long flags;
  
@@ -292,9 +287,8 @@ __intel_wakeref_dec_and_check_tracking(struct 

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for split out intel_display_power

2019-05-31 Thread Patchwork
== Series Details ==

Series: split out intel_display_power
URL   : https://patchwork.freedesktop.org/series/61453/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: extract intel_display_power.h/c from intel_runtime_pm.h/c
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)

Commit: drm/i915: move more defs in intel_display_power.h
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 split out intel_display_power

2019-05-31 Thread Patchwork
== Series Details ==

Series: split out intel_display_power
URL   : https://patchwork.freedesktop.org/series/61453/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
757791efed23 drm/i915: extract intel_display_power.h/c from intel_runtime_pm.h/c
-:64: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#64: 
new file mode 100644

-:69: WARNING:SPDX_LICENSE_TAG: Improper SPDX comment style for 
'drivers/gpu/drm/i915/intel_display_power.c', please use '//' instead
#69: FILE: drivers/gpu/drm/i915/intel_display_power.c:1:
+/* SPDX-License-Identifier: MIT */

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

-:332: CHECK:LINE_SPACING: Please don't use multiple blank lines
#332: FILE: drivers/gpu/drm/i915/intel_display_power.c:264:
+
+

-:406: WARNING:FUNCTION_ARGUMENTS: function definition argument 'pg' should 
also have an identifier name
#406: FILE: drivers/gpu/drm/i915/intel_display_power.c:338:
+   enum skl_power_gate uninitialized_var(pg);

-:931: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#931: FILE: drivers/gpu/drm/i915/intel_display_power.c:863:
+static bool i9xx_always_on_power_well_enabled(struct drm_i915_private 
*dev_priv,
+struct i915_power_well *power_well)

-:1198: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'bits' - possible 
side-effects?
#1198: FILE: drivers/gpu/drm/i915/intel_display_power.c:1130:
+#define BITS_SET(val, bits) (((val) & (bits)) == (bits))

-:3517: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__power_well_descs' - 
possible side-effects?
#3517: FILE: drivers/gpu/drm/i915/intel_display_power.c:3449:
+#define set_power_wells(power_domains, __power_well_descs) \
+   __set_power_wells(power_domains, __power_well_descs, \
+ ARRAY_SIZE(__power_well_descs))

-:3621: CHECK:USLEEP_RANGE: usleep_range is preferred over udelay; see 
Documentation/timers/timers-howto.txt
#3621: FILE: drivers/gpu/drm/i915/intel_display_power.c:3553:
+   udelay(10);

-:3678: CHECK:USLEEP_RANGE: usleep_range is preferred over udelay; see 
Documentation/timers/timers-howto.txt
#3678: FILE: drivers/gpu/drm/i915/intel_display_power.c:3610:
+   udelay(10);

-:3697: CHECK:USLEEP_RANGE: usleep_range is preferred over udelay; see 
Documentation/timers/timers-howto.txt
#3697: FILE: drivers/gpu/drm/i915/intel_display_power.c:3629:
+   udelay(10);

-:3987: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#3987: FILE: drivers/gpu/drm/i915/intel_display_power.c:3919:
+static void skl_display_core_init(struct drm_i915_private *dev_priv,
+  bool resume)

-:4528: WARNING:LINE_SPACING: Missing a blank line after declarations
#4528: FILE: drivers/gpu/drm/i915/intel_display_power.c:4460:
+   struct i915_power_domains *power_domains = &i915->power_domains;
+   intel_wakeref_t wakeref __maybe_unused =

-:4707: WARNING:FUNCTION_ARGUMENTS: function definition argument 'struct 
drm_i915_private *' should also have an identifier name
#4707: FILE: drivers/gpu/drm/i915/intel_display_power.h:21:
+int intel_power_domains_init(struct drm_i915_private *);

-:4770: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'i915' - possible 
side-effects?
#4770: FILE: drivers/gpu/drm/i915/intel_display_power.h:84:
+#define with_intel_display_power(i915, domain, wf) \
+   for ((wf) = intel_display_power_get((i915), (domain)); (wf); \
+intel_display_power_put_async((i915), (domain), (wf)), (wf) = 0)

-:4770: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'domain' - possible 
side-effects?
#4770: FILE: drivers/gpu/drm/i915/intel_display_power.h:84:
+#define with_intel_display_power(i915, domain, wf) \
+   for ((wf) = intel_display_power_get((i915), (domain)); (wf); \
+intel_display_power_put_async((i915), (domain), (wf)), (wf) = 0)

-:4770: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'wf' - possible 
side-effects?
#4770: FILE: drivers/gpu/drm/i915/intel_display_power.h:84:
+#define with_intel_display_power(i915, domain, wf) \
+   for ((wf) = intel_display_power_get((i915), (domain)); (wf); \
+intel_display_power_put_async((i915), (domain), (wf)), (wf) = 0)

total: 0 errors, 6 warnings, 11 checks, 9706 lines checked
392ffe04011b drm/i915: move more defs in intel_display_power.h
-:304: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'tran' - possible 
side-effects?
#304: FILE: drivers/gpu/drm/i915/intel_display_power.h:70:
+#define POWER_DOMAIN_TRANSCODER(tran) \
+   ((tran) == TRANSCODER_EDP ? POWER_DOMAIN_TRANSCODER_EDP : \
+(tran) + POWER_DOMAIN_TRANSCODER_A)

-:407: CHECK:UNCOMMENTED_DEFINITION: struct mutex definition without comment
#407: FILE: drivers/gpu/drm/i915/intel_display_power.h:173:
+   struct mutex lock;

-:417: CHECK:MACRO_ARG_

[Intel-gfx] [PATCH 2/2] drm/i915: move more defs in intel_display_power.h

2019-05-31 Thread Daniele Ceraolo Spurio
Move over structures, enums and macros from intel_display.h and
i915_drv.h to have all the display PM defines in the same header.

Signed-off-by: Daniele Ceraolo Spurio 
Cc: Imre Deak 
Cc: Ville Syrjälä 
---
 drivers/gpu/drm/i915/i915_drv.h| 110 
 drivers/gpu/drm/i915/intel_display.h   |  82 -
 drivers/gpu/drm/i915/intel_display_power.h | 192 +
 3 files changed, 192 insertions(+), 192 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index fd5450576728..eb8917df9149 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -729,116 +729,6 @@ struct intel_ilk_power_mgmt {
int r_t;
 };
 
-struct drm_i915_private;
-struct i915_power_well;
-
-struct i915_power_well_ops {
-   /*
-* Synchronize the well's hw state to match the current sw state, for
-* example enable/disable it based on the current refcount. Called
-* during driver init and resume time, possibly after first calling
-* the enable/disable handlers.
-*/
-   void (*sync_hw)(struct drm_i915_private *dev_priv,
-   struct i915_power_well *power_well);
-   /*
-* Enable the well and resources that depend on it (for example
-* interrupts located on the well). Called after the 0->1 refcount
-* transition.
-*/
-   void (*enable)(struct drm_i915_private *dev_priv,
-  struct i915_power_well *power_well);
-   /*
-* Disable the well and resources that depend on it. Called after
-* the 1->0 refcount transition.
-*/
-   void (*disable)(struct drm_i915_private *dev_priv,
-   struct i915_power_well *power_well);
-   /* Returns the hw enabled state. */
-   bool (*is_enabled)(struct drm_i915_private *dev_priv,
-  struct i915_power_well *power_well);
-};
-
-struct i915_power_well_regs {
-   i915_reg_t bios;
-   i915_reg_t driver;
-   i915_reg_t kvmr;
-   i915_reg_t debug;
-};
-
-/* Power well structure for haswell */
-struct i915_power_well_desc {
-   const char *name;
-   bool always_on;
-   u64 domains;
-   /* unique identifier for this power well */
-   enum i915_power_well_id id;
-   /*
-* Arbitraty data associated with this power well. Platform and power
-* well specific.
-*/
-   union {
-   struct {
-   /*
-* request/status flag index in the PUNIT power well
-* control/status registers.
-*/
-   u8 idx;
-   } vlv;
-   struct {
-   enum dpio_phy phy;
-   } bxt;
-   struct {
-   const struct i915_power_well_regs *regs;
-   /*
-* request/status flag index in the power well
-* constrol/status registers.
-*/
-   u8 idx;
-   /* Mask of pipes whose IRQ logic is backed by the pw */
-   u8 irq_pipe_mask;
-   /* The pw is backing the VGA functionality */
-   bool has_vga:1;
-   bool has_fuses:1;
-   /*
-* The pw is for an ICL+ TypeC PHY port in
-* Thunderbolt mode.
-*/
-   bool is_tc_tbt:1;
-   } hsw;
-   };
-   const struct i915_power_well_ops *ops;
-};
-
-struct i915_power_well {
-   const struct i915_power_well_desc *desc;
-   /* power well enable/disable usage count */
-   int count;
-   /* cached hw enabled state */
-   bool hw_enabled;
-};
-
-struct i915_power_domains {
-   /*
-* Power wells needed for initialization at driver init and suspend
-* time are on. They are kept on until after the first modeset.
-*/
-   bool initializing;
-   bool display_core_suspended;
-   int power_well_count;
-
-   intel_wakeref_t wakeref;
-
-   struct mutex lock;
-   int domain_use_count[POWER_DOMAIN_NUM];
-
-   struct delayed_work async_put_work;
-   intel_wakeref_t async_put_wakeref;
-   u64 async_put_domains[2];
-
-   struct i915_power_well *power_wells;
-};
-
 #define MAX_L3_SLICES 2
 struct intel_l3_parity {
u32 *remap_info[MAX_L3_SLICES];
diff --git a/drivers/gpu/drm/i915/intel_display.h 
b/drivers/gpu/drm/i915/intel_display.h
index a43d54089be3..ee6b8194a459 100644
--- a/drivers/gpu/drm/i915/intel_display.h
+++ b/drivers/gpu/drm/i915/intel_display.h
@@ -220,64 +220,6 @@ enum aux_ch {
 
 #define aux_ch_name(a) ((a) + 'A')
 
-enum intel_display_power_domain {
-   POWER_DOMAIN_DISPLAY_CORE,
-   POWER_DOMAIN_PIPE_A,
-   POWE

[Intel-gfx] [PATCH 0/2] split out intel_display_power

2019-05-31 Thread Daniele Ceraolo Spurio
Separate the display PM from the PCI-level runtime PM.
I'll follow this up with v2 of the rpm encapsulation series [1], but
I'd like to get this in before that to avoid having to carry this
big dumb diff in that series.

[1] https://patchwork.freedesktop.org/series/60751/

Daniele Ceraolo Spurio (2):
  drm/i915: extract intel_display_power.h/c from intel_runtime_pm.h/c
  drm/i915: move more defs in intel_display_power.h

 drivers/gpu/drm/i915/Makefile  |1 +
 drivers/gpu/drm/i915/Makefile.header-test  |1 +
 drivers/gpu/drm/i915/i915_drv.h|  111 +-
 drivers/gpu/drm/i915/intel_display.h   |   82 -
 drivers/gpu/drm/i915/intel_display_power.c | 4612 +++
 drivers/gpu/drm/i915/intel_display_power.h |  288 ++
 drivers/gpu/drm/i915/intel_runtime_pm.c| 4791 +---
 drivers/gpu/drm/i915/intel_runtime_pm.h|   83 +-
 8 files changed, 5004 insertions(+), 4965 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_display_power.c
 create mode 100644 drivers/gpu/drm/i915/intel_display_power.h

-- 
2.20.1

___
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: Split off pci_driver.remove() tail to drm_driver.release() (rev2)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Split off pci_driver.remove() tail to drm_driver.release() 
(rev2)
URL   : https://patchwork.freedesktop.org/series/61376/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6169_full -> Patchwork_13139_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13139_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_6169/shard-apl1/igt@gem_ctx_isolat...@rcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-apl8/igt@gem_ctx_isolat...@rcs0-s3.html

  * igt@i915_pm_rpm@system-suspend-devices:
- shard-iclb: [PASS][3] -> [INCOMPLETE][4] ([fdo#107713] / 
[fdo#108840])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-iclb6/igt@i915_pm_...@system-suspend-devices.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-iclb1/igt@i915_pm_...@system-suspend-devices.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x128-offscreen:
- shard-skl:  [PASS][5] -> [FAIL][6] ([fdo#103232])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-skl5/igt@kms_cursor_...@pipe-a-cursor-128x128-offscreen.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-skl7/igt@kms_cursor_...@pipe-a-cursor-128x128-offscreen.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw:  [PASS][7] -> [FAIL][8] ([fdo#105767])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-hsw7/igt@kms_cursor_leg...@2x-long-cursor-vs-flip-atomic.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-hsw6/igt@kms_cursor_leg...@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
- shard-hsw:  [PASS][9] -> [SKIP][10] ([fdo#109271]) +9 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-hsw5/igt@kms_flip@2x-wf_vblank-ts-check.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-hsw1/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-apl:  [PASS][11] -> [FAIL][12] ([fdo#102887] / [fdo#105363])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-apl8/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-apl4/igt@kms_f...@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#108040])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-skl7/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-skl7/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +7 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-iclb4/igt@kms_frontbuffer_track...@fbc-1p-primscrn-spr-indfb-draw-pwrite.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt:
- shard-skl:  [PASS][17] -> [FAIL][18] ([fdo#103167])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-skl7/igt@kms_frontbuffer_track...@psr-1p-primscrn-indfb-msflip-blt.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-skl7/igt@kms_frontbuffer_track...@psr-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-kbl:  [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +1 
similar issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-kbl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-kbl6/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][21] -> [FAIL][22] ([fdo#108145])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-skl5/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/shard-skl7/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [PASS][23] -> [

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Always enable mmio debugging for CI (rev2)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Always enable mmio debugging for CI (rev2)
URL   : https://patchwork.freedesktop.org/series/48659/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6169_full -> Patchwork_13138_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13138_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13138_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_13138_full:

### IGT changes ###

 Possible regressions 

  * igt@kms_properties@connector-properties-atomic:
- shard-hsw:  [PASS][1] -> [FAIL][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-hsw8/igt@kms_propert...@connector-properties-atomic.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-hsw1/igt@kms_propert...@connector-properties-atomic.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@vecs0-s3:
- shard-apl:  [PASS][3] -> [DMESG-WARN][4] ([fdo#108566]) +4 
similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-apl2/igt@gem_ctx_isolat...@vecs0-s3.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-apl1/igt@gem_ctx_isolat...@vecs0-s3.html

  * igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
- shard-glk:  [PASS][5] -> [FAIL][6] ([fdo#102670])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-glk9/igt@kms_cursor_leg...@flip-vs-cursor-varying-size.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-glk2/igt@kms_cursor_leg...@flip-vs-cursor-varying-size.html

  * igt@kms_fbcon_fbt@psr-suspend:
- shard-skl:  [PASS][7] -> [INCOMPLETE][8] ([fdo#104108]) +1 
similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-skl5/igt@kms_fbcon_...@psr-suspend.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-skl2/igt@kms_fbcon_...@psr-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  [PASS][9] -> [FAIL][10] ([fdo#105363]) +1 similar 
issue
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-skl3/igt@kms_f...@flip-vs-expired-vblank.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-skl9/igt@kms_f...@flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-msflip-blt:
- shard-hsw:  [PASS][11] -> [SKIP][12] ([fdo#109271]) +4 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-hsw8/igt@kms_frontbuffer_track...@fbc-2p-scndscrn-indfb-msflip-blt.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-hsw1/igt@kms_frontbuffer_track...@fbc-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-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_6169/shard-kbl1/igt@kms_frontbuffer_track...@fbc-suspend.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-kbl6/igt@kms_frontbuffer_track...@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +7 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-iclb4/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-iclb4/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.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_6169/shard-skl2/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-skl10/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#103166]) +1 similar 
issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/shard-iclb3/igt@kms_plane_low...@pipe-a-tiling-x.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/shard-iclb6/igt@kms_plane_low...@pipe-a-tiling-x.html

  * igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm: Flush output polling on shutdown (rev4)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown (rev4)
URL   : https://patchwork.freedesktop.org/series/61442/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13153


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13153 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13153, 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_13153/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   NOTRUN -> [FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-kbl-8809g/igt@amdgpu/amd_ba...@userptr.html

  
 Suppressed 

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_selftest@live_mman}:
- fi-bxt-dsi: NOTRUN -> [TIMEOUT][2]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-bxt-dsi/igt@i915_selftest@live_mman.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_basic@basic-all:
- fi-icl-y:   [PASS][3] -> [INCOMPLETE][4] ([fdo#107713])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-y/igt@gem_exec_ba...@basic-all.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-icl-y/igt@gem_exec_ba...@basic-all.html

  * igt@gem_exec_suspend@basic-s3:
- fi-icl-u3:  [PASS][5] -> [DMESG-WARN][6] ([fdo#110718])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u3/igt@gem_exec_susp...@basic-s3.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-icl-u3/igt@gem_exec_susp...@basic-s3.html

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   [PASS][7] -> [INCOMPLETE][8] ([fdo#107718])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html

  * igt@gem_ringfill@basic-default-forked:
- fi-pnv-d510:[PASS][9] -> [INCOMPLETE][10] ([fdo#110740])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-pnv-d510/igt@gem_ringf...@basic-default-forked.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-pnv-d510/igt@gem_ringf...@basic-default-forked.html

  * igt@gem_workarounds@basic-read:
- fi-icl-u3:  [PASS][11] -> [DMESG-WARN][12] ([fdo#107724]) +1 
similar issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u3/igt@gem_workarou...@basic-read.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-icl-u3/igt@gem_workarou...@basic-read.html

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u2:  [PASS][13] -> [INCOMPLETE][14] ([fdo#107713] / 
[fdo#108569])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-icl-u2/igt@i915_selftest@live_hangcheck.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u2:  [PASS][15] -> [FAIL][16] ([fdo#103167])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html

  
 Possible fixes 

  * igt@gem_ctx_create@basic-files:
- {fi-icl-guc}:   [INCOMPLETE][17] ([fdo#107713] / [fdo#109100]) -> 
[PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-kbl-8809g:   [INCOMPLETE][19] ([fdo#103665] / [fdo#107139] / 
[fdo#108126]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13153/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html

  * igt@i915_selftest@live_contexts:
- fi-bdw-gvtdvm:  [DMESG-FAIL][21] ([fdo#110235]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patc

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Report all objects with allocated pages to the shrinker

2019-05-31 Thread Chris Wilson
Quoting Matthew Auld (2019-05-31 21:06:46)
> On Thu, 30 May 2019 at 21:35, Chris Wilson  wrote:
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c 
> > b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > index 9080a736663a..8b3a23bff7f6 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > @@ -690,7 +690,8 @@ i915_gem_object_create_stolen_for_preallocated(struct 
> > drm_i915_private *dev_priv
> > mutex_unlock(&ggtt->vm.mutex);
> >
> > spin_lock(&dev_priv->mm.obj_lock);
> > -   list_move_tail(&obj->mm.link, &dev_priv->mm.bound_list);
> > +   if (i915_gem_object_is_shrinkable(obj))
> > +   list_move_tail(&obj->mm.link, &dev_priv->mm.bound_list);
> 
> Always false, no, or maybe just future thinking?

Always false, I was just thinking of being consistent (i.e. I grepped
for bound_list). Probably better to mark it with a GEM_BUG_ON indeed.
-Chris
___
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: Report all objects with allocated pages to the shrinker

2019-05-31 Thread Matthew Auld
On Thu, 30 May 2019 at 21:35, Chris Wilson  wrote:
>
> Currently, we try to report to the shrinker the precise number of
> objects (pages) that are available to be reaped at this moment. This
> requires searching all objects with allocated pages to see if they
> fulfill the search criteria, and this count is performed quite
> frequently. (The shrinker tries to free ~128 pages on each invocation,
> before which we count all the objects; counting takes longer than
> unbinding the objects!) If we take the pragmatic view that with
> sufficient desire, all objects are eventually reapable (they become
> inactive, or no longer used as framebuffer etc), we can simply return
> the count of pinned pages maintained during get_pages/put_pages rather
> than walk the lists every time.
>
> The downside is that we may (slightly) over-report the number of
> objects/pages we could shrink and so penalize ourselves by shrinking
> more than required. This is mitigated by keeping the order in which we
> shrink objects such that we avoid penalizing active and frequently used
> objects, and if memory is so tight that we need to free them we would
> need to anyway.
>
> v2: Only expose shrinkable objects to the shrinker; a small reduction in
> not considering stolen and foreign objects.
> v3: Restore the tracking from a "backup" copy from before the gem/ split
>
> Signed-off-by: Chris Wilson 
> Cc: Joonas Lahtinen 
> Cc: Matthew Auld 
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_domain.c   |  3 +-
>  drivers/gpu/drm/i915/gem/i915_gem_object.c   | 33 +++
>  drivers/gpu/drm/i915/gem/i915_gem_pages.c| 20 +--
>  drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 28 ++
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c   |  3 +-
>  drivers/gpu/drm/i915/i915_debugfs.c  | 58 ++--
>  drivers/gpu/drm/i915/i915_drv.h  |  7 +--
>  drivers/gpu/drm/i915/i915_gem.c  | 23 
>  drivers/gpu/drm/i915/i915_vma.c  | 16 --
>  9 files changed, 63 insertions(+), 128 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_domain.c 
> b/drivers/gpu/drm/i915/gem/i915_gem_domain.c
> index 52b73e90c9f4..e5deae62681f 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_domain.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_domain.c
> @@ -475,7 +475,8 @@ static void i915_gem_object_bump_inactive_ggtt(struct 
> drm_i915_gem_object *obj)
> }
> mutex_unlock(&i915->ggtt.vm.mutex);
>
> -   if (obj->mm.madv == I915_MADV_WILLNEED) {
> +   if (i915_gem_object_is_shrinkable(obj) &&
> +   obj->mm.madv == I915_MADV_WILLNEED) {
> struct list_head *list;
>
> spin_lock(&i915->mm.obj_lock);
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c 
> b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> index a42763e4dd5f..49c959c11b2a 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> @@ -44,25 +44,6 @@ void i915_gem_object_free(struct drm_i915_gem_object *obj)
> return kmem_cache_free(global.slab_objects, obj);
>  }
>
> -/* some bookkeeping */
> -static void i915_gem_info_add_obj(struct drm_i915_private *i915,
> - u64 size)
> -{
> -   spin_lock(&i915->mm.object_stat_lock);
> -   i915->mm.object_count++;
> -   i915->mm.object_memory += size;
> -   spin_unlock(&i915->mm.object_stat_lock);
> -}
> -
> -static void i915_gem_info_remove_obj(struct drm_i915_private *i915,
> -u64 size)
> -{
> -   spin_lock(&i915->mm.object_stat_lock);
> -   i915->mm.object_count--;
> -   i915->mm.object_memory -= size;
> -   spin_unlock(&i915->mm.object_stat_lock);
> -}
> -
>  static void
>  frontbuffer_retire(struct i915_active_request *active,
>struct i915_request *request)
> @@ -98,8 +79,6 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
> obj->mm.madv = I915_MADV_WILLNEED;
> INIT_RADIX_TREE(&obj->mm.get_page.radix, GFP_KERNEL | __GFP_NOWARN);
> mutex_init(&obj->mm.get_page.lock);
> -
> -   i915_gem_info_add_obj(to_i915(obj->base.dev), obj->base.size);
>  }
>
>  /**
> @@ -163,11 +142,14 @@ void i915_gem_close_object(struct drm_gem_object *gem, 
> struct drm_file *file)
>
>  static bool discard_backing_storage(struct drm_i915_gem_object *obj)
>  {
> -   /* If we are the last user of the backing storage (be it shmemfs
> +   /*
> +* If we are the last user of the backing storage (be it shmemfs
>  * pages or stolen etc), we know that the pages are going to be
>  * immediately released. In this case, we can then skip copying
>  * back the contents from the GPU.
>  */
> +   if (!i915_gem_object_is_shrinkable(obj))
> +   return false;
>
> if (obj->mm.madv != I915_MADV_WILLNEED)
> return false;
> @@ -208,13 +190,15 @@ static void __i915_gem_free_objects(

[Intel-gfx] question about i915 GPU driver in VM

2019-05-31 Thread Micah Morton
Hi,

I'm trying to get iGPU passthrough working in a VM running on a Chrome
OS "7th Generation (Kaby Lake) Intel Core i5-7Y57 with HD Graphics
615" device. I'm able to pass the iGPU through to the VM and execute
the i915 driver, but the driver doesn't succeed in getting the system
to the point where the screen works.

With physical access to the iGPU from inside the guest, is it
reasonable to just run the same kernel/driver that works on the host
and expect it to work? Or are there often extra hoops to jump through
even with physical/unemulated access to the host GPU and CPU?

On a higher level, it would help if anyone had an idea from the logs
below if I'm "close" to getting this to work? Or maybe its hard to
say?

NOTE: I totally avoid touching the GPU in the host, and have verified
that the i915 driver in the guest should have all the info (e.g.
OpRegion tables) it needs to drive the GPU. Interestingly, running
i915 in the VM causes the VM kernel to crash at random code paths
unless I wait until after system startup to modprobe i915. The VM
doesn't crash at all if I disable i915. These crashes happen well
after i915 is done trying to initialize the GPU, so not sure if i915
is touching memory it shouldn't be or what..

Thanks,
Micah

KERNEL CONSOLE (modified for brevity):
localhost ~ # qemu-system-x86_64 -serial mon:stdio -m 2G -smp 2 -M pc
-vga none -usbdevice tablet -cpu host,-invpcid,-tsc-deadline,check
-drive 
'file=/mnt/stateful_partition/chromiumos_test_image.bin,index=0,media=disk,cache=unsafe,format=raw'
-enable-kvm -device
vfio-pci,x-igd-opregion=on,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2,rombar=0
-device 'virtio-net,netdev=eth0' -netdev
'user,id=eth0,net=10.0.2.0/27,hostfwd=tcp:127.0.0.1:9222-:22'
qemu-system-x86_64: -usbdevice tablet: '-usbdevice' is deprecated,
please use '-device usb-...' instead
qemu-system-x86_64: -device
vfio-pci,x-igd-opregion=on,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2,rombar=0:
IGD device :00:02.0 has no ROM, legacy mode disabled
VNC server running on 127.0.0.1:5900
[0.00] Linux version 4.14.114
(mort...@mortonm2.mtv.corp.google.com) (Chromium OS
9.0_pre353983_p20190325-r11 clang version 9.0.0
(/var/cache/chromeos-cache/distfiles/host/egit-src/clang.git
171531e31716e2db2c372cf8b57220ddf9e721d8)
(/var/cache/chromeos-cache/distfiles/host/egit-src/llvm.git
5077597e0d5b86d9f9c27286d8b28f8b3645a74c) (based on LLVM 9.0.0svn))
#14 SMP PREEMPT Fri May 31 09:50:35 PDT 2019
[0.00] Command line: BOOT_IMAGE=vmlinuz.A init=/sbin/init
boot=local rootwait ro noresume noswap loglevel=7 noinitrd
console=ttyS0 disablevmx=off
root=PARTUUID=60B83A78-8581-014B-8942-6128789234C3 i915.modeset=1
cros_legacy cros_debug

[snip]

[0.00] Reserving Intel graphics memory at [mem 0x7c00-0x7fff]

[snip]

[0.415534] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
[0.416418] [drm:i915_driver_load] Assuming SunrisePoint PCH
[0.417296] [drm:intel_power_domains_init] Allowed DC state mask 03
[0.418290] [drm:intel_device_info_dump] i915 device info:
platform=KABYLAKE gen=9 pciid=0x591e rev=0x02
[0.418292] [drm:intel_device_info_dump] i915 device info: is_mobile: no
[0.419684] [drm:intel_device_info_dump] i915 device info: is_lp: no
[0.420740] [drm:intel_device_info_dump] i915 device info:
is_alpha_support: no
[0.421712] [drm:intel_device_info_dump] i915 device info:
has_64bit_reloc: yes
[0.422806] [drm:intel_device_info_dump] i915 device info:
has_aliasing_ppgtt: yes
[0.423900] [drm:intel_device_info_dump] i915 device info: has_csr: yes
[0.425036] [drm:intel_device_info_dump] i915 device info: has_ddi: yes
[0.426033] [drm:intel_device_info_dump] i915 device info: has_dp_mst: yes
[0.427040] [drm:intel_device_info_dump] i915 device info:
has_reset_engine: yes
[0.428076] [drm:intel_device_info_dump] i915 device info: has_fbc: yes
[0.429180] [drm:intel_device_info_dump] i915 device info: has_fpga_dbg: yes
[0.430181] [drm:intel_device_info_dump] i915 device info:
has_full_ppgtt: yes
[0.431726] [drm:intel_device_info_dump] i915 device info:
has_full_48bit_ppgtt: yes
[0.432810] [drm:intel_device_info_dump] i915 device info:
has_gmch_display: no
[0.433963] [drm:intel_device_info_dump] i915 device info: has_guc: yes
[0.435059] [drm:intel_device_info_dump] i915 device info: has_guc_ct: no
[0.436061] [drm:intel_device_info_dump] i915 device info: has_hotplug: yes
[0.437087] [drm:intel_device_info_dump] i915 device info: has_l3_dpf: no
[0.438136] [drm:intel_device_info_dump] i915 device info: has_llc: yes
[0.439159] [drm:intel_device_info_dump] i915 device info:
has_logical_ring_contexts: yes
[0.440158] [drm:intel_device_info_dump] i915 device info:
has_logical_ring_preemption: yes
[0.441370] [drm:intel_device_info_dump] i915 device info: has_overlay: no
[0.442604] [drm:intel_device_info_dump] i915 device info: has_pipe_cxsr: no
[0.443636] [drm:intel_device_info_d

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm: Flush output polling on shutdown (rev3)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown (rev3)
URL   : https://patchwork.freedesktop.org/series/61442/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13152


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13152 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13152, 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_13152/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_module_load@reload-no-display:
- fi-bsw-kefka:   [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bsw-kefka/igt@i915_module_l...@reload-no-display.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-bsw-kefka/igt@i915_module_l...@reload-no-display.html
- fi-skl-6700k2:  [PASS][3] -> [DMESG-WARN][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-6700k2/igt@i915_module_l...@reload-no-display.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-skl-6700k2/igt@i915_module_l...@reload-no-display.html
- fi-elk-e7500:   [PASS][5] -> [DMESG-WARN][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-elk-e7500/igt@i915_module_l...@reload-no-display.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-elk-e7500/igt@i915_module_l...@reload-no-display.html
- fi-skl-iommu:   [PASS][7] -> [DMESG-WARN][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-iommu/igt@i915_module_l...@reload-no-display.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-skl-iommu/igt@i915_module_l...@reload-no-display.html
- fi-byt-j1900:   [PASS][9] -> [DMESG-WARN][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-byt-j1900/igt@i915_module_l...@reload-no-display.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-byt-j1900/igt@i915_module_l...@reload-no-display.html
- fi-skl-6600u:   [PASS][11] -> [DMESG-WARN][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-6600u/igt@i915_module_l...@reload-no-display.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-skl-6600u/igt@i915_module_l...@reload-no-display.html
- fi-pnv-d510:[PASS][13] -> [DMESG-WARN][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-pnv-d510/igt@i915_module_l...@reload-no-display.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-pnv-d510/igt@i915_module_l...@reload-no-display.html
- fi-whl-u:   [PASS][15] -> [DMESG-WARN][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-whl-u/igt@i915_module_l...@reload-no-display.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-whl-u/igt@i915_module_l...@reload-no-display.html
- fi-icl-dsi: [PASS][17] -> [DMESG-WARN][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-dsi/igt@i915_module_l...@reload-no-display.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-icl-dsi/igt@i915_module_l...@reload-no-display.html
- fi-bwr-2160:[PASS][19] -> [DMESG-WARN][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bwr-2160/igt@i915_module_l...@reload-no-display.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-bwr-2160/igt@i915_module_l...@reload-no-display.html
- fi-kbl-r:   [PASS][21] -> [DMESG-WARN][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-r/igt@i915_module_l...@reload-no-display.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-kbl-r/igt@i915_module_l...@reload-no-display.html
- fi-blb-e6850:   [PASS][23] -> [DMESG-WARN][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-blb-e6850/igt@i915_module_l...@reload-no-display.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-blb-e6850/igt@i915_module_l...@reload-no-display.html
- fi-kbl-8809g:   NOTRUN -> [DMESG-WARN][25]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-kbl-8809g/igt@i915_module_l...@reload-no-display.html
- fi-kbl-7567u:   [PASS][26] -> [DMESG-WARN][27]
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-7567u/igt@i915_module_l...@reload-no-display.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13152/fi-kbl-7567u/igt@i915_module_l...@reload-no-display.html
- fi-icl-y:   

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Flush output polling on shutdown (rev4)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown (rev4)
URL   : https://patchwork.freedesktop.org/series/61442/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
cb261a291f72 drm: Flush output polling on shutdown
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#11: 
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50

total: 0 errors, 1 warnings, 0 checks, 21 lines checked

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

Re: [Intel-gfx] [PATCH i-g-t 5/5] lib/igt_core: add -h to usage

2019-05-31 Thread Lucas De Marchi

On Fri, May 31, 2019 at 01:07:33PM +0300, Petri Latvala wrote:

On Wed, May 29, 2019 at 04:27:37PM -0700, Lucas De Marchi wrote:

We also accept the short option -h.

Signed-off-by: Lucas De Marchi 


Reviewed-by: Petri Latvala 

Please send (CC or otherwise) IGT patches to igt-dev in the future, please.


yeah, I was doing it from a different machine and went the route of
opening the mailing list and copy the address from someone's patch.
Just to realize later his patch was sent to both mailing lists and I
copied only the wrong one.

thanks for the review

Lucas De Marchi







---
 lib/igt_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index a0b7e581..6b9f0425 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -558,7 +558,7 @@ static void print_usage(const char *help_str, bool 
output_on_stderr)
   "  --debug[=log-domain]\n"
   "  --interactive-debug[=domain]\n"
   "  --help-description\n"
-  "  --help\n");
+  "  --help|-h\n");
if (help_str)
fprintf(f, "%s\n", help_str);
 }
--
2.21.0

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

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

[Intel-gfx] [PATCH v2] drm: Flush output polling on shutdown

2019-05-31 Thread Chris Wilson
We need to mark the output polling as disabled to prevent concurrent
irqs from queuing new work as shutdown the probe -- causing that work to
execute after we have freed the structs:

<4> [341.846490] DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock))
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50
<4> [341.846508] Modules linked in: i915(-) vgem thunderbolt snd_hda_codec_hdmi 
snd_hda_codec_realtek snd_hda_codec_generic mei_hdcp x86_pkg_temp_thermal 
coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_codec 
snd_hwdep snd_hda_core snd_pcm mcs7830 btusb usbnet btrtl mii btbcm btintel 
bluetooth ecdh_generic ecc mei_me mei prime_numbers i2c_hid 
pinctrl_sunrisepoint pinctrl_intel [last unloaded: i915]
<4> [341.846546] CPU: 3 PID: 3300 Comm: i915_module_loa Tainted: G U
5.2.0-rc2-CI-CI_DRM_6175+ #1
<4> [341.846553] Hardware name: Dell Inc. XPS 13 9360/0823VW, BIOS 2.9.0 
07/09/2018
<4> [341.846560] RIP: 0010:mutex_destroy+0x49/0x50
<4> [341.846565] Code: 00 00 5b c3 e8 a8 9f 3b 00 85 c0 74 ed 8b 05 3e 55 23 01 
85 c0 75 e3 48 c7 c6 00 d0 08 82 48 c7 c7 a8 aa 07 82 e8 e7 08 fa ff <0f> 0b eb 
cc 0f 1f 00 48 b8 11 11 11 11 11 11 11 11 48 89 76 20 48
<4> [341.846578] RSP: 0018:c96cfdb0 EFLAGS: 00010286
<4> [341.846583] RAX:  RBX: 88826759a168 RCX: 

<4> [341.846589] RDX: 0002 RSI:  RDI: 
8112844c
<4> [341.846595] RBP: 8882708fa548 R08:  R09: 
00039600
<4> [341.846601] R10:  R11: 0ce4 R12: 
a07de1e0
<4> [341.846607] R13:  R14:  R15: 
a07de2d0
<4> [341.846613] FS:  7f62b5ae0e40() GS:88827638() 
knlGS:
<4> [341.846620] CS:  0010 DS:  ES:  CR0: 80050033
<4> [341.846626] CR2: 55a4e064f4a0 CR3: 000266b16006 CR4: 
003606e0
<4> [341.846632] Call Trace:
<4> [341.846639]  drm_fb_helper_fini.part.17+0xb3/0x100
<4> [341.846682]  intel_fbdev_fini+0x20/0x80 [i915]
<4> [341.846722]  intel_modeset_cleanup+0x9a/0x140 [i915]
<4> [341.846750]  i915_driver_unload+0xa3/0x100 [i915]
<4> [341.846778]  i915_pci_remove+0x19/0x30 [i915]
<4> [341.846784]  pci_device_remove+0x36/0xb0
<4> [341.846790]  device_release_driver_internal+0xd3/0x1b0
<4> [341.846795]  driver_detach+0x3f/0x80
<4> [341.846800]  bus_remove_driver+0x53/0xd0
<4> [341.846805]  pci_unregister_driver+0x25/0xa0
<4> [341.846843]  i915_exit+0x16/0x1c [i915]
<4> [341.846849]  __se_sys_delete_module+0x162/0x210
<4> [341.846855]  ? trace_hardirqs_off_thunk+0x1a/0x1c
<4> [341.846859]  ? do_syscall_64+0xd/0x1c0
<4> [341.846864]  do_syscall_64+0x55/0x1c0
<4> [341.846869]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [341.846875] RIP: 0033:0x7f62b51871b7
<4> [341.846881] Code: 73 01 c3 48 8b 0d d1 8c 2c 00 f7 d8 64 89 01 48 83 c8 ff 
c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 b0 00 00 00 0f 05 <48> 3d 01 
f0 ff ff 73 01 c3 48 8b 0d a1 8c 2c 00 f7 d8 64 89 01 48
<4> [341.846897] RSP: 002b:7ffe7a227138 EFLAGS: 0206 ORIG_RAX: 
00b0
<4> [341.846904] RAX: ffda RBX: 7ffe7a2272b0 RCX: 
7f62b51871b7
<4> [341.846910] RDX: 0001 RSI: 0800 RDI: 
557cd6b55948
<4> [341.846916] RBP: 557cd6b558e0 R08: 557cd6b5594c R09: 
7ffe7a227160
<4> [341.846922] R10: 7ffe7a226134 R11: 0206 R12: 

<4> [341.846927] R13: 7ffe7a227820 R14:  R15: 

<4> [341.846936] irq event stamp: 3547847
<4> [341.846940] hardirqs last  enabled at (3547847): [] 
_raw_spin_unlock_irqrestore+0x4c/0x60
<4> [341.846949] hardirqs last disabled at (3547846): [] 
_raw_spin_lock_irqsave+0xd/0x50
<4> [341.846957] softirqs last  enabled at (3547376): [] 
__do_softirq+0x33a/0x4b9
<4> [341.846966] softirqs last disabled at (3547367): [] 
irq_exit+0xa9/0xc0
<4> [341.846973] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50
<4> [341.846980] ---[ end trace ba94ca8952ba970e ]---
<7> [341.866547] [drm:intel_dp_detect [i915]] MST support? port A: no, sink: 
no, modparam: yes
<7> [341.890480] [drm:drm_add_display_info] non_desktop set to 0
<7> [341.890530] [drm:drm_add_edid_modes] ELD: no CEA Extension found
<7> [341.890537] [drm:drm_add_display_info] non_desktop set to 0
<7> [341.890578] [drm:drm_helper_probe_single_connector_modes] 
[CONNECTOR:86:eDP-1] probed modes :
<7> [341.890589] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 60 
373250 3200 3248 3280 3360 1800 1803 1808 1852 0x48 0xa
<7> [341.890602] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 48 
298600 3200 3248 3280 3360 1800 1803 1808 1852 0x40 0xa
<4> [341.890628] general protection fault:  [#1] PREEMPT SMP PTI
<4> [341.890636] CPU: 0 PID: 508 Comm: kworker/0:4 Tainted: G U  W 
5.2.0-rc2-CI-CI_DRM_6175+ #1
<4> [341.890646] Hardware na

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Flush output polling on shutdown (rev3)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown (rev3)
URL   : https://patchwork.freedesktop.org/series/61442/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
790ebdd5fd02 drm: Flush output polling on shutdown
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#11: 
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50

total: 0 errors, 1 warnings, 0 checks, 18 lines checked

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

Re: [Intel-gfx] [PATCH 3/3] drm/i915/huc: Update HuC status codes

2019-05-31 Thread Michal Wajdeczko
On Fri, 31 May 2019 12:13:20 +0200, Joonas Lahtinen  
 wrote:



Quoting Michal Wajdeczko (2019-05-23 01:25:00)

On Wed, 22 May 2019 22:19:47 +0200, Chris Wilson
 wrote:

> Quoting Michal Wajdeczko (2019-05-22 20:00:57)
>> Without breaking existing usage, slightly update HuC status codes
>> to provide more info to the clients:
>>  1 if HuC firmware is loaded and verified,
>>  0 if HuC firmware is not enabled,
>>  -ENOPKG if HuC firmware is not loaded,
>>  -ENODEV if HuC is not present on this platform.
>>
>> Signed-off-by: Michal Wajdeczko 
>> Cc: Chris Wilson 
>> Cc: Tony Ye 
>> ---
>>  drivers/gpu/drm/i915/intel_huc.c | 13 +
>>  1 file changed, 9 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_huc.c
>> b/drivers/gpu/drm/i915/intel_huc.c
>> index aac17916e130..98deb4ee60a7 100644
>> --- a/drivers/gpu/drm/i915/intel_huc.c
>> +++ b/drivers/gpu/drm/i915/intel_huc.c
>> @@ -150,9 +150,11 @@ int intel_huc_auth(struct intel_huc *huc)
>>   * intel_huc_check_status() - check HuC status
>>   * @huc: intel_huc structure
>>   *
>> - * Returns: 1 if HuC firmware is loaded and verified,
>> - * 0 if HuC firmware is not loaded and -ENODEV if HuC
>> - * is not present on this platform.
>> + * Return:
>> + * * 1 if HuC firmware is loaded and verified,
>> + * * 0 if HuC firmware is not enabled,
>> + * * -ENOPKG if HuC firmware is not loaded,
>> + * * -ENODEV if HuC is not present on this platform.
>>   */
>>  int intel_huc_check_status(struct intel_huc *huc)
>>  {
>> @@ -161,5 +163,8 @@ int intel_huc_check_status(struct intel_huc *huc)
>> if (!HAS_HUC(i915))
>> return -ENODEV;
>>
>> -   return huc->verified;
>> +   if (!USES_HUC(i915))
>> +   return 0;
>> +
>> +   return huc->verified ? 1 : -ENOPKG;
>
> I still think EOPNOTSUPP is a better error though for the user
> preventing the huc being loaded -- as opposed to the result of
> verification being the non-error value.
>
> error == unable to setup huc
> 0/1 == result from talking to huc

but your 0 here overlaps with unable to setup huc error,
so from the ABI perspective, imho, is bad.

also, from media team pov, as they want to have HuC always on,
the only non-error case is when user explicitly decided otherwise.


Trying to look things from external perspective, if  
HUC_(AUTHENTICATION_)STATUS
is queried 1 => "authenticated", 0 => "not authenticated" makes most  
sense.


If you want to treat that as "authenticated" status then I fully agree.

But authentication status is just a one technical detail how we load
the firmware on hardware. Users mainly want to check if HuC was correctly
enabled on their system, so this is more like HUC_(ENABLED_)STATUS.

Then we have 1 => "enabled/active" and 0 => "disabled"



Both media drivers also first check for errors, then convert the return
value to boolean, so it would be compatible with that.


Both solutions are compatible with current media drivers implementations,
we don't want to break ABI, just to make it more useful.

Now these drivers just checks for success of the ioctl() call alone and
ignore any reported error since we don't provide any meaningful codes
why HuC is not working. We forced them to check dmesg for any hint.

Providing clear notation of 1(active) 0(disabled) and set of possible
errno codes why not explicitly disabled HuC is not working well, will,
imho, be much more useful than 1(authenticated) and 0(not authenticated,
dunno why)

Again, proposed here approach is aligned with Tony's opinion.

Regards,
Michal



Regards, Joonas

___
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: Flush output polling on shutdown (rev2)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown (rev2)
URL   : https://patchwork.freedesktop.org/series/61442/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13151


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13151 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13151, 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_13151/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_module_load@reload-no-display:
- fi-bsw-kefka:   [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bsw-kefka/igt@i915_module_l...@reload-no-display.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-bsw-kefka/igt@i915_module_l...@reload-no-display.html
- fi-skl-6700k2:  [PASS][3] -> [DMESG-WARN][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-6700k2/igt@i915_module_l...@reload-no-display.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-skl-6700k2/igt@i915_module_l...@reload-no-display.html
- fi-elk-e7500:   [PASS][5] -> [DMESG-WARN][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-elk-e7500/igt@i915_module_l...@reload-no-display.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-elk-e7500/igt@i915_module_l...@reload-no-display.html
- fi-skl-iommu:   [PASS][7] -> [DMESG-WARN][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-iommu/igt@i915_module_l...@reload-no-display.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-skl-iommu/igt@i915_module_l...@reload-no-display.html
- fi-byt-j1900:   [PASS][9] -> [DMESG-WARN][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-byt-j1900/igt@i915_module_l...@reload-no-display.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-byt-j1900/igt@i915_module_l...@reload-no-display.html
- fi-skl-6600u:   [PASS][11] -> [DMESG-WARN][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-6600u/igt@i915_module_l...@reload-no-display.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-skl-6600u/igt@i915_module_l...@reload-no-display.html
- fi-pnv-d510:[PASS][13] -> [DMESG-WARN][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-pnv-d510/igt@i915_module_l...@reload-no-display.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-pnv-d510/igt@i915_module_l...@reload-no-display.html
- fi-whl-u:   [PASS][15] -> [DMESG-WARN][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-whl-u/igt@i915_module_l...@reload-no-display.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-whl-u/igt@i915_module_l...@reload-no-display.html
- fi-icl-dsi: [PASS][17] -> [DMESG-WARN][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-dsi/igt@i915_module_l...@reload-no-display.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-icl-dsi/igt@i915_module_l...@reload-no-display.html
- fi-bwr-2160:[PASS][19] -> [DMESG-WARN][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bwr-2160/igt@i915_module_l...@reload-no-display.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-bwr-2160/igt@i915_module_l...@reload-no-display.html
- fi-kbl-r:   [PASS][21] -> [DMESG-WARN][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-r/igt@i915_module_l...@reload-no-display.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-kbl-r/igt@i915_module_l...@reload-no-display.html
- fi-blb-e6850:   [PASS][23] -> [DMESG-WARN][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-blb-e6850/igt@i915_module_l...@reload-no-display.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-blb-e6850/igt@i915_module_l...@reload-no-display.html
- fi-kbl-8809g:   NOTRUN -> [DMESG-WARN][25]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-kbl-8809g/igt@i915_module_l...@reload-no-display.html
- fi-kbl-7567u:   [PASS][26] -> [DMESG-WARN][27]
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-7567u/igt@i915_module_l...@reload-no-display.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13151/fi-kbl-7567u/igt@i915_module_l...@reload-no-display.html
- fi-icl-y:   

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm: Flush output polling on shutdown

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown
URL   : https://patchwork.freedesktop.org/series/61442/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13150


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13150 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13150, 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_13150/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_module_load@reload-no-display:
- fi-bsw-kefka:   [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bsw-kefka/igt@i915_module_l...@reload-no-display.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-bsw-kefka/igt@i915_module_l...@reload-no-display.html
- fi-skl-6700k2:  [PASS][3] -> [DMESG-WARN][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-6700k2/igt@i915_module_l...@reload-no-display.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-skl-6700k2/igt@i915_module_l...@reload-no-display.html
- fi-elk-e7500:   [PASS][5] -> [DMESG-WARN][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-elk-e7500/igt@i915_module_l...@reload-no-display.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-elk-e7500/igt@i915_module_l...@reload-no-display.html
- fi-skl-iommu:   [PASS][7] -> [DMESG-WARN][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-iommu/igt@i915_module_l...@reload-no-display.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-skl-iommu/igt@i915_module_l...@reload-no-display.html
- fi-byt-j1900:   [PASS][9] -> [DMESG-WARN][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-byt-j1900/igt@i915_module_l...@reload-no-display.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-byt-j1900/igt@i915_module_l...@reload-no-display.html
- fi-skl-6600u:   [PASS][11] -> [DMESG-WARN][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-6600u/igt@i915_module_l...@reload-no-display.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-skl-6600u/igt@i915_module_l...@reload-no-display.html
- fi-pnv-d510:[PASS][13] -> [DMESG-WARN][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-pnv-d510/igt@i915_module_l...@reload-no-display.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-pnv-d510/igt@i915_module_l...@reload-no-display.html
- fi-whl-u:   [PASS][15] -> [DMESG-WARN][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-whl-u/igt@i915_module_l...@reload-no-display.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-whl-u/igt@i915_module_l...@reload-no-display.html
- fi-icl-dsi: [PASS][17] -> [DMESG-WARN][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-dsi/igt@i915_module_l...@reload-no-display.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-icl-dsi/igt@i915_module_l...@reload-no-display.html
- fi-bwr-2160:[PASS][19] -> [DMESG-WARN][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bwr-2160/igt@i915_module_l...@reload-no-display.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-bwr-2160/igt@i915_module_l...@reload-no-display.html
- fi-kbl-r:   [PASS][21] -> [DMESG-WARN][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-r/igt@i915_module_l...@reload-no-display.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-kbl-r/igt@i915_module_l...@reload-no-display.html
- fi-blb-e6850:   [PASS][23] -> [DMESG-WARN][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-blb-e6850/igt@i915_module_l...@reload-no-display.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-blb-e6850/igt@i915_module_l...@reload-no-display.html
- fi-kbl-8809g:   NOTRUN -> [DMESG-WARN][25]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-kbl-8809g/igt@i915_module_l...@reload-no-display.html
- fi-kbl-7567u:   [PASS][26] -> [DMESG-WARN][27]
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-7567u/igt@i915_module_l...@reload-no-display.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13150/fi-kbl-7567u/igt@i915_module_l...@reload-no-display.html
- fi-icl-y:   [PA

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl
URL   : https://patchwork.freedesktop.org/series/61299/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6163_full -> Patchwork_13124_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@bcs0-s3:
- shard-kbl:  [PASS][1] -> ([PASS][2], [DMESG-WARN][3]) 
([fdo#108566]) +1 similar issue
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl3/igt@gem_ctx_isolat...@bcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl2/igt@gem_ctx_isolat...@bcs0-s3.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl6/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_exec_suspend@basic-s4-devices:
- shard-apl:  [PASS][4] -> ([INCOMPLETE][5], [INCOMPLETE][6]) 
([fdo#103927])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl6/igt@gem_exec_susp...@basic-s4-devices.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl5/igt@gem_exec_susp...@basic-s4-devices.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@gem_exec_susp...@basic-s4-devices.html

  * igt@gem_softpin@noreloc-s3:
- shard-apl:  [PASS][7] -> ([DMESG-WARN][8], [DMESG-WARN][9]) 
([fdo#108566]) +3 similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl3/igt@gem_soft...@noreloc-s3.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@gem_soft...@noreloc-s3.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl7/igt@gem_soft...@noreloc-s3.html

  * igt@gem_tiled_swapping@non-threaded:
- shard-kbl:  [PASS][10] -> ([PASS][11], [DMESG-WARN][12]) 
([fdo#108686])
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl3/igt@gem_tiled_swapp...@non-threaded.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl3/igt@gem_tiled_swapp...@non-threaded.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-kbl4/igt@gem_tiled_swapp...@non-threaded.html
- shard-snb:  [PASS][13] -> ([FAIL][14], [DMESG-WARN][15]) 
([fdo#108686])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-snb2/igt@gem_tiled_swapp...@non-threaded.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-snb5/igt@gem_tiled_swapp...@non-threaded.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-snb6/igt@gem_tiled_swapp...@non-threaded.html

  * igt@gem_workarounds@reset-context:
- shard-iclb: [PASS][16] -> ([FAIL][17], [PASS][18]) ([fdo#110802]) 
+1 similar issue
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb4/igt@gem_workarou...@reset-context.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb2/igt@gem_workarou...@reset-context.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-iclb6/igt@gem_workarou...@reset-context.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-apl:  [PASS][19] -> [DMESG-WARN][20] ([fdo#108566])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl8/igt@kms_cursor_...@pipe-a-cursor-suspend.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl6/igt@kms_cursor_...@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-hsw:  [PASS][21] -> ([FAIL][22], [FAIL][23]) ([fdo#103355])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw4/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw8/igt@kms_cursor_leg...@cursor-vs-flip-toggle.html

  * igt@kms_cursor_legacy@pipe-c-torture-move:
- shard-apl:  [PASS][24] -> [INCOMPLETE][25] ([fdo#103927])
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl6/igt@kms_cursor_leg...@pipe-c-torture-move.html
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-apl4/igt@kms_cursor_leg...@pipe-c-torture-move.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang-interruptible:
- shard-hsw:  [PASS][26] -> [SKIP][27] ([fdo#109271]) +2 similar 
issues
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-hsw8/igt@kms_f...@2x-flip-vs-modeset-vs-hang-interruptible.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13124/shard-hsw1/igt@kms_f...@2x-flip-vs-modeset-vs-hang-interruptible.ht

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/gtt: No need to zero the table for page dirs

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915/gtt: No need to zero the table for page dirs
URL   : https://patchwork.freedesktop.org/series/61439/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13149


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13149 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13149, 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_13149/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   NOTRUN -> [FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-kbl-8809g/igt@amdgpu/amd_ba...@userptr.html

  
 Suppressed 

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_selftest@live_mman}:
- fi-bxt-dsi: NOTRUN -> [TIMEOUT][2]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-bxt-dsi/igt@i915_selftest@live_mman.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   [PASS][3] -> [INCOMPLETE][4] ([fdo#107718])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html

  * igt@i915_selftest@live_contexts:
- fi-hsw-peppy:   [PASS][5] -> [DMESG-FAIL][6] ([fdo#110235])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-hsw-peppy/igt@i915_selftest@live_contexts.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-hsw-peppy/igt@i915_selftest@live_contexts.html

  * igt@kms_addfb_basic@bad-pitch-1024:
- fi-icl-dsi: [PASS][7] -> [DMESG-WARN][8] ([fdo#106107])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-dsi/igt@kms_addfb_ba...@bad-pitch-1024.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-icl-dsi/igt@kms_addfb_ba...@bad-pitch-1024.html

  
 Possible fixes 

  * igt@gem_ctx_create@basic-files:
- {fi-icl-guc}:   [INCOMPLETE][9] ([fdo#107713] / [fdo#109100]) -> 
[PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-kbl-8809g:   [INCOMPLETE][11] ([fdo#103665] / [fdo#107139] / 
[fdo#108126]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html

  * igt@kms_flip@basic-flip-vs-dpms:
- fi-bxt-dsi: [INCOMPLETE][13] ([fdo#103927]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bxt-dsi/igt@kms_f...@basic-flip-vs-dpms.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-bxt-dsi/igt@kms_f...@basic-flip-vs-dpms.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  [FAIL][15] ([fdo#103167]) -> [PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
- fi-hsw-peppy:   [DMESG-WARN][17] ([fdo#102614]) -> [PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13149/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: http

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/3] drm/i915/selftests: Flush partial-tiling object once

2019-05-31 Thread Patchwork
== Series Details ==

Series: series starting with [1/3] drm/i915/selftests: Flush partial-tiling 
object once
URL   : https://patchwork.freedesktop.org/series/61438/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13148


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13148 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13148, 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_13148/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   NOTRUN -> [FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-kbl-8809g/igt@amdgpu/amd_ba...@userptr.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_flink_basic@flink-lifetime:
- fi-icl-dsi: [PASS][2] -> [INCOMPLETE][3] ([fdo#107713])
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-dsi/igt@gem_flink_ba...@flink-lifetime.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-icl-dsi/igt@gem_flink_ba...@flink-lifetime.html

  * igt@gem_ringfill@basic-default:
- fi-icl-u3:  [PASS][4] -> [DMESG-WARN][5] ([fdo#107724])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u3/igt@gem_ringf...@basic-default.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-icl-u3/igt@gem_ringf...@basic-default.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u2:  [PASS][6] -> [FAIL][7] ([fdo#103167])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html

  
 Possible fixes 

  * igt@gem_ctx_create@basic-files:
- {fi-icl-guc}:   [INCOMPLETE][8] ([fdo#107713] / [fdo#109100]) -> 
[PASS][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-kbl-8809g:   [INCOMPLETE][10] ([fdo#103665] / [fdo#107139] / 
[fdo#108126]) -> [PASS][11]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html

  * {igt@i915_selftest@live_mman}:
- fi-bxt-j4205:   [TIMEOUT][12] -> [PASS][13]
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bxt-j4205/igt@i915_selftest@live_mman.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-bxt-j4205/igt@i915_selftest@live_mman.html
- fi-glk-dsi: [TIMEOUT][14] -> [PASS][15]
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-glk-dsi/igt@i915_selftest@live_mman.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-glk-dsi/igt@i915_selftest@live_mman.html

  * igt@kms_flip@basic-flip-vs-dpms:
- fi-bxt-dsi: [INCOMPLETE][16] ([fdo#103927]) -> [PASS][17]
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bxt-dsi/igt@kms_f...@basic-flip-vs-dpms.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-bxt-dsi/igt@kms_f...@basic-flip-vs-dpms.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy:   [DMESG-WARN][18] ([fdo#102614]) -> [PASS][19]
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13148/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108126]: https://bugs.freedesktop.org/show_bug.cgi?id=108126
  [fd

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gtt: Avoid overflowing the WC stash

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915/gtt: Avoid overflowing the WC stash
URL   : https://patchwork.freedesktop.org/series/61301/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6163_full -> Patchwork_13125_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_softpin@noreloc-s3:
- shard-apl:  [PASS][1] -> ([DMESG-WARN][2], [DMESG-WARN][3]) 
([fdo#108566])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl3/igt@gem_soft...@noreloc-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-apl4/igt@gem_soft...@noreloc-s3.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-apl6/igt@gem_soft...@noreloc-s3.html
- shard-skl:  [PASS][4] -> ([PASS][5], [INCOMPLETE][6]) 
([fdo#104108])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl8/igt@gem_soft...@noreloc-s3.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-skl1/igt@gem_soft...@noreloc-s3.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-skl7/igt@gem_soft...@noreloc-s3.html

  * igt@gem_workarounds@basic-read:
- shard-iclb: [PASS][7] -> ([PASS][8], [FAIL][9]) ([fdo#110802]) +1 
similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb3/igt@gem_workarou...@basic-read.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-iclb7/igt@gem_workarou...@basic-read.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-iclb2/igt@gem_workarou...@basic-read.html

  * igt@gem_workarounds@reset-fd:
- shard-iclb: [PASS][10] -> [FAIL][11] ([fdo#110802])
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-iclb7/igt@gem_workarou...@reset-fd.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-iclb2/igt@gem_workarou...@reset-fd.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl:  [PASS][12] -> ([PASS][13], [SKIP][14]) ([fdo#109271])
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-kbl3/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-kbl4/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-kbl7/igt@i915_pm_rc6_reside...@rc6-accuracy.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
- shard-skl:  [PASS][15] -> ([INCOMPLETE][16], [PASS][17]) 
([fdo#104108] / [fdo#107807])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-skl10/igt@i915_pm_...@system-suspend-execbuf.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-skl5/igt@i915_pm_...@system-suspend-execbuf.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-skl6/igt@i915_pm_...@system-suspend-execbuf.html

  * igt@i915_suspend@sysfs-reader:
- shard-apl:  [PASS][18] -> ([PASS][19], [DMESG-WARN][20]) 
([fdo#108566]) +6 similar issues
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl5/igt@i915_susp...@sysfs-reader.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-apl2/igt@i915_susp...@sysfs-reader.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-apl1/igt@i915_susp...@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-apl:  [PASS][21] -> [DMESG-WARN][22] ([fdo#108566])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-apl8/igt@kms_cursor_...@pipe-a-cursor-suspend.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-apl6/igt@kms_cursor_...@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-snb:  [PASS][23] -> ([PASS][24], [INCOMPLETE][25]) 
([fdo#105411])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-snb1/igt@kms_cursor_leg...@flip-vs-cursor-legacy.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-snb5/igt@kms_cursor_leg...@flip-vs-cursor-legacy.html
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-snb1/igt@kms_cursor_leg...@flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-glk:  [PASS][26] -> ([INCOMPLETE][27], [PASS][28]) 
([fdo#103359] / [k.org#198133])
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6163/shard-glk9/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-glk6/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
   [28]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13125/shard-glk7/igt@kms_fli

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Flush output polling on shutdown (rev2)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown (rev2)
URL   : https://patchwork.freedesktop.org/series/61442/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
925b889001c2 drm: Flush output polling on shutdown
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#11: 
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50

total: 0 errors, 1 warnings, 0 checks, 18 lines checked

___
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: adding state checker for gamma lut values (rev12)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: adding state checker for gamma lut values (rev12)
URL   : https://patchwork.freedesktop.org/series/58039/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6164_full -> Patchwork_13131_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_suspend@sysfs-reader:
- shard-apl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +4 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-apl1/igt@i915_susp...@sysfs-reader.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-apl7/igt@i915_susp...@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen:
- shard-kbl:  [PASS][3] -> [DMESG-WARN][4] ([fdo#103558] / 
[fdo#105602]) +30 similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-kbl1/igt@kms_cursor_...@pipe-a-cursor-64x64-onscreen.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-kbl6/igt@kms_cursor_...@pipe-a-cursor-64x64-onscreen.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-skl:  [PASS][5] -> [FAIL][6] ([fdo#102670])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-skl5/igt@kms_cursor_leg...@flip-vs-cursor-atomic-transitions.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-skl10/igt@kms_cursor_leg...@flip-vs-cursor-atomic-transitions.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
- shard-skl:  [PASS][7] -> [INCOMPLETE][8] ([fdo#109507])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-skl3/igt@kms_f...@flip-vs-suspend-interruptible.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-skl9/igt@kms_f...@flip-vs-suspend-interruptible.html

  * igt@kms_flip@plain-flip-ts-check:
- shard-kbl:  [PASS][9] -> [FAIL][10] ([fdo#100368])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-kbl1/igt@kms_f...@plain-flip-ts-check.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-kbl6/igt@kms_f...@plain-flip-ts-check.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move:
- shard-hsw:  [PASS][11] -> [SKIP][12] ([fdo#109271]) +11 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-hsw2/igt@kms_frontbuffer_track...@fbc-2p-scndscrn-cur-indfb-move.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-hsw1/igt@kms_frontbuffer_track...@fbc-2p-scndscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +2 
similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-kbl3/igt@kms_frontbuffer_track...@fbc-suspend.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-kbl6/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]) +4 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/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_13131/shard-iclb5/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [PASS][17] -> [FAIL][18] ([fdo#103166])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-iclb8/igt@kms_plane_low...@pipe-a-tiling-y.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-iclb6/igt@kms_plane_low...@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-iclb5/igt@kms_psr@psr2_primary_mmap_gtt.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-kbl:  [PASS][21] -> [DMESG-WARN][22] ([fdo#103558] / 
[fdo#105602] / [fdo#108566])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-kbl3/igt@kms_vbl...@pipe-a-ts-continuation-suspend.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13131/shard-kbl6/igt@kms_vbl...@pipe-a-ts-continuation-suspend.html

  
 Possible fixes 

  * igt@gem_ctx_switch@basic-all-heavy:
- shard-glk:  [INCOMPLETE][23] ([fdo#103359] / [k.org#198133]) -> 
[PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6164/shard-glk1/igt@gem_ctx_swi...@bas

[Intel-gfx] [PATCH v2] drm: Flush output polling on shutdown

2019-05-31 Thread Chris Wilson
We need to mark the output polling as disabled to prevent concurrent
irqs from queuing new work as shutdown the probe -- causing that work to
execute after we have freed the structs:

<4> [341.846490] DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock))
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50
<4> [341.846508] Modules linked in: i915(-) vgem thunderbolt snd_hda_codec_hdmi 
snd_hda_codec_realtek snd_hda_codec_generic mei_hdcp x86_pkg_temp_thermal 
coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_codec 
snd_hwdep snd_hda_core snd_pcm mcs7830 btusb usbnet btrtl mii btbcm btintel 
bluetooth ecdh_generic ecc mei_me mei prime_numbers i2c_hid 
pinctrl_sunrisepoint pinctrl_intel [last unloaded: i915]
<4> [341.846546] CPU: 3 PID: 3300 Comm: i915_module_loa Tainted: G U
5.2.0-rc2-CI-CI_DRM_6175+ #1
<4> [341.846553] Hardware name: Dell Inc. XPS 13 9360/0823VW, BIOS 2.9.0 
07/09/2018
<4> [341.846560] RIP: 0010:mutex_destroy+0x49/0x50
<4> [341.846565] Code: 00 00 5b c3 e8 a8 9f 3b 00 85 c0 74 ed 8b 05 3e 55 23 01 
85 c0 75 e3 48 c7 c6 00 d0 08 82 48 c7 c7 a8 aa 07 82 e8 e7 08 fa ff <0f> 0b eb 
cc 0f 1f 00 48 b8 11 11 11 11 11 11 11 11 48 89 76 20 48
<4> [341.846578] RSP: 0018:c96cfdb0 EFLAGS: 00010286
<4> [341.846583] RAX:  RBX: 88826759a168 RCX: 

<4> [341.846589] RDX: 0002 RSI:  RDI: 
8112844c
<4> [341.846595] RBP: 8882708fa548 R08:  R09: 
00039600
<4> [341.846601] R10:  R11: 0ce4 R12: 
a07de1e0
<4> [341.846607] R13:  R14:  R15: 
a07de2d0
<4> [341.846613] FS:  7f62b5ae0e40() GS:88827638() 
knlGS:
<4> [341.846620] CS:  0010 DS:  ES:  CR0: 80050033
<4> [341.846626] CR2: 55a4e064f4a0 CR3: 000266b16006 CR4: 
003606e0
<4> [341.846632] Call Trace:
<4> [341.846639]  drm_fb_helper_fini.part.17+0xb3/0x100
<4> [341.846682]  intel_fbdev_fini+0x20/0x80 [i915]
<4> [341.846722]  intel_modeset_cleanup+0x9a/0x140 [i915]
<4> [341.846750]  i915_driver_unload+0xa3/0x100 [i915]
<4> [341.846778]  i915_pci_remove+0x19/0x30 [i915]
<4> [341.846784]  pci_device_remove+0x36/0xb0
<4> [341.846790]  device_release_driver_internal+0xd3/0x1b0
<4> [341.846795]  driver_detach+0x3f/0x80
<4> [341.846800]  bus_remove_driver+0x53/0xd0
<4> [341.846805]  pci_unregister_driver+0x25/0xa0
<4> [341.846843]  i915_exit+0x16/0x1c [i915]
<4> [341.846849]  __se_sys_delete_module+0x162/0x210
<4> [341.846855]  ? trace_hardirqs_off_thunk+0x1a/0x1c
<4> [341.846859]  ? do_syscall_64+0xd/0x1c0
<4> [341.846864]  do_syscall_64+0x55/0x1c0
<4> [341.846869]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [341.846875] RIP: 0033:0x7f62b51871b7
<4> [341.846881] Code: 73 01 c3 48 8b 0d d1 8c 2c 00 f7 d8 64 89 01 48 83 c8 ff 
c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 b0 00 00 00 0f 05 <48> 3d 01 
f0 ff ff 73 01 c3 48 8b 0d a1 8c 2c 00 f7 d8 64 89 01 48
<4> [341.846897] RSP: 002b:7ffe7a227138 EFLAGS: 0206 ORIG_RAX: 
00b0
<4> [341.846904] RAX: ffda RBX: 7ffe7a2272b0 RCX: 
7f62b51871b7
<4> [341.846910] RDX: 0001 RSI: 0800 RDI: 
557cd6b55948
<4> [341.846916] RBP: 557cd6b558e0 R08: 557cd6b5594c R09: 
7ffe7a227160
<4> [341.846922] R10: 7ffe7a226134 R11: 0206 R12: 

<4> [341.846927] R13: 7ffe7a227820 R14:  R15: 

<4> [341.846936] irq event stamp: 3547847
<4> [341.846940] hardirqs last  enabled at (3547847): [] 
_raw_spin_unlock_irqrestore+0x4c/0x60
<4> [341.846949] hardirqs last disabled at (3547846): [] 
_raw_spin_lock_irqsave+0xd/0x50
<4> [341.846957] softirqs last  enabled at (3547376): [] 
__do_softirq+0x33a/0x4b9
<4> [341.846966] softirqs last disabled at (3547367): [] 
irq_exit+0xa9/0xc0
<4> [341.846973] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50
<4> [341.846980] ---[ end trace ba94ca8952ba970e ]---
<7> [341.866547] [drm:intel_dp_detect [i915]] MST support? port A: no, sink: 
no, modparam: yes
<7> [341.890480] [drm:drm_add_display_info] non_desktop set to 0
<7> [341.890530] [drm:drm_add_edid_modes] ELD: no CEA Extension found
<7> [341.890537] [drm:drm_add_display_info] non_desktop set to 0
<7> [341.890578] [drm:drm_helper_probe_single_connector_modes] 
[CONNECTOR:86:eDP-1] probed modes :
<7> [341.890589] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 60 
373250 3200 3248 3280 3360 1800 1803 1808 1852 0x48 0xa
<7> [341.890602] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 48 
298600 3200 3248 3280 3360 1800 1803 1808 1852 0x40 0xa
<4> [341.890628] general protection fault:  [#1] PREEMPT SMP PTI
<4> [341.890636] CPU: 0 PID: 508 Comm: kworker/0:4 Tainted: G U  W 
5.2.0-rc2-CI-CI_DRM_6175+ #1
<4> [341.890646] Hardware na

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Flush output polling on shutdown

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm: Flush output polling on shutdown
URL   : https://patchwork.freedesktop.org/series/61442/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
e0238ba7cdcd drm: Flush output polling on shutdown
-:11: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#11: 
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50

total: 0 errors, 1 warnings, 0 checks, 18 lines checked

___
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/fb-helper: Move modesetting code to drm_client (rev8)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/fb-helper: Move modesetting code to drm_client (rev8)
URL   : https://patchwork.freedesktop.org/series/58597/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6177 -> Patchwork_13147


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13147 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13147, 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_13147/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   NOTRUN -> [FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-kbl-8809g/igt@amdgpu/amd_ba...@userptr.html

  
 Suppressed 

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_selftest@live_blt}:
- fi-skl-iommu:   [PASS][2] -> [INCOMPLETE][3]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-skl-iommu/igt@i915_selftest@live_blt.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-skl-iommu/igt@i915_selftest@live_blt.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_fence@basic-busy-default:
- fi-icl-y:   [PASS][4] -> [INCOMPLETE][5] ([fdo#107713])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-y/igt@gem_exec_fe...@basic-busy-default.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-icl-y/igt@gem_exec_fe...@basic-busy-default.html

  * igt@gem_mmap_gtt@basic-wc:
- fi-icl-u3:  [PASS][6] -> [DMESG-WARN][7] ([fdo#107724])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u3/igt@gem_mmap_...@basic-wc.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-icl-u3/igt@gem_mmap_...@basic-wc.html

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

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u2:  [PASS][10] -> [FAIL][11] ([fdo#103167])
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html

  
 Possible fixes 

  * igt@gem_ctx_create@basic-files:
- {fi-icl-guc}:   [INCOMPLETE][12] ([fdo#107713] / [fdo#109100]) -> 
[PASS][13]
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-icl-guc/igt@gem_ctx_cre...@basic-files.html

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-kbl-8809g:   [INCOMPLETE][14] ([fdo#103665] / [fdo#107139] / 
[fdo#108126]) -> [PASS][15]
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-kbl-8809g/igt@gem_exec_susp...@basic-s4-devices.html

  * igt@i915_selftest@live_contexts:
- fi-bdw-gvtdvm:  [DMESG-FAIL][16] ([fdo#110235]) -> [PASS][17]
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6177/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13147/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#107139]: https://bugs.freedesktop.org/show_bug.cgi?id=107139
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108126]: https://bugs.freedesktop.org/show_bug.cgi?id=108126
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (54 -> 45)
--

  Missing(9): fi-ilk-m540 fi-bxt-dsi fi-hsw-4

Re: [Intel-gfx] [PATCH] drm: Flush output polling on shutdown

2019-05-31 Thread Chris Wilson
Quoting Chris Wilson (2019-05-31 18:16:15)
> We need to mark the output polling as disabled to prevent concurrent
> irqs from queuing new work as shutdown the probe -- causing that work to
> execute after we have freed the structs:
> 
> <4> [341.846490] DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock))
> <4> [341.846497] WARNING: CPU: 3 PID: 3300 at 
> kernel/locking/mutex-debug.c:103 mutex_destroy+0x49/0x50
> <4> [341.846508] Modules linked in: i915(-) vgem thunderbolt 
> snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic mei_hdcp 
> x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul 
> ghash_clmulni_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm mcs7830 
> btusb usbnet btrtl mii btbcm btintel bluetooth ecdh_generic ecc mei_me mei 
> prime_numbers i2c_hid pinctrl_sunrisepoint pinctrl_intel [last unloaded: i915]
> <4> [341.846546] CPU: 3 PID: 3300 Comm: i915_module_loa Tainted: G U  
>   5.2.0-rc2-CI-CI_DRM_6175+ #1
> <4> [341.846553] Hardware name: Dell Inc. XPS 13 9360/0823VW, BIOS 2.9.0 
> 07/09/2018
> <4> [341.846560] RIP: 0010:mutex_destroy+0x49/0x50
> <4> [341.846565] Code: 00 00 5b c3 e8 a8 9f 3b 00 85 c0 74 ed 8b 05 3e 55 23 
> 01 85 c0 75 e3 48 c7 c6 00 d0 08 82 48 c7 c7 a8 aa 07 82 e8 e7 08 fa ff <0f> 
> 0b eb cc 0f 1f 00 48 b8 11 11 11 11 11 11 11 11 48 89 76 20 48
> <4> [341.846578] RSP: 0018:c96cfdb0 EFLAGS: 00010286
> <4> [341.846583] RAX:  RBX: 88826759a168 RCX: 
> 
> <4> [341.846589] RDX: 0002 RSI:  RDI: 
> 8112844c
> <4> [341.846595] RBP: 8882708fa548 R08:  R09: 
> 00039600
> <4> [341.846601] R10:  R11: 0ce4 R12: 
> a07de1e0
> <4> [341.846607] R13:  R14:  R15: 
> a07de2d0
> <4> [341.846613] FS:  7f62b5ae0e40() GS:88827638() 
> knlGS:
> <4> [341.846620] CS:  0010 DS:  ES:  CR0: 80050033
> <4> [341.846626] CR2: 55a4e064f4a0 CR3: 000266b16006 CR4: 
> 003606e0
> <4> [341.846632] Call Trace:
> <4> [341.846639]  drm_fb_helper_fini.part.17+0xb3/0x100
> <4> [341.846682]  intel_fbdev_fini+0x20/0x80 [i915]
> <4> [341.846722]  intel_modeset_cleanup+0x9a/0x140 [i915]
> <4> [341.846750]  i915_driver_unload+0xa3/0x100 [i915]
> <4> [341.846778]  i915_pci_remove+0x19/0x30 [i915]
> <4> [341.846784]  pci_device_remove+0x36/0xb0
> <4> [341.846790]  device_release_driver_internal+0xd3/0x1b0
> <4> [341.846795]  driver_detach+0x3f/0x80
> <4> [341.846800]  bus_remove_driver+0x53/0xd0
> <4> [341.846805]  pci_unregister_driver+0x25/0xa0
> <4> [341.846843]  i915_exit+0x16/0x1c [i915]
> <4> [341.846849]  __se_sys_delete_module+0x162/0x210
> <4> [341.846855]  ? trace_hardirqs_off_thunk+0x1a/0x1c
> <4> [341.846859]  ? do_syscall_64+0xd/0x1c0
> <4> [341.846864]  do_syscall_64+0x55/0x1c0
> <4> [341.846869]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
> <4> [341.846875] RIP: 0033:0x7f62b51871b7
> <4> [341.846881] Code: 73 01 c3 48 8b 0d d1 8c 2c 00 f7 d8 64 89 01 48 83 c8 
> ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 b0 00 00 00 0f 05 <48> 
> 3d 01 f0 ff ff 73 01 c3 48 8b 0d a1 8c 2c 00 f7 d8 64 89 01 48
> <4> [341.846897] RSP: 002b:7ffe7a227138 EFLAGS: 0206 ORIG_RAX: 
> 00b0
> <4> [341.846904] RAX: ffda RBX: 7ffe7a2272b0 RCX: 
> 7f62b51871b7
> <4> [341.846910] RDX: 0001 RSI: 0800 RDI: 
> 557cd6b55948
> <4> [341.846916] RBP: 557cd6b558e0 R08: 557cd6b5594c R09: 
> 7ffe7a227160
> <4> [341.846922] R10: 7ffe7a226134 R11: 0206 R12: 
> 
> <4> [341.846927] R13: 7ffe7a227820 R14:  R15: 
> 
> <4> [341.846936] irq event stamp: 3547847
> <4> [341.846940] hardirqs last  enabled at (3547847): [] 
> _raw_spin_unlock_irqrestore+0x4c/0x60
> <4> [341.846949] hardirqs last disabled at (3547846): [] 
> _raw_spin_lock_irqsave+0xd/0x50
> <4> [341.846957] softirqs last  enabled at (3547376): [] 
> __do_softirq+0x33a/0x4b9
> <4> [341.846966] softirqs last disabled at (3547367): [] 
> irq_exit+0xa9/0xc0
> <4> [341.846973] WARNING: CPU: 3 PID: 3300 at 
> kernel/locking/mutex-debug.c:103 mutex_destroy+0x49/0x50
> <4> [341.846980] ---[ end trace ba94ca8952ba970e ]---
> <7> [341.866547] [drm:intel_dp_detect [i915]] MST support? port A: no, sink: 
> no, modparam: yes
> <7> [341.890480] [drm:drm_add_display_info] non_desktop set to 0
> <7> [341.890530] [drm:drm_add_edid_modes] ELD: no CEA Extension found
> <7> [341.890537] [drm:drm_add_display_info] non_desktop set to 0
> <7> [341.890578] [drm:drm_helper_probe_single_connector_modes] 
> [CONNECTOR:86:eDP-1] probed modes :
> <7> [341.890589] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 60 
> 373250 3200 3248 3280 3360 1800 1803 1808 1852 0x48 0xa
> <7> [341.890602] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 48 
> 298600 3200 3248 3280 3360 1800 1

[Intel-gfx] [PATCH] drm: Flush output polling on shutdown

2019-05-31 Thread Chris Wilson
We need to mark the output polling as disabled to prevent concurrent
irqs from queuing new work as shutdown the probe -- causing that work to
execute after we have freed the structs:

<4> [341.846490] DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock))
<4> [341.846497] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50
<4> [341.846508] Modules linked in: i915(-) vgem thunderbolt snd_hda_codec_hdmi 
snd_hda_codec_realtek snd_hda_codec_generic mei_hdcp x86_pkg_temp_thermal 
coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_codec 
snd_hwdep snd_hda_core snd_pcm mcs7830 btusb usbnet btrtl mii btbcm btintel 
bluetooth ecdh_generic ecc mei_me mei prime_numbers i2c_hid 
pinctrl_sunrisepoint pinctrl_intel [last unloaded: i915]
<4> [341.846546] CPU: 3 PID: 3300 Comm: i915_module_loa Tainted: G U
5.2.0-rc2-CI-CI_DRM_6175+ #1
<4> [341.846553] Hardware name: Dell Inc. XPS 13 9360/0823VW, BIOS 2.9.0 
07/09/2018
<4> [341.846560] RIP: 0010:mutex_destroy+0x49/0x50
<4> [341.846565] Code: 00 00 5b c3 e8 a8 9f 3b 00 85 c0 74 ed 8b 05 3e 55 23 01 
85 c0 75 e3 48 c7 c6 00 d0 08 82 48 c7 c7 a8 aa 07 82 e8 e7 08 fa ff <0f> 0b eb 
cc 0f 1f 00 48 b8 11 11 11 11 11 11 11 11 48 89 76 20 48
<4> [341.846578] RSP: 0018:c96cfdb0 EFLAGS: 00010286
<4> [341.846583] RAX:  RBX: 88826759a168 RCX: 

<4> [341.846589] RDX: 0002 RSI:  RDI: 
8112844c
<4> [341.846595] RBP: 8882708fa548 R08:  R09: 
00039600
<4> [341.846601] R10:  R11: 0ce4 R12: 
a07de1e0
<4> [341.846607] R13:  R14:  R15: 
a07de2d0
<4> [341.846613] FS:  7f62b5ae0e40() GS:88827638() 
knlGS:
<4> [341.846620] CS:  0010 DS:  ES:  CR0: 80050033
<4> [341.846626] CR2: 55a4e064f4a0 CR3: 000266b16006 CR4: 
003606e0
<4> [341.846632] Call Trace:
<4> [341.846639]  drm_fb_helper_fini.part.17+0xb3/0x100
<4> [341.846682]  intel_fbdev_fini+0x20/0x80 [i915]
<4> [341.846722]  intel_modeset_cleanup+0x9a/0x140 [i915]
<4> [341.846750]  i915_driver_unload+0xa3/0x100 [i915]
<4> [341.846778]  i915_pci_remove+0x19/0x30 [i915]
<4> [341.846784]  pci_device_remove+0x36/0xb0
<4> [341.846790]  device_release_driver_internal+0xd3/0x1b0
<4> [341.846795]  driver_detach+0x3f/0x80
<4> [341.846800]  bus_remove_driver+0x53/0xd0
<4> [341.846805]  pci_unregister_driver+0x25/0xa0
<4> [341.846843]  i915_exit+0x16/0x1c [i915]
<4> [341.846849]  __se_sys_delete_module+0x162/0x210
<4> [341.846855]  ? trace_hardirqs_off_thunk+0x1a/0x1c
<4> [341.846859]  ? do_syscall_64+0xd/0x1c0
<4> [341.846864]  do_syscall_64+0x55/0x1c0
<4> [341.846869]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [341.846875] RIP: 0033:0x7f62b51871b7
<4> [341.846881] Code: 73 01 c3 48 8b 0d d1 8c 2c 00 f7 d8 64 89 01 48 83 c8 ff 
c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 b0 00 00 00 0f 05 <48> 3d 01 
f0 ff ff 73 01 c3 48 8b 0d a1 8c 2c 00 f7 d8 64 89 01 48
<4> [341.846897] RSP: 002b:7ffe7a227138 EFLAGS: 0206 ORIG_RAX: 
00b0
<4> [341.846904] RAX: ffda RBX: 7ffe7a2272b0 RCX: 
7f62b51871b7
<4> [341.846910] RDX: 0001 RSI: 0800 RDI: 
557cd6b55948
<4> [341.846916] RBP: 557cd6b558e0 R08: 557cd6b5594c R09: 
7ffe7a227160
<4> [341.846922] R10: 7ffe7a226134 R11: 0206 R12: 

<4> [341.846927] R13: 7ffe7a227820 R14:  R15: 

<4> [341.846936] irq event stamp: 3547847
<4> [341.846940] hardirqs last  enabled at (3547847): [] 
_raw_spin_unlock_irqrestore+0x4c/0x60
<4> [341.846949] hardirqs last disabled at (3547846): [] 
_raw_spin_lock_irqsave+0xd/0x50
<4> [341.846957] softirqs last  enabled at (3547376): [] 
__do_softirq+0x33a/0x4b9
<4> [341.846966] softirqs last disabled at (3547367): [] 
irq_exit+0xa9/0xc0
<4> [341.846973] WARNING: CPU: 3 PID: 3300 at kernel/locking/mutex-debug.c:103 
mutex_destroy+0x49/0x50
<4> [341.846980] ---[ end trace ba94ca8952ba970e ]---
<7> [341.866547] [drm:intel_dp_detect [i915]] MST support? port A: no, sink: 
no, modparam: yes
<7> [341.890480] [drm:drm_add_display_info] non_desktop set to 0
<7> [341.890530] [drm:drm_add_edid_modes] ELD: no CEA Extension found
<7> [341.890537] [drm:drm_add_display_info] non_desktop set to 0
<7> [341.890578] [drm:drm_helper_probe_single_connector_modes] 
[CONNECTOR:86:eDP-1] probed modes :
<7> [341.890589] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 60 
373250 3200 3248 3280 3360 1800 1803 1808 1852 0x48 0xa
<7> [341.890602] [drm:drm_mode_debug_printmodeline] Modeline "3200x1800": 48 
298600 3200 3248 3280 3360 1800 1803 1808 1852 0x40 0xa
<4> [341.890628] general protection fault:  [#1] PREEMPT SMP PTI
<4> [341.890636] CPU: 0 PID: 508 Comm: kworker/0:4 Tainted: G U  W 
5.2.0-rc2-CI-CI_DRM_6175+ #1
<4> [341.890646] Hardware na

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [01/10] drm/i915: Add windowing for primary planes on gen2/3 and chv

2019-05-31 Thread Patchwork
== Series Details ==

Series: series starting with [01/10] drm/i915: Add windowing for primary planes 
on gen2/3 and chv
URL   : https://patchwork.freedesktop.org/series/61345/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6165_full -> Patchwork_13133_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13133_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13133_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_13133_full:

### IGT changes ###

 Possible regressions 

  * igt@kms_plane@pixel-format-pipe-a-planes:
- shard-glk:  [PASS][1] -> ([PASS][2], [FAIL][3])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-glk3/igt@kms_pl...@pixel-format-pipe-a-planes.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-glk4/igt@kms_pl...@pixel-format-pipe-a-planes.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-glk8/igt@kms_pl...@pixel-format-pipe-a-planes.html

  * igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format:
- shard-apl:  [PASS][4] -> [FAIL][5]
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl1/igt@kms_plane_scal...@pipe-a-scaler-with-pixel-format.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl8/igt@kms_plane_scal...@pipe-a-scaler-with-pixel-format.html

  * igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format:
- shard-apl:  [PASS][6] -> ([FAIL][7], [FAIL][8]) +3 similar issues
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl3/igt@kms_plane_scal...@pipe-b-scaler-with-pixel-format.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl2/igt@kms_plane_scal...@pipe-b-scaler-with-pixel-format.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl8/igt@kms_plane_scal...@pipe-b-scaler-with-pixel-format.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@basic-all-heavy:
- shard-hsw:  [PASS][9] -> [INCOMPLETE][10] ([fdo#103540])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-hsw5/igt@gem_ctx_swi...@basic-all-heavy.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-hsw1/igt@gem_ctx_swi...@basic-all-heavy.html

  * igt@gem_exec_schedule@reorder-wide-vebox:
- shard-apl:  [PASS][11] -> ([INCOMPLETE][12], [PASS][13]) 
([fdo#103927]) +1 similar issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl8/igt@gem_exec_sched...@reorder-wide-vebox.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl3/igt@gem_exec_sched...@reorder-wide-vebox.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl7/igt@gem_exec_sched...@reorder-wide-vebox.html

  * igt@gem_workarounds@basic-read:
- shard-iclb: [PASS][14] -> ([FAIL][15], [PASS][16]) ([fdo#110802]) 
+3 similar issues
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-iclb6/igt@gem_workarou...@basic-read.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-iclb1/igt@gem_workarou...@basic-read.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-iclb6/igt@gem_workarou...@basic-read.html

  * igt@gem_workarounds@reset-context:
- shard-iclb: [PASS][17] -> ([FAIL][18], [FAIL][19]) ([fdo#110802])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-iclb8/igt@gem_workarou...@reset-context.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-iclb1/igt@gem_workarou...@reset-context.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-iclb2/igt@gem_workarou...@reset-context.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl:  [PASS][20] -> ([PASS][21], [SKIP][22]) ([fdo#109271])
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-kbl3/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-kbl3/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-kbl2/igt@i915_pm_rc6_reside...@rc6-accuracy.html
- shard-snb:  [PASS][23] -> ([SKIP][24], [SKIP][25]) ([fdo#109271])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-snb7/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/sha

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/bios: vbt cleanup

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915/bios: vbt cleanup
URL   : https://patchwork.freedesktop.org/series/61430/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6175 -> Patchwork_13146


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_evict:
- fi-bsw-kefka:   [PASS][1] -> [DMESG-WARN][2] ([fdo#107709])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-bsw-kefka/igt@i915_selftest@live_evict.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13146/fi-bsw-kefka/igt@i915_selftest@live_evict.html

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

  * igt@kms_chamelium@dp-crc-fast:
- fi-cml-u2:  [PASS][5] -> [FAIL][6] ([fdo#110387])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-cml-u2/igt@kms_chamel...@dp-crc-fast.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13146/fi-cml-u2/igt@kms_chamel...@dp-crc-fast.html

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

  
 Possible fixes 

  * igt@gem_exec_fence@basic-busy-default:
- {fi-icl-guc}:   [INCOMPLETE][9] ([fdo#107713]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-guc/igt@gem_exec_fe...@basic-busy-default.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13146/fi-icl-guc/igt@gem_exec_fe...@basic-busy-default.html

  * igt@i915_pm_rpm@module-reload:
- fi-icl-u3:  [INCOMPLETE][11] ([fdo#107713] / [fdo#108840]) -> 
[PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-u3/igt@i915_pm_...@module-reload.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13146/fi-icl-u3/igt@i915_pm_...@module-reload.html

  * {igt@i915_selftest@live_mman}:
- fi-icl-y:   [TIMEOUT][13] -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-y/igt@i915_selftest@live_mman.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13146/fi-icl-y/igt@i915_selftest@live_mman.html

  * igt@kms_addfb_basic@invalid-get-prop-any:
- fi-icl-u3:  [DMESG-WARN][15] ([fdo#107724]) -> [PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-u3/igt@kms_addfb_ba...@invalid-get-prop-any.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13146/fi-icl-u3/igt@kms_addfb_ba...@invalid-get-prop-any.html

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

  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#110387]: https://bugs.freedesktop.org/show_bug.cgi?id=110387


Participating hosts (54 -> 46)
--

  Missing(8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-kbl-7560u fi-byt-clapper fi-bdw-samus fi-cml-u 


Build changes
-

  * Linux: CI_DRM_6175 -> Patchwork_13146

  CI_DRM_6175: 0ebe1e37a70176b84d4e2d489f03c3533e0fcd1a @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5026: 4108c74c3b15460de25ab989f4e2031594559dfc @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13146: ea1a07e682dbfe008259a1d5f032c95a7de222cb @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

ea1a07e682db drm/i915/bios: add an enum for BDB block IDs
2d7fa3945b37 drm/i915/bios: add more LFP options
b97b4c6d7321 drm/i915/bios: add VBT swing bit to child device definition
1648c0be8a00 drm/i915/bios: sort BDB block definitions using block ID
30f8c301c257 drm/i915/bios: add BDB block comments before definitions
55aa65df8e80 drm/i915/bios: reserve struct bdb_ prefix for BDB blocks
836a72d3aeaf drm/i915/bios: remove unused, obsolete VBT definitions
ce3636abfde6 drm/i915/bios: clean up V

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/3] drm/i915/selftests: Flush partial-tiling object once

2019-05-31 Thread Patchwork
== Series Details ==

Series: series starting with [1/3] drm/i915/selftests: Flush partial-tiling 
object once
URL   : https://patchwork.freedesktop.org/series/61438/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915/selftests: Flush partial-tiling object once
-./include/linux/reservation.h:220:20: warning: dereference of noderef 
expression
-./include/linux/reservation.h:220:45: warning: dereference of noderef 
expression

Commit: drm/i915: Use unchecked writes for setting up the fences
Okay!

Commit: drm/i915: Use unchecked unccore writes to flush the GTT
Okay!

___
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: Report an earlier wedged event when suspending the engines

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Report an earlier wedged event when suspending the engines
URL   : https://patchwork.freedesktop.org/series/61425/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6175 -> Patchwork_13145


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_create@basic-files:
- fi-icl-y:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#109100])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-y/igt@gem_ctx_cre...@basic-files.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13145/fi-icl-y/igt@gem_ctx_cre...@basic-files.html

  * igt@gem_tiled_pread_basic:
- fi-icl-dsi: [PASS][3] -> [INCOMPLETE][4] ([fdo#107713])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-dsi/igt@gem_tiled_pread_basic.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13145/fi-icl-dsi/igt@gem_tiled_pread_basic.html

  
 Possible fixes 

  * igt@i915_selftest@live_contexts:
- fi-bdw-gvtdvm:  [DMESG-FAIL][5] ([fdo#110235]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13145/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  * igt@kms_addfb_basic@invalid-get-prop-any:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-u3/igt@kms_addfb_ba...@invalid-get-prop-any.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13145/fi-icl-u3/igt@kms_addfb_ba...@invalid-get-prop-any.html

  
 Warnings 

  * igt@i915_pm_rpm@module-reload:
- fi-icl-u3:  [INCOMPLETE][9] ([fdo#107713] / [fdo#108840]) -> 
[DMESG-WARN][10] ([fdo#107724])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6175/fi-icl-u3/igt@i915_pm_...@module-reload.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13145/fi-icl-u3/igt@i915_pm_...@module-reload.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#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (54 -> 45)
--

  Missing(9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-icl-u2 fi-bsw-cyan 
fi-kbl-7560u fi-byt-n2820 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6175 -> Patchwork_13145

  CI_DRM_6175: 0ebe1e37a70176b84d4e2d489f03c3533e0fcd1a @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5026: 4108c74c3b15460de25ab989f4e2031594559dfc @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13145: 35bf95b1ffd9903198e3b46d46d9330bd3ffec43 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

35bf95b1ffd9 drm/i915: Report an earlier wedged event when suspending the 
engines

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for Document fixes for DRM UAPI and HDR

2019-05-31 Thread Patchwork
== Series Details ==

Series: Document fixes for DRM UAPI and HDR
URL   : https://patchwork.freedesktop.org/series/61349/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6165_full -> Patchwork_13134_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_13134_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]) +1 
similar issue
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl2/igt@gem_ctx_isolat...@bcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-apl5/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_ctx_switch@basic-all-heavy:
- shard-glk:  [PASS][3] -> ([INCOMPLETE][4], [PASS][5]) 
([fdo#103359] / [k.org#198133])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-glk7/igt@gem_ctx_swi...@basic-all-heavy.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-glk8/igt@gem_ctx_swi...@basic-all-heavy.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-glk9/igt@gem_ctx_swi...@basic-all-heavy.html
- shard-apl:  [PASS][6] -> ([INCOMPLETE][7], [PASS][8]) 
([fdo#103927])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl2/igt@gem_ctx_swi...@basic-all-heavy.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-apl5/igt@gem_ctx_swi...@basic-all-heavy.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-apl1/igt@gem_ctx_swi...@basic-all-heavy.html

  * igt@gem_tiled_swapping@non-threaded:
- shard-kbl:  [PASS][9] -> ([DMESG-WARN][10], [PASS][11]) 
([fdo#108686])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-kbl3/igt@gem_tiled_swapp...@non-threaded.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-kbl2/igt@gem_tiled_swapp...@non-threaded.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-kbl1/igt@gem_tiled_swapp...@non-threaded.html

  * igt@gem_workarounds@basic-read:
- shard-iclb: [PASS][12] -> ([PASS][13], [FAIL][14]) ([fdo#110802])
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-iclb6/igt@gem_workarou...@basic-read.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-iclb8/igt@gem_workarou...@basic-read.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-iclb1/igt@gem_workarou...@basic-read.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-kbl:  [PASS][15] -> ([DMESG-WARN][16], [PASS][17]) 
([fdo#108566])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-kbl1/igt@gem_workarou...@suspend-resume-context.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-kbl6/igt@gem_workarou...@suspend-resume-context.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-kbl1/igt@gem_workarou...@suspend-resume-context.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-snb:  [PASS][18] -> ([SKIP][19], [SKIP][20]) ([fdo#109271])
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-snb7/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-snb2/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-snb5/igt@i915_pm_rc6_reside...@rc6-accuracy.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-apl:  [PASS][21] -> ([PASS][22], [DMESG-WARN][23]) 
([fdo#108566])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl5/igt@kms_cursor_...@pipe-c-cursor-suspend.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-apl6/igt@kms_cursor_...@pipe-c-cursor-suspend.html
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-apl7/igt@kms_cursor_...@pipe-c-cursor-suspend.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk:  [PASS][24] -> ([FAIL][25], [PASS][26]) ([fdo#104873])
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-glk8/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-glk1/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13134/shard-glk6/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
- shard-hsw:  [PASS][27] -> [SKIP][28] ([fdo#109271]) +7 similar 
issues
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-hsw5/igt@kms_f...@2x-flip-vs-dpms-off-vs-modeset.html
   [28]: 
ht

Re: [Intel-gfx] [PATCH] drm/i915/gtt: No need to zero the table for page dirs

2019-05-31 Thread Chris Wilson
Quoting Mika Kuoppala (2019-05-31 17:18:36)
> We set them to scratch right after allocation so prevent
> useless zeroing before.
> 
> Cc: Chris Wilson 
> Signed-off-by: Mika Kuoppala 
> ---
>  drivers/gpu/drm/i915/i915_gem_gtt.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
> b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index ca8a69e8b098..f237ad310426 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -681,7 +681,7 @@ static struct i915_page_directory *alloc_pd(struct 
> i915_address_space *vm)
>  {
> struct i915_page_directory *pd;
>  
> -   pd = kzalloc(sizeof(*pd), I915_GFP_ALLOW_FAIL);
> +   pd = kmalloc(sizeof(*pd), I915_GFP_ALLOW_FAIL);
> if (unlikely(!pd))
> return ERR_PTR(-ENOMEM);
>  
> @@ -738,7 +738,7 @@ alloc_pdp(struct i915_address_space *vm)
>  
> GEM_BUG_ON(!i915_vm_is_4lvl(vm));
>  
> -   pdp = kzalloc(sizeof(*pdp), GFP_KERNEL);
> +   pdp = kmalloc(sizeof(*pdp), GFP_KERNEL);
> if (!pdp)
> return ERR_PTR(-ENOMEM);
>  
> @@ -750,6 +750,7 @@ alloc_pdp(struct i915_address_space *vm)
> if (ret)
> goto fail_page_m;
>  
> +   pdp->used_pdpes = 0;

-> __pdp_init.

That makes more sense when you see my patches ;)

With putting initialisation in __pdp_init
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] drm/i915/gtt: No need to zero the table for page dirs

2019-05-31 Thread Mika Kuoppala
We set them to scratch right after allocation so prevent
useless zeroing before.

Cc: Chris Wilson 
Signed-off-by: Mika Kuoppala 
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index ca8a69e8b098..f237ad310426 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -681,7 +681,7 @@ static struct i915_page_directory *alloc_pd(struct 
i915_address_space *vm)
 {
struct i915_page_directory *pd;
 
-   pd = kzalloc(sizeof(*pd), I915_GFP_ALLOW_FAIL);
+   pd = kmalloc(sizeof(*pd), I915_GFP_ALLOW_FAIL);
if (unlikely(!pd))
return ERR_PTR(-ENOMEM);
 
@@ -738,7 +738,7 @@ alloc_pdp(struct i915_address_space *vm)
 
GEM_BUG_ON(!i915_vm_is_4lvl(vm));
 
-   pdp = kzalloc(sizeof(*pdp), GFP_KERNEL);
+   pdp = kmalloc(sizeof(*pdp), GFP_KERNEL);
if (!pdp)
return ERR_PTR(-ENOMEM);
 
@@ -750,6 +750,7 @@ alloc_pdp(struct i915_address_space *vm)
if (ret)
goto fail_page_m;
 
+   pdp->used_pdpes = 0;
return pdp;
 
 fail_page_m:
-- 
2.17.1

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

[Intel-gfx] [PATCH 2/3] drm/i915: Use unchecked writes for setting up the fences

2019-05-31 Thread Chris Wilson
As the fence registers are not part of the engine powerwells, we do not
need to fiddle with forcewake in order to update a fence. Avoid using
the heavyweight debug checking normal mmio writes as the checking
dominates the selftest runtime and is superfluous!

In the process, retire the I915_WRITE() implicit macro with the new
intel_uncore_write interface.

Signed-off-by: Chris Wilson 
---
 drivers/gpu/drm/i915/i915_gem_fence_reg.c | 123 --
 1 file changed, 68 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_fence_reg.c 
b/drivers/gpu/drm/i915/i915_gem_fence_reg.c
index 2e9e32330aaa..c68730fb21e6 100644
--- a/drivers/gpu/drm/i915/i915_gem_fence_reg.c
+++ b/drivers/gpu/drm/i915/i915_gem_fence_reg.c
@@ -94,9 +94,10 @@ static void i965_write_fence_reg(struct drm_i915_fence_reg 
*fence,
}
 
if (!pipelined) {
-   struct drm_i915_private *dev_priv = fence->i915;
+   struct intel_uncore *unc = &fence->i915->uncore;
 
-   /* To w/a incoherency with non-atomic 64-bit register updates,
+   /*
+* To w/a incoherency with non-atomic 64-bit register updates,
 * we split the 64-bit update into two 32-bit writes. In order
 * for a partial fence not to be evaluated between writes, we
 * precede the update with write to turn off the fence register,
@@ -105,12 +106,12 @@ static void i965_write_fence_reg(struct 
drm_i915_fence_reg *fence,
 * For extra levels of paranoia, we make sure each step lands
 * before applying the next step.
 */
-   I915_WRITE(fence_reg_lo, 0);
-   POSTING_READ(fence_reg_lo);
+   intel_uncore_write_fw(unc, fence_reg_lo, 0);
+   intel_uncore_posting_read_fw(unc, fence_reg_lo);
 
-   I915_WRITE(fence_reg_hi, upper_32_bits(val));
-   I915_WRITE(fence_reg_lo, lower_32_bits(val));
-   POSTING_READ(fence_reg_lo);
+   intel_uncore_write_fw(unc, fence_reg_hi, upper_32_bits(val));
+   intel_uncore_write_fw(unc, fence_reg_lo, lower_32_bits(val));
+   intel_uncore_posting_read_fw(unc, fence_reg_lo);
}
 }
 
@@ -146,11 +147,11 @@ static void i915_write_fence_reg(struct 
drm_i915_fence_reg *fence,
}
 
if (!pipelined) {
-   struct drm_i915_private *dev_priv = fence->i915;
+   struct intel_uncore *unc = &fence->i915->uncore;
i915_reg_t reg = FENCE_REG(fence->id);
 
-   I915_WRITE(reg, val);
-   POSTING_READ(reg);
+   intel_uncore_write_fw(unc, reg, val);
+   intel_uncore_posting_read_fw(unc, reg);
}
 }
 
@@ -178,18 +179,19 @@ static void i830_write_fence_reg(struct 
drm_i915_fence_reg *fence,
}
 
if (!pipelined) {
-   struct drm_i915_private *dev_priv = fence->i915;
+   struct intel_uncore *unc = &fence->i915->uncore;
i915_reg_t reg = FENCE_REG(fence->id);
 
-   I915_WRITE(reg, val);
-   POSTING_READ(reg);
+   intel_uncore_write_fw(unc, reg, val);
+   intel_uncore_posting_read_fw(unc, reg);
}
 }
 
 static void fence_write(struct drm_i915_fence_reg *fence,
struct i915_vma *vma)
 {
-   /* Previous access through the fence register is marshalled by
+   /*
+* Previous access through the fence register is marshalled by
 * the mb() inside the fault handlers (i915_gem_release_mmaps)
 * and explicitly managed for internal users.
 */
@@ -201,7 +203,8 @@ static void fence_write(struct drm_i915_fence_reg *fence,
else
i965_write_fence_reg(fence, vma);
 
-   /* Access through the fenced region afterwards is
+   /*
+* Access through the fenced region afterwards is
 * ordered by the posting reads whilst writing the registers.
 */
 
@@ -308,11 +311,11 @@ int i915_vma_put_fence(struct i915_vma *vma)
return fence_update(fence, NULL);
 }
 
-static struct drm_i915_fence_reg *fence_find(struct drm_i915_private *dev_priv)
+static struct drm_i915_fence_reg *fence_find(struct drm_i915_private *i915)
 {
struct drm_i915_fence_reg *fence;
 
-   list_for_each_entry(fence, &dev_priv->mm.fence_list, link) {
+   list_for_each_entry(fence, &i915->mm.fence_list, link) {
GEM_BUG_ON(fence->vma && fence->vma->fence != fence);
 
if (fence->pin_count)
@@ -322,7 +325,7 @@ static struct drm_i915_fence_reg *fence_find(struct 
drm_i915_private *dev_priv)
}
 
/* Wait for completion of pending flips which consume fences */
-   if (intel_has_pending_fb_unpin(dev_priv))
+   if (intel_has_pending_fb_unpin(i915))
return ERR_PTR(-EAGAIN);
 
return ERR_PTR(-EDEADLK);
@@ -353,7 +356,8 

[Intel-gfx] [PATCH 3/3] drm/i915: Use unchecked unccore writes to flush the GTT

2019-05-31 Thread Chris Wilson
As the GTT is outside of the powerwell, we can simplify flushing the
GGTT writes by using an unchecked mmio write and post.

Signed-off-by: Chris Wilson 
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 20 
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index ca8a69e8b098..d7572055ce6c 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -108,22 +108,26 @@
 static int
 i915_get_ggtt_vma_pages(struct i915_vma *vma);
 
-static void gen6_ggtt_invalidate(struct drm_i915_private *dev_priv)
+static void gen6_ggtt_invalidate(struct drm_i915_private *i915)
 {
+   struct intel_uncore *unc = &i915->uncore;
+
/*
 * Note that as an uncached mmio write, this will flush the
 * WCB of the writes into the GGTT before it triggers the invalidate.
 */
-   I915_WRITE(GFX_FLSH_CNTL_GEN6, GFX_FLSH_CNTL_EN);
+   intel_uncore_write_fw(unc, GFX_FLSH_CNTL_GEN6, GFX_FLSH_CNTL_EN);
 }
 
-static void guc_ggtt_invalidate(struct drm_i915_private *dev_priv)
+static void guc_ggtt_invalidate(struct drm_i915_private *i915)
 {
-   gen6_ggtt_invalidate(dev_priv);
-   I915_WRITE(GEN8_GTCR, GEN8_GTCR_INVALIDATE);
+   struct intel_uncore *unc = &i915->uncore;
+
+   gen6_ggtt_invalidate(i915);
+   intel_uncore_write_fw(unc, GEN8_GTCR, GEN8_GTCR_INVALIDATE);
 }
 
-static void gmch_ggtt_invalidate(struct drm_i915_private *dev_priv)
+static void gmch_ggtt_invalidate(struct drm_i915_private *i915)
 {
intel_gtt_chipset_flush();
 }
@@ -1347,10 +1351,10 @@ static void gen8_ppgtt_cleanup_4lvl(struct 
i915_hw_ppgtt *ppgtt)
 
 static void gen8_ppgtt_cleanup(struct i915_address_space *vm)
 {
-   struct drm_i915_private *dev_priv = vm->i915;
+   struct drm_i915_private *i915 = vm->i915;
struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm);
 
-   if (intel_vgpu_active(dev_priv))
+   if (intel_vgpu_active(i915))
gen8_ppgtt_notify_vgt(ppgtt, false);
 
if (i915_vm_is_4lvl(vm))
-- 
2.20.1

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

[Intel-gfx] [PATCH 1/3] drm/i915/selftests: Flush partial-tiling object once

2019-05-31 Thread Chris Wilson
We only need to flush the object once prior to starting the partial
tiling test as inside the test we explicitly maintain coherency.

Signed-off-by: Chris Wilson 
---
 .../drm/i915/gem/selftests/i915_gem_mman.c| 21 ---
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c 
b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
index 5db3327958fb..b92809418729 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
@@ -98,6 +98,14 @@ static int check_partial_mapping(struct drm_i915_gem_object 
*obj,
GEM_BUG_ON(i915_gem_object_get_tiling(obj) != tile->tiling);
GEM_BUG_ON(i915_gem_object_get_stride(obj) != tile->stride);
 
+   i915_gem_object_lock(obj);
+   err = i915_gem_object_set_to_gtt_domain(obj, true);
+   i915_gem_object_unlock(obj);
+   if (err) {
+   pr_err("Failed to flush to GTT write domain; err=%d\n", err);
+   return err;
+   }
+
for_each_prime_number_from(page, 1, npages) {
struct i915_ggtt_view view =
compute_partial_view(obj, page, MIN_CHUNK_PAGES);
@@ -110,15 +118,6 @@ static int check_partial_mapping(struct 
drm_i915_gem_object *obj,
GEM_BUG_ON(view.partial.size > nreal);
cond_resched();
 
-   i915_gem_object_lock(obj);
-   err = i915_gem_object_set_to_gtt_domain(obj, true);
-   i915_gem_object_unlock(obj);
-   if (err) {
-   pr_err("Failed to flush to GTT write domain; err=%d\n",
-  err);
-   return err;
-   }
-
vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, PIN_MAPPABLE);
if (IS_ERR(vma)) {
pr_err("Failed to pin partial view: offset=%lu; 
err=%d\n",
@@ -144,9 +143,7 @@ static int check_partial_mapping(struct drm_i915_gem_object 
*obj,
if (offset >= obj->base.size)
continue;
 
-   i915_gem_object_lock(obj);
-   i915_gem_object_flush_write_domain(obj, ~I915_GEM_DOMAIN_CPU);
-   i915_gem_object_unlock(obj);
+   i915_gem_flush_ggtt_writes(to_i915(obj->base.dev));
 
p = i915_gem_object_get_page(obj, offset >> PAGE_SHIFT);
cpu = kmap(p) + offset_in_page(offset);
-- 
2.20.1

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

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Drop non-NULL llist_for_each_entry_safe check for

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Drop non-NULL llist_for_each_entry_safe check for
URL   : https://patchwork.freedesktop.org/series/61374/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6167_full -> Patchwork_13136_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_13136_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13136_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_13136_full:

### IGT changes ###

 Possible regressions 

  * igt@gem_tiled_pread_pwrite:
- shard-skl:  [PASS][1] -> ([DMESG-WARN][2], [PASS][3])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-skl4/igt@gem_tiled_pread_pwrite.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-skl2/igt@gem_tiled_pread_pwrite.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-skl6/igt@gem_tiled_pread_pwrite.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@basic-all-heavy:
- shard-kbl:  [PASS][4] -> ([INCOMPLETE][5], [PASS][6]) 
([fdo#103665])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-kbl2/igt@gem_ctx_swi...@basic-all-heavy.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl6/igt@gem_ctx_swi...@basic-all-heavy.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl2/igt@gem_ctx_swi...@basic-all-heavy.html
- shard-glk:  [PASS][7] -> [INCOMPLETE][8] ([fdo#103359] / 
[k.org#198133])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-glk3/igt@gem_ctx_swi...@basic-all-heavy.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-glk1/igt@gem_ctx_swi...@basic-all-heavy.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#110802])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-iclb7/igt@gem_workarou...@suspend-resume-context.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-iclb2/igt@gem_workarou...@suspend-resume-context.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl:  [PASS][11] -> ([PASS][12], [SKIP][13]) ([fdo#109271])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-kbl7/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl6/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl2/igt@i915_pm_rc6_reside...@rc6-accuracy.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl:  [PASS][14] -> [DMESG-WARN][15] ([fdo#108566]) +3 
similar issues
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-apl4/igt@i915_susp...@fence-restore-tiled2untiled.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-apl3/igt@i915_susp...@fence-restore-tiled2untiled.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl:  [PASS][16] -> ([DMESG-WARN][17], [PASS][18]) 
([fdo#108566])
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-kbl7/igt@kms_cursor_...@pipe-a-cursor-suspend.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl6/igt@kms_cursor_...@pipe-a-cursor-suspend.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl2/igt@kms_cursor_...@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-hsw:  [PASS][19] -> [SKIP][20] ([fdo#109271]) +5 similar 
issues
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-hsw4/igt@kms_cursor_leg...@cursorb-vs-flipa-toggle.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-hsw1/igt@kms_cursor_leg...@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-snb:  [PASS][21] -> [SKIP][22] ([fdo#109271]) +2 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-snb2/igt@kms_cursor_leg...@flip-vs-cursor-legacy.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-snb7/igt@kms_cursor_leg...@flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk:  [PASS][23] -> ([PASS][24], [FAIL][25]) ([fdo#105363])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-glk6/igt@kms_f...@2x-flip-vs-expired-vblank-in

Re: [Intel-gfx] [v7][PATCH 06/12] drm/i915: Extract i965_read_luts()

2019-05-31 Thread Ville Syrjälä
On Wed, May 29, 2019 at 03:20:56PM +0530, Swati Sharma wrote:
> In this patch, hw gamma blob is created for i965.
> 
> v4: -No need to initialize *blob [Jani]
> -Removed right shifts [Jani]
> -Dropped dev local var [Jani]
> v5: -Returned blob instead of assigning it internally
>  within the function [Ville]
> -Renamed i965_get_color_config() to i965_read_lut() [Ville]
> -Renamed i965_get_gamma_config_10p6() to i965_read_gamma_lut_10p6()
>  [Ville]
> 
> Signed-off-by: Swati Sharma 
> ---
>  drivers/gpu/drm/i915/i915_reg.h|  3 +++
>  drivers/gpu/drm/i915/intel_color.c | 39 
> ++
>  2 files changed, 42 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index b58c66d..7988fa5 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -3584,6 +3584,9 @@ enum i915_power_well_id {
>  #define _PALETTE_A   0xa000
>  #define _PALETTE_B   0xa800
>  #define _CHV_PALETTE_C   0xc000
> +#define PALETTE_RED_MASKREG_GENMASK(23, 16)
> +#define PALETTE_GREEN_MASK  REG_GENMASK(15, 8)
> +#define PALETTE_BLUE_MASK   REG_GENMASK(7, 0)
>  #define PALETTE(pipe, i) _MMIO(DISPLAY_MMIO_BASE(dev_priv) + \
> _PICK((pipe), _PALETTE_A, \
>   _PALETTE_B, _CHV_PALETTE_C) + \
> diff --git a/drivers/gpu/drm/i915/intel_color.c 
> b/drivers/gpu/drm/i915/intel_color.c
> index 6ed851b..3ec84af 100644
> --- a/drivers/gpu/drm/i915/intel_color.c
> +++ b/drivers/gpu/drm/i915/intel_color.c
> @@ -1505,6 +1505,44 @@ static void chv_read_luts(struct intel_crtc_state 
> *crtc_state)
>   crtc_state->base.gamma_lut = chv_read_cgm_gamma_lut(crtc_state);
>  }
>  
> +static struct drm_property_blob *
> +i965_read_gamma_lut_10p6(struct intel_crtc_state *crtc_state)

i965_read_lut_10p6() would match the name of the counterpart better.

I think crtc_state can be const in all of these functions. Or you could
pass just the crtc itself rather than its state.

> +{
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
> + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> + u32 i, val1, val2, lut_size = 
> INTEL_INFO(dev_priv)->color.gamma_lut_size;
> + enum pipe pipe = crtc->pipe;
> + struct drm_property_blob *blob;
> + struct drm_color_lut *blob_data;
> +
> + blob = drm_property_create_blob(&dev_priv->drm,
> + sizeof(struct drm_color_lut) * lut_size,
> + NULL);
> + if (IS_ERR(blob))
> + return NULL;
> +
> + blob_data = blob->data;
> +
> + for (i = 0; i < lut_size - 1; i++) {
> + val1 = I915_READ(PALETTE(pipe, 2 * i + 0));
> + val2 = I915_READ(PALETTE(pipe, 2 * i + 1));
> +
> + blob_data[i].red = REG_FIELD_GET(PALETTE_RED_MASK, val1) << 8 | 
> REG_FIELD_GET(PALETTE_RED_MASK, val2);
> + blob_data[i].green = REG_FIELD_GET(PALETTE_GREEN_MASK, val1) << 
> 8 | REG_FIELD_GET(PALETTE_GREEN_MASK, val2);
> + blob_data[i].blue = REG_FIELD_GET(PALETTE_BLUE_MASK, val1) << 8 
> | REG_FIELD_GET(PALETTE_BLUE_MASK, val2) ;
> + }
> +
> + return blob;
> +}
> +
> +static void i965_read_luts(struct intel_crtc_state *crtc_state)
> +{
> + if (crtc_state->gamma_mode == GAMMA_MODE_MODE_8BIT)
> + crtc_state->base.gamma_lut = i9xx_read_lut_8(crtc_state);
> + else
> + crtc_state->base.gamma_lut = 
> i965_read_gamma_lut_10p6(crtc_state);
> +}
> +
>  void intel_color_init(struct intel_crtc *crtc)
>  {
>   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> @@ -1522,6 +1560,7 @@ void intel_color_init(struct intel_crtc *crtc)
>   dev_priv->display.color_check = i9xx_color_check;
>   dev_priv->display.color_commit = i9xx_color_commit;
>   dev_priv->display.load_luts = i965_load_luts;
> + dev_priv->display.read_luts = i965_read_luts;
>   } else {
>   dev_priv->display.color_check = i9xx_color_check;
>   dev_priv->display.color_commit = i9xx_color_commit;
> -- 
> 1.9.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

Re: [Intel-gfx] [v7][PATCH 11/12] drm/i915: Extract ilk_read_luts()

2019-05-31 Thread Ville Syrjälä
On Wed, May 29, 2019 at 03:21:01PM +0530, Swati Sharma wrote:
> In this patch, hw gamma blob is created for ILK.
> 
> v4: -No need to initialize *blob [Jani]
> -Removed right shifts [Jani]
> -Dropped dev local var [Jani]
> v5: -Returned blob instead of assigning it internally within the
>  function [Ville]
> -Renamed ilk_get_color_config() to ilk_read_luts() [Ville]
> 
> Signed-off-by: Swati Sharma 
> ---
>  drivers/gpu/drm/i915/i915_reg.h|  3 +++
>  drivers/gpu/drm/i915/intel_color.c | 42 
> --
>  2 files changed, 43 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 249296b..d5ff323 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -7189,6 +7189,9 @@ enum {
>  /* ilk/snb precision palette */
>  #define _PREC_PALETTE_A   0x4b000
>  #define _PREC_PALETTE_B   0x4c000
> +#define   PREC_PALETTE_RED_MASK   REG_GENMASK(29, 20)
> +#define   PREC_PALETTE_GREEN_MASK REG_GENMASK(19, 10)
> +#define   PREC_PALETTE_BLUE_MASK  REG_GENMASK(9, 0)
>  #define PREC_PALETTE(pipe, i) _MMIO(_PIPE(pipe, _PREC_PALETTE_A, 
> _PREC_PALETTE_B) + (i) * 4)
>  
>  #define  _PREC_PIPEAGCMAX  0x4d000
> diff --git a/drivers/gpu/drm/i915/intel_color.c 
> b/drivers/gpu/drm/i915/intel_color.c
> index 6e6e54b..7568b13 100644
> --- a/drivers/gpu/drm/i915/intel_color.c
> +++ b/drivers/gpu/drm/i915/intel_color.c
> @@ -1650,6 +1650,43 @@ static void ivb_read_luts(struct intel_crtc_state 
> *crtc_state)
>   crtc_state->base.gamma_lut = ivb_read_lut_10(crtc_state, 
> PAL_PREC_INDEX_VALUE(0));
>  }
>  
> +static struct drm_property_blob *
> +ilk_read_gamma_lut(struct intel_crtc_state *crtc_state)

ilk_read_lut_10()

> +{
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
> + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> + u32 i, val, lut_size = INTEL_INFO(dev_priv)->color.gamma_lut_size;
> + enum pipe pipe = crtc->pipe;
> + struct drm_property_blob *blob;
> + struct drm_color_lut *blob_data;
> +
> + blob = drm_property_create_blob(&dev_priv->drm,
> + sizeof(struct drm_color_lut) * lut_size,
> + NULL);
> + if (IS_ERR(blob))
> + return NULL;
> +
> + blob_data = blob->data;
> +
> + for (i = 0; i < lut_size - 1; i++) {
> + val = I915_READ(PREC_PALETTE(pipe, i));
> +
> + blob_data[i].red = 
> intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_RED_MASK, val), 10);
> + blob_data[i].green = 
> intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_GREEN_MASK, val), 10);
> + blob_data[i].blue = 
> intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_BLUE_MASK, val), 10);
> + }
> +
> + return blob;
> +}
> +
> +static void ilk_read_luts(struct intel_crtc_state *crtc_state)
> +{
> + if (crtc_state->gamma_mode == GAMMA_MODE_MODE_8BIT)
> + crtc_state->base.gamma_lut = i9xx_read_lut_8(crtc_state);
> + else
> + crtc_state->base.gamma_lut = ilk_read_gamma_lut(crtc_state);
> +}
> +
>  void intel_color_init(struct intel_crtc *crtc)
>  {
>   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> @@ -1703,9 +1740,10 @@ void intel_color_init(struct intel_crtc *crtc)
>   } else if (INTEL_GEN(dev_priv) >= 7) {
>   dev_priv->display.load_luts = ivb_load_luts;
>   dev_priv->display.read_luts = ivb_read_luts;
> - }
> - else
> + } else {
>   dev_priv->display.load_luts = ilk_load_luts;
> + dev_priv->display.read_luts = ilk_read_luts;
> + }
>   }
>  
>   drm_crtc_enable_color_mgmt(&crtc->base,
> -- 
> 1.9.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

Re: [Intel-gfx] [v7][PATCH 03/12] drm/i915: Add func to compare hw/sw gamma lut

2019-05-31 Thread Ville Syrjälä
On Wed, May 29, 2019 at 03:20:53PM +0530, Swati Sharma wrote:
> v3: -Rebase
> v4: -Renamed intel_compare_color_lut() to intel_color_lut_equal() [Jani]
> -Added the default label above the correct label [Jani]
> -Corrected smatch warn "variable dereferenced before check"
>  [Dan Carpenter]
> v5: -Added condition (!blob1 && !blob2) return true [Jani]
> -Called PIPE_CONF_CHECK_COLOR_LUT inside if (!adjust) [Jani]
> -Added #undef PIPE_CONF_CHECK_COLOR_LUT [Jani]
> v6: -Added func intel_color_get_bit_precision() to get bit precision for
>  gamma and degamma lut readout depending upon platform and
>  corresponding to load_luts() [Ankit]
> -Added debug log for color para in intel_dump_pipe_config [Jani]
> -Made patch11 as patch3 [Jani]
> v7: -Renamed func intel_color_get_bit_precision() to
>  intel_color_get_gamma_bit_precision()
> -Added separate function/platform for gamma bit precision [Ville]
> -Corrected checkpatch warnings
> 
> Signed-off-by: Swati Sharma 
> ---
>  drivers/gpu/drm/i915/intel_color.c   | 166 
> +++
>  drivers/gpu/drm/i915/intel_color.h   |   7 ++
>  drivers/gpu/drm/i915/intel_display.c |  24 +
>  3 files changed, 197 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_color.c 
> b/drivers/gpu/drm/i915/intel_color.c
> index 50b98ee..b20a2c6 100644
> --- a/drivers/gpu/drm/i915/intel_color.c
> +++ b/drivers/gpu/drm/i915/intel_color.c
> @@ -1251,6 +1251,172 @@ static int icl_color_check(struct intel_crtc_state 
> *crtc_state)
>   return 0;
>  }
>  
> +static int i9xx_gamma_precision(struct intel_crtc_state *crtc_state)
> +{
> + if (!crtc_state->gamma_enable)
> + return 0;
> +
> + switch (crtc_state->gamma_mode) {
> + case GAMMA_MODE_MODE_8BIT:
> + return 8;
> + case GAMMA_MODE_MODE_10BIT:
> + return 16;
> + default:
> + MISSING_CASE(crtc_state->gamma_mode);
> + return 0;
> + }
> +}
> +
> +static int chv_gamma_precision(struct intel_crtc_state *crtc_state)
> +{
> + if (crtc_state->cgm_mode & CGM_PIPE_MODE_GAMMA)
> + return 10;
> + else
> + return i9xx_gamma_precision(crtc_state);
> +}
> +
> +static int ilk_gamma_precision(struct intel_crtc_state *crtc_state)
> +{
> + if (!crtc_state->gamma_enable)
> + return 0;
> +
> + if ((crtc_state->csc_mode & CSC_POSITION_BEFORE_GAMMA) == 0)
> + return 0;
> +
> + switch (crtc_state->gamma_mode) {
> + case GAMMA_MODE_MODE_8BIT:
> + return 8;
> + case GAMMA_MODE_MODE_10BIT:
> + return 10;
> + default:
> + MISSING_CASE(crtc_state->gamma_mode);
> + return 0;
> + }
> +}
> +
> +static int ivb_gamma_precision(struct intel_crtc_state *crtc_state)
> +{
> + if (!crtc_state->gamma_enable)
> + return 0;
> +
> + if ((crtc_state->csc_mode & CSC_POSITION_BEFORE_GAMMA) == 0)
> + return 0;
> +
> + switch (crtc_state->gamma_mode) {
> + case GAMMA_MODE_MODE_8BIT:
> + return 8;
> + case GAMMA_MODE_MODE_SPLIT:
> + case GAMMA_MODE_MODE_10BIT:
> + return 10;
> + default:
> + MISSING_CASE(crtc_state->gamma_mode);
> + return 0;
> + }
> +}
> +
> +static int glk_gamma_precision(struct intel_crtc_state *crtc_state)
> +{
> + if (!crtc_state->gamma_enable)
> + return 0;
> +
> + if ((crtc_state->csc_mode & CSC_POSITION_BEFORE_GAMMA) == 0)
> + return 0;

glk doens't have that bit.

> +
> + switch (crtc_state->gamma_mode) {
> + case GAMMA_MODE_MODE_8BIT:
> + return 8;
> + case GAMMA_MODE_MODE_10BIT:
> + return 10;
> + default:
> + MISSING_CASE(crtc_state->gamma_mode);
> + return 0;
> + }
> +}
> +
> +static int icl_gamma_precision(struct intel_crtc_state *crtc_state)
> +{
> + if ((crtc_state->gamma_mode & PRE_CSC_GAMMA_ENABLE) == 0)
> + return 0;

POST_CSC_GAMMA

> +
> + switch (crtc_state->gamma_mode & GAMMA_MODE_MODE_MASK) {
> + case GAMMA_MODE_MODE_8BIT:
> + return 8;
> + case GAMMA_MODE_MODE_10BIT:
> + return 10;
> + default:
> + MISSING_CASE(crtc_state->gamma_mode);
> + return 0;
> + }
> +}
> +
> +int intel_color_get_gamma_bit_precision(struct intel_crtc_state *crtc_state)
> +{
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
> + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> +
> + if (HAS_GMCH(dev_priv)) {
> + if (IS_CHERRYVIEW(dev_priv))
> + return chv_gamma_precision(crtc_state);
> + else
> + return i9xx_gamma_precision(crtc_state);
> + } else {
> + if (INTEL_GEN(dev_priv) >= 11)
> + return icl_gamma_precision(crtc_state);
> + else if (IS_CA

Re: [Intel-gfx] [PATCH i-g-t 1/5] lib/tests: fix conflicting args test

2019-05-31 Thread Lucas De Marchi

On Fri, May 31, 2019 at 12:59:35PM +0300, Petri Latvala wrote:

On Wed, May 29, 2019 at 04:27:33PM -0700, Lucas De Marchi wrote:

We want to check if the long option conflicts with one from the core.
The check for conflicting short option already exists just above.


No, this one is checking that the val (the 0) doesn't conflict.


My point is that this check is already done above. We don't need to do
it again.

If you insist, then we will need to raise it to magic number 500,
because 0 won't be a conflict after this series.

Lucas De Marchi




--
Petri Latvala




Signed-off-by: Lucas De Marchi 
---
 lib/tests/igt_conflicting_args.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/tests/igt_conflicting_args.c b/lib/tests/igt_conflicting_args.c
index c357b6c5..d8be138e 100644
--- a/lib/tests/igt_conflicting_args.c
+++ b/lib/tests/igt_conflicting_args.c
@@ -91,7 +91,7 @@ int main(int argc, char **argv)
internal_assert_wsignaled(do_fork(), SIGABRT);

/* conflict on long option 'val' representations */
-   long_options[0] = (struct option) { "iterations", required_argument, 
NULL, 0};
+   long_options[0] = (struct option) { "list-subtests", required_argument, 
NULL, 0};
short_options = "";
internal_assert_wsignaled(do_fork(), SIGABRT);

--
2.21.0

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

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

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/fb-helper: Move modesetting code to drm_client (rev8)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/fb-helper: Move modesetting code to drm_client (rev8)
URL   : https://patchwork.freedesktop.org/series/58597/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
Okay!

Commit: drm/fb-helper: Remove drm_fb_helper_crtc
-O:drivers/gpu/drm/drm_fb_helper.c:2067:43: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/drm_fb_helper.c:2067:43: warning: expression using 
sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:2030:43: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:2030:43: warning: expression using sizeof(void)
-./include/linux/slab.h:666:13: error: not a function 
+./include/linux/slab.h:666:13: error: undefined identifier 
'__builtin_mul_overflow'
+./include/linux/slab.h:666:13: warning: call with no type!

Commit: drm/fb-helper: Prepare to move out commit code
+drivers/gpu/drm/drm_fb_helper.c:409:6: warning: symbol 
'drm_client_panel_rotation' was not declared. Should it be static?
+drivers/gpu/drm/drm_fb_helper.c:584:5: warning: symbol 
'drm_client_modeset_commit_force' was not declared. Should it be static?
+drivers/gpu/drm/drm_fb_helper.c:608:5: warning: symbol 
'drm_client_modeset_commit' was not declared. Should it be static?
+drivers/gpu/drm/drm_fb_helper.c:754:5: warning: symbol 
'drm_client_modeset_dpms' was not declared. Should it be static?

Commit: drm/fb-helper: Move out commit code
+drivers/gpu/drm/drm_fb_helper.c:1771:40: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1771:40: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1772:40: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1772:40: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1786:43: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1786:43: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1788:43: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:1788:43: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:2292:30: warning: expression using sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:3238:12: warning: symbol 
'drm_fb_helper_modinit' was not declared. Should it be static?
-drivers/gpu/drm/drm_fb_helper.c:1771:40: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1771:40: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1772:40: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1772:40: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1786:43: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1786:43: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1788:43: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:1788:43: warning: expression using sizeof(void)
-drivers/gpu/drm/drm_fb_helper.c:2292:30: warning: expression using sizeof(void)
-O:drivers/gpu/drm/drm_fb_helper.c:409:6: warning: symbol 
'drm_client_panel_rotation' was not declared. Should it be static?
-O:drivers/gpu/drm/drm_fb_helper.c:584:5: warning: symbol 
'drm_client_modeset_commit_force' was not declared. Should it be static?
-O:drivers/gpu/drm/drm_fb_helper.c:608:5: warning: symbol 
'drm_client_modeset_commit' was not declared. Should it be static?
-O:drivers/gpu/drm/drm_fb_helper.c:754:5: warning: symbol 
'drm_client_modeset_dpms' was not declared. Should it be static?

Commit: drm/fb-helper: Remove drm_fb_helper_connector
-O:drivers/gpu/drm/drm_fb_helper.c:2292:30: warning: expression using 
sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:2091:30: warning: expression using sizeof(void)
-./include/linux/slab.h:666:13: error: not a function 

Commit: drm/fb-helper: Prepare to move out modeset config code
-O:drivers/gpu/drm/drm_fb_helper.c:2091:30: warning: expression using 
sizeof(void)
+drivers/gpu/drm/drm_fb_helper.c:2095:30: warning: expression using sizeof(void)

Commit: drm/fb-helper: Move out modeset config code
+drivers/gpu/drm/drm_client_modeset.c:506:30: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/drm_fb_helper.c:2095:30: warning: expression using 
sizeof(void)
+./include/linux/slab.h:666:13: error: not a function 
-./include/linux/slab.h:666:13: error: undefined identifier 
'__builtin_mul_overflow'
-./include/linux/slab.h:666:13: warning: call with no type!

Commit: drm/client: Hack: Add bootsplash example
+
+ ^~~~
+drivers/gpu/drm/drm_client.c:166:5: warning: "CONFIG_DRM_CLIENT_BOOTSPLASH" is 
not defined, evaluates to 0 [-Wundef]
+drivers/gpu/drm/drm_client.c:166:5: warning: undefined preprocessor identifier 
'CONFIG_DRM_CLIENT_BOOTSPLASH'
+drivers/gpu/drm/drm_client.c: In function ‘drm_client_dev_register’:
+Error in reading or end of file.
+ #if CONFIG_DRM_CLIENT_BOOTSPLASH

__

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/fb-helper: Move modesetting code to drm_client (rev8)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/fb-helper: Move modesetting code to drm_client (rev8)
URL   : https://patchwork.freedesktop.org/series/58597/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
7f8f155f76d9 drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
03e436436a8d drm/fb-helper: Remove drm_fb_helper_crtc
-:130: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#130: 
new file mode 100644

-:207: CHECK:LINE_SPACING: Please use a blank line after 
function/struct/union/enum declarations
#207: FILE: drivers/gpu/drm/drm_client_modeset.c:73:
+}
+/* TODO: Remove export when modeset code has been moved over */

-:237: CHECK:LINE_SPACING: Please use a blank line after 
function/struct/union/enum declarations
#237: FILE: drivers/gpu/drm/drm_client_modeset.c:103:
+}
+/* TODO: Remove export when modeset code has been moved over */

-:931: WARNING:LONG_LINE: line over 100 characters
#931: FILE: drivers/gpu/drm/drm_fb_helper.c:2771:
+   if (WARN_ON_ONCE(modeset->num_connectors == 
DRM_CLIENT_MAX_CLONED_CONNECTORS ||

-:932: WARNING:LONG_LINE: line over 100 characters
#932: FILE: drivers/gpu/drm/drm_fb_helper.c:2772:
+(dev->mode_config.num_crtc > 1 && 
modeset->num_connectors == 1)))

-:1066: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'modeset' - possible 
side-effects?
#1066: FILE: include/drm/drm_client.h:164:
+#define drm_client_for_each_modeset(modeset, client) \
+   for (({ lockdep_assert_held(&(client)->modeset_mutex); }), \
+modeset = (client)->modesets; modeset->crtc; modeset++)

-:1066: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'client' - possible 
side-effects?
#1066: FILE: include/drm/drm_client.h:164:
+#define drm_client_for_each_modeset(modeset, client) \
+   for (({ lockdep_assert_held(&(client)->modeset_mutex); }), \
+modeset = (client)->modesets; modeset->crtc; modeset++)

total: 0 errors, 3 warnings, 4 checks, 958 lines checked
5bd5173fe7fd drm/fb-helper: Prepare to move out commit code
fdb3c200a4fc drm/fb-helper: Move out commit code
-:155: WARNING:LONG_LINE: line over 100 characters
#155: FILE: drivers/gpu/drm/drm_client_modeset.c:224:
+   struct drm_crtc_state *crtc_state = 
drm_atomic_get_new_crtc_state(state, crtc);

-:288: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#288: FILE: drivers/gpu/drm/drm_client_modeset.c:357:
+   drm_object_property_set_value(&connector->base,
+   dev->mode_config.dpms_property, dpms_mode);

total: 0 errors, 1 warnings, 1 checks, 616 lines checked
b7f8314057cf drm/fb-helper: Remove drm_fb_helper_connector
-:596: WARNING:LONG_LINE: line over 100 characters
#596: FILE: drivers/gpu/drm/drm_fb_helper.c:1974:
+ connector->base.id, connector->tile_group 
? connector->tile_group->id : 0);

-:953: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in 
parentheses
#953: FILE: include/drm/drm_client.h:183:
+#define drm_client_for_each_connector_iter(connector, iter) \
+   drm_for_each_connector_iter(connector, iter) \
+   if (connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK)

-:953: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'connector' - possible 
side-effects?
#953: FILE: include/drm/drm_client.h:183:
+#define drm_client_for_each_connector_iter(connector, iter) \
+   drm_for_each_connector_iter(connector, iter) \
+   if (connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK)

total: 1 errors, 1 warnings, 1 checks, 1007 lines checked
e365bfaa0beb drm/fb-helper: Prepare to move out modeset config code
-:170: WARNING:LONG_LINE: line over 100 characters
#170: FILE: drivers/gpu/drm/drm_fb_helper.c:2367:
+(dev->mode_config.num_crtc > 1 && 
modeset->num_connectors == 1))) {

total: 0 errors, 1 warnings, 0 checks, 179 lines checked
0c65faf4aac7 drm/fb-helper: Move out modeset config code
-:100: CHECK:BOOL_COMPARISON: Using comparison to false is error prone
#100: FILE: drivers/gpu/drm/drm_client_modeset.c:140:
+   if (cmdline_mode->specified == false)

-:171: WARNING:LONG_LINE: line over 100 characters
#171: FILE: drivers/gpu/drm/drm_client_modeset.c:211:
+ connector->display_info.non_desktop ? "non 
desktop" : enabled[i] ? "yes" : "no");

-:315: CHECK:BOOL_COMPARISON: Using comparison to false is error prone
#315: FILE: drivers/gpu/drm/drm_client_modeset.c:355:
+   if (enabled[i] == false) {

-:349: WARNING:LONG_LINE: line over 100 characters
#349: FILE: drivers/gpu/drm/drm_client_modeset.c:389:
+ connector->base.id, connector->tile_group 
? connector->tile_group->id : 0);

-:405: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "!modes[n]"
#405: FILE: drivers/gpu/drm/drm_client_modeset.c:445:
+ 

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/5] lib/tests: fix conflicting args test

2019-05-31 Thread Patchwork
== Series Details ==

Series: series starting with [1/5] lib/tests: fix conflicting args test
URL   : https://patchwork.freedesktop.org/series/61355/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6166_full -> IGTPW_3078_full


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/61355/revisions/1/mbox/

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_eio@in-flight-suspend:
- shard-apl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +1 
similar issue
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-apl5/igt@gem_...@in-flight-suspend.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-apl4/igt@gem_...@in-flight-suspend.html

  * igt@gem_workarounds@suspend-resume-fd:
- shard-iclb: [PASS][3] -> [FAIL][4] ([fdo#110802]) +1 similar issue
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-iclb7/igt@gem_workarou...@suspend-resume-fd.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-iclb2/igt@gem_workarou...@suspend-resume-fd.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-hsw:  [PASS][5] -> [SKIP][6] ([fdo#109271]) +15 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-hsw5/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-hsw1/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103167]) +1 similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-kbl:  [PASS][9] -> [DMESG-WARN][10] ([fdo#108566]) +1 
similar issue
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-kbl7/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-kbl6/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103166])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-iclb6/igt@kms_plane_low...@pipe-a-tiling-y.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-iclb1/igt@kms_plane_low...@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-iclb5/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- shard-hsw:  [PASS][15] -> [FAIL][16] ([fdo#99912])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-hsw1/igt@kms_setm...@basic.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-hsw1/igt@kms_setm...@basic.html

  
 Possible fixes 

  * igt@drm_read@short-buffer-block:
- shard-apl:  [INCOMPLETE][17] ([fdo#103927]) -> [PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-apl4/igt@drm_r...@short-buffer-block.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-apl8/igt@drm_r...@short-buffer-block.html

  * igt@gem_ctx_isolation@vecs0-s3:
- shard-kbl:  [DMESG-WARN][19] ([fdo#108566]) -> [PASS][20] +1 
similar issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-kbl6/igt@gem_ctx_isolat...@vecs0-s3.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-kbl2/igt@gem_ctx_isolat...@vecs0-s3.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-snb:  [SKIP][21] ([fdo#109271]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-snb1/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-snb5/igt@i915_pm_rc6_reside...@rc6-accuracy.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk:  [FAIL][23] ([fdo#104873]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6166/shard-glk5/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3078/shard-glk3/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_dp_dsc@basic-

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Ensure port A combo PHY HW state is correct

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Ensure port A combo PHY HW state is correct
URL   : https://patchwork.freedesktop.org/series/61415/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6173 -> Patchwork_13143


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

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

  * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy:
- fi-icl-u3:  [PASS][5] -> [DMESG-WARN][6] ([fdo#107724])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6173/fi-icl-u3/igt@kms_cursor_leg...@basic-flip-before-cursor-legacy.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13143/fi-icl-u3/igt@kms_cursor_leg...@basic-flip-before-cursor-legacy.html

  
 Possible fixes 

  * igt@i915_module_load@reload-with-fault-injection:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] +1 
similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6173/fi-icl-u3/igt@i915_module_l...@reload-with-fault-injection.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13143/fi-icl-u3/igt@i915_module_l...@reload-with-fault-injection.html

  * {igt@i915_selftest@live_blt}:
- fi-skl-iommu:   [INCOMPLETE][9] -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6173/fi-skl-iommu/igt@i915_selftest@live_blt.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13143/fi-skl-iommu/igt@i915_selftest@live_blt.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  [FAIL][11] ([fdo#103167]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6173/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13143/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278


Participating hosts (48 -> 45)
--

  Missing(3): fi-byt-squawks fi-bsw-cyan fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6173 -> Patchwork_13143

  CI_DRM_6173: f4b0adf2423ad1c24b655ad956f9463b70f96b89 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5026: 4108c74c3b15460de25ab989f4e2031594559dfc @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13143: 878281e292ada2592e200a14fd3e64e2e23ba015 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

878281e292ad drm/i915/icl: Ensure port A combo PHY HW state is correct

== Logs ==

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

Re: [Intel-gfx] [PATCH 01/13] drm/i915/bios: make child device order the priority order

2019-05-31 Thread Ville Syrjälä
On Fri, May 31, 2019 at 04:14:51PM +0300, Jani Nikula wrote:
> Make the child device order the priority order in sanitizing DDC pin and
> AUX CH. First come, first served.
> 
> Cc: Ville Syrjälä 
> Signed-off-by: Jani Nikula 
> ---
>  drivers/gpu/drm/i915/intel_bios.c | 32 +++
>  1 file changed, 15 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_bios.c 
> b/drivers/gpu/drm/i915/intel_bios.c
> index a0b708f7f384..0a1b9a4a1b71 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -1242,8 +1242,7 @@ static u8 translate_iboost(u8 val)
>  static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,
>enum port port)
>  {
> - const struct ddi_vbt_port_info *info =
> - &dev_priv->vbt.ddi_port_info[port];
> + struct ddi_vbt_port_info *info = &dev_priv->vbt.ddi_port_info[port];
>   enum port p;
>  
>   if (!info->alternate_ddc_pin)
> @@ -1258,8 +1257,8 @@ static void sanitize_ddc_pin(struct drm_i915_private 
> *dev_priv,
>  
>   DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as 
> port %c, "
> "disabling port %c DVI/HDMI support\n",
> -   port_name(p), i->alternate_ddc_pin,
> -   port_name(port), port_name(p));
> +   port_name(port), info->alternate_ddc_pin,
> +   port_name(p), port_name(port));
>  
>   /*
>* If we have multiple ports supposedly sharing the
> @@ -1267,20 +1266,19 @@ static void sanitize_ddc_pin(struct drm_i915_private 
> *dev_priv,
>* port. Otherwise they share the same ddc bin and
>* system couldn't communicate with them separately.
>*
> -  * Due to parsing the ports in child device order,
> -  * a later device will always clobber an earlier one.
> +  * Give child device order the priority, first come first
> +  * served.
>*/
> - i->supports_dvi = false;
> - i->supports_hdmi = false;
> - i->alternate_ddc_pin = 0;
> + info->supports_dvi = false;
> + info->supports_hdmi = false;
> + info->alternate_ddc_pin = 0;

'i' can now be const I think.

Series is
Reviewed-by: Ville Syrjälä 

Though I only glanced at the header reorganization things instead
of reading through it all in detail.

>   }
>  }
>  
>  static void sanitize_aux_ch(struct drm_i915_private *dev_priv,
>   enum port port)
>  {
> - const struct ddi_vbt_port_info *info =
> - &dev_priv->vbt.ddi_port_info[port];
> + struct ddi_vbt_port_info *info = &dev_priv->vbt.ddi_port_info[port];
>   enum port p;
>  
>   if (!info->alternate_aux_channel)
> @@ -1295,8 +1293,8 @@ static void sanitize_aux_ch(struct drm_i915_private 
> *dev_priv,
>  
>   DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as 
> port %c, "
> "disabling port %c DP support\n",
> -   port_name(p), i->alternate_aux_channel,
> -   port_name(port), port_name(p));
> +   port_name(port), info->alternate_aux_channel,
> +   port_name(p), port_name(port));
>  
>   /*
>* If we have multiple ports supposedlt sharing the
> @@ -1304,11 +1302,11 @@ static void sanitize_aux_ch(struct drm_i915_private 
> *dev_priv,
>* port. Otherwise they share the same aux channel
>* and system couldn't communicate with them separately.
>*
> -  * Due to parsing the ports in child device order,
> -  * a later device will always clobber an earlier one.
> +  * Give child device order the priority, first come first
> +  * served.
>*/
> - i->supports_dp = false;
> - i->alternate_aux_channel = 0;
> + info->supports_dp = false;
> + info->alternate_aux_channel = 0;
>   }
>  }
>  
> -- 
> 2.20.1

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

[Intel-gfx] [PATCH v7 6/8] drm/fb-helper: Prepare to move out modeset config code

2019-05-31 Thread Noralf Trønnes
This prepares the modeset code so it can be moved out as-is in the next
patch.

v3: Remove stray newline

Signed-off-by: Noralf Trønnes 
Reviewed-by: Maxime Ripard 
Reviewed-by: Sam Ravnborg 
---
 drivers/gpu/drm/drm_fb_helper.c | 62 +++--
 include/drm/drm_fb_helper.h |  4 ---
 2 files changed, 44 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index b936db6280ac..e7f41e5d924c 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -48,6 +48,10 @@
 
 #include "drm_internal.h"
 
+struct drm_client_offset {
+   int x, y;
+};
+
 static bool drm_fbdev_emulation = true;
 module_param_named(fbdev_emulation, drm_fbdev_emulation, bool, 0600);
 MODULE_PARM_DESC(fbdev_emulation,
@@ -1809,7 +1813,7 @@ static bool drm_client_target_cloned(struct drm_device 
*dev,
 struct drm_connector **connectors,
 unsigned int connector_count,
 struct drm_display_mode **modes,
-struct drm_fb_offset *offsets,
+struct drm_client_offset *offsets,
 bool *enabled, int width, int height)
 {
int count, i, j;
@@ -1888,7 +1892,7 @@ static bool drm_client_target_cloned(struct drm_device 
*dev,
 static int drm_client_get_tile_offsets(struct drm_connector **connectors,
   unsigned int connector_count,
   struct drm_display_mode **modes,
-  struct drm_fb_offset *offsets,
+  struct drm_client_offset *offsets,
   int idx,
   int h_idx, int v_idx)
 {
@@ -1921,7 +1925,7 @@ static int drm_client_get_tile_offsets(struct 
drm_connector **connectors,
 static bool drm_client_target_preferred(struct drm_connector **connectors,
unsigned int connector_count,
struct drm_display_mode **modes,
-   struct drm_fb_offset *offsets,
+   struct drm_client_offset *offsets,
bool *enabled, int width, int height)
 {
const u64 mask = BIT_ULL(connector_count) - 1;
@@ -2085,7 +2089,7 @@ static bool drm_client_firmware_config(struct 
drm_client_dev *client,
   unsigned int connector_count,
   struct drm_crtc **crtcs,
   struct drm_display_mode **modes,
-  struct drm_fb_offset *offsets,
+  struct drm_client_offset *offsets,
   bool *enabled, int width, int height)
 {
unsigned int count = min_t(unsigned int, connector_count, 
BITS_PER_LONG);
@@ -2255,30 +2259,47 @@ static bool drm_client_firmware_config(struct 
drm_client_dev *client,
return ret;
 }
 
-static void drm_setup_crtcs(struct drm_fb_helper *fb_helper,
-   u32 width, u32 height)
+/**
+ * drm_client_modeset_probe() - Probe for displays
+ * @client: DRM client
+ * @width: Maximum display mode width (optional)
+ * @height: Maximum display mode height (optional)
+ *
+ * This function sets up display pipelines for enabled connectors and stores 
the
+ * config in the client's modeset array.
+ *
+ * Returns:
+ * Zero on success or negative error code on failure.
+ */
+int drm_client_modeset_probe(struct drm_client_dev *client, unsigned int 
width, unsigned int height)
 {
struct drm_connector *connector, **connectors = NULL;
-   struct drm_client_dev *client = &fb_helper->client;
struct drm_connector_list_iter conn_iter;
-   struct drm_device *dev = fb_helper->dev;
+   struct drm_device *dev = client->dev;
unsigned int total_modes_count = 0;
+   struct drm_client_offset *offsets;
unsigned int connector_count = 0;
struct drm_display_mode **modes;
-   struct drm_fb_offset *offsets;
struct drm_crtc **crtcs;
+   int i, ret = 0;
bool *enabled;
-   int i;
 
DRM_DEBUG_KMS("\n");
 
+   if (!width)
+   width = dev->mode_config.max_width;
+   if (!height)
+   height = dev->mode_config.max_height;
+
drm_connector_list_iter_begin(dev, &conn_iter);
drm_client_for_each_connector_iter(connector, &conn_iter) {
struct drm_connector **tmp;
 
tmp = krealloc(connectors, (connector_count + 1) * 
sizeof(*connectors), GFP_KERNEL);
-   if (!tmp)
+   if (!tmp) {
+   ret = -ENOMEM;
goto free_connectors;
+

[Intel-gfx] [PATCH v7 8/8] drm/client: Hack: Add bootsplash example

2019-05-31 Thread Noralf Trønnes
An example to showcase the client API.

TODO:
- A bootsplash client needs a way to tell drm_fb_helper to stay away,
  otherwise it will chime in on setup and hotplug.
  Most DRM drivers register fbdev before calling drm_dev_register() (the
  generic emulation is an exception). This have to be reversed for
  bootsplash to fend off fbdev.
- Probably need some way to determine which is the primary display/device
  on multi DRM device systems.
- Maybe do handover from early/simple DRM driver

Signed-off-by: Noralf Trønnes 
---
 drivers/gpu/drm/Kconfig  |   5 +
 drivers/gpu/drm/Makefile |   1 +
 drivers/gpu/drm/drm_bootsplash.c | 358 +++
 drivers/gpu/drm/drm_client.c |   7 +
 drivers/gpu/drm/drm_drv.c|   4 +
 include/drm/drm_client.h |   3 +
 6 files changed, 378 insertions(+)
 create mode 100644 drivers/gpu/drm/drm_bootsplash.c

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 6b34949416b1..d77a67cf3a89 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -66,6 +66,11 @@ config DRM_DEBUG_SELFTEST
 
  If in doubt, say "N".
 
+config DRM_CLIENT_BOOTSPLASH
+   bool "DRM Bootsplash"
+   help
+ DRM Bootsplash
+
 config DRM_KMS_HELPER
tristate
depends on DRM
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index d36feb4a6233..86a2ceb95838 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -31,6 +31,7 @@ drm-$(CONFIG_OF) += drm_of.o
 drm-$(CONFIG_AGP) += drm_agpsupport.o
 drm-$(CONFIG_DEBUG_FS) += drm_debugfs.o drm_debugfs_crc.o
 drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o
+drm-$(CONFIG_DRM_CLIENT_BOOTSPLASH) += drm_bootsplash.o
 
 drm_vram_helper-y := drm_gem_vram_helper.o \
 drm_vram_helper_common.o \
diff --git a/drivers/gpu/drm/drm_bootsplash.c b/drivers/gpu/drm/drm_bootsplash.c
new file mode 100644
index ..f58ee19e268f
--- /dev/null
+++ b/drivers/gpu/drm/drm_bootsplash.c
@@ -0,0 +1,358 @@
+/* DRM internal client example */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+// drm_lastclose()
+#include "drm_internal.h"
+
+static bool drm_bootsplash_enabled = true;
+module_param_named(bootsplash_enabled, drm_bootsplash_enabled, bool, 0600);
+MODULE_PARM_DESC(bootsplash_enabled, "Enable bootsplash client 
[default=true]");
+
+struct drm_bootsplash {
+   struct drm_client_dev client;
+   struct mutex lock;
+   struct work_struct worker;
+   struct drm_client_buffer *buffers[2];
+   bool started;
+   bool stop;
+};
+
+static bool drm_bootsplash_key_pressed;
+
+static int drm_bootsplash_keyboard_notifier_call(struct notifier_block *blk,
+unsigned long code, void 
*_param)
+{
+   /* Any key is good */
+   drm_bootsplash_key_pressed = true;
+
+   return NOTIFY_OK;
+}
+
+static struct notifier_block drm_bootsplash_keyboard_notifier_block = {
+   .notifier_call = drm_bootsplash_keyboard_notifier_call,
+};
+
+static void drm_bootsplash_buffer_delete(struct drm_bootsplash *splash)
+{
+   unsigned int i;
+
+   for (i = 0; i < 2; i++) {
+   if (!IS_ERR_OR_NULL(splash->buffers[i]))
+   drm_client_framebuffer_delete(splash->buffers[i]);
+   splash->buffers[i] = NULL;
+   }
+}
+
+static int drm_bootsplash_buffer_create(struct drm_bootsplash *splash, u32 
width, u32 height)
+{
+   unsigned int i;
+
+   for (i = 0; i < 2; i++) {
+   splash->buffers[i] = 
drm_client_framebuffer_create(&splash->client, width, height, 
DRM_FORMAT_XRGB);
+   if (IS_ERR(splash->buffers[i])) {
+   drm_bootsplash_buffer_delete(splash);
+   return PTR_ERR(splash->buffers[i]);
+   }
+   }
+
+   return 0;
+}
+
+static int drm_bootsplash_display_probe(struct drm_bootsplash *splash)
+{
+   struct drm_client_dev *client = &splash->client;
+   unsigned int width = 0, height = 0;
+   unsigned int num_non_tiled = 0, i;
+   unsigned int modeset_mask = 0;
+   struct drm_mode_set *modeset;
+   bool tiled = false;
+   int ret;
+
+   ret = drm_client_modeset_probe(client, 0, 0);
+   if (ret)
+   return ret;
+
+   mutex_lock(&client->modeset_mutex);
+
+   drm_client_for_each_modeset(modeset, client) {
+   if (!modeset->mode)
+   continue;
+
+   if (modeset->connectors[0]->has_tile)
+   tiled = true;
+   else
+   num_non_tiled++;
+   }
+
+   if (!tiled && !num_non_tiled) {
+   drm_bootsplash_buffer_delete(splash);
+   ret = -ENOENT;
+   goto out;
+   }
+
+   /* Assume only one tiled monitor is possible */
+   if (ti

[Intel-gfx] [PATCH v7 5/8] drm/fb-helper: Remove drm_fb_helper_connector

2019-05-31 Thread Noralf Trønnes
All drivers add all their connectors so there's no need to keep around an
array of available connectors. Instead we just put the useable (not
writeback) connectors in a temporary array using
drm_client_for_each_connector_iter() everytime we probe the outputs.
Other places where it's necessary to look at the connectors, we just
iterate over them using the same iterator function.

Rename functions which signature is changed since they will be moved to
drm_client in a later patch.

v6: Improve commit message (Sam Ravnborg)

Signed-off-by: Noralf Trønnes 
Reviewed-by: Sam Ravnborg 
---
 Documentation/gpu/todo.rst  |   4 +
 drivers/gpu/drm/drm_fb_helper.c | 498 ++--
 include/drm/drm_client.h|  15 +
 include/drm/drm_fb_helper.h |  80 ++---
 4 files changed, 193 insertions(+), 404 deletions(-)

diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index 9d4038c50013..ab96ba0600a9 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -292,6 +292,10 @@ drm_fb_helper tasks
 - The max connector argument for drm_fb_helper_init() and
   drm_fb_helper_fbdev_setup() isn't used anymore and can be removed.
 
+- The helper doesn't keep an array of connectors anymore so these can be
+  removed: drm_fb_helper_single_add_all_connectors(),
+  drm_fb_helper_add_one_connector() and drm_fb_helper_remove_one_connector().
+
 Core refactorings
 =
 
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 7b388674a456..b936db6280ac 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -95,12 +95,6 @@ static DEFINE_MUTEX(kernel_fb_helper_lock);
  * Setup fbdev emulation by calling drm_fb_helper_fbdev_setup() and tear it
  * down by calling drm_fb_helper_fbdev_teardown().
  *
- * Drivers that need to handle connector hotplugging (e.g. dp mst) can't use
- * the setup helper and will need to do the whole four-step setup process with
- * drm_fb_helper_prepare(), drm_fb_helper_init(),
- * drm_fb_helper_single_add_all_connectors(), enable hotplugging and
- * drm_fb_helper_initial_config() to avoid a possible race window.
- *
  * At runtime drivers should restore the fbdev console by using
  * drm_fb_helper_lastclose() as their &drm_driver.lastclose callback.
  * They should also notify the fb helper code from updates to the output
@@ -123,8 +117,7 @@ static DEFINE_MUTEX(kernel_fb_helper_lock);
  * encoders and connectors. To finish up the fbdev helper initialization, the
  * drm_fb_helper_init() function is called. To probe for all attached displays
  * and set up an initial configuration using the detected hardware, drivers
- * should call drm_fb_helper_single_add_all_connectors() followed by
- * drm_fb_helper_initial_config().
+ * should call drm_fb_helper_initial_config().
  *
  * If &drm_framebuffer_funcs.dirty is set, the
  * drm_fb_helper_{cfb,sys}_{write,fillrect,copyarea,imageblit} functions will
@@ -137,165 +130,6 @@ static DEFINE_MUTEX(kernel_fb_helper_lock);
  * deferred I/O (coupled with drm_fb_helper_fbdev_teardown()).
  */
 
-#define drm_fb_helper_for_each_connector(fbh, i__) \
-   for (({ lockdep_assert_held(&(fbh)->lock); }), \
-i__ = 0; i__ < (fbh)->connector_count; i__++)
-
-static int __drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper,
-struct drm_connector *connector)
-{
-   struct drm_fb_helper_connector *fb_conn;
-   struct drm_fb_helper_connector **temp;
-   unsigned int count;
-
-   if (!drm_fbdev_emulation)
-   return 0;
-
-   lockdep_assert_held(&fb_helper->lock);
-
-   count = fb_helper->connector_count + 1;
-
-   if (count > fb_helper->connector_info_alloc_count) {
-   size_t size = count * sizeof(fb_conn);
-
-   temp = krealloc(fb_helper->connector_info, size, GFP_KERNEL);
-   if (!temp)
-   return -ENOMEM;
-
-   fb_helper->connector_info_alloc_count = count;
-   fb_helper->connector_info = temp;
-   }
-
-   fb_conn = kzalloc(sizeof(*fb_conn), GFP_KERNEL);
-   if (!fb_conn)
-   return -ENOMEM;
-
-   drm_connector_get(connector);
-   fb_conn->connector = connector;
-   fb_helper->connector_info[fb_helper->connector_count++] = fb_conn;
-
-   return 0;
-}
-
-int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper,
-   struct drm_connector *connector)
-{
-   int err;
-
-   if (!fb_helper)
-   return 0;
-
-   mutex_lock(&fb_helper->lock);
-   err = __drm_fb_helper_add_one_connector(fb_helper, connector);
-   mutex_unlock(&fb_helper->lock);
-
-   return err;
-}
-EXPORT_SYMBOL(drm_fb_helper_add_one_connector);
-
-/**
- * drm_fb_helper_single_add_all_connectors() - add all connectors to fbdev
- *emulation helper
- 

[Intel-gfx] [PATCH v7 7/8] drm/fb-helper: Move out modeset config code

2019-05-31 Thread Noralf Trønnes
No functional changes, just moving code as-is and fixing includes.

Signed-off-by: Noralf Trønnes 
Reviewed-by: Maxime Ripard 
Reviewed-by: Sam Ravnborg 
---
 drivers/gpu/drm/drm_client_modeset.c | 707 ++-
 drivers/gpu/drm/drm_fb_helper.c  | 692 --
 include/drm/drm_client.h |   5 +-
 3 files changed, 702 insertions(+), 702 deletions(-)

diff --git a/drivers/gpu/drm/drm_client_modeset.c 
b/drivers/gpu/drm/drm_client_modeset.c
index b1984f901a6d..006bf7390e7d 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -13,13 +13,22 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
+#include 
+#include 
 
 #include "drm_crtc_internal.h"
 #include "drm_internal.h"
 
+#define DRM_CLIENT_MAX_CLONED_CONNECTORS   8
+
+struct drm_client_offset {
+   int x, y;
+};
+
 int drm_client_modeset_create(struct drm_client_dev *client)
 {
struct drm_device *dev = client->dev;
@@ -58,7 +67,7 @@ int drm_client_modeset_create(struct drm_client_dev *client)
return -ENOMEM;
 }
 
-void drm_client_modeset_release(struct drm_client_dev *client)
+static void drm_client_modeset_release(struct drm_client_dev *client)
 {
struct drm_mode_set *modeset;
unsigned int i;
@@ -75,8 +84,6 @@ void drm_client_modeset_release(struct drm_client_dev *client)
modeset->num_connectors = 0;
}
 }
-/* TODO: Remove export when modeset code has been moved over */
-EXPORT_SYMBOL(drm_client_modeset_release);
 
 void drm_client_modeset_free(struct drm_client_dev *client)
 {
@@ -95,7 +102,8 @@ void drm_client_modeset_free(struct drm_client_dev *client)
kfree(client->modesets);
 }
 
-struct drm_mode_set *drm_client_find_modeset(struct drm_client_dev *client, 
struct drm_crtc *crtc)
+static struct drm_mode_set *
+drm_client_find_modeset(struct drm_client_dev *client, struct drm_crtc *crtc)
 {
struct drm_mode_set *modeset;
 
@@ -105,8 +113,695 @@ struct drm_mode_set *drm_client_find_modeset(struct 
drm_client_dev *client, stru
 
return NULL;
 }
-/* TODO: Remove export when modeset code has been moved over */
-EXPORT_SYMBOL(drm_client_find_modeset);
+
+static struct drm_display_mode *
+drm_connector_has_preferred_mode(struct drm_connector *connector, int width, 
int height)
+{
+   struct drm_display_mode *mode;
+
+   list_for_each_entry(mode, &connector->modes, head) {
+   if (mode->hdisplay > width ||
+   mode->vdisplay > height)
+   continue;
+   if (mode->type & DRM_MODE_TYPE_PREFERRED)
+   return mode;
+   }
+   return NULL;
+}
+
+static struct drm_display_mode *
+drm_connector_pick_cmdline_mode(struct drm_connector *connector)
+{
+   struct drm_cmdline_mode *cmdline_mode;
+   struct drm_display_mode *mode;
+   bool prefer_non_interlace;
+
+   cmdline_mode = &connector->cmdline_mode;
+   if (cmdline_mode->specified == false)
+   return NULL;
+
+   /* attempt to find a matching mode in the list of modes
+*  we have gotten so far, if not add a CVT mode that conforms
+*/
+   if (cmdline_mode->rb || cmdline_mode->margins)
+   goto create_mode;
+
+   prefer_non_interlace = !cmdline_mode->interlace;
+again:
+   list_for_each_entry(mode, &connector->modes, head) {
+   /* check width/height */
+   if (mode->hdisplay != cmdline_mode->xres ||
+   mode->vdisplay != cmdline_mode->yres)
+   continue;
+
+   if (cmdline_mode->refresh_specified) {
+   if (mode->vrefresh != cmdline_mode->refresh)
+   continue;
+   }
+
+   if (cmdline_mode->interlace) {
+   if (!(mode->flags & DRM_MODE_FLAG_INTERLACE))
+   continue;
+   } else if (prefer_non_interlace) {
+   if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+   continue;
+   }
+   return mode;
+   }
+
+   if (prefer_non_interlace) {
+   prefer_non_interlace = false;
+   goto again;
+   }
+
+create_mode:
+   mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
+   list_add(&mode->head, &connector->modes);
+
+   return mode;
+}
+
+static bool drm_connector_enabled(struct drm_connector *connector, bool strict)
+{
+   bool enable;
+
+   if (connector->display_info.non_desktop)
+   return false;
+
+   if (strict)
+   enable = connector->status == connector_status_connected;
+   else
+   enable = connector->status != connector_status_disconnected;
+
+   return enable;
+}
+
+static void drm_client_connectors_enabled(struct drm_connector **connectors,
+  

[Intel-gfx] [PATCH v7 4/8] drm/fb-helper: Move out commit code

2019-05-31 Thread Noralf Trønnes
Move the modeset commit code to drm_client_modeset.
No changes except exporting API.

v7: Export drm_client_panel_rotation() (Gerd Hoffmann)
v2: Move to drm_client_modeset.c instead of drm_client.c

Signed-off-by: Noralf Trønnes 
Reviewed-by: Sam Ravnborg 
---
 drivers/gpu/drm/drm_client_modeset.c | 288 +++
 drivers/gpu/drm/drm_fb_helper.c  | 282 --
 include/drm/drm_client.h |   4 +
 3 files changed, 292 insertions(+), 282 deletions(-)

diff --git a/drivers/gpu/drm/drm_client_modeset.c 
b/drivers/gpu/drm/drm_client_modeset.c
index 66770ed3299e..b1984f901a6d 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -11,9 +11,14 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
+#include 
+
+#include "drm_crtc_internal.h"
+#include "drm_internal.h"
 
 int drm_client_modeset_create(struct drm_client_dev *client)
 {
@@ -102,3 +107,286 @@ struct drm_mode_set *drm_client_find_modeset(struct 
drm_client_dev *client, stru
 }
 /* TODO: Remove export when modeset code has been moved over */
 EXPORT_SYMBOL(drm_client_find_modeset);
+
+/**
+ * drm_client_panel_rotation() - Check panel orientation
+ * @modeset: DRM modeset
+ * @rotation: Returned rotation value
+ *
+ * This function checks if the primary plane in @modeset can hw rotate to match
+ * the panel orientation on its connector.
+ *
+ * Note: Currently only 0 and 180 degrees are supported.
+ *
+ * Return:
+ * True if the plane can do the rotation, false otherwise.
+ */
+bool drm_client_panel_rotation(struct drm_mode_set *modeset, unsigned int 
*rotation)
+{
+   struct drm_connector *connector = modeset->connectors[0];
+   struct drm_plane *plane = modeset->crtc->primary;
+   u64 valid_mask = 0;
+   unsigned int i;
+
+   if (!modeset->num_connectors)
+   return false;
+
+   switch (connector->display_info.panel_orientation) {
+   case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP:
+   *rotation = DRM_MODE_ROTATE_180;
+   break;
+   case DRM_MODE_PANEL_ORIENTATION_LEFT_UP:
+   *rotation = DRM_MODE_ROTATE_90;
+   break;
+   case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP:
+   *rotation = DRM_MODE_ROTATE_270;
+   break;
+   default:
+   *rotation = DRM_MODE_ROTATE_0;
+   }
+
+   /*
+* TODO: support 90 / 270 degree hardware rotation,
+* depending on the hardware this may require the framebuffer
+* to be in a specific tiling format.
+*/
+   if (*rotation != DRM_MODE_ROTATE_180 || !plane->rotation_property)
+   return false;
+
+   for (i = 0; i < plane->rotation_property->num_values; i++)
+   valid_mask |= (1ULL << plane->rotation_property->values[i]);
+
+   if (!(*rotation & valid_mask))
+   return false;
+
+   return true;
+}
+EXPORT_SYMBOL(drm_client_panel_rotation);
+
+static int drm_client_modeset_commit_atomic(struct drm_client_dev *client, 
bool active)
+{
+   struct drm_device *dev = client->dev;
+   struct drm_plane_state *plane_state;
+   struct drm_plane *plane;
+   struct drm_atomic_state *state;
+   struct drm_modeset_acquire_ctx ctx;
+   struct drm_mode_set *mode_set;
+   int ret;
+
+   drm_modeset_acquire_init(&ctx, 0);
+
+   state = drm_atomic_state_alloc(dev);
+   if (!state) {
+   ret = -ENOMEM;
+   goto out_ctx;
+   }
+
+   state->acquire_ctx = &ctx;
+retry:
+   drm_for_each_plane(plane, dev) {
+   plane_state = drm_atomic_get_plane_state(state, plane);
+   if (IS_ERR(plane_state)) {
+   ret = PTR_ERR(plane_state);
+   goto out_state;
+   }
+
+   plane_state->rotation = DRM_MODE_ROTATE_0;
+
+   /* disable non-primary: */
+   if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+   continue;
+
+   ret = __drm_atomic_helper_disable_plane(plane, plane_state);
+   if (ret != 0)
+   goto out_state;
+   }
+
+   drm_client_for_each_modeset(mode_set, client) {
+   struct drm_plane *primary = mode_set->crtc->primary;
+   unsigned int rotation;
+
+   if (drm_client_panel_rotation(mode_set, &rotation)) {
+   /* Cannot fail as we've already gotten the plane state 
above */
+   plane_state = drm_atomic_get_new_plane_state(state, 
primary);
+   plane_state->rotation = rotation;
+   }
+
+   ret = __drm_atomic_helper_set_config(mode_set, state);
+   if (ret != 0)
+   goto out_state;
+
+   /*
+* __drm_atomic_helper_set_config() sets active when a
+* mode is set, unconditionally clear it if we force 

[Intel-gfx] [PATCH v7 3/8] drm/fb-helper: Prepare to move out commit code

2019-05-31 Thread Noralf Trønnes
This makes the necessary changes so the commit code can be moved out to
drm_client as-is in the next patch. It's split up to ease review.

Signed-off-by: Noralf Trønnes 
Reviewed-by: Sam Ravnborg 
---
 drivers/gpu/drm/drm_fb_helper.c | 122 +---
 1 file changed, 81 insertions(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index b9b7c06cbc4f..64800d43837d 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -393,9 +393,20 @@ int drm_fb_helper_debug_leave(struct fb_info *info)
 }
 EXPORT_SYMBOL(drm_fb_helper_debug_leave);
 
-/* Check if the plane can hw rotate to match panel orientation */
-static bool drm_fb_helper_panel_rotation(struct drm_mode_set *modeset,
-unsigned int *rotation)
+/**
+ * drm_client_panel_rotation() - Check panel orientation
+ * @modeset: DRM modeset
+ * @rotation: Returned rotation value
+ *
+ * This function checks if the primary plane in @modeset can hw rotate to match
+ * the panel orientation on its connector.
+ *
+ * Note: Currently only 0 and 180 degrees are supported.
+ *
+ * Return:
+ * True if the plane can do the rotation, false otherwise.
+ */
+bool drm_client_panel_rotation(struct drm_mode_set *modeset, unsigned int 
*rotation)
 {
struct drm_connector *connector = modeset->connectors[0];
struct drm_plane *plane = modeset->crtc->primary;
@@ -436,10 +447,9 @@ static bool drm_fb_helper_panel_rotation(struct 
drm_mode_set *modeset,
return true;
 }
 
-static int restore_fbdev_mode_atomic(struct drm_fb_helper *fb_helper, bool 
active)
+static int drm_client_modeset_commit_atomic(struct drm_client_dev *client, 
bool active)
 {
-   struct drm_client_dev *client = &fb_helper->client;
-   struct drm_device *dev = fb_helper->dev;
+   struct drm_device *dev = client->dev;
struct drm_plane_state *plane_state;
struct drm_plane *plane;
struct drm_atomic_state *state;
@@ -479,7 +489,7 @@ static int restore_fbdev_mode_atomic(struct drm_fb_helper 
*fb_helper, bool activ
struct drm_plane *primary = mode_set->crtc->primary;
unsigned int rotation;
 
-   if (drm_fb_helper_panel_rotation(mode_set, &rotation)) {
+   if (drm_client_panel_rotation(mode_set, &rotation)) {
/* Cannot fail as we've already gotten the plane state 
above */
plane_state = drm_atomic_get_new_plane_state(state, 
primary);
plane_state->rotation = rotation;
@@ -521,15 +531,14 @@ static int restore_fbdev_mode_atomic(struct drm_fb_helper 
*fb_helper, bool activ
goto retry;
 }
 
-static int restore_fbdev_mode_legacy(struct drm_fb_helper *fb_helper)
+static int drm_client_modeset_commit_legacy(struct drm_client_dev *client)
 {
-   struct drm_client_dev *client = &fb_helper->client;
-   struct drm_device *dev = fb_helper->dev;
+   struct drm_device *dev = client->dev;
struct drm_mode_set *mode_set;
struct drm_plane *plane;
int ret = 0;
 
-   drm_modeset_lock_all(fb_helper->dev);
+   drm_modeset_lock_all(dev);
drm_for_each_plane(plane, dev) {
if (plane->type != DRM_PLANE_TYPE_PRIMARY)
drm_plane_force_disable(plane);
@@ -558,35 +567,53 @@ static int restore_fbdev_mode_legacy(struct drm_fb_helper 
*fb_helper)
goto out;
}
 out:
-   drm_modeset_unlock_all(fb_helper->dev);
+   drm_modeset_unlock_all(dev);
 
return ret;
 }
 
-static int restore_fbdev_mode_force(struct drm_fb_helper *fb_helper)
+/**
+ * drm_client_modeset_commit_force() - Force commit CRTC configuration
+ * @client: DRM client
+ *
+ * Commit modeset configuration to crtcs without checking if there is a DRM 
master.
+ *
+ * Returns:
+ * Zero on success or negative error code on failure.
+ */
+int drm_client_modeset_commit_force(struct drm_client_dev *client)
 {
-   struct drm_device *dev = fb_helper->dev;
+   struct drm_device *dev = client->dev;
int ret;
 
-   mutex_lock(&fb_helper->client.modeset_mutex);
+   mutex_lock(&client->modeset_mutex);
if (drm_drv_uses_atomic_modeset(dev))
-   ret = restore_fbdev_mode_atomic(fb_helper, true);
+   ret = drm_client_modeset_commit_atomic(client, true);
else
-   ret = restore_fbdev_mode_legacy(fb_helper);
-   mutex_unlock(&fb_helper->client.modeset_mutex);
+   ret = drm_client_modeset_commit_legacy(client);
+   mutex_unlock(&client->modeset_mutex);
 
return ret;
 }
 
-static int restore_fbdev_mode(struct drm_fb_helper *fb_helper)
+/**
+ * drm_client_modeset_commit() - Commit CRTC configuration
+ * @client: DRM client
+ *
+ * Commit modeset configuration to crtcs.
+ *
+ * Returns:
+ * Zero on success or negative error code on failure.
+ */
+int drm_clien

[Intel-gfx] [PATCH v7 1/8] drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()

2019-05-31 Thread Noralf Trønnes
Prepare for moving drm_fb_helper modesetting code to drm_client.
drm_client will be linked to drm.ko, so move
__drm_atomic_helper_disable_plane() and __drm_atomic_helper_set_config()
out of drm_kms_helper.ko.

While at it, fix two checkpatch complaints:
- WARNING: Block comments use a trailing */ on a separate line
- CHECK: Alignment should match open parenthesis

v7: Declare drm_mode_set and drm_plane_state

Signed-off-by: Noralf Trønnes 
Reviewed-by: Daniel Vetter 
Reviewed-by: Maxime Ripard 
---
 drivers/gpu/drm/drm_atomic.c| 168 
 drivers/gpu/drm/drm_atomic_helper.c | 164 ---
 drivers/gpu/drm/drm_crtc_internal.h |   7 ++
 include/drm/drm_atomic_helper.h |   4 -
 4 files changed, 175 insertions(+), 168 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index b640e77184e5..169f06d7c5ce 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1179,6 +1179,174 @@ int drm_atomic_nonblocking_commit(struct 
drm_atomic_state *state)
 }
 EXPORT_SYMBOL(drm_atomic_nonblocking_commit);
 
+/* just used from drm-client and atomic-helper: */
+int __drm_atomic_helper_disable_plane(struct drm_plane *plane,
+ struct drm_plane_state *plane_state)
+{
+   int ret;
+
+   ret = drm_atomic_set_crtc_for_plane(plane_state, NULL);
+   if (ret != 0)
+   return ret;
+
+   drm_atomic_set_fb_for_plane(plane_state, NULL);
+   plane_state->crtc_x = 0;
+   plane_state->crtc_y = 0;
+   plane_state->crtc_w = 0;
+   plane_state->crtc_h = 0;
+   plane_state->src_x = 0;
+   plane_state->src_y = 0;
+   plane_state->src_w = 0;
+   plane_state->src_h = 0;
+
+   return 0;
+}
+EXPORT_SYMBOL(__drm_atomic_helper_disable_plane);
+
+static int update_output_state(struct drm_atomic_state *state,
+  struct drm_mode_set *set)
+{
+   struct drm_device *dev = set->crtc->dev;
+   struct drm_crtc *crtc;
+   struct drm_crtc_state *new_crtc_state;
+   struct drm_connector *connector;
+   struct drm_connector_state *new_conn_state;
+   int ret, i;
+
+   ret = drm_modeset_lock(&dev->mode_config.connection_mutex,
+  state->acquire_ctx);
+   if (ret)
+   return ret;
+
+   /* First disable all connectors on the target crtc. */
+   ret = drm_atomic_add_affected_connectors(state, set->crtc);
+   if (ret)
+   return ret;
+
+   for_each_new_connector_in_state(state, connector, new_conn_state, i) {
+   if (new_conn_state->crtc == set->crtc) {
+   ret = drm_atomic_set_crtc_for_connector(new_conn_state,
+   NULL);
+   if (ret)
+   return ret;
+
+   /* Make sure legacy setCrtc always re-trains */
+   new_conn_state->link_status = DRM_LINK_STATUS_GOOD;
+   }
+   }
+
+   /* Then set all connectors from set->connectors on the target crtc */
+   for (i = 0; i < set->num_connectors; i++) {
+   new_conn_state = drm_atomic_get_connector_state(state,
+   
set->connectors[i]);
+   if (IS_ERR(new_conn_state))
+   return PTR_ERR(new_conn_state);
+
+   ret = drm_atomic_set_crtc_for_connector(new_conn_state,
+   set->crtc);
+   if (ret)
+   return ret;
+   }
+
+   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
+   /*
+* Don't update ->enable for the CRTC in the set_config request,
+* since a mismatch would indicate a bug in the upper layers.
+* The actual modeset code later on will catch any
+* inconsistencies here.
+*/
+   if (crtc == set->crtc)
+   continue;
+
+   if (!new_crtc_state->connector_mask) {
+   ret = drm_atomic_set_mode_prop_for_crtc(new_crtc_state,
+   NULL);
+   if (ret < 0)
+   return ret;
+
+   new_crtc_state->active = false;
+   }
+   }
+
+   return 0;
+}
+
+/* just used from drm-client and atomic-helper: */
+int __drm_atomic_helper_set_config(struct drm_mode_set *set,
+  struct drm_atomic_state *state)
+{
+   struct drm_crtc_state *crtc_state;
+   struct drm_plane_state *primary_state;
+   struct drm_crtc *crtc = set->crtc;
+   int hdisplay, vdisplay;
+   int ret;
+
+   crtc_state = drm_atomic_get_crtc_state(state, crtc);
+   if (IS_ERR(crtc_st

[Intel-gfx] [PATCH v7 0/8] drm/fb-helper: Move modesetting code to drm_client

2019-05-31 Thread Noralf Trønnes
This moves the modesetting code from drm_fb_helper to drm_client so it
can be shared by all internal clients.

Changes this time:
- Declare drm_mode_set and drm_plane_state in patch 1
- Export drm_client_panel_rotation() (Gerd Hoffmann)
- Rebase

Noralf.

Cc: Gerd Hoffmann 

Noralf Trønnes (8):
  drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
  drm/fb-helper: Remove drm_fb_helper_crtc
  drm/fb-helper: Prepare to move out commit code
  drm/fb-helper: Move out commit code
  drm/fb-helper: Remove drm_fb_helper_connector
  drm/fb-helper: Prepare to move out modeset config code
  drm/fb-helper: Move out modeset config code
  drm/client: Hack: Add bootsplash example

 Documentation/gpu/drm-client.rst |3 +
 Documentation/gpu/todo.rst   |7 +
 drivers/gpu/drm/Kconfig  |5 +
 drivers/gpu/drm/Makefile |3 +-
 drivers/gpu/drm/drm_atomic.c |  168 
 drivers/gpu/drm/drm_atomic_helper.c  |  164 
 drivers/gpu/drm/drm_bootsplash.c |  358 +++
 drivers/gpu/drm/drm_client.c |   17 +-
 drivers/gpu/drm/drm_client_modeset.c | 1087 +
 drivers/gpu/drm/drm_crtc_internal.h  |7 +
 drivers/gpu/drm/drm_drv.c|4 +
 drivers/gpu/drm/drm_fb_helper.c  | 1305 ++
 include/drm/drm_atomic_helper.h  |4 -
 include/drm/drm_client.h |   49 +
 include/drm/drm_fb_helper.h  |   92 +-
 15 files changed, 1803 insertions(+), 1470 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_bootsplash.c
 create mode 100644 drivers/gpu/drm/drm_client_modeset.c

-- 
2.20.1

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

[Intel-gfx] [PATCH v7 2/8] drm/fb-helper: Remove drm_fb_helper_crtc

2019-05-31 Thread Noralf Trønnes
struct drm_fb_helper_crtc is now just a wrapper around drm_mode_set so
use that directly instead and attach it as a modeset array onto
drm_client_dev. drm_fb_helper will use this array to store its modesets
which means it will always initialize a drm_client, but it will not
register the client (callbacks) unless it's the generic fbdev emulation.

Code will later be moved to drm_client, so add code there in a new file
drm_client_modeset.c with MIT license to match drm_fb_helper.c.

The modeset connector array size is hardcoded for the cloned case to avoid
having to pass in a value from the driver. A value of 8 is chosen to err
on the safe side. This means that the max connector argument for
drm_fb_helper_init() and drm_fb_helper_fbdev_setup() isn't used anymore,
a todo entry for this is added.

In pan_display_atomic() restore_fbdev_mode_force() is used instead of
restore_fbdev_mode_atomic() because that one will later become internal
to drm_client_modeset.

Locking order:
1. drm_fb_helper->lock
2. drm_master_internal_acquire
3. drm_client_dev->modeset_mutex

v6: Improve commit message (Sam Ravnborg)

v3:
- Use full drm_client_init/release for the modesets (Daniel Vetter)
- drm_client_for_each_modeset: use lockdep_assert_held (Daniel Vetter)
- Hook up to Documentation/gpu/drm-client.rst (Daniel Vetter)

v2:
- Add modesets array to drm_client (Daniel Vetter)
- Use a new file for the modeset code (Daniel Vetter)
- File has to be MIT licensed (Emmanuel Vadot)
- Add copyrights from drm_fb_helper.c

Signed-off-by: Noralf Trønnes 
Reviewed-by: Sam Ravnborg 
---
 Documentation/gpu/drm-client.rst |   3 +
 Documentation/gpu/todo.rst   |   3 +
 drivers/gpu/drm/Makefile |   2 +-
 drivers/gpu/drm/drm_client.c |  10 +-
 drivers/gpu/drm/drm_client_modeset.c | 104 +
 drivers/gpu/drm/drm_fb_helper.c  | 301 +++
 include/drm/drm_client.h |  30 +++
 include/drm/drm_fb_helper.h  |   8 -
 8 files changed, 274 insertions(+), 187 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_client_modeset.c

diff --git a/Documentation/gpu/drm-client.rst b/Documentation/gpu/drm-client.rst
index 7e672063e7eb..58b5a1d1219d 100644
--- a/Documentation/gpu/drm-client.rst
+++ b/Documentation/gpu/drm-client.rst
@@ -10,3 +10,6 @@ Kernel clients
 
 .. kernel-doc:: drivers/gpu/drm/drm_client.c
:export:
+
+.. kernel-doc:: drivers/gpu/drm/drm_client_modeset.c
+   :export:
diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index 66f05f4e469f..9d4038c50013 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -289,6 +289,9 @@ drm_fb_helper tasks
   these igt tests need to be fixed: kms_fbcon_fbt@psr and
   kms_fbcon_fbt@psr-suspend.
 
+- The max connector argument for drm_fb_helper_init() and
+  drm_fb_helper_fbdev_setup() isn't used anymore and can be removed.
+
 Core refactorings
 =
 
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 4a63c1fcf389..d36feb4a6233 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -17,7 +17,7 @@ drm-y   :=drm_auth.o drm_cache.o \
drm_plane.o drm_color_mgmt.o drm_print.o \
drm_dumb_buffers.o drm_mode_config.o drm_vblank.o \
drm_syncobj.o drm_lease.o drm_writeback.o drm_client.o \
-   drm_atomic_uapi.o drm_hdcp.o
+   drm_client_modeset.o drm_atomic_uapi.o drm_hdcp.o
 
 drm-$(CONFIG_DRM_LEGACY) += drm_legacy_misc.o drm_bufs.o drm_context.o 
drm_dma.o drm_scatter.o drm_lock.o
 drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index e7870a54f498..410572f14257 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -27,7 +27,6 @@
  * DOC: overview
  *
  * This library provides support for clients running in the kernel like fbdev 
and bootsplash.
- * Currently it's only partially implemented, just enough to support fbdev.
  *
  * GEM drivers which provide a GEM based dumb buffer with a virtual address 
are supported.
  */
@@ -92,14 +91,20 @@ int drm_client_init(struct drm_device *dev, struct 
drm_client_dev *client,
client->name = name;
client->funcs = funcs;
 
-   ret = drm_client_open(client);
+   ret = drm_client_modeset_create(client);
if (ret)
goto err_put_module;
 
+   ret = drm_client_open(client);
+   if (ret)
+   goto err_free;
+
drm_dev_get(dev);
 
return 0;
 
+err_free:
+   drm_client_modeset_free(client);
 err_put_module:
if (funcs)
module_put(funcs->owner);
@@ -148,6 +153,7 @@ void drm_client_release(struct drm_client_dev *client)
 
DRM_DEV_DEBUG_KMS(dev->dev, "%s\n", client->name);
 
+   drm_client_modeset_free(client);
drm_client_close(client);
drm_dev_put(dev);
if (client->funcs)
diff --git a/drivers/gpu/d

Re: [Intel-gfx] [PATCH] drm/i915: add force_probe module parameter to replace alpha_support

2019-05-31 Thread Jani Nikula
On Tue, 21 May 2019, Rodrigo Vivi  wrote:
> On Mon, May 06, 2019 at 04:48:01PM +0300, Jani Nikula wrote:
>> The i915.alpha_support module parameter has caused some confusion along
>> the way. Add new i915.force_probe parameter to specify PCI IDs of
>> devices to probe, when the devices are recognized but not automatically
>> probed by the driver. The name is intended to reflect what the parameter
>> effectively does, avoiding any overloaded semantics of "alpha" and
>> "support".
>> 
>> The parameter supports "" to disable, ",[,...]" to
>> enable force probe for one or more devices, and "*" to enable force
>> probe for all known devices.
>> 
>> Also add new CONFIG_DRM_I915_FORCE_PROBE config option to replace the
>> DRM_I915_ALPHA_SUPPORT option. This defaults to "*" if
>> DRM_I915_ALPHA_SUPPORT=y.
>> 
>> Instead of replacing i915.alpha_support immediately, let the two coexist
>> for a while, with a deprecation message, for a transition period.
>> 
>> Cc: Joonas Lahtinen 
>> Cc: Rodrigo Vivi 
>
> First of all I'm sorry for the delay. I could swear that I had
> reviewed it already.
>
>> Signed-off-by: Jani Nikula 
>> ---
>>  drivers/gpu/drm/i915/Kconfig | 29 +-
>>  drivers/gpu/drm/i915/i915_drv.h  |  2 -
>>  drivers/gpu/drm/i915/i915_params.c   |  7 +++-
>>  drivers/gpu/drm/i915/i915_params.h   |  1 +
>>  drivers/gpu/drm/i915/i915_pci.c  | 51 +---
>>  drivers/gpu/drm/i915/intel_device_info.h |  2 +-
>>  6 files changed, 72 insertions(+), 20 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
>> index f05563..e7b617 100644
>> --- a/drivers/gpu/drm/i915/Kconfig
>> +++ b/drivers/gpu/drm/i915/Kconfig
>> @@ -45,19 +45,28 @@ config DRM_I915
>>  config DRM_I915_ALPHA_SUPPORT
>>  bool "Enable alpha quality support for new Intel hardware by default"
>>  depends on DRM_I915
>> -default n
>>  help
>> -  Choose this option if you have new Intel hardware and want to enable
>> -  the alpha quality i915 driver support for the hardware in this kernel
>> -  version. You can also enable the support at runtime using the module
>> -  parameter i915.alpha_support=1; this option changes the default for
>> -  that module parameter.
>> +  This option is deprecated. Use DRM_I915_FORCE_PROBE option instead.
>>  
>> -  It is recommended to upgrade to a kernel version with proper support
>> -  as soon as it is available. Generally fixes for platforms with alpha
>> -  support are not backported to older kernels.
>> +config DRM_I915_FORCE_PROBE
>> +string "Force probe driver for selected new Intel hardware"
>> +depends on DRM_I915
>> +default "*" if DRM_I915_ALPHA_SUPPORT
>> +help
>> +  This is the default value for the i915.force_probe module
>> +  parameter. Using the module parameter overrides this option.
>>  
>> -  If in doubt, say "N".
>> +  Force probe the driver for new Intel graphics devices that are
>> +  recognized but not properly supported by this kernel version. It is
>> +  recommended to upgrade to a kernel version with proper support as soon
>> +  as it is available.
>> +
>> +  Use "" to disable force probe. If in doubt, use this.
>> +
>> +  Use "[,,...]" to force probe the driver for listed
>
> This is kind of confusing "[]" suggest optional, but based on the line 
> above
> "" is also allowed.
>
>> +  devices. For example, "4500" or "4500,4571".
>
> But it is good that we have an example here so I won't worry much and it
> is up to you on how to proceed.
>
>> +
>> +  Use "*" to force probe the driver for all known devices.
>>  
>>  config DRM_I915_CAPTURE_ERROR
>>  bool "Enable capturing GPU state following a hang"
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h 
>> b/drivers/gpu/drm/i915/i915_drv.h
>> index 64fa35..04415d 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -2435,8 +2435,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>>  #define IS_ICL_WITH_PORT_F(dev_priv) \
>>  IS_SUBPLATFORM(dev_priv, INTEL_ICELAKE, INTEL_SUBPLATFORM_PORTF)
>>  
>> -#define IS_ALPHA_SUPPORT(intel_info) ((intel_info)->is_alpha_support)
>
> We need to remove the usage of this on i915_pci.c...
>
> But I'm wondering how just kbuild bot got that and not CI?

Because I've already removed it in dinq with 117aca43f717
("drm/i915/csr: alpha_support doesn't depend on csr or vice versa").

>
> With this fixed,
>
> Reviewed-by: Rodrigo Vivi 

Thanks, pushed to dinq.

BR,
Jani.

>
>> -
>>  #define SKL_REVID_A00x0
>>  #define SKL_REVID_B00x1
>>  #define SKL_REVID_C00x2
>> diff --git a/drivers/gpu/drm/i915/i915_params.c 
>> b/drivers/gpu/drm/i915/i915_params.c
>> index b5be0a..5b0776 100644
>> --- a/drivers/gpu/drm/i915/i915_params.c
>> +++ b/drivers/gpu/drm/i915/i915_params.c
>> @@ -87,9 +87,12 @@ i915_param_named_unsaf

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ehl: Update MOCS table for EHL

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915/ehl: Update MOCS table for EHL
URL   : https://patchwork.freedesktop.org/series/61409/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6171 -> Patchwork_13142


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_busy@busy-all:
- fi-icl-y:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107713])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-icl-y/igt@gem_b...@busy-all.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-icl-y/igt@gem_b...@busy-all.html

  * igt@i915_selftest@live_contexts:
- fi-bdw-gvtdvm:  [PASS][3] -> [DMESG-FAIL][4] ([fdo#110235])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  
 Possible fixes 

  * igt@gem_exec_create@basic:
- fi-icl-u2:  [INCOMPLETE][5] ([fdo#107713]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-icl-u2/igt@gem_exec_cre...@basic.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-icl-u2/igt@gem_exec_cre...@basic.html

  * igt@i915_pm_rpm@module-reload:
- fi-icl-u3:  [INCOMPLETE][7] ([fdo#107713] / [fdo#108840]) -> 
[PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-icl-u3/igt@i915_pm_...@module-reload.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-icl-u3/igt@i915_pm_...@module-reload.html

  * {igt@i915_selftest@live_blt}:
- fi-skl-iommu:   [INCOMPLETE][9] -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-skl-iommu/igt@i915_selftest@live_blt.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-skl-iommu/igt@i915_selftest@live_blt.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  [FAIL][11] ([fdo#103167]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
- fi-hsw-peppy:   [DMESG-WARN][13] ([fdo#102614]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6171/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13142/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (48 -> 42)
--

  Additional (1): fi-pnv-d510 
  Missing(7): fi-byt-squawks fi-bsw-cyan fi-kbl-7500u fi-ivb-3770 
fi-byt-clapper fi-bdw-samus fi-snb-2600 


Build changes
-

  * Linux: CI_DRM_6171 -> Patchwork_13142

  CI_DRM_6171: 1340a0c408275ffc70c6d55596688691ff1b7767 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5026: 4108c74c3b15460de25ab989f4e2031594559dfc @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13142: 733ce3c1cea311ed7153b36c4a39622924fa6b1a @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

733ce3c1cea3 drm/i915/ehl: Update MOCS table for EHL

== Logs ==

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

[Intel-gfx] [PATCH 12/13] drm/i915/bios: add more LFP options

2019-05-31 Thread Jani Nikula
Add new fields in the LFP block. No functional changes.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_vbt_defs.h | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index ea1697ab00d2..6d46ca4bf8c4 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -670,7 +670,7 @@ struct bdb_edp {
 
 struct bdb_lvds_options {
u8 panel_type;
-   u8 rsvd1;
+   u8 panel_type2; /* 212 */
/* LVDS capabilities, stored in a dword */
u8 pfit_mode:2;
u8 pfit_text_mode_enhanced:1;
@@ -692,6 +692,9 @@ struct bdb_lvds_options {
u32 dps_panel_type_bits;
/* LVDS backlight control type bits stored here */
u32 blt_control_type_bits;
+
+   u16 lcdvcc_s0_enable;   /* 200 */
+   u32 rotation;   /* 228 */
 } __packed;
 
 /*
-- 
2.20.1

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

[Intel-gfx] [PATCH 11/13] drm/i915/bios: add VBT swing bit to child device definition

2019-05-31 Thread Jani Nikula
New bit to look in another BDB block for more. No functional changes.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_vbt_defs.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 608fa4135262..ea1697ab00d2 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -391,7 +391,8 @@ struct child_device_config {
u8 lspcon:1;/* 192 */
u8 iboost:1;/* 196 */
u8 hpd_invert:1;/* 196 */
-   u8 flag_reserved:3;
+   u8 use_vbt_vswing:1;/* 218 */
+   u8 flag_reserved:2;
u8 hdmi_support:1;  /* 158 */
u8 dp_support:1;/* 158 */
u8 tmds_support:1;  /* 158 */
-- 
2.20.1

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

[Intel-gfx] [PATCH 08/13] drm/i915/bios: reserve struct bdb_ prefix for BDB blocks

2019-05-31 Thread Jani Nikula
Don't use bdb_ prefixes for structs within blocks. Add a new bdb struct
for SDVO panel DTDs for completeness.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c | 12 ++--
 drivers/gpu/drm/i915/intel_vbt_defs.h | 20 
 2 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 81ca94498178..b5aedb605c05 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -302,7 +302,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
const struct bdb_header *bdb)
 {
const struct bdb_lfp_backlight_data *backlight_data;
-   const struct bdb_lfp_backlight_data_entry *entry;
+   const struct lfp_backlight_data_entry *entry;
int panel_type = dev_priv->vbt.panel_type;
 
backlight_data = find_section(bdb, BDB_LVDS_BACKLIGHT);
@@ -327,7 +327,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
dev_priv->vbt.backlight.type = INTEL_BACKLIGHT_DISPLAY_DDI;
if (bdb->version >= 191 &&
get_blocksize(backlight_data) >= sizeof(*backlight_data)) {
-   const struct bdb_lfp_backlight_control_method *method;
+   const struct lfp_backlight_control_method *method;
 
method = &backlight_data->backlight_control[panel_type];
dev_priv->vbt.backlight.type = method->type;
@@ -351,7 +351,7 @@ static void
 parse_sdvo_panel_data(struct drm_i915_private *dev_priv,
  const struct bdb_header *bdb)
 {
-   const struct lvds_dvo_timing *dvo_timing;
+   const struct bdb_sdvo_panel_dtds *dtds;
struct drm_display_mode *panel_fixed_mode;
int index;
 
@@ -371,15 +371,15 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv,
index = sdvo_lvds_options->panel_type;
}
 
-   dvo_timing = find_section(bdb, BDB_SDVO_PANEL_DTDS);
-   if (!dvo_timing)
+   dtds = find_section(bdb, BDB_SDVO_PANEL_DTDS);
+   if (!dtds)
return;
 
panel_fixed_mode = kzalloc(sizeof(*panel_fixed_mode), GFP_KERNEL);
if (!panel_fixed_mode)
return;
 
-   fill_detail_timing_data(panel_fixed_mode, dvo_timing + index);
+   fill_detail_timing_data(panel_fixed_mode, &dtds->dtds[index]);
 
dev_priv->vbt.sdvo_lvds_vbt_mode = panel_fixed_mode;
 
diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 3f870ac48840..0566c52b058a 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -477,7 +477,7 @@ struct bdb_lvds_options {
 } __packed;
 
 /* LFP pointer table contains entries to the struct below */
-struct bdb_lvds_lfp_data_ptr {
+struct lvds_lfp_data_ptr {
u16 fp_timing_offset; /* offsets are from start of bdb */
u8 fp_table_size;
u16 dvo_timing_offset;
@@ -488,7 +488,7 @@ struct bdb_lvds_lfp_data_ptr {
 
 struct bdb_lvds_lfp_data_ptrs {
u8 lvds_entries; /* followed by one or more lvds_data_ptr structs */
-   struct bdb_lvds_lfp_data_ptr ptr[16];
+   struct lvds_lfp_data_ptr ptr[16];
 } __packed;
 
 /* LFP data has 3 blocks per entry */
@@ -547,20 +547,24 @@ struct lvds_pnp_id {
u8 mfg_year;
 } __packed;
 
-struct bdb_lvds_lfp_data_entry {
+struct lvds_lfp_data_entry {
struct lvds_fp_timing fp_timing;
struct lvds_dvo_timing dvo_timing;
struct lvds_pnp_id pnp_id;
 } __packed;
 
 struct bdb_lvds_lfp_data {
-   struct bdb_lvds_lfp_data_entry data[16];
+   struct lvds_lfp_data_entry data[16];
+} __packed;
+
+struct bdb_sdvo_panel_dtds {
+   struct lvds_dvo_timing dtds[4];
 } __packed;
 
 #define BDB_BACKLIGHT_TYPE_NONE0
 #define BDB_BACKLIGHT_TYPE_PWM 2
 
-struct bdb_lfp_backlight_data_entry {
+struct lfp_backlight_data_entry {
u8 type:2;
u8 active_low_pwm:1;
u8 obsolete1:5;
@@ -570,16 +574,16 @@ struct bdb_lfp_backlight_data_entry {
u8 obsolete3;
 } __packed;
 
-struct bdb_lfp_backlight_control_method {
+struct lfp_backlight_control_method {
u8 type:4;
u8 controller:4;
 } __packed;
 
 struct bdb_lfp_backlight_data {
u8 entry_size;
-   struct bdb_lfp_backlight_data_entry data[16];
+   struct lfp_backlight_data_entry data[16];
u8 level[16];
-   struct bdb_lfp_backlight_control_method backlight_control[16];
+   struct lfp_backlight_control_method backlight_control[16];
 } __packed;
 
 struct bdb_sdvo_lvds_options {
-- 
2.20.1

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

[Intel-gfx] [PATCH 10/13] drm/i915/bios: sort BDB block definitions using block ID

2019-05-31 Thread Jani Nikula
Make it easier to find the right blocks. No functional changes.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_vbt_defs.h | 372 +-
 1 file changed, 186 insertions(+), 186 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 7dbe8369baf9..608fa4135262 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -456,182 +456,30 @@ struct bdb_general_definitions {
 } __packed;
 
 /*
- * Block 40 - LFP Data Block
- */
-
-/* Mask for DRRS / Panel Channel / SSC / BLT control bits extraction */
-#define MODE_MASK  0x3
-
-struct bdb_lvds_options {
-   u8 panel_type;
-   u8 rsvd1;
-   /* LVDS capabilities, stored in a dword */
-   u8 pfit_mode:2;
-   u8 pfit_text_mode_enhanced:1;
-   u8 pfit_gfx_mode_enhanced:1;
-   u8 pfit_ratio_auto:1;
-   u8 pixel_dither:1;
-   u8 lvds_edid:1;
-   u8 rsvd2:1;
-   u8 rsvd4;
-   /* LVDS Panel channel bits stored here */
-   u32 lvds_panel_channel_bits;
-   /* LVDS SSC (Spread Spectrum Clock) bits stored here. */
-   u16 ssc_bits;
-   u16 ssc_freq;
-   u16 ssc_ddt;
-   /* Panel color depth defined here */
-   u16 panel_color_depth;
-   /* LVDS panel type bits stored here */
-   u32 dps_panel_type_bits;
-   /* LVDS backlight control type bits stored here */
-   u32 blt_control_type_bits;
-} __packed;
-
-/*
- * Block 41 - LFP Data Table Pointers
- */
-
-/* LFP pointer table contains entries to the struct below */
-struct lvds_lfp_data_ptr {
-   u16 fp_timing_offset; /* offsets are from start of bdb */
-   u8 fp_table_size;
-   u16 dvo_timing_offset;
-   u8 dvo_table_size;
-   u16 panel_pnp_id_offset;
-   u8 pnp_table_size;
-} __packed;
-
-struct bdb_lvds_lfp_data_ptrs {
-   u8 lvds_entries; /* followed by one or more lvds_data_ptr structs */
-   struct lvds_lfp_data_ptr ptr[16];
-} __packed;
-
-/*
- * Block 42 - LFP Data Tables
- */
-
-/* LFP data has 3 blocks per entry */
-struct lvds_fp_timing {
-   u16 x_res;
-   u16 y_res;
-   u32 lvds_reg;
-   u32 lvds_reg_val;
-   u32 pp_on_reg;
-   u32 pp_on_reg_val;
-   u32 pp_off_reg;
-   u32 pp_off_reg_val;
-   u32 pp_cycle_reg;
-   u32 pp_cycle_reg_val;
-   u32 pfit_reg;
-   u32 pfit_reg_val;
-   u16 terminator;
-} __packed;
-
-struct lvds_dvo_timing {
-   u16 clock;  /**< In 10khz */
-   u8 hactive_lo;
-   u8 hblank_lo;
-   u8 hblank_hi:4;
-   u8 hactive_hi:4;
-   u8 vactive_lo;
-   u8 vblank_lo;
-   u8 vblank_hi:4;
-   u8 vactive_hi:4;
-   u8 hsync_off_lo;
-   u8 hsync_pulse_width_lo;
-   u8 vsync_pulse_width_lo:4;
-   u8 vsync_off_lo:4;
-   u8 vsync_pulse_width_hi:2;
-   u8 vsync_off_hi:2;
-   u8 hsync_pulse_width_hi:2;
-   u8 hsync_off_hi:2;
-   u8 himage_lo;
-   u8 vimage_lo;
-   u8 vimage_hi:4;
-   u8 himage_hi:4;
-   u8 h_border;
-   u8 v_border;
-   u8 rsvd1:3;
-   u8 digital:2;
-   u8 vsync_positive:1;
-   u8 hsync_positive:1;
-   u8 non_interlaced:1;
-} __packed;
-
-struct lvds_pnp_id {
-   u16 mfg_name;
-   u16 product_code;
-   u32 serial;
-   u8 mfg_week;
-   u8 mfg_year;
-} __packed;
-
-struct lvds_lfp_data_entry {
-   struct lvds_fp_timing fp_timing;
-   struct lvds_dvo_timing dvo_timing;
-   struct lvds_pnp_id pnp_id;
-} __packed;
-
-struct bdb_lvds_lfp_data {
-   struct lvds_lfp_data_entry data[16];
-} __packed;
-
-/*
- * Block 23 - SDVO LVDS Panel DTDs
- */
-
-struct bdb_sdvo_panel_dtds {
-   struct lvds_dvo_timing dtds[4];
-} __packed;
-
-/*
- * Block 43 - LFP Backlight Control Data Block
+ * Block 9 - SRD Feature Block
  */
 
-#define BDB_BACKLIGHT_TYPE_NONE0
-#define BDB_BACKLIGHT_TYPE_PWM 2
+struct psr_table {
+   /* Feature bits */
+   u8 full_link:1;
+   u8 require_aux_to_wakeup:1;
+   u8 feature_bits_rsvd:6;
 
-struct lfp_backlight_data_entry {
-   u8 type:2;
-   u8 active_low_pwm:1;
-   u8 obsolete1:5;
-   u16 pwm_freq_hz;
-   u8 min_brightness;
-   u8 obsolete2;
-   u8 obsolete3;
-} __packed;
+   /* Wait times */
+   u8 idle_frames:4;
+   u8 lines_to_wait:3;
+   u8 wait_times_rsvd:1;
 
-struct lfp_backlight_control_method {
-   u8 type:4;
-   u8 controller:4;
-} __packed;
+   /* TP wake up time in multiple of 100 */
+   u16 tp1_wakeup_time;
+   u16 tp2_tp3_wakeup_time;
 
-struct bdb_lfp_backlight_data {
-   u8 entry_size;
-   struct lfp_backlight_data_entry data[16];
-   u8 level[16];
-   struct lfp_backlight_control_method backlight_control[16];
+   /* PSR2 TP2/TP3 wakeup time for 16 panels */
+   u32 psr2_tp2_tp3_wakeup_time;
 } __packed;
 
-/*
- * Block 22 - SDVO LVDS General Options
- */
-
-struct bdb_s

[Intel-gfx] [PATCH 13/13] drm/i915/bios: add an enum for BDB block IDs

2019-05-31 Thread Jani Nikula
Better grouping, better semantics for find_section(). No functional
changes.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c |  4 +-
 drivers/gpu/drm/i915/intel_vbt_defs.h | 71 ++-
 2 files changed, 38 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index b5aedb605c05..1c037dfa83f5 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -76,13 +76,13 @@ static u32 get_blocksize(const void *block_data)
 }
 
 static const void *
-find_section(const void *_bdb, int section_id)
+find_section(const void *_bdb, enum bdb_block_id section_id)
 {
const struct bdb_header *bdb = _bdb;
const u8 *base = _bdb;
int index = 0;
u32 total, current_size;
-   u8 current_id;
+   enum bdb_block_id current_id;
 
/* skip to first section */
index += bdb->header_size;
diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 6d46ca4bf8c4..89ef14cafb6b 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -80,41 +80,42 @@ struct bdb_header {
  * an ID and size in the first 3 bytes (ID in first, size in next 2).
  * Known types are listed below.
  */
-#define BDB_GENERAL_FEATURES 1
-#define BDB_GENERAL_DEFINITIONS  2
-#define BDB_OLD_TOGGLE_LIST  3
-#define BDB_MODE_SUPPORT_LIST4
-#define BDB_GENERIC_MODE_TABLE   5
-#define BDB_EXT_MMIO_REGS6
-#define BDB_SWF_IO   7
-#define BDB_SWF_MMIO 8
-#define BDB_PSR  9
-#define BDB_MODE_REMOVAL_TABLE  10
-#define BDB_CHILD_DEVICE_TABLE  11
-#define BDB_DRIVER_FEATURES 12
-#define BDB_DRIVER_PERSISTENCE  13
-#define BDB_EXT_TABLE_PTRS  14
-#define BDB_DOT_CLOCK_OVERRIDE  15
-#define BDB_DISPLAY_SELECT  16
-/* 17 rsvd */
-#define BDB_DRIVER_ROTATION 18
-#define BDB_DISPLAY_REMOVE  19
-#define BDB_OEM_CUSTOM  20
-#define BDB_EFP_LIST21 /* workarounds for VGA hsync/vsync */
-#define BDB_SDVO_LVDS_OPTIONS   22
-#define BDB_SDVO_PANEL_DTDS 23
-#define BDB_SDVO_LVDS_PNP_IDS   24
-#define BDB_SDVO_LVDS_POWER_SEQ 25
-#define BDB_TV_OPTIONS  26
-#define BDB_EDP 27
-#define BDB_LVDS_OPTIONS40
-#define BDB_LVDS_LFP_DATA_PTRS  41
-#define BDB_LVDS_LFP_DATA   42
-#define BDB_LVDS_BACKLIGHT  43
-#define BDB_LVDS_POWER  44
-#define BDB_MIPI_CONFIG 52
-#define BDB_MIPI_SEQUENCE   53
-#define BDB_SKIP   254 /* VBIOS private block, ignore */
+enum bdb_block_id {
+   BDB_GENERAL_FEATURES= 1,
+   BDB_GENERAL_DEFINITIONS = 2,
+   BDB_OLD_TOGGLE_LIST = 3,
+   BDB_MODE_SUPPORT_LIST   = 4,
+   BDB_GENERIC_MODE_TABLE  = 5,
+   BDB_EXT_MMIO_REGS   = 6,
+   BDB_SWF_IO  = 7,
+   BDB_SWF_MMIO= 8,
+   BDB_PSR = 9,
+   BDB_MODE_REMOVAL_TABLE  = 10,
+   BDB_CHILD_DEVICE_TABLE  = 11,
+   BDB_DRIVER_FEATURES = 12,
+   BDB_DRIVER_PERSISTENCE  = 13,
+   BDB_EXT_TABLE_PTRS  = 14,
+   BDB_DOT_CLOCK_OVERRIDE  = 15,
+   BDB_DISPLAY_SELECT  = 16,
+   BDB_DRIVER_ROTATION = 18,
+   BDB_DISPLAY_REMOVE  = 19,
+   BDB_OEM_CUSTOM  = 20,
+   BDB_EFP_LIST= 21, /* workarounds for VGA 
hsync/vsync */
+   BDB_SDVO_LVDS_OPTIONS   = 22,
+   BDB_SDVO_PANEL_DTDS = 23,
+   BDB_SDVO_LVDS_PNP_IDS   = 24,
+   BDB_SDVO_LVDS_POWER_SEQ = 25,
+   BDB_TV_OPTIONS  = 26,
+   BDB_EDP = 27,
+   BDB_LVDS_OPTIONS= 40,
+   BDB_LVDS_LFP_DATA_PTRS  = 41,
+   BDB_LVDS_LFP_DATA   = 42,
+   BDB_LVDS_BACKLIGHT  = 43,
+   BDB_LVDS_POWER  = 44,
+   BDB_MIPI_CONFIG = 52,
+   BDB_MIPI_SEQUENCE   = 53,
+   BDB_SKIP= 254, /* VBIOS private block, ignore */
+};
 
 /*
  * Block 1 - General Bit Definitions
-- 
2.20.1

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

[Intel-gfx] [PATCH 05/13] drm/i915/bios: use port info child pointer to determine LSPCON presence

2019-05-31 Thread Jani Nikula
Avoid iterating the child devices. This should be a non-functional
change, but theoretically this might enable LSPCON on some extra ports
with buggy VBTs.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c | 52 ---
 drivers/gpu/drm/i915/intel_bios.h |  2 +-
 2 files changed, 7 insertions(+), 47 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 1f34ffa96219..8cff17b5f891 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -2189,59 +2189,19 @@ intel_bios_is_port_hpd_inverted(const struct 
drm_i915_private *i915,
 
 /**
  * intel_bios_is_lspcon_present - if LSPCON is attached on %port
- * @dev_priv:  i915 device instance
+ * @i915:  i915 device instance
  * @port:  port to check
  *
  * Return true if LSPCON is present on this port
  */
 bool
-intel_bios_is_lspcon_present(struct drm_i915_private *dev_priv,
-   enum port port)
+intel_bios_is_lspcon_present(const struct drm_i915_private *i915,
+enum port port)
 {
-   const struct child_device_config *child;
-   int i;
-
-   if (!HAS_LSPCON(dev_priv))
-   return false;
-
-   for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
-   child = dev_priv->vbt.child_dev + i;
-
-   if (!child->lspcon)
-   continue;
-
-   switch (child->dvo_port) {
-   case DVO_PORT_DPA:
-   case DVO_PORT_HDMIA:
-   if (port == PORT_A)
-   return true;
-   break;
-   case DVO_PORT_DPB:
-   case DVO_PORT_HDMIB:
-   if (port == PORT_B)
-   return true;
-   break;
-   case DVO_PORT_DPC:
-   case DVO_PORT_HDMIC:
-   if (port == PORT_C)
-   return true;
-   break;
-   case DVO_PORT_DPD:
-   case DVO_PORT_HDMID:
-   if (port == PORT_D)
-   return true;
-   break;
-   case DVO_PORT_DPF:
-   case DVO_PORT_HDMIF:
-   if (port == PORT_F)
-   return true;
-   break;
-   default:
-   break;
-   }
-   }
+   const struct child_device_config *child =
+   i915->vbt.ddi_port_info[port].child;
 
-   return false;
+   return HAS_LSPCON(i915) && child && child->lspcon;
 }
 
 enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv,
diff --git a/drivers/gpu/drm/i915/intel_bios.h 
b/drivers/gpu/drm/i915/intel_bios.h
index 55fb0818926c..4e42cfaf61a7 100644
--- a/drivers/gpu/drm/i915/intel_bios.h
+++ b/drivers/gpu/drm/i915/intel_bios.h
@@ -237,7 +237,7 @@ bool intel_bios_is_port_dp_dual_mode(struct 
drm_i915_private *dev_priv, enum por
 bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port 
*port);
 bool intel_bios_is_port_hpd_inverted(const struct drm_i915_private *i915,
 enum port port);
-bool intel_bios_is_lspcon_present(struct drm_i915_private *dev_priv,
+bool intel_bios_is_lspcon_present(const struct drm_i915_private *i915,
  enum port port);
 enum aux_ch intel_bios_port_aux_ch(struct drm_i915_private *dev_priv, enum 
port port);
 
-- 
2.20.1

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

[Intel-gfx] [PATCH 03/13] drm/i915/bios: refactor DDC pin and AUX CH sanitize functions

2019-05-31 Thread Jani Nikula
Add separate functions to get the port by DDC pin and AUX channel.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c | 48 ++-
 1 file changed, 34 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 325b8c8dfa5e..5cd4ddc8f5dd 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1239,6 +1239,21 @@ static u8 translate_iboost(u8 val)
return mapping[val];
 }
 
+static enum port get_port_by_ddc_pin(struct drm_i915_private *i915, u8 ddc_pin)
+{
+   const struct ddi_vbt_port_info *info;
+   enum port port;
+
+   for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+   info = &i915->vbt.ddi_port_info[port];
+
+   if (info->child && ddc_pin == info->alternate_ddc_pin)
+   return port;
+   }
+
+   return PORT_NONE;
+}
+
 static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,
 enum port port)
 {
@@ -1248,13 +1263,8 @@ static void sanitize_ddc_pin(struct drm_i915_private 
*dev_priv,
if (!info->alternate_ddc_pin)
return;
 
-   for (p = PORT_A; p < I915_MAX_PORTS; p++) {
-   struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
-
-   if (p == port || !i->child ||
-   info->alternate_ddc_pin != i->alternate_ddc_pin)
-   continue;
-
+   p = get_port_by_ddc_pin(dev_priv, info->alternate_ddc_pin);
+   if (p != PORT_NONE) {
DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as 
port %c, "
  "disabling port %c DVI/HDMI support\n",
  port_name(port), info->alternate_ddc_pin,
@@ -1275,6 +1285,21 @@ static void sanitize_ddc_pin(struct drm_i915_private 
*dev_priv,
}
 }
 
+static enum port get_port_by_aux_ch(struct drm_i915_private *i915, u8 aux_ch)
+{
+   const struct ddi_vbt_port_info *info;
+   enum port port;
+
+   for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+   info = &i915->vbt.ddi_port_info[port];
+
+   if (info->child && aux_ch == info->alternate_aux_channel)
+   return port;
+   }
+
+   return PORT_NONE;
+}
+
 static void sanitize_aux_ch(struct drm_i915_private *dev_priv,
enum port port)
 {
@@ -1284,13 +1309,8 @@ static void sanitize_aux_ch(struct drm_i915_private 
*dev_priv,
if (!info->alternate_aux_channel)
return;
 
-   for (p = PORT_A; p < I915_MAX_PORTS; p++) {
-   struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
-
-   if (p == port || !i->child ||
-   info->alternate_aux_channel != i->alternate_aux_channel)
-   continue;
-
+   p = get_port_by_aux_ch(dev_priv, info->alternate_aux_channel);
+   if (p != PORT_NONE) {
DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as 
port %c, "
  "disabling port %c DP support\n",
  port_name(port), info->alternate_aux_channel,
-- 
2.20.1

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

[Intel-gfx] [PATCH 02/13] drm/i915/bios: store child device pointer in DDI port info

2019-05-31 Thread Jani Nikula
This allows us to avoid iterating the child devices in some cases.

Also replace the presence bit with child device being non-NULL, and set
the child device pointer last to allow us to take advantage of it in
follow-up work.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/i915_drv.h   |  4 +++-
 drivers/gpu/drm/i915/intel_bios.c | 10 +-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 4eb8f6a181c1..169dd22c22ff 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -939,6 +939,9 @@ struct i915_gem_mm {
 #define I915_ENGINE_WEDGED_TIMEOUT  (60 * HZ)  /* Reset but no recovery? */
 
 struct ddi_vbt_port_info {
+   /* Non-NULL if port present. */
+   const struct child_device_config *child;
+
int max_tmds_clock;
 
/*
@@ -949,7 +952,6 @@ struct ddi_vbt_port_info {
 #define HDMI_LEVEL_SHIFT_UNKNOWN   0xff
u8 hdmi_level_shift;
 
-   u8 present:1;
u8 supports_dvi:1;
u8 supports_hdmi:1;
u8 supports_dp:1;
diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 0a1b9a4a1b71..325b8c8dfa5e 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1251,7 +1251,7 @@ static void sanitize_ddc_pin(struct drm_i915_private 
*dev_priv,
for (p = PORT_A; p < I915_MAX_PORTS; p++) {
struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
 
-   if (p == port || !i->present ||
+   if (p == port || !i->child ||
info->alternate_ddc_pin != i->alternate_ddc_pin)
continue;
 
@@ -1287,7 +1287,7 @@ static void sanitize_aux_ch(struct drm_i915_private 
*dev_priv,
for (p = PORT_A; p < I915_MAX_PORTS; p++) {
struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
 
-   if (p == port || !i->present ||
+   if (p == port || !i->child ||
info->alternate_aux_channel != i->alternate_aux_channel)
continue;
 
@@ -1395,14 +1395,12 @@ static void parse_ddi_port(struct drm_i915_private 
*dev_priv,
 
info = &dev_priv->vbt.ddi_port_info[port];
 
-   if (info->present) {
+   if (info->child) {
DRM_DEBUG_KMS("More than one child device for port %c in VBT, 
using the first.\n",
  port_name(port));
return;
}
 
-   info->present = true;
-
is_dvi = child->device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING;
is_dp = child->device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT;
is_crt = child->device_type & DEVICE_TYPE_ANALOG_OUTPUT;
@@ -1530,6 +1528,8 @@ static void parse_ddi_port(struct drm_i915_private 
*dev_priv,
DRM_DEBUG_KMS("VBT DP max link rate for port %c: %d\n",
  port_name(port), info->dp_max_link_rate);
}
+
+   info->child = child;
 }
 
 static void parse_ddi_ports(struct drm_i915_private *dev_priv, u8 bdb_version)
-- 
2.20.1

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

[Intel-gfx] [PATCH 07/13] drm/i915/bios: remove unused, obsolete VBT definitions

2019-05-31 Thread Jani Nikula
We've carried this baggage for more than a decade. Time to let it go.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_vbt_defs.h | 180 --
 1 file changed, 180 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index fdbbb9a53804..3f870ac48840 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -75,25 +75,6 @@ struct bdb_header {
u16 bdb_size;
 } __packed;
 
-/* strictly speaking, this is a "skip" block, but it has interesting info */
-struct vbios_data {
-   u8 type; /* 0 == desktop, 1 == mobile */
-   u8 relstage;
-   u8 chipset;
-   u8 lvds_present:1;
-   u8 tv_present:1;
-   u8 rsvd2:6; /* finish byte */
-   u8 rsvd3[4];
-   u8 signon[155];
-   u8 copyright[61];
-   u16 code_segment;
-   u8 dos_boot_mode;
-   u8 bandwidth_percent;
-   u8 rsvd4; /* popup memory size */
-   u8 resize_pci_bios;
-   u8 rsvd5; /* is crt already on ddc2 */
-} __packed;
-
 /*
  * There are several types of BIOS data blocks (BDBs), each block has
  * an ID and size in the first 3 bytes (ID in first, size in next 2).
@@ -601,35 +582,6 @@ struct bdb_lfp_backlight_data {
struct bdb_lfp_backlight_control_method backlight_control[16];
 } __packed;
 
-struct aimdb_header {
-   char signature[16];
-   char oem_device[20];
-   u16 aimdb_version;
-   u16 aimdb_header_size;
-   u16 aimdb_size;
-} __packed;
-
-struct aimdb_block {
-   u8 aimdb_id;
-   u16 aimdb_size;
-} __packed;
-
-struct vch_panel_data {
-   u16 fp_timing_offset;
-   u8 fp_timing_size;
-   u16 dvo_timing_offset;
-   u8 dvo_timing_size;
-   u16 text_fitting_offset;
-   u8 text_fitting_size;
-   u16 graphics_fitting_offset;
-   u8 graphics_fitting_size;
-} __packed;
-
-struct vch_bdb_22 {
-   struct aimdb_block aimdb_block;
-   struct vch_panel_data panels[16];
-} __packed;
-
 struct bdb_sdvo_lvds_options {
u8 panel_backlight;
u8 h40_set_panel_type;
@@ -781,127 +733,6 @@ struct bdb_psr {
struct psr_table psr_table[16];
 } __packed;
 
-/*
- * Driver<->VBIOS interaction occurs through scratch bits in
- * GR18 & SWF*.
- */
-
-/* GR18 bits are set on display switch and hotkey events */
-#define GR18_DRIVER_SWITCH_EN  (1<<7) /* 0: VBIOS control, 1: driver control */
-#define GR18_HOTKEY_MASK   0x78 /* See also SWF4 15:0 */
-#define   GR18_HK_NONE (0x0<<3)
-#define   GR18_HK_LFP_STRETCH  (0x1<<3)
-#define   GR18_HK_TOGGLE_DISP  (0x2<<3)
-#define   GR18_HK_DISP_SWITCH  (0x4<<3) /* see SWF14 15:0 for what to enable */
-#define   GR18_HK_POPUP_DISABLED (0x6<<3)
-#define   GR18_HK_POPUP_ENABLED(0x7<<3)
-#define   GR18_HK_PFIT (0x8<<3)
-#define   GR18_HK_APM_CHANGE   (0xa<<3)
-#define   GR18_HK_MULTIPLE (0xc<<3)
-#define GR18_USER_INT_EN   (1<<2)
-#define GR18_A_FLUSH_EN(1<<1)
-#define GR18_SMM_EN(1<<0)
-
-/* Set by driver, cleared by VBIOS */
-#define SWF00_YRES_SHIFT   16
-#define SWF00_XRES_SHIFT   0
-#define SWF00_RES_MASK 0x
-
-/* Set by VBIOS at boot time and driver at runtime */
-#define SWF01_TV2_FORMAT_SHIFT 8
-#define SWF01_TV1_FORMAT_SHIFT 0
-#define SWF01_TV_FORMAT_MASK   0x
-
-#define SWF10_VBIOS_BLC_I2C_EN (1<<29)
-#define SWF10_GTT_OVERRIDE_EN  (1<<28)
-#define SWF10_LFP_DPMS_OVR (1<<27) /* override DPMS on display switch */
-#define SWF10_ACTIVE_TOGGLE_LIST_MASK (7<<24)
-#define   SWF10_OLD_TOGGLE 0x0
-#define   SWF10_TOGGLE_LIST_1  0x1
-#define   SWF10_TOGGLE_LIST_2  0x2
-#define   SWF10_TOGGLE_LIST_3  0x3
-#define   SWF10_TOGGLE_LIST_4  0x4
-#define SWF10_PANNING_EN   (1<<23)
-#define SWF10_DRIVER_LOADED(1<<22)
-#define SWF10_EXTENDED_DESKTOP (1<<21)
-#define SWF10_EXCLUSIVE_MODE   (1<<20)
-#define SWF10_OVERLAY_EN   (1<<19)
-#define SWF10_PLANEB_HOLDOFF   (1<<18)
-#define SWF10_PLANEA_HOLDOFF   (1<<17)
-#define SWF10_VGA_HOLDOFF  (1<<16)
-#define SWF10_ACTIVE_DISP_MASK 0x
-#define   SWF10_PIPEB_LFP2 (1<<15)
-#define   SWF10_PIPEB_EFP2 (1<<14)
-#define   SWF10_PIPEB_TV2  (1<<13)
-#define   SWF10_PIPEB_CRT2 (1<<12)
-#define   SWF10_PIPEB_LFP  (1<<11)
-#define   SWF10_PIPEB_EFP  (1<<10)
-#define   SWF10_PIPEB_TV   (1<<9)
-#define   SWF10_PIPEB_CRT  (1<<8)
-#define   SWF10_PIPEA_LFP2 (1<<7)
-#define   SWF10_PIPEA_EFP2 (1<<6)
-#define   SWF10_PIPEA_TV2  (1<<5)
-#define   SWF10_PIPEA_CRT2 (1<<4)
-#define   SWF10_PIPEA_LFP  (1<<3)
-#define   SWF10_PIPEA_EFP  (1<<2)
-#define   SWF10_PIPEA_TV   (1<<1)
-#define   SWF10_PIPEA_CRT  (1<<0)
-
-#define SWF11_MEMORY_SIZE_SHIFT16
-#define SWF11_SV_TEST_EN   (1<<15)
-#define SWF11_IS_AGP   (1<<14)
-#define SWF11_DISPLAY_HOLDOFF  (1<<13)
-#define SWF11_DPMS_REDUCED (1<<12)
-#define SWF11_IS_VBE_MODE  (1<<11)
-#define 

[Intel-gfx] [PATCH 04/13] drm/i915/bios: use port info child pointer to determine HPD invert

2019-05-31 Thread Jani Nikula
Avoid iterating the child devices.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c | 39 +--
 drivers/gpu/drm/i915/intel_bios.h |  2 +-
 2 files changed, 7 insertions(+), 34 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 5cd4ddc8f5dd..1f34ffa96219 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -2169,49 +2169,22 @@ bool intel_bios_is_dsi_present(struct drm_i915_private 
*dev_priv,
 
 /**
  * intel_bios_is_port_hpd_inverted - is HPD inverted for %port
- * @dev_priv:  i915 device instance
+ * @i915:  i915 device instance
  * @port:  port to check
  *
  * Return true if HPD should be inverted for %port.
  */
 bool
-intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
+intel_bios_is_port_hpd_inverted(const struct drm_i915_private *i915,
enum port port)
 {
-   const struct child_device_config *child;
-   int i;
+   const struct child_device_config *child =
+   i915->vbt.ddi_port_info[port].child;
 
-   if (WARN_ON_ONCE(!IS_GEN9_LP(dev_priv)))
+   if (WARN_ON_ONCE(!IS_GEN9_LP(i915)))
return false;
 
-   for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
-   child = dev_priv->vbt.child_dev + i;
-
-   if (!child->hpd_invert)
-   continue;
-
-   switch (child->dvo_port) {
-   case DVO_PORT_DPA:
-   case DVO_PORT_HDMIA:
-   if (port == PORT_A)
-   return true;
-   break;
-   case DVO_PORT_DPB:
-   case DVO_PORT_HDMIB:
-   if (port == PORT_B)
-   return true;
-   break;
-   case DVO_PORT_DPC:
-   case DVO_PORT_HDMIC:
-   if (port == PORT_C)
-   return true;
-   break;
-   default:
-   break;
-   }
-   }
-
-   return false;
+   return child && child->hpd_invert;
 }
 
 /**
diff --git a/drivers/gpu/drm/i915/intel_bios.h 
b/drivers/gpu/drm/i915/intel_bios.h
index 7bac53f219e1..55fb0818926c 100644
--- a/drivers/gpu/drm/i915/intel_bios.h
+++ b/drivers/gpu/drm/i915/intel_bios.h
@@ -235,7 +235,7 @@ bool intel_bios_is_port_present(struct drm_i915_private 
*dev_priv, enum port por
 bool intel_bios_is_port_edp(struct drm_i915_private *dev_priv, enum port port);
 bool intel_bios_is_port_dp_dual_mode(struct drm_i915_private *dev_priv, enum 
port port);
 bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port 
*port);
-bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
+bool intel_bios_is_port_hpd_inverted(const struct drm_i915_private *i915,
 enum port port);
 bool intel_bios_is_lspcon_present(struct drm_i915_private *dev_priv,
  enum port port);
-- 
2.20.1

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

[Intel-gfx] [PATCH 09/13] drm/i915/bios: add BDB block comments before definitions

2019-05-31 Thread Jani Nikula
Use the comments verbatim from the spec to help find the right block. No
functional changes.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_vbt_defs.h | 57 +++
 1 file changed, 50 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 0566c52b058a..7dbe8369baf9 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -116,6 +116,10 @@ struct bdb_header {
 #define BDB_MIPI_SEQUENCE   53
 #define BDB_SKIP   254 /* VBIOS private block, ignore */
 
+/*
+ * Block 1 - General Bit Definitions
+ */
+
 struct bdb_general_features {
 /* bits 1 */
u8 panel_fitting:2;
@@ -157,6 +161,10 @@ struct bdb_general_features {
u8 rsvd11:2; /* finish byte */
 } __packed;
 
+/*
+ * Block 2 - General Bytes Definition
+ */
+
 /* pre-915 */
 #define GPIO_PIN_DVI_LVDS  0x03 /* "DVI/LVDS DDC GPIO pins" */
 #define GPIO_PIN_ADD_I2C   0x05 /* "ADDCARD I2C GPIO pins" */
@@ -447,6 +455,10 @@ struct bdb_general_definitions {
u8 devices[0];
 } __packed;
 
+/*
+ * Block 40 - LFP Data Block
+ */
+
 /* Mask for DRRS / Panel Channel / SSC / BLT control bits extraction */
 #define MODE_MASK  0x3
 
@@ -476,6 +488,10 @@ struct bdb_lvds_options {
u32 blt_control_type_bits;
 } __packed;
 
+/*
+ * Block 41 - LFP Data Table Pointers
+ */
+
 /* LFP pointer table contains entries to the struct below */
 struct lvds_lfp_data_ptr {
u16 fp_timing_offset; /* offsets are from start of bdb */
@@ -491,6 +507,10 @@ struct bdb_lvds_lfp_data_ptrs {
struct lvds_lfp_data_ptr ptr[16];
 } __packed;
 
+/*
+ * Block 42 - LFP Data Tables
+ */
+
 /* LFP data has 3 blocks per entry */
 struct lvds_fp_timing {
u16 x_res;
@@ -557,10 +577,18 @@ struct bdb_lvds_lfp_data {
struct lvds_lfp_data_entry data[16];
 } __packed;
 
+/*
+ * Block 23 - SDVO LVDS Panel DTDs
+ */
+
 struct bdb_sdvo_panel_dtds {
struct lvds_dvo_timing dtds[4];
 } __packed;
 
+/*
+ * Block 43 - LFP Backlight Control Data Block
+ */
+
 #define BDB_BACKLIGHT_TYPE_NONE0
 #define BDB_BACKLIGHT_TYPE_PWM 2
 
@@ -586,6 +614,10 @@ struct bdb_lfp_backlight_data {
struct lfp_backlight_control_method backlight_control[16];
 } __packed;
 
+/*
+ * Block 22 - SDVO LVDS General Options
+ */
+
 struct bdb_sdvo_lvds_options {
u8 panel_backlight;
u8 h40_set_panel_type;
@@ -602,6 +634,9 @@ struct bdb_sdvo_lvds_options {
u8 panel_misc_bits_4;
 } __packed;
 
+/*
+ * Block 12 - Driver Features Data Block
+ */
 
 #define BDB_DRIVER_FEATURE_NO_LVDS 0
 #define BDB_DRIVER_FEATURE_INT_LVDS1
@@ -662,6 +697,10 @@ struct bdb_driver_features {
u16 pc_feature_valid:1;
 } __packed;
 
+/*
+ * Block 27 - eDP VBT Block
+ */
+
 #define EDP_18BPP  0
 #define EDP_24BPP  1
 #define EDP_30BPP  2
@@ -714,6 +753,10 @@ struct bdb_edp {
struct edp_full_link_params full_link_params[16];   /* 199 */
 } __packed;
 
+/*
+ * Block 9 - SRD Feature Block
+ */
+
 struct psr_table {
/* Feature bits */
u8 full_link:1;
@@ -737,10 +780,10 @@ struct bdb_psr {
struct psr_table psr_table[16];
 } __packed;
 
-/* Block 52 contains MIPI configuration block
- * 6 * bdb_mipi_config, followed by 6 pps data block
- * block below
+/*
+ * Block 52 - MIPI Configuration Block
  */
+
 #define MAX_MIPI_CONFIGURATIONS6
 
 struct bdb_mipi_config {
@@ -748,13 +791,13 @@ struct bdb_mipi_config {
struct mipi_pps_data pps[MAX_MIPI_CONFIGURATIONS];
 } __packed;
 
-/* Block 53 contains MIPI sequences as needed by the panel
- * for enabling it. This block can be variable in size and
- * can be maximum of 6 blocks
+/*
+ * Block 53 - MIPI Sequence Block
  */
+
 struct bdb_mipi_sequence {
u8 version;
-   u8 data[0];
+   u8 data[0]; /* up to 6 variable length blocks */
 } __packed;
 
 #endif /* _INTEL_VBT_DEFS_H_ */
-- 
2.20.1

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

[Intel-gfx] [PATCH 06/13] drm/i915/bios: clean up VBT port info debug logging

2019-05-31 Thread Jani Nikula
Change the order, add some stylistic touches, and add LSPCON.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 8cff17b5f891..81ca94498178 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1445,8 +1445,9 @@ static void parse_ddi_port(struct drm_i915_private 
*dev_priv,
if (bdb_version >= 209)
info->supports_tbt = child->tbt;
 
-   DRM_DEBUG_KMS("Port %c VBT info: DP:%d HDMI:%d DVI:%d EDP:%d CRT:%d 
TCUSB:%d TBT:%d\n",
- port_name(port), is_dp, is_hdmi, is_dvi, is_edp, is_crt,
+   DRM_DEBUG_KMS("Port %c VBT info: CRT:%d DVI:%d HDMI:%d DP:%d eDP:%d 
LSPCON:%d USB-Type-C:%d TBT:%d\n",
+ port_name(port), is_crt, is_dvi, is_hdmi, is_dp, is_edp,
+ HAS_LSPCON(dev_priv) && child->lspcon,
  info->supports_typec_usb, info->supports_tbt);
 
if (is_edp && is_dvi)
-- 
2.20.1

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

[Intel-gfx] [PATCH 00/13] drm/i915/bios: vbt cleanup

2019-05-31 Thread Jani Nikula
Some VBT cleanup to make it nicer to add more stuff and/or has been
bugging me for a while.

BR,
Jani.

Jani Nikula (13):
  drm/i915/bios: make child device order the priority order
  drm/i915/bios: store child device pointer in DDI port info
  drm/i915/bios: refactor DDC pin and AUX CH sanitize functions
  drm/i915/bios: use port info child pointer to determine HPD invert
  drm/i915/bios: use port info child pointer to determine LSPCON
presence
  drm/i915/bios: clean up VBT port info debug logging
  drm/i915/bios: remove unused, obsolete VBT definitions
  drm/i915/bios: reserve struct bdb_ prefix for BDB blocks
  drm/i915/bios: add BDB block comments before definitions
  drm/i915/bios: sort BDB block definitions using block ID
  drm/i915/bios: add VBT swing bit to child device definition
  drm/i915/bios: add more LFP options
  drm/i915/bios: add an enum for BDB block IDs

 drivers/gpu/drm/i915/i915_drv.h   |   4 +-
 drivers/gpu/drm/i915/intel_bios.c | 198 +++-
 drivers/gpu/drm/i915/intel_bios.h |   4 +-
 drivers/gpu/drm/i915/intel_vbt_defs.h | 630 ++
 4 files changed, 331 insertions(+), 505 deletions(-)

-- 
2.20.1

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

[Intel-gfx] [PATCH 01/13] drm/i915/bios: make child device order the priority order

2019-05-31 Thread Jani Nikula
Make the child device order the priority order in sanitizing DDC pin and
AUX CH. First come, first served.

Cc: Ville Syrjälä 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_bios.c | 32 +++
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index a0b708f7f384..0a1b9a4a1b71 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -1242,8 +1242,7 @@ static u8 translate_iboost(u8 val)
 static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,
 enum port port)
 {
-   const struct ddi_vbt_port_info *info =
-   &dev_priv->vbt.ddi_port_info[port];
+   struct ddi_vbt_port_info *info = &dev_priv->vbt.ddi_port_info[port];
enum port p;
 
if (!info->alternate_ddc_pin)
@@ -1258,8 +1257,8 @@ static void sanitize_ddc_pin(struct drm_i915_private 
*dev_priv,
 
DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as 
port %c, "
  "disabling port %c DVI/HDMI support\n",
- port_name(p), i->alternate_ddc_pin,
- port_name(port), port_name(p));
+ port_name(port), info->alternate_ddc_pin,
+ port_name(p), port_name(port));
 
/*
 * If we have multiple ports supposedly sharing the
@@ -1267,20 +1266,19 @@ static void sanitize_ddc_pin(struct drm_i915_private 
*dev_priv,
 * port. Otherwise they share the same ddc bin and
 * system couldn't communicate with them separately.
 *
-* Due to parsing the ports in child device order,
-* a later device will always clobber an earlier one.
+* Give child device order the priority, first come first
+* served.
 */
-   i->supports_dvi = false;
-   i->supports_hdmi = false;
-   i->alternate_ddc_pin = 0;
+   info->supports_dvi = false;
+   info->supports_hdmi = false;
+   info->alternate_ddc_pin = 0;
}
 }
 
 static void sanitize_aux_ch(struct drm_i915_private *dev_priv,
enum port port)
 {
-   const struct ddi_vbt_port_info *info =
-   &dev_priv->vbt.ddi_port_info[port];
+   struct ddi_vbt_port_info *info = &dev_priv->vbt.ddi_port_info[port];
enum port p;
 
if (!info->alternate_aux_channel)
@@ -1295,8 +1293,8 @@ static void sanitize_aux_ch(struct drm_i915_private 
*dev_priv,
 
DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as 
port %c, "
  "disabling port %c DP support\n",
- port_name(p), i->alternate_aux_channel,
- port_name(port), port_name(p));
+ port_name(port), info->alternate_aux_channel,
+ port_name(p), port_name(port));
 
/*
 * If we have multiple ports supposedlt sharing the
@@ -1304,11 +1302,11 @@ static void sanitize_aux_ch(struct drm_i915_private 
*dev_priv,
 * port. Otherwise they share the same aux channel
 * and system couldn't communicate with them separately.
 *
-* Due to parsing the ports in child device order,
-* a later device will always clobber an earlier one.
+* Give child device order the priority, first come first
+* served.
 */
-   i->supports_dp = false;
-   i->alternate_aux_channel = 0;
+   info->supports_dp = false;
+   info->alternate_aux_channel = 0;
}
 }
 
-- 
2.20.1

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

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Track the purgeable objects on a separate eviction list

2019-05-31 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Track the purgeable objects on a 
separate eviction list
URL   : https://patchwork.freedesktop.org/series/61405/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6170 -> Patchwork_13141


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_create@basic-files:
- fi-icl-u3:  [PASS][1] -> [DMESG-WARN][2] ([fdo#107724]) +1 
similar issue
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/fi-icl-u3/igt@gem_ctx_cre...@basic-files.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-icl-u3/igt@gem_ctx_cre...@basic-files.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_6170/fi-ilk-650/igt@prime_v...@basic-fence-flip.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-ilk-650/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * igt@gem_cpu_reloc@basic:
- fi-icl-u3:  [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/fi-icl-u3/igt@gem_cpu_re...@basic.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-icl-u3/igt@gem_cpu_re...@basic.html

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

  * igt@i915_module_load@reload-with-fault-injection:
- fi-snb-2600:[INCOMPLETE][9] ([fdo#105411]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/fi-snb-2600/igt@i915_module_l...@reload-with-fault-injection.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-snb-2600/igt@i915_module_l...@reload-with-fault-injection.html

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u2:  [INCOMPLETE][11] ([fdo#107713] / [fdo#108569]) -> 
[PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
- fi-icl-y:   [INCOMPLETE][13] ([fdo#107713] / [fdo#108569]) -> 
[PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/fi-icl-y/igt@i915_selftest@live_hangcheck.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-icl-y/igt@i915_selftest@live_hangcheck.html

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

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

  * igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy:   [DMESG-WARN][19] ([fdo#102614]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6170/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13141/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278


Participating hosts (48 -> 45)
--

  Additional (1): fi-hsw-4770r 
  Missing(4): fi-byt-clapper fi-byt-squawks fi-bsw-cyan fi-bd

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [01/10] drm/i915: Add windowing for primary planes on gen2/3 and chv

2019-05-31 Thread Ville Syrjälä
On Thu, May 30, 2019 at 05:43:00AM -, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [01/10] drm/i915: Add windowing for primary 
> planes on gen2/3 and chv
> URL   : https://patchwork.freedesktop.org/series/61345/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6165_full -> Patchwork_13133_full
> 
> 
> Summary
> ---
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with Patchwork_13133_full absolutely need to 
> be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_13133_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_13133_full:
> 
> ### IGT changes ###
> 
>  Possible regressions 
> 
>   * igt@kms_plane@pixel-format-pipe-a-planes:
> - shard-glk:  [PASS][1] -> [FAIL][2]
>[1]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-glk3/igt@kms_pl...@pixel-format-pipe-a-planes.html
>[2]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-glk8/igt@kms_pl...@pixel-format-pipe-a-planes.html

<7> [125.370679] [drm:drm_mode_debug_printmodeline] Modeline "1920x1080": 60 
148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
...
<7> [125.542650] [drm:intel_dump_cdclk_state [i915]] Changing CDCLK to 79200 
kHz, VCO 633600 kHz, ref 19200 kHz, bypass 19200 kHz, voltage
level 4
...
<7> [133.682144] [drm:skl_check_pipe_max_pixel_rate [i915]] Max supported pixel 
clock with scaling exceeded

Max pixel rate for 64bpp is 79.2*2 * 8/9 = 140.8 Mhz, which we are
exceeding. We'd need some way to bump the cdclk for this case, but
the kernel will only do that for modesets, and it won't account for
that 8/9 factor. Not sure there is a great way to handle these sorts
of cases.

> 
>   * igt@kms_plane_scaling@pipe-c-scaler-with-pixel-format:
> - shard-apl:  [PASS][3] -> [FAIL][4] +4 similar issues
>[3]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl5/igt@kms_plane_scal...@pipe-c-scaler-with-pixel-format.html
>[4]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl7/igt@kms_plane_scal...@pipe-c-scaler-with-pixel-format.html

<7> [1749.831610] [drm:drm_atomic_helper_check_plane_state] Invalid scaling of 
plane
<7> [1749.831620] [drm:drm_rect_debug_print] src: 
8.00x8.00+0.00+0.00
<7> [1749.831625] [drm:drm_rect_debug_print] dst: 1920x1080+0+0

Not quite sure what's going on here. Unfortunately the debugs don't have
enough information to see what's going on.

> 
>   
>  Suppressed 
> 
>   The following results come from untrusted machines, tests, or statuses.
>   They do not affect the overall result.
> 
>   * igt@gem_workarounds@suspend-resume-context:
> - {shard-iclb}:   [PASS][5] -> [FAIL][6] +1 similar issue
>[5]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-iclb3/igt@gem_workarou...@suspend-resume-context.html
>[6]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-iclb2/igt@gem_workarou...@suspend-resume-context.html
> 
>   
> Known issues
> 
> 
>   Here are the changes found in Patchwork_13133_full that come from known 
> issues:
> 
> ### IGT changes ###
> 
>  Issues hit 
> 
>   * igt@gem_ctx_switch@basic-all-heavy:
> - shard-hsw:  [PASS][7] -> [INCOMPLETE][8] ([fdo#103540])
>[7]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-hsw5/igt@gem_ctx_swi...@basic-all-heavy.html
>[8]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-hsw1/igt@gem_ctx_swi...@basic-all-heavy.html
> 
>   * igt@i915_pm_rc6_residency@rc6-accuracy:
> - shard-kbl:  [PASS][9] -> [SKIP][10] ([fdo#109271])
>[9]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-kbl3/igt@i915_pm_rc6_reside...@rc6-accuracy.html
>[10]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-kbl2/igt@i915_pm_rc6_reside...@rc6-accuracy.html
> - shard-snb:  [PASS][11] -> [SKIP][12] ([fdo#109271])
>[11]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-snb7/igt@i915_pm_rc6_reside...@rc6-accuracy.html
>[12]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-snb6/igt@i915_pm_rc6_reside...@rc6-accuracy.html
> 
>   * igt@i915_suspend@fence-restore-untiled:
> - shard-apl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +2 
> similar issues
>[13]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6165/shard-apl8/igt@i915_susp...@fence-restore-untiled.html
>[14]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13133/shard-apl4/igt@i915_susp...@fence-restore-untiled.html
> 
>   * igt@kms_available_modes_crc@available

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: fix use of uninitialized pointer vaddr

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: fix use of uninitialized pointer vaddr
URL   : https://patchwork.freedesktop.org/series/61421/
State : failure

== Summary ==

Applying: drm/i915: fix use of uninitialized pointer vaddr
Using index info to reconstruct a base tree...
M   drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.

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

Re: [Intel-gfx] [PATCH] drm/i915/icl: Ensure port A combo PHY HW state is correct

2019-05-31 Thread Ville Syrjälä
On Fri, May 31, 2019 at 11:26:26AM +0300, Imre Deak wrote:
> Make sure the HW state of the port A combo PHY is correct wrt. the
> IREFGEN setting. This will force a reprogramming during init or a WARN
> during uninit if the setting is incorrect.
> 
> On my ICL RVP I haven't seen this check failing and leading to a forced
> reinit/WARN, but let's add it still for consistency.
> 
> Cc: Ville Syrjälä 
> Signed-off-by: Imre Deak 

Reviewed-by: Ville Syrjälä 

> ---
>  drivers/gpu/drm/i915/intel_combo_phy.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c 
> b/drivers/gpu/drm/i915/intel_combo_phy.c
> index 98213cc58736..841708da5a56 100644
> --- a/drivers/gpu/drm/i915/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/intel_combo_phy.c
> @@ -198,6 +198,10 @@ static bool icl_combo_phy_verify_state(struct 
> drm_i915_private *dev_priv,
>  
>   ret = cnl_verify_procmon_ref_values(dev_priv, port);
>  
> + if (port == PORT_A)
> + ret &= check_phy_reg(dev_priv, port, ICL_PORT_COMP_DW8(port),
> +  IREFGEN, IREFGEN);
> +
>   ret &= check_phy_reg(dev_priv, port, ICL_PORT_CL_DW5(port),
>CL_POWER_DOWN_ENABLE, CL_POWER_DOWN_ENABLE);
>  
> -- 
> 2.17.1

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

[Intel-gfx] [PATCH] drm/i915: Report an earlier wedged event when suspending the engines

2019-05-31 Thread Chris Wilson
On i915_gem_load_power_context() we do care whether or not we succeed in
completing the switch back to the kernel context (via idling the
engines). Currently, we detect if an error occurs while we wait, but we
do not report one if it occurred beforehand (and the status of the
switch is undefined). Check the current terminally wedged status on
entering the wait, and report it after flushing the requests, as if it
had occurred during our own wait.

Signed-off-by: Chris Wilson 
---
 drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c 
b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index 11890e96ed65..283d74d9639c 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -90,7 +90,7 @@ static int pm_notifier(struct notifier_block *nb,
 
 static bool switch_to_kernel_context_sync(struct drm_i915_private *i915)
 {
-   bool result = true;
+   bool result = !i915_terminally_wedged(i915);
 
do {
if (i915_gem_wait_for_idle(i915,
-- 
2.20.1

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

Re: [Intel-gfx] [PATCH][next] drm/i915: fix use of uninitialized pointer vaddr

2019-05-31 Thread Chris Wilson
Quoting Colin King (2019-05-31 11:32:01)
> From: Colin Ian King 
> 
> The assignment of err is using the incorrect pointer vaddr that has
> not been initialized. Fix this by using the correct pointer obj instead.
> 
> Addresses-Coverity: ("Uninitialized pointer read")
> Fixes: 6501aa4e3a45 ("drm/i915: add in-kernel blitter client")
> Signed-off-by: Colin Ian King 

Reviewed and pushed, thanks for the fix!
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH][next] drm/i915: fix use of uninitialized pointer vaddr

2019-05-31 Thread Colin King
From: Colin Ian King 

The assignment of err is using the incorrect pointer vaddr that has
not been initialized. Fix this by using the correct pointer obj instead.

Addresses-Coverity: ("Uninitialized pointer read")
Fixes: 6501aa4e3a45 ("drm/i915: add in-kernel blitter client")
Signed-off-by: Colin Ian King 
---
 drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c 
b/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
index 8de568d2c792..e23d8c9e9298 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c
@@ -32,7 +32,7 @@ static int igt_fill_blt(void *arg)
 
obj = i915_gem_object_create_internal(i915, sz);
if (IS_ERR(obj)) {
-   err = PTR_ERR(vaddr);
+   err = PTR_ERR(obj);
goto err_flush;
}
 
-- 
2.20.1

___
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: Split off pci_driver.remove() tail to drm_driver.release() (rev2)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Split off pci_driver.remove() tail to drm_driver.release() 
(rev2)
URL   : https://patchwork.freedesktop.org/series/61376/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6169 -> Patchwork_13139


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  [PASS][1] -> [FAIL][2] ([fdo#103167])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-icl-u3/igt@kms_frontbuffer_track...@basic.html
- fi-icl-u2:  [PASS][3] -> [FAIL][4] ([fdo#103167])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-icl-u2/igt@kms_frontbuffer_track...@basic.html

  
 Possible fixes 

  * igt@gem_ctx_switch@basic-default:
- {fi-icl-guc}:   [INCOMPLETE][5] ([fdo#107713] / [fdo#108569]) -> 
[PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-guc/igt@gem_ctx_swi...@basic-default.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-icl-guc/igt@gem_ctx_swi...@basic-default.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_6169/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-kbl-7567u/igt@kms_b...@basic-flip-a.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
- fi-icl-u3:  [DMESG-WARN][9] ([fdo#107724]) -> [PASS][10] +4 
similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-u3/igt@kms_cursor_leg...@basic-flip-after-cursor-legacy.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-icl-u3/igt@kms_cursor_leg...@basic-flip-after-cursor-legacy.html

  * igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy:   [DMESG-WARN][11] ([fdo#102614]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
- fi-icl-dsi: [DMESG-WARN][13] ([fdo#106107]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-dsi/igt@kms_pipe_crc_ba...@read-crc-pipe-a-frame-sequence.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13139/fi-icl-dsi/igt@kms_pipe_crc_ba...@read-crc-pipe-a-frame-sequence.html

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278


Participating hosts (50 -> 44)
--

  Missing(6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6260u 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6169 -> Patchwork_13139

  CI_DRM_6169: 5a82ae892e5928ad598f80d58398bd967051eabc @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5025: 4b9889882ef6d287d339db89c584dd035c6dae80 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13139: e285ada335ef9af371804a1c45ce8a5e56427f1f @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e285ada335ef drm/i915: Split off pci_driver.remove() tail to 
drm_driver.release()

== Logs ==

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

[Intel-gfx] [PATCH i-g-t v5] lib/i915/gem_mman: Add a helper for obtaining MMAP_GTT interface version

2019-05-31 Thread Janusz Krzysztofik
From: Janusz Krzysztofik 

If a test calls a function which depends on availability of a specific
version of MMAP_GTT interface, an error may occur on unsupported hardware.
That may negatively affect results reported by a test framework even if
that test ignores the failure and succeedes.

This helper wraps up an IOCTL call which returns a version number of
MMAP_GTT interface.  It may be used by tests which should adjust their
scope depending on availability of a specific version of MMAP_GTT
interface.

Signed-off-by: Janusz Krzysztofik 
Cc: Antonio Argenziano 
Cc: Michal Wajdeczko 
---
Changelog:
v4 -> v5:
- change sign of errno before it is returned (Chris - thanks!),
- validate -errno with igt_assume() (Chris - thanks!),
- follow coding style suggested by Chris - thanks!
To be honest, I think Chris should be somehow officially credited in
the commit tags for his contributions but I'm not sure how. Would a
Suggested-by: clause be OK, or Co-develped-by: maybe?

v3 -> v4:
- return errno value on failure (Chris - thanks!),
- clear errno before return, as other helpers do,
- reword the helper documentation and commit message again (Chris -
  thanks!).

v2 (internal) -> v3:
- make the code less obsucre, more explicit (Antonio - thanks!),
- reword the helper documentation and commit message.

v1 (internal) -> v2 (internal):
- minimize future potential conflicts with 
  https://patchwork.freedesktop.org/patch/294053/?series=58551&rev=1
  (no progress with than one so not waiting for it any longer):
  - convert the helper to a drop-in replacement of the one from the
above mentioned patch, returning mappable aperture version, not
only information on its availability,
  - drop any other wrappers,
- document the helper,
- reword commit message.

 lib/i915/gem_mman.c | 25 +
 lib/i915/gem_mman.h |  1 +
 2 files changed, 26 insertions(+)

diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
index 3cf9a6bb..27c437da 100644
--- a/lib/i915/gem_mman.c
+++ b/lib/i915/gem_mman.c
@@ -40,6 +40,31 @@
 #define VG(x) do {} while (0)
 #endif
 
+/**
+ * gem_mmap__gtt_version:
+ * @fd: open i915 drm file descriptor
+ *
+ * This functions wraps up an IOCTL to obtain MMAP_GTT interface version
+ *
+ * Returns: MMAP_GTT interface version, kernel error code on failure.
+ */
+int gem_mmap__gtt_version(int fd)
+{
+   int result = -EIO;
+   struct drm_i915_getparam gp = {
+   .param = I915_PARAM_MMAP_GTT_VERSION,
+   .value = &result,
+   };
+
+   if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) {
+   result = -errno;
+   igt_assume(result);
+   }
+
+   errno = 0;
+   return result;
+}
+
 /**
  * __gem_mmap__gtt:
  * @fd: open i915 drm file descriptor
diff --git a/lib/i915/gem_mman.h b/lib/i915/gem_mman.h
index f7242ed7..ab12e566 100644
--- a/lib/i915/gem_mman.h
+++ b/lib/i915/gem_mman.h
@@ -25,6 +25,7 @@
 #ifndef GEM_MMAN_H
 #define GEM_MMAN_H
 
+int gem_mmap__gtt_version(int fd);
 void *gem_mmap__gtt(int fd, uint32_t handle, uint64_t size, unsigned prot);
 void *gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, 
unsigned prot);
 
-- 
2.21.0

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

Re: [Intel-gfx] [PATCH 3/3] drm/i915/huc: Update HuC status codes

2019-05-31 Thread Joonas Lahtinen
Quoting Michal Wajdeczko (2019-05-23 01:25:00)
> On Wed, 22 May 2019 22:19:47 +0200, Chris Wilson  
>  wrote:
> 
> > Quoting Michal Wajdeczko (2019-05-22 20:00:57)
> >> Without breaking existing usage, slightly update HuC status codes
> >> to provide more info to the clients:
> >>  1 if HuC firmware is loaded and verified,
> >>  0 if HuC firmware is not enabled,
> >>  -ENOPKG if HuC firmware is not loaded,
> >>  -ENODEV if HuC is not present on this platform.
> >>
> >> Signed-off-by: Michal Wajdeczko 
> >> Cc: Chris Wilson 
> >> Cc: Tony Ye 
> >> ---
> >>  drivers/gpu/drm/i915/intel_huc.c | 13 +
> >>  1 file changed, 9 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/intel_huc.c  
> >> b/drivers/gpu/drm/i915/intel_huc.c
> >> index aac17916e130..98deb4ee60a7 100644
> >> --- a/drivers/gpu/drm/i915/intel_huc.c
> >> +++ b/drivers/gpu/drm/i915/intel_huc.c
> >> @@ -150,9 +150,11 @@ int intel_huc_auth(struct intel_huc *huc)
> >>   * intel_huc_check_status() - check HuC status
> >>   * @huc: intel_huc structure
> >>   *
> >> - * Returns: 1 if HuC firmware is loaded and verified,
> >> - * 0 if HuC firmware is not loaded and -ENODEV if HuC
> >> - * is not present on this platform.
> >> + * Return:
> >> + * * 1 if HuC firmware is loaded and verified,
> >> + * * 0 if HuC firmware is not enabled,
> >> + * * -ENOPKG if HuC firmware is not loaded,
> >> + * * -ENODEV if HuC is not present on this platform.
> >>   */
> >>  int intel_huc_check_status(struct intel_huc *huc)
> >>  {
> >> @@ -161,5 +163,8 @@ int intel_huc_check_status(struct intel_huc *huc)
> >> if (!HAS_HUC(i915))
> >> return -ENODEV;
> >>
> >> -   return huc->verified;
> >> +   if (!USES_HUC(i915))
> >> +   return 0;
> >> +
> >> +   return huc->verified ? 1 : -ENOPKG;
> >
> > I still think EOPNOTSUPP is a better error though for the user
> > preventing the huc being loaded -- as opposed to the result of
> > verification being the non-error value.
> >
> > error == unable to setup huc
> > 0/1 == result from talking to huc
> 
> but your 0 here overlaps with unable to setup huc error,
> so from the ABI perspective, imho, is bad.
> 
> also, from media team pov, as they want to have HuC always on,
> the only non-error case is when user explicitly decided otherwise.

Trying to look things from external perspective, if HUC_(AUTHENTICATION_)STATUS
is queried 1 => "authenticated", 0 => "not authenticated" makes most sense.

Both media drivers also first check for errors, then convert the return
value to boolean, so it would be compatible with that.

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

Re: [Intel-gfx] [PATCH i-g-t 5/5] lib/igt_core: add -h to usage

2019-05-31 Thread Petri Latvala
On Wed, May 29, 2019 at 04:27:37PM -0700, Lucas De Marchi wrote:
> We also accept the short option -h.
> 
> Signed-off-by: Lucas De Marchi 

Reviewed-by: Petri Latvala 

Please send (CC or otherwise) IGT patches to igt-dev in the future, please.




> ---
>  lib/igt_core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index a0b7e581..6b9f0425 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -558,7 +558,7 @@ static void print_usage(const char *help_str, bool 
> output_on_stderr)
>  "  --debug[=log-domain]\n"
>  "  --interactive-debug[=domain]\n"
>  "  --help-description\n"
> -"  --help\n");
> +"  --help|-h\n");
>   if (help_str)
>   fprintf(f, "%s\n", help_str);
>  }
> -- 
> 2.21.0
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH i-g-t 4/5] testdisplay: use first available option values

2019-05-31 Thread Petri Latvala
On Wed, May 29, 2019 at 04:27:36PM -0700, Lucas De Marchi wrote:
> Now that core options are set to 500 and above, start from the lowest
> values without causing problems with conflicts. This also rename the
> constants to follow the names from the core.
> 
> Signed-off-by: Lucas De Marchi 

Reviewed-by: Petri Latvala 

> ---
>  tests/testdisplay.c | 14 --
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/testdisplay.c b/tests/testdisplay.c
> index b4f0d45f..32590547 100644
> --- a/tests/testdisplay.c
> +++ b/tests/testdisplay.c
> @@ -69,8 +69,10 @@
>  #include 
>  #include 
>  
> -#define Yb_OPT5
> -#define Yf_OPT6
> +enum {
> + OPT_YB,
> + OPT_YF,
> +};
>  
>  static int tio_fd;
>  struct termios saved_tio;
> @@ -573,8 +575,8 @@ static void set_termio_mode(void)
>  
>  static char optstr[] = "3iaf:s:d:p:mrto:j:y";
>  static struct option long_opts[] = {
> - {"yb", 0, 0, Yb_OPT},
> - {"yf", 0, 0, Yf_OPT},
> + {"yb", 0, 0, OPT_YB},
> + {"yf", 0, 0, OPT_YF},
>   { 0, 0, 0, 0 }
>  };
>  
> @@ -648,10 +650,10 @@ static int opt_handler(int opt, int opt_index, void 
> *data)
>   tiling = LOCAL_I915_FORMAT_MOD_X_TILED;
>   break;
>   case 'y':
> - case Yb_OPT:
> + case OPT_YB:
>   tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
>   break;
> - case Yf_OPT:
> + case OPT_YF:
>   tiling = LOCAL_I915_FORMAT_MOD_Yf_TILED;
>   break;
>   case 'r':
> -- 
> 2.21.0
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH i-g-t 3/5] lib/igt_core: 0 is a valid val for long options

2019-05-31 Thread Petri Latvala
On Wed, May 29, 2019 at 04:27:35PM -0700, Lucas De Marchi wrote:
> This is usually used by long options when working with enum to set long
> option values. So replace the strchr() with a memchr() to take that into
> account.
> 
> Signed-off-by: Lucas De Marchi 

Reviewed-by: Petri Latvala 

The latter strchr-memchr change is needless but meh.


> ---
>  lib/igt_core.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 814f5c72..a0b7e581 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -680,6 +680,7 @@ static int common_init(int *argc, char **argv,
>   };
>   char *short_opts;
>   const char *std_short_opts = "h";
> + size_t std_short_opts_len = strlen(std_short_opts);
>   struct option *combined_opts;
>   int extra_opt_count;
>   int all_opt_count;
> @@ -713,7 +714,7 @@ static int common_init(int *argc, char **argv,
>  
>   /* check for conflicts with standard short options */
>   if (extra_long_opts[extra_opt_count].val != ':'
> - && (conflicting_char = strchr(std_short_opts, 
> extra_long_opts[extra_opt_count].val))) {
> + && (conflicting_char = memchr(std_short_opts, 
> extra_long_opts[extra_opt_count].val, std_short_opts_len))) {
>   igt_critical("Conflicting long and short option 'val' 
> representation between --%s and -%c\n",
>extra_long_opts[extra_opt_count].name,
>*conflicting_char);
> @@ -727,7 +728,7 @@ static int common_init(int *argc, char **argv,
>   continue;
>  
>   /* check for conflicts with standard short options */
> - if (strchr(std_short_opts, extra_short_opts[i])) {
> + if (memchr(std_short_opts, extra_short_opts[i], 
> std_short_opts_len)) {
>   igt_critical("Conflicting short option: -%c\n", 
> std_short_opts[i]);
>   assert(0);
>   }
> -- 
> 2.21.0
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH i-g-t 2/5] lib/igt_core: reserve long options for individual tests

2019-05-31 Thread Petri Latvala
On Wed, May 29, 2019 at 04:27:34PM -0700, Lucas De Marchi wrote:
> Start the core optiosn from 500 so the individual tests can have their
> own options starting from 0. This makes it easier to set the long
> options without conflicting.
> 
> 500 is just a magic number, higher than any ascii char that could be
> used in the individual test.
> 
> While at it, fix the coding style to use tab rather than space.
> 
> Signed-off-by: Lucas De Marchi 

This is much better than requiring additional opts to begin from a particular 
number.


Reviewed-by: Petri Latvala 


> ---
>  lib/igt_core.c | 16 ++--
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 9c86d664..814f5c72 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -280,12 +280,16 @@ int test_children_sz;
>  bool test_child;
>  
>  enum {
> - OPT_LIST_SUBTESTS,
> - OPT_RUN_SUBTEST,
> - OPT_DESCRIPTION,
> - OPT_DEBUG,
> - OPT_INTERACTIVE_DEBUG,
> - OPT_HELP = 'h'
> + /*
> +  * Let the first values be used by individual tests so options don't
> +  * conflict with core ones
> +  */
> + OPT_LIST_SUBTESTS = 500,
> + OPT_RUN_SUBTEST,
> + OPT_DESCRIPTION,
> + OPT_DEBUG,
> + OPT_INTERACTIVE_DEBUG,
> + OPT_HELP = 'h'
>  };
>  
>  static int igt_exitcode = IGT_EXIT_SUCCESS;
> -- 
> 2.21.0
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH i-g-t 1/5] lib/tests: fix conflicting args test

2019-05-31 Thread Petri Latvala
On Wed, May 29, 2019 at 04:27:33PM -0700, Lucas De Marchi wrote:
> We want to check if the long option conflicts with one from the core.
> The check for conflicting short option already exists just above.

No, this one is checking that the val (the 0) doesn't conflict.


-- 
Petri Latvala


> 
> Signed-off-by: Lucas De Marchi 
> ---
>  lib/tests/igt_conflicting_args.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/tests/igt_conflicting_args.c 
> b/lib/tests/igt_conflicting_args.c
> index c357b6c5..d8be138e 100644
> --- a/lib/tests/igt_conflicting_args.c
> +++ b/lib/tests/igt_conflicting_args.c
> @@ -91,7 +91,7 @@ int main(int argc, char **argv)
>   internal_assert_wsignaled(do_fork(), SIGABRT);
>  
>   /* conflict on long option 'val' representations */
> - long_options[0] = (struct option) { "iterations", required_argument, 
> NULL, 0};
> + long_options[0] = (struct option) { "list-subtests", required_argument, 
> NULL, 0};
>   short_options = "";
>   internal_assert_wsignaled(do_fork(), SIGABRT);
>  
> -- 
> 2.21.0
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH i-g-t v4] lib/i915/gem_mman: Add a helper for obtaining MMAP_GTT interface version

2019-05-31 Thread Janusz Krzysztofik
On Friday, May 31, 2019 11:35:39 AM CEST Chris Wilson wrote:
> Quoting Janusz Krzysztofik (2019-05-31 10:29:16)
> > From: Janusz Krzysztofik 
> > 
> > If a test calls a function which depends on availability of a specific
> > version of MMAP_GTT interface, an error may occur on unsupported hardware.
> > That may negatively affect results reported by a test framework even if
> > that test ignores the failure and succeedes.
> > 
> > This helper wraps up an IOCTL call which returns a version number of
> > MMAP_GTT interface.  It may be used by tests which should adjust their
> > scope depending on availability of a specific version of MMAP_GTT
> > interface.
> > 
> > Signed-off-by: Janusz Krzysztofik 
> > Cc: Antonio Argenziano 
> > Cc: Michal Wajdeczko 
> > ---
> > Changelog:
> > v3 -> v4:
> > - return errno value on failure (Chris - thanks!),
> > - clear errno before return, as other helpers do,
> > - reword the helper documentation and commit message again (Chris -
> >   thanks!).
> > 
> > v2 (internal) -> v3:
> > - make the code less obsucre, more explicit (Antonio - thanks!),
> > - reword the helper documentation and commit message.
> > 
> > v1 (internal) -> v2 (internal):
> > - minimize future potential conflicts with 
> >   https://patchwork.freedesktop.org/patch/294053/?series=58551&rev=1
> >   (no progress with than one so not waiting for it any longer):
> >   - convert the helper to a drop-in replacement of the one from the
> > above mentioned patch, returning mappable aperture version, not
> > only information on its availability,
> >   - drop any other wrappers,
> > - document the helper,
> > - reword commit message.
> > 
> >  lib/i915/gem_mman.c | 25 +
> >  lib/i915/gem_mman.h |  1 +
> >  2 files changed, 26 insertions(+)
> > 
> > diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
> > index 3cf9a6bb..2c3d6971 100644
> > --- a/lib/i915/gem_mman.c
> > +++ b/lib/i915/gem_mman.c
> > @@ -40,6 +40,31 @@
> >  #define VG(x) do {} while (0)
> >  #endif
> >  
> > +/**
> > + * gem_mmap__gtt_version:
> > + * @fd: open i915 drm file descriptor
> > + *
> > + * This functions wraps up an IOCTL to obtain MMAP_GTT interface version
> > + *
> > + * Returns: MMAP_GTT interface version, kernel error code on failure.
> > + */
> > +int gem_mmap__gtt_version(int fd)
> > +{
> > +   int gtt_version, ret;
> > +   struct drm_i915_getparam gp = {
> > +   .param = I915_PARAM_MMAP_GTT_VERSION,
> > +   .value = >t_version,
> > +   };
> > +
> > +   if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp))
> > +   ret = errno;
> 
> ret = -errno; :)

Sorry.

> Petri also like it when we then say igt_assume(ret);
> 
> Or one could use
> 
> {
>   int result = -EIO;
>   struct ... gp = {
>   .param = I915_PARAM_MMAP_GTT_VERSION,
>   .value = &result,
>   };
> 
>   if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) {
>   result = -errno;
>   igt_assume(result);

OK, I'll learn what igt_assume() is first then use it.

Thanks,
Janusz

>   }
> 
>   errno = 0;
>   return result;
> }
> 
> Now just put it to use somewhere.
> -Chris
> 




___
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: Always enable mmio debugging for CI (rev2)

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Always enable mmio debugging for CI (rev2)
URL   : https://patchwork.freedesktop.org/series/48659/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6169 -> Patchwork_13138


Summary
---

  **SUCCESS**

  No regressions found.

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

Possible new issues
---

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

### IGT changes ###

 Suppressed 

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@i915_selftest@live_mman}:
- fi-bxt-dsi: [PASS][1] -> [TIMEOUT][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-bxt-dsi/igt@i915_selftest@live_mman.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-bxt-dsi/igt@i915_selftest@live_mman.html
- fi-bxt-j4205:   [PASS][3] -> [TIMEOUT][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-bxt-j4205/igt@i915_selftest@live_mman.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-bxt-j4205/igt@i915_selftest@live_mman.html
- fi-glk-dsi: [PASS][5] -> [TIMEOUT][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-glk-dsi/igt@i915_selftest@live_mman.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-glk-dsi/igt@i915_selftest@live_mman.html
- {fi-apl-guc}:   [PASS][7] -> [TIMEOUT][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-apl-guc/igt@i915_selftest@live_mman.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-apl-guc/igt@i915_selftest@live_mman.html
- fi-icl-y:   [DMESG-WARN][9] ([fdo#110801]) -> [TIMEOUT][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-y/igt@i915_selftest@live_mman.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-icl-y/igt@i915_selftest@live_mman.html

  
Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@prime_vgem@basic-write:
- fi-icl-dsi: [PASS][13] -> [INCOMPLETE][14] ([fdo#107713])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-dsi/igt@prime_v...@basic-write.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-icl-dsi/igt@prime_v...@basic-write.html

  
 Possible fixes 

  * igt@gem_ctx_switch@basic-default:
- {fi-icl-guc}:   [INCOMPLETE][15] ([fdo#107713] / [fdo#108569]) -> 
[PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-guc/igt@gem_ctx_swi...@basic-default.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-icl-guc/igt@gem_ctx_swi...@basic-default.html

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

  * igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy:   [DMESG-WARN][19] ([fdo#102614]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
- fi-icl-dsi: [DMESG-WARN][21] ([fdo#106107]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6169/fi-icl-dsi/igt@kms_pipe_crc_ba...@read-crc-pipe-a-frame-sequence.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13138/fi-icl-dsi/igt@kms_pipe_crc_ba...@read-crc-pipe-a-frame-sequence.html

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

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

Re: [Intel-gfx] [PATCH] drm/i915: add force_probe module parameter to replace alpha_support

2019-05-31 Thread Joonas Lahtinen
Quoting Jani Nikula (2019-05-06 16:48:01)
> The i915.alpha_support module parameter has caused some confusion along
> the way. Add new i915.force_probe parameter to specify PCI IDs of
> devices to probe, when the devices are recognized but not automatically
> probed by the driver. The name is intended to reflect what the parameter
> effectively does, avoiding any overloaded semantics of "alpha" and
> "support".
> 
> The parameter supports "" to disable, ",[,...]" to
> enable force probe for one or more devices, and "*" to enable force
> probe for all known devices.
> 
> Also add new CONFIG_DRM_I915_FORCE_PROBE config option to replace the
> DRM_I915_ALPHA_SUPPORT option. This defaults to "*" if
> DRM_I915_ALPHA_SUPPORT=y.
> 
> Instead of replacing i915.alpha_support immediately, let the two coexist
> for a while, with a deprecation message, for a transition period.
> 
> Cc: Joonas Lahtinen 
> Cc: Rodrigo Vivi 
> Signed-off-by: Jani Nikula 

Definitely in favor of this:

Acked-by: Joonas Lahtinen 

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

Re: [Intel-gfx] [PATCH i-g-t v4] lib/i915/gem_mman: Add a helper for obtaining MMAP_GTT interface version

2019-05-31 Thread Chris Wilson
Quoting Janusz Krzysztofik (2019-05-31 10:29:16)
> From: Janusz Krzysztofik 
> 
> If a test calls a function which depends on availability of a specific
> version of MMAP_GTT interface, an error may occur on unsupported hardware.
> That may negatively affect results reported by a test framework even if
> that test ignores the failure and succeedes.
> 
> This helper wraps up an IOCTL call which returns a version number of
> MMAP_GTT interface.  It may be used by tests which should adjust their
> scope depending on availability of a specific version of MMAP_GTT
> interface.
> 
> Signed-off-by: Janusz Krzysztofik 
> Cc: Antonio Argenziano 
> Cc: Michal Wajdeczko 
> ---
> Changelog:
> v3 -> v4:
> - return errno value on failure (Chris - thanks!),
> - clear errno before return, as other helpers do,
> - reword the helper documentation and commit message again (Chris -
>   thanks!).
> 
> v2 (internal) -> v3:
> - make the code less obsucre, more explicit (Antonio - thanks!),
> - reword the helper documentation and commit message.
> 
> v1 (internal) -> v2 (internal):
> - minimize future potential conflicts with 
>   https://patchwork.freedesktop.org/patch/294053/?series=58551&rev=1
>   (no progress with than one so not waiting for it any longer):
>   - convert the helper to a drop-in replacement of the one from the
> above mentioned patch, returning mappable aperture version, not
> only information on its availability,
>   - drop any other wrappers,
> - document the helper,
> - reword commit message.
> 
>  lib/i915/gem_mman.c | 25 +
>  lib/i915/gem_mman.h |  1 +
>  2 files changed, 26 insertions(+)
> 
> diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
> index 3cf9a6bb..2c3d6971 100644
> --- a/lib/i915/gem_mman.c
> +++ b/lib/i915/gem_mman.c
> @@ -40,6 +40,31 @@
>  #define VG(x) do {} while (0)
>  #endif
>  
> +/**
> + * gem_mmap__gtt_version:
> + * @fd: open i915 drm file descriptor
> + *
> + * This functions wraps up an IOCTL to obtain MMAP_GTT interface version
> + *
> + * Returns: MMAP_GTT interface version, kernel error code on failure.
> + */
> +int gem_mmap__gtt_version(int fd)
> +{
> +   int gtt_version, ret;
> +   struct drm_i915_getparam gp = {
> +   .param = I915_PARAM_MMAP_GTT_VERSION,
> +   .value = >t_version,
> +   };
> +
> +   if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp))
> +   ret = errno;

ret = -errno; :)

Petri also like it when we then say igt_assume(ret);

Or one could use

{
int result = -EIO;
struct ... gp = {
.param = I915_PARAM_MMAP_GTT_VERSION,
.value = &result,
};

if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) {
result = -errno;
igt_assume(result);
}

errno = 0;
return result;
}

Now just put it to use somewhere.
-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: Drop non-NULL llist_for_each_entry_safe check for

2019-05-31 Thread Patchwork
== Series Details ==

Series: drm/i915: Drop non-NULL llist_for_each_entry_safe check for
URL   : https://patchwork.freedesktop.org/series/61374/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6167_full -> Patchwork_13136_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@basic-all-heavy:
- shard-kbl:  [PASS][1] -> [INCOMPLETE][2] ([fdo#103665])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-kbl2/igt@gem_ctx_swi...@basic-all-heavy.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl6/igt@gem_ctx_swi...@basic-all-heavy.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-iclb: [PASS][3] -> [FAIL][4] ([fdo#110802])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-iclb7/igt@gem_workarou...@suspend-resume-context.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-iclb2/igt@gem_workarou...@suspend-resume-context.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl:  [PASS][5] -> [SKIP][6] ([fdo#109271])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-kbl7/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-kbl2/igt@i915_pm_rc6_reside...@rc6-accuracy.html

  * igt@i915_suspend@debugfs-reader:
- shard-apl:  [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +7 
similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-apl6/igt@i915_susp...@debugfs-reader.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-apl5/igt@i915_susp...@debugfs-reader.html

  * igt@kms_color@pipe-a-legacy-gamma:
- shard-snb:  [PASS][9] -> [SKIP][10] ([fdo#109271]) +2 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-snb2/igt@kms_co...@pipe-a-legacy-gamma.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-snb7/igt@kms_co...@pipe-a-legacy-gamma.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-hsw:  [PASS][11] -> [SKIP][12] ([fdo#109271]) +38 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-hsw4/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-hsw1/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [PASS][13] -> [FAIL][14] ([fdo#103167]) +5 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-iclb3/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-iclb7/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_lease@simple_lease:
- shard-glk:  [PASS][15] -> [INCOMPLETE][16] ([fdo#103359] / 
[k.org#198133])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-glk3/igt@kms_lease@simple_lease.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-glk5/igt@kms_lease@simple_lease.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- shard-skl:  [PASS][17] -> [INCOMPLETE][18] ([fdo#104108]) +1 
similar issue
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-skl9/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-skl6/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html

  * igt@kms_psr@psr2_no_drrs:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-iclb3/igt@kms_psr@psr2_no_drrs.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_6167/shard-skl7/igt@kms_setm...@basic.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-skl3/igt@kms_setm...@basic.html

  * igt@kms_sysfs_edid_timing:
- shard-hsw:  [PASS][23] -> [FAIL][24] ([fdo#100047])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6167/shard-hsw5/igt@kms_sysfs_edid_timing.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13136/shard-hsw1/igt@kms_sysfs_edid_timing.html

  
 Possible fixes 

  * igt@drm_read@short-buffer-wakeup:
- shard-hsw:  [INCOMPLETE][25] ([fdo#103540]) -> [PASS][26]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_D

[Intel-gfx] [PATCH i-g-t v4] lib/i915/gem_mman: Add a helper for obtaining MMAP_GTT interface version

2019-05-31 Thread Janusz Krzysztofik
From: Janusz Krzysztofik 

If a test calls a function which depends on availability of a specific
version of MMAP_GTT interface, an error may occur on unsupported hardware.
That may negatively affect results reported by a test framework even if
that test ignores the failure and succeedes.

This helper wraps up an IOCTL call which returns a version number of
MMAP_GTT interface.  It may be used by tests which should adjust their
scope depending on availability of a specific version of MMAP_GTT
interface.

Signed-off-by: Janusz Krzysztofik 
Cc: Antonio Argenziano 
Cc: Michal Wajdeczko 
---
Changelog:
v3 -> v4:
- return errno value on failure (Chris - thanks!),
- clear errno before return, as other helpers do,
- reword the helper documentation and commit message again (Chris -
  thanks!).

v2 (internal) -> v3:
- make the code less obsucre, more explicit (Antonio - thanks!),
- reword the helper documentation and commit message.

v1 (internal) -> v2 (internal):
- minimize future potential conflicts with 
  https://patchwork.freedesktop.org/patch/294053/?series=58551&rev=1
  (no progress with than one so not waiting for it any longer):
  - convert the helper to a drop-in replacement of the one from the
above mentioned patch, returning mappable aperture version, not
only information on its availability,
  - drop any other wrappers,
- document the helper,
- reword commit message.

 lib/i915/gem_mman.c | 25 +
 lib/i915/gem_mman.h |  1 +
 2 files changed, 26 insertions(+)

diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
index 3cf9a6bb..2c3d6971 100644
--- a/lib/i915/gem_mman.c
+++ b/lib/i915/gem_mman.c
@@ -40,6 +40,31 @@
 #define VG(x) do {} while (0)
 #endif
 
+/**
+ * gem_mmap__gtt_version:
+ * @fd: open i915 drm file descriptor
+ *
+ * This functions wraps up an IOCTL to obtain MMAP_GTT interface version
+ *
+ * Returns: MMAP_GTT interface version, kernel error code on failure.
+ */
+int gem_mmap__gtt_version(int fd)
+{
+   int gtt_version, ret;
+   struct drm_i915_getparam gp = {
+   .param = I915_PARAM_MMAP_GTT_VERSION,
+   .value = >t_version,
+   };
+
+   if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp))
+   ret = errno;
+   else
+   ret = gtt_version;
+
+   errno = 0;
+   return ret;
+}
+
 /**
  * __gem_mmap__gtt:
  * @fd: open i915 drm file descriptor
diff --git a/lib/i915/gem_mman.h b/lib/i915/gem_mman.h
index f7242ed7..ab12e566 100644
--- a/lib/i915/gem_mman.h
+++ b/lib/i915/gem_mman.h
@@ -25,6 +25,7 @@
 #ifndef GEM_MMAN_H
 #define GEM_MMAN_H
 
+int gem_mmap__gtt_version(int fd);
 void *gem_mmap__gtt(int fd, uint32_t handle, uint64_t size, unsigned prot);
 void *gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, 
unsigned prot);
 
-- 
2.21.0

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

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t v3] lib/i915/gem_mman: Add a helper for obtaining mappable aperture version

2019-05-31 Thread Janusz Krzysztofik
On Friday, May 31, 2019 10:55:46 AM CEST Chris Wilson wrote:
> Quoting Janusz Krzysztofik (2019-05-31 09:53:41)
> > Hi Chris,
> > 
> > On Friday, May 31, 2019 10:39:47 AM CEST Chris Wilson wrote:
> > > Quoting Janusz Krzysztofik (2019-05-31 09:33:38)
> > > > From: Janusz Krzysztofik 
> > > > 
> > > > If a test calls a function which depends on availabiblity of a
> > > > supported mappable aperture, an error may be reported by the kernel on
> > > > unsupported hardware.  That may negatively affect results reported by a
> > > > test framework even if that test ignores the failure and succeedes.
> > > > 
> > > > This helper wraps an IOCTL call which returns a version number of a
> > > > mappable aperture.  It may be used by tests which need to adjust their
> > > > scope depending on availability of specific version of mappable
> > > > aperture.
> > > > 
> > > > Signed-off-by: Janusz Krzysztofik 
> > > > Cc: Antonio Argenziano 
> > > > Cc: Michal Wajdeczko 
> > > > ---
> > > > Changelog:
> > > > v2 (internal) -> v3:
> > > > - make the code less obsucre, more explicit (Antonio),
> > > > - reword the helper documentation and commit message.
> > > > 
> > > > v1 (internal) -> v2 (internal):
> > > > - minimize future potential conflicts with 
> > > >   https://patchwork.freedesktop.org/patch/294053/?series=58551&rev=1
> > > >   (no progress with than one so not waiting for it any longer):
> > > >   - convert the helper to a drop-in replacement of the one from the
> > > > above mentioned patch, returning mappable aperture version, not
> > > > only information on its availability,
> > > >   - drop any other wrappers,
> > > > - document the helper,
> > > > - reword commit message.
> > > > 
> > > >  lib/i915/gem_mman.c | 22 ++
> > > >  lib/i915/gem_mman.h |  1 +
> > > >  2 files changed, 23 insertions(+)
> > > > 
> > > > diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
> > > > index 3cf9a6bb..3a3f3e5c 100644
> > > > --- a/lib/i915/gem_mman.c
> > > > +++ b/lib/i915/gem_mman.c
> > > > @@ -40,6 +40,28 @@
> > > >  #define VG(x) do {} while (0)
> > > >  #endif
> > > >  
> > > > +/**
> > > > + * gem_mmap__gtt_version:
> > > > + * @fd: open i915 drm file descriptor
> > > > + *
> > > > + * This functions wraps up an IOCTL to obtain mappable aperture 
> > > > version.
> > > > + *
> > > > + * Returns: mappable aperture version, -1 on failure.
> > > > + */
> > > > +int gem_mmap__gtt_version(int fd)
> > > > +{
> > > > +   int gtt_version, ret;
> > > > +   struct drm_i915_getparam gp = {
> > > > +   .param = I915_PARAM_MMAP_GTT_VERSION,
> > > > +   .value = >t_version,
> > > > +   };
> > > > +
> > > > +   ret = ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
> > > > +   if (ret == 0)
> > > > +   ret = gtt_version;
> > > > +   return ret;
> > > 
> > > Maybe the actual error returned by the kernel and not glibc would be
> > > interesting in the future?
> > 
> > errno is not overwritten by the helper so it is available to IGT after it 
> > is 
> > called and actually reported when a call to the helper is wrapped with 
> > igt_require().  Do we need more?
> 
> Yes, we typically return the error and do not use errno. Imagine if we
> just replaced ioctl() with syscall() :)

OK. I'll fix it.

Thanks,
Janusz

> -Chris
> 




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

  1   2   >