Re: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Implement Wa_1604555607

2019-10-01 Thread Ramalingam C
On 2019-10-01 at 13:16:11 -0700, Lucas De Marchi wrote:
> On Tue, Oct 1, 2019 at 10:36 AM Chris Wilson  wrote:
> >
> > Quoting Ramalingam C (2019-10-01 18:26:23)
> > > From: Michel Thierry 
> > >
> > > Implement Wa_1604555607 (set the DS pairing timer to 128 cycles).
> > > FF_MODE2 is part of the register state context, that's why it is
> > > implemented here.
> > >
> > > v2: Rebased on top of the WA refactoring (Oscar)
> > > v3: Correctly add to ctx_workarounds_init (Michel)
> > >
> > > BSpec: 19363
> > > HSDES: 1604555607
> > > Signed-off-by: Michel Thierry 
> > > Signed-off-by: Ramalingam C 
> > > ---
> > >  drivers/gpu/drm/i915/gt/intel_workarounds.c | 9 +
> > >  drivers/gpu/drm/i915/i915_reg.h | 5 +
> > >  2 files changed, 14 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
> > > b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > > index ba65e5018978..4049b876492a 100644
> > > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > > @@ -567,9 +567,18 @@ static void icl_ctx_workarounds_init(struct 
> > > intel_engine_cs *engine,
> > >  static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine,
> > >  struct i915_wa_list *wal)
> > >  {
> > > +   struct drm_i915_private *dev_priv = engine->i915;
> > > +   u32 val;
> > > +
> > > /* Wa_1409142259 */
> > > WA_SET_BIT_MASKED(GEN11_COMMON_SLICE_CHICKEN3,
> > >   GEN12_DISABLE_CPS_AWARE_COLOR_PIPE);
> > > +
> > > +   /* Wa_1604555607:tgl */
> > > +   val = I915_READ(FF_MODE2);
> >
> > No, you can't use indiscriminate mmio access that may not match the engine
> > (engine->gt->uncore).
> >
> > But really consider doing the rmw as part of the wa.
> 
> And:
> https://patchwork.freedesktop.org/patch/319952/?series=64274=1
> https://patchwork.freedesktop.org/patch/317654/?series=63670=2
> 
> Please don't simply resend patches that were already reviewed.
Happy if it already getting reviewed. Before sending it, I could have confirmed
with owner of the patch. Sorry for the inconvenience. Lets drop this patch.

-Ram
> 
> Lucas De Marchi
> 
> >
> > > +   val &= ~FF_MODE2_TDS_TIMER_MASK;
> > > +   val |= FF_MODE2_TDS_TIMER_128;
> > > +   wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val);
> > >  }
> > ___
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> 
> 
> -- 
> Lucas De Marchi
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.IGT: failure for DC3CO Support for TGL (rev14)

2019-10-01 Thread Patchwork
== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_6985_full -> Patchwork_14612_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@gem_ctx_isolation@rcs0-s3:
- shard-iclb: [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb1/igt@gem_ctx_isolat...@rcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-iclb2/igt@gem_ctx_isolat...@rcs0-s3.html

  
New tests
-

  New tests have been introduced between CI_DRM_6985_full and 
Patchwork_14612_full:

### New Piglit tests (8) ###

  * spec@arb_gpu_shader5@texturegather@fs-rgba-2-uint-2darray:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegather@fs-rgba-3-uint-2darray:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegatheroffset@fs-rgba-0-uint-2darray:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegatheroffset@fs-rgba-3-uint-2d-const:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegatheroffsets@fs-rgba-0-uint-2d:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegatheroffsets@fs-rgba-1-uint-2d:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegatheroffsets@fs-rgba-2-uint-2d:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  * spec@arb_gpu_shader5@texturegatheroffsets@fs-rgba-3-uint-2d:
- Statuses : 1 incomplete(s)
- Exec time: [0.0] s

  

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@gem_exec_flush@basic-wb-ro-before-default:
- shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb8/igt@gem_exec_fl...@basic-wb-ro-before-default.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-iclb7/igt@gem_exec_fl...@basic-wb-ro-before-default.html

  * igt@gem_exec_reuse@contexts:
- shard-iclb: [PASS][7] -> [INCOMPLETE][8] ([fdo#107713] / 
[fdo#109100])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb5/igt@gem_exec_re...@contexts.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-iclb1/igt@gem_exec_re...@contexts.html

  * igt@gem_exec_schedule@fifo-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#111325])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb6/igt@gem_exec_sched...@fifo-bsd.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-iclb2/igt@gem_exec_sched...@fifo-bsd.html

  * igt@gem_exec_schedule@promotion-bsd1:
- shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#109276]) +23 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb4/igt@gem_exec_sched...@promotion-bsd1.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-iclb7/igt@gem_exec_sched...@promotion-bsd1.html

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-skl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#111870])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl5/igt@gem_userptr_bl...@dmabuf-sync.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-skl4/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
- shard-kbl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#111870])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-kbl1/igt@gem_userptr_bl...@dmabuf-unsync.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/shard-kbl6/igt@gem_userptr_bl...@dmabuf-unsync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup:
- shard-iclb: [PASS][17] -> [DMESG-WARN][18] ([fdo#111870])
   [17]: 

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/print: add and use drm_debug_enabled() (rev3)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/print: add and use drm_debug_enabled() (rev3)
URL   : https://patchwork.freedesktop.org/series/66656/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6985_full -> Patchwork_14611_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Possible new issues
---

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

### IGT changes ###

 Suppressed 

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

  * {igt@gem_eio@kms}:
- shard-glk:  [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-glk6/igt@gem_...@kms.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-glk9/igt@gem_...@kms.html

  
Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@gem_exec_reuse@contexts:
- shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713] / 
[fdo#109100])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb5/igt@gem_exec_re...@contexts.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-iclb7/igt@gem_exec_re...@contexts.html

  * igt@gem_exec_schedule@preempt-other-bsd:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#111325]) +1 similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb5/igt@gem_exec_sched...@preempt-other-bsd.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-iclb4/igt@gem_exec_sched...@preempt-other-bsd.html

  * igt@gem_exec_schedule@promotion-bsd1:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#109276]) +20 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb4/igt@gem_exec_sched...@promotion-bsd1.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-iclb7/igt@gem_exec_sched...@promotion-bsd1.html

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-kbl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#111870])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-kbl4/igt@gem_userptr_bl...@dmabuf-sync.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-kbl6/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
- shard-apl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#109385] / 
[fdo#111870]) +1 similar issue
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl8/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-apl3/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy.html

  * igt@gem_userptr_blits@sync-unmap:
- shard-skl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#111870])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl9/igt@gem_userptr_bl...@sync-unmap.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-skl10/igt@gem_userptr_bl...@sync-unmap.html

  * igt@i915_suspend@sysfs-reader:
- shard-kbl:  [PASS][17] -> [INCOMPLETE][18] ([fdo#103665] / 
[fdo#108767])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-kbl1/igt@i915_susp...@sysfs-reader.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-kbl3/igt@i915_susp...@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#103232])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl6/igt@kms_cursor_...@pipe-b-cursor-128x128-onscreen.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-skl7/igt@kms_cursor_...@pipe-b-cursor-128x128-onscreen.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-untiled:
- shard-skl:  [PASS][21] -> [FAIL][22] ([fdo#103184] / [fdo#103232])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl2/igt@kms_draw_...@draw-method-xrgb2101010-mmap-cpu-untiled.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/shard-skl9/igt@kms_draw_...@draw-method-xrgb2101010-mmap-cpu-untiled.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-apl:  [PASS][23] -> [INCOMPLETE][24] ([fdo#103927])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl8/igt@kms_f...@flip-vs-expired-vblank.html
   [24]: 

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/display: split out intel_vga_client.[ch]
URL   : https://patchwork.freedesktop.org/series/67447/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6985_full -> Patchwork_14608_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#111325]) +7 similar 
issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb8/igt@gem_exec_sched...@preemptive-hang-bsd.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-iclb4/igt@gem_exec_sched...@preemptive-hang-bsd.html

  * igt@gem_exec_schedule@promotion-bsd1:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109276]) +25 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb4/igt@gem_exec_sched...@promotion-bsd1.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-iclb3/igt@gem_exec_sched...@promotion-bsd1.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][7] -> [INCOMPLETE][8] ([fdo#104108])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl4/igt@gem_soft...@noreloc-s3.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-skl7/igt@gem_soft...@noreloc-s3.html

  * igt@gem_tiled_swapping@non-threaded:
- shard-glk:  [PASS][9] -> [DMESG-WARN][10] ([fdo#108686])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-glk6/igt@gem_tiled_swapp...@non-threaded.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-glk8/igt@gem_tiled_swapp...@non-threaded.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
- shard-kbl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#111870])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-kbl4/igt@gem_userptr_bl...@map-fixed-invalidate-busy-gup.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-kbl7/igt@gem_userptr_bl...@map-fixed-invalidate-busy-gup.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup:
- shard-iclb: [PASS][13] -> [DMESG-WARN][14] ([fdo#111870])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb1/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy-gup.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-iclb4/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy-gup.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
- shard-apl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#109385] / 
[fdo#111870]) +1 similar issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl2/igt@gem_userptr_bl...@sync-unmap-after-close.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-apl2/igt@gem_userptr_bl...@sync-unmap-after-close.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl:  [PASS][17] -> [DMESG-WARN][18] ([fdo#108566]) +4 
similar issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl2/igt@i915_susp...@fence-restore-tiled2untiled.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-apl4/igt@i915_susp...@fence-restore-tiled2untiled.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#103232])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl6/igt@kms_cursor_...@pipe-b-cursor-128x128-onscreen.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-skl5/igt@kms_cursor_...@pipe-b-cursor-128x128-onscreen.html

  * igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge:
- shard-snb:  [PASS][21] -> [SKIP][22] ([fdo#109271] / [fdo#109278])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-snb2/igt@kms_cursor_edge_w...@pipe-b-256x256-left-edge.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/shard-snb6/igt@kms_cursor_edge_w...@pipe-b-256x256-left-edge.html

  * igt@kms_flip@dpms-vs-vblank-race-interruptible:
- shard-glk:  [PASS][23] -> [FAIL][24] ([fdo#111609])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-glk3/igt@kms_f...@dpms-vs-vblank-race-interruptible.html
   [24]: 

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Exercise potential false lite-restore (rev5)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Exercise potential false lite-restore (rev5)
URL   : https://patchwork.freedesktop.org/series/67438/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14621


Summary
---

  **FAILURE**

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_selftest@live_execlists:
- fi-skl-guc: [PASS][1] -> [INCOMPLETE][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-guc/igt@i915_selftest@live_execlists.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-skl-guc/igt@i915_selftest@live_execlists.html
- fi-cfl-guc: [PASS][3] -> [DMESG-WARN][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-cfl-guc/igt@i915_selftest@live_execlists.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-cfl-guc/igt@i915_selftest@live_execlists.html
- fi-skl-iommu:   [PASS][5] -> [DMESG-WARN][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-iommu/igt@i915_selftest@live_execlists.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-skl-iommu/igt@i915_selftest@live_execlists.html
- fi-kbl-guc: [PASS][7] -> [INCOMPLETE][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-guc/igt@i915_selftest@live_execlists.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-kbl-guc/igt@i915_selftest@live_execlists.html
- fi-kbl-8809g:   [PASS][9] -> [DMESG-WARN][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-8809g/igt@i915_selftest@live_execlists.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-kbl-8809g/igt@i915_selftest@live_execlists.html
- fi-glk-dsi: [PASS][11] -> [DMESG-WARN][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-glk-dsi/igt@i915_selftest@live_execlists.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-glk-dsi/igt@i915_selftest@live_execlists.html
- fi-kbl-x1275:   [PASS][13] -> [DMESG-WARN][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-x1275/igt@i915_selftest@live_execlists.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-kbl-x1275/igt@i915_selftest@live_execlists.html
- fi-skl-6600u:   [PASS][15] -> [DMESG-WARN][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-6600u/igt@i915_selftest@live_execlists.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-skl-6600u/igt@i915_selftest@live_execlists.html
- fi-bxt-dsi: [PASS][17] -> [DMESG-WARN][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bxt-dsi/igt@i915_selftest@live_execlists.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-bxt-dsi/igt@i915_selftest@live_execlists.html
- fi-skl-6700k2:  [PASS][19] -> [DMESG-WARN][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-6700k2/igt@i915_selftest@live_execlists.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-skl-6700k2/igt@i915_selftest@live_execlists.html
- fi-skl-6260u:   [PASS][21] -> [DMESG-WARN][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-6260u/igt@i915_selftest@live_execlists.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-skl-6260u/igt@i915_selftest@live_execlists.html
- fi-kbl-r:   [PASS][23] -> [DMESG-WARN][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-r/igt@i915_selftest@live_execlists.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-kbl-r/igt@i915_selftest@live_execlists.html
- fi-skl-lmem:[PASS][25] -> [DMESG-WARN][26]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-lmem/igt@i915_selftest@live_execlists.html
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-skl-lmem/igt@i915_selftest@live_execlists.html
- fi-cfl-8109u:   [PASS][27] -> [DMESG-WARN][28]
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-cfl-8109u/igt@i915_selftest@live_execlists.html
   [28]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14621/fi-cfl-8109u/igt@i915_selftest@live_execlists.html

  * igt@runner@aborted:
- fi-cml-u2:  

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Describe structure members in documentation

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915: Describe structure members in documentation
URL   : https://patchwork.freedesktop.org/series/67442/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6985_full -> Patchwork_14607_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@promotion-bsd1:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#109276]) +18 similar 
issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb4/igt@gem_exec_sched...@promotion-bsd1.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-iclb7/igt@gem_exec_sched...@promotion-bsd1.html

  * igt@gem_exec_schedule@wide-bsd:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#111325]) +2 similar 
issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-iclb7/igt@gem_exec_sched...@wide-bsd.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-iclb4/igt@gem_exec_sched...@wide-bsd.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#104108])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl4/igt@gem_soft...@noreloc-s3.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-skl7/igt@gem_soft...@noreloc-s3.html

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-kbl:  [PASS][7] -> [DMESG-WARN][8] ([fdo#111870]) +1 
similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-kbl4/igt@gem_userptr_bl...@dmabuf-sync.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-kbl1/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
- shard-hsw:  [PASS][9] -> [DMESG-WARN][10] ([fdo#111870])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-hsw1/igt@gem_userptr_bl...@sync-unmap-after-close.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-hsw8/igt@gem_userptr_bl...@sync-unmap-after-close.html
- shard-apl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#109385] / 
[fdo#111870]) +1 similar issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl2/igt@gem_userptr_bl...@sync-unmap-after-close.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-apl4/igt@gem_userptr_bl...@sync-unmap-after-close.html

  * igt@gem_workarounds@suspend-resume-context:
- shard-kbl:  [PASS][13] -> [INCOMPLETE][14] ([fdo#103665])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-kbl7/igt@gem_workarou...@suspend-resume-context.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-kbl1/igt@gem_workarou...@suspend-resume-context.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-snb:  [PASS][15] -> [SKIP][16] ([fdo#109271])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-snb1/igt@i915_pm_rc6_reside...@rc6-accuracy.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-snb1/igt@i915_pm_rc6_reside...@rc6-accuracy.html

  * igt@i915_suspend@sysfs-reader:
- shard-apl:  [PASS][17] -> [DMESG-WARN][18] ([fdo#108566]) +3 
similar issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl7/igt@i915_susp...@sysfs-reader.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-apl6/igt@i915_susp...@sysfs-reader.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#103232])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl6/igt@kms_cursor_...@pipe-b-cursor-128x128-onscreen.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-skl9/igt@kms_cursor_...@pipe-b-cursor-128x128-onscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-128x42-onscreen:
- shard-apl:  [PASS][21] -> [INCOMPLETE][22] ([fdo#103927])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-apl3/igt@kms_cursor_...@pipe-c-cursor-128x42-onscreen.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-apl4/igt@kms_cursor_...@pipe-c-cursor-128x42-onscreen.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-untiled:
- shard-skl:  [PASS][23] -> [FAIL][24] ([fdo#103184] / 
[fdo#103232]) +1 similar issue
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/shard-skl2/igt@kms_draw_...@draw-method-xrgb2101010-mmap-cpu-untiled.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/shard-skl3/igt@kms_draw_...@draw-method-xrgb2101010-mmap-cpu-untiled.html

  * igt@kms_fbcon_fbt@psr:
- shard-skl:  [PASS][25] -> [DMESG-WARN][26] ([fdo#106107])
 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftests: Exercise potential false lite-restore (rev5)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Exercise potential false lite-restore (rev5)
URL   : https://patchwork.freedesktop.org/series/67438/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
d506cfeafc6e drm/i915/selftests: Exercise potential false lite-restore
-:30: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#30: FILE: drivers/gpu/drm/i915/gt/intel_lrc.c:240:
+   mutex_acquire(>pin_mutex.dep_map, 2, 0, _RET_IP_);$

-:35: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#35: FILE: drivers/gpu/drm/i915/gt/intel_lrc.c:245:
+   mutex_release(>pin_mutex.dep_map, 0, _RET_IP_);$

total: 0 errors, 2 warnings, 0 checks, 236 lines checked

___
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/mg: Use tc_port instead of port parameter to MG registers

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/mg: Use tc_port instead of port parameter to MG registers
URL   : https://patchwork.freedesktop.org/series/67467/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14620


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14620/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_exec@basic:
- fi-bxt-dsi: [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bxt-dsi/igt@gem_ctx_e...@basic.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14620/fi-bxt-dsi/igt@gem_ctx_e...@basic.html

  
 Possible fixes 

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

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

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724] / [fdo#111214]) -> 
[PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14620/fi-icl-u3/igt@i915_module_l...@reload.html

  
 Warnings 

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

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

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600


Participating hosts (54 -> 47)
--

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


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6986 -> Patchwork_14620

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14620: 70d2eaa029e30d92f61ce87205e70e77f0df15ca @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

70d2eaa029e3 drm/i915/mg: Use tc_port instead of port parameter to MG registers

== Logs ==

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

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/guc: Update H2G enable logging action definition

2019-10-01 Thread Fosha, Robert M



On 9/28/19 3:36 AM, Patchwork wrote:

== Series Details ==

Series: drm/i915/guc: Update H2G enable logging action definition
URL   : https://patchwork.freedesktop.org/series/67351/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6970_full -> Patchwork_14570_full


Summary
---

   **FAILURE**

   Serious unknown changes coming with Patchwork_14570_full absolutely need to 
be
   verified manually.
   
   If you think the reported changes have nothing to do with the changes

   introduced in Patchwork_14570_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_14570_full:

### IGT changes ###

 Possible regressions 

   * igt@i915_pm_rpm@system-suspend-execbuf:
 - shard-iclb: [PASS][1] -> [DMESG-WARN][2]
[1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6970/shard-iclb8/igt@i915_pm_...@system-suspend-execbuf.html
[2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14570/shard-iclb1/igt@i915_pm_...@system-suspend-execbuf.html


Dmesg warnings are for thunderbolt and do not look to be related to this 
patch. It looks to be related to fdo#111764. I think patch should be 
safe to merge.


   
New tests

-

   New tests have been introduced between CI_DRM_6970_full and 
Patchwork_14570_full:

### New Piglit tests (7) ###

   * spec@arb_gpu_shader5@texturegather@vs-rgba-2-float-2darray:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   * spec@arb_gpu_shader5@texturegather@vs-rgba-3-float-2darray:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   * spec@arb_gpu_shader5@texturegatheroffset@vs-rgba-0-float-2darray:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   * spec@arb_gpu_shader5@texturegatheroffsets@vs-rgba-0-float-2d:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   * spec@arb_gpu_shader5@texturegatheroffsets@vs-rgba-1-float-2d:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   * spec@arb_gpu_shader5@texturegatheroffsets@vs-rgba-2-float-2d:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   * spec@arb_gpu_shader5@texturegatheroffsets@vs-rgba-3-float-2d:
 - Statuses : 1 incomplete(s)
 - Exec time: [0.0] s

   


Known issues


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

### IGT changes ###

 Issues hit 

   * igt@gem_exec_async@concurrent-writes-bsd:
 - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#111325]) +3 similar 
issues
[3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6970/shard-iclb7/igt@gem_exec_as...@concurrent-writes-bsd.html
[4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14570/shard-iclb1/igt@gem_exec_as...@concurrent-writes-bsd.html

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

   * igt@i915_pm_rpm@cursor-dpms:
 - shard-iclb: [PASS][7] -> [INCOMPLETE][8] ([fdo#107713] / 
[fdo#108840])
[7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6970/shard-iclb7/igt@i915_pm_...@cursor-dpms.html
[8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14570/shard-iclb7/igt@i915_pm_...@cursor-dpms.html

   * igt@kms_busy@basic-modeset-a:
 - shard-iclb: [PASS][9] -> [INCOMPLETE][10] ([fdo#107713])
[9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6970/shard-iclb4/igt@kms_b...@basic-modeset-a.html
[10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14570/shard-iclb1/igt@kms_b...@basic-modeset-a.html

   * igt@kms_cursor_legacy@cursor-vs-flip-varying-size:
 - shard-apl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#103927]) +3 
similar issues
[11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6970/shard-apl7/igt@kms_cursor_leg...@cursor-vs-flip-varying-size.html
[12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14570/shard-apl1/igt@kms_cursor_leg...@cursor-vs-flip-varying-size.html

   * igt@kms_flip@flip-vs-suspend-interruptible:
 - shard-hsw:  [PASS][13] -> [INCOMPLETE][14] ([fdo#103540])
[13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6970/shard-hsw1/igt@kms_f...@flip-vs-suspend-interruptible.html
[14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14570/shard-hsw1/igt@kms_f...@flip-vs-suspend-interruptible.html

   * igt@kms_flip@plain-flip-fb-recreate-interruptible:
 - shard-skl:  [PASS][15] -> [FAIL][16] ([fdo#100368])
[15]: 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/mg: Use tc_port instead of port parameter to MG registers

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/mg: Use tc_port instead of port parameter to MG registers
URL   : https://patchwork.freedesktop.org/series/67467/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
70d2eaa029e3 drm/i915/mg: Use tc_port instead of port parameter to MG registers
-:224: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ln0p1' - possible 
side-effects?
#224: FILE: drivers/gpu/drm/i915/i915_reg.h:1959:
+#define MG_PHY_PORT_LN(ln, tc_port, ln0p1, ln0p2, ln1p1) \
+   _MMIO(_PORT(tc_port, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))

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

___
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/tgl: Implement Wa_1604555607

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915/tgl: Implement Wa_1604555607
URL   : https://patchwork.freedesktop.org/series/67461/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14619


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/index.html

Possible new issues
---

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

### IGT changes ###

 Suppressed 

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

  * igt@gem_workarounds@basic-read:
- {fi-tgl-u2}:[PASS][1] -> [FAIL][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-tgl-u2/igt@gem_workarou...@basic-read.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/fi-tgl-u2/igt@gem_workarou...@basic-read.html
- {fi-tgl-u}: [PASS][3] -> [FAIL][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-tgl-u/igt@gem_workarou...@basic-read.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/fi-tgl-u/igt@gem_workarou...@basic-read.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_mmap_gtt@basic-small-bo-tiledy:
- fi-icl-u3:  [PASS][5] -> [DMESG-WARN][6] ([fdo#107724]) +1 
similar issue
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_mmap_...@basic-small-bo-tiledy.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/fi-icl-u3/igt@gem_mmap_...@basic-small-bo-tiledy.html

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

  
 Possible fixes 

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

  * igt@gem_linear_blits@basic:
- fi-icl-u3:  [DMESG-WARN][11] ([fdo#107724]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_linear_bl...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/fi-icl-u3/igt@gem_linear_bl...@basic.html

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][13] ([fdo#107724] / [fdo#111214]) -> 
[PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/fi-icl-u3/igt@i915_module_l...@reload.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][15] ([fdo#111407]) -> [PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14619/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.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#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#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407


Participating hosts (54 -> 47)
--

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


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6986 -> Patchwork_14619

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14619: 52edee18222b7e88f600406fa896bd731de901c6 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

52edee18222b drm/i915/tgl: Skip Wa_1604555607 verification at A0
b68066e4e634 drm/i915/tgl: Implement Wa_1604555607

== Logs ==

For more details see: 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/tgl: Implement Wa_1604555607

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915/tgl: Implement Wa_1604555607
URL   : https://patchwork.freedesktop.org/series/67461/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
b68066e4e634 drm/i915/tgl: Implement Wa_1604555607
52edee18222b drm/i915/tgl: Skip Wa_1604555607 verification at A0
-:22: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
#22: FILE: drivers/gpu/drm/i915/gt/intel_workarounds.c:995:
+   if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) {
+

-:66: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'p' - possible side-effects?
#66: FILE: drivers/gpu/drm/i915/i915_drv.h:2071:
+#define IS_TGL_REVID(p, since, until) \
+   (IS_TIGERLAKE(p) && IS_REVID(p, since, until))

total: 0 errors, 0 warnings, 2 checks, 49 lines checked

___
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: Use a modparam to restrict exposed engines (rev2)

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Use a modparam to restrict exposed 
engines (rev2)
URL   : https://patchwork.freedesktop.org/series/67450/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14618


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14618/index.html

Possible new issues
---

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

### IGT changes ###

 Suppressed 

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

  * igt@gem_sync@basic-many-each:
- {fi-cml-h}: [PASS][1] -> [TIMEOUT][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-cml-h/igt@gem_s...@basic-many-each.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14618/fi-cml-h/igt@gem_s...@basic-many-each.html

  * igt@runner@aborted:
- {fi-cml-h}: NOTRUN -> [FAIL][3]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14618/fi-cml-h/igt@run...@aborted.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@rcs0:
- fi-bxt-dsi: [PASS][4] -> [INCOMPLETE][5] ([fdo#103927])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bxt-dsi/igt@gem_ctx_swi...@rcs0.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14618/fi-bxt-dsi/igt@gem_ctx_swi...@rcs0.html

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

  
 Possible fixes 

  * igt@gem_linear_blits@basic:
- fi-icl-u3:  [DMESG-WARN][8] ([fdo#107724]) -> [PASS][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_linear_bl...@basic.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14618/fi-icl-u3/igt@gem_linear_bl...@basic.html

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][10] ([fdo#107724] / [fdo#111214]) -> 
[PASS][11]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14618/fi-icl-u3/igt@i915_module_l...@reload.html

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

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111604]: https://bugs.freedesktop.org/show_bug.cgi?id=111604
  [fdo#111714]: https://bugs.freedesktop.org/show_bug.cgi?id=111714


Participating hosts (54 -> 47)
--

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


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6986 -> Patchwork_14618

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14618: 971c66ff56ceb82389ee13876716ab9e41cd7252 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

971c66ff56ce drm/i915/tgl: Restrict availables engines to rcs0 by default
c8be7f867553 drm/i915: Use a modparam to restrict exposed engines

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for RFT drm/i915/tgl: Re-enable rps (rev3)

2019-10-01 Thread Patchwork
== Series Details ==

Series: RFT drm/i915/tgl: Re-enable rps (rev3)
URL   : https://patchwork.freedesktop.org/series/67398/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6984_full -> Patchwork_14604_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@drm_read@short-buffer-wakeup:
- shard-apl:  [PASS][1] -> [INCOMPLETE][2] ([fdo#103927])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-apl4/igt@drm_r...@short-buffer-wakeup.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-apl3/igt@drm_r...@short-buffer-wakeup.html

  * igt@gem_ctx_isolation@bcs0-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_6984/shard-apl1/igt@gem_ctx_isolat...@bcs0-s3.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-apl4/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_ctx_isolation@vecs0-s3:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#104108])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-skl3/igt@gem_ctx_isolat...@vecs0-s3.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-skl4/igt@gem_ctx_isolat...@vecs0-s3.html

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

  * igt@gem_exec_schedule@in-order-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#111325]) +10 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-iclb5/igt@gem_exec_sched...@in-order-bsd.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-iclb2/igt@gem_exec_sched...@in-order-bsd.html

  * igt@gem_exec_schedule@independent-bsd2:
- shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#109276]) +16 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-iclb2/igt@gem_exec_sched...@independent-bsd2.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-iclb8/igt@gem_exec_sched...@independent-bsd2.html

  * igt@gem_request_retire@retire-vma-not-inactive:
- shard-hsw:  [PASS][13] -> [INCOMPLETE][14] ([fdo#103540])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-hsw5/igt@gem_request_ret...@retire-vma-not-inactive.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-hsw8/igt@gem_request_ret...@retire-vma-not-inactive.html

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-kbl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#111870]) +2 
similar issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-kbl6/igt@gem_userptr_bl...@dmabuf-sync.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-kbl7/igt@gem_userptr_bl...@dmabuf-sync.html
- shard-skl:  [PASS][17] -> [DMESG-WARN][18] ([fdo#111870])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-skl1/igt@gem_userptr_bl...@dmabuf-sync.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-skl7/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
- shard-snb:  [PASS][19] -> [DMESG-WARN][20] ([fdo#111870])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-snb4/igt@gem_userptr_bl...@sync-unmap-after-close.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-snb7/igt@gem_userptr_bl...@sync-unmap-after-close.html

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

  * igt@i915_pm_rpm@system-suspend-execbuf:
- shard-skl:  [PASS][23] -> [INCOMPLETE][24] ([fdo#104108] / 
[fdo#107807])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-skl8/igt@i915_pm_...@system-suspend-execbuf.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/shard-skl1/igt@i915_pm_...@system-suspend-execbuf.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-skl:  [PASS][25] -> [FAIL][26] ([fdo#102670])
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/shard-skl2/igt@kms_cursor_leg...@flip-vs-cursor-atomic-transitions-varying-size.html
   [26]: 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use a modparam to restrict exposed engines (rev2)

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Use a modparam to restrict exposed 
engines (rev2)
URL   : https://patchwork.freedesktop.org/series/67450/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
c8be7f867553 drm/i915: Use a modparam to restrict exposed engines
-:109: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#109: FILE: drivers/gpu/drm/i915/i915_params.c:48:
+i915_param_named(engines, uint, 0400,
+   "Only expose selected command streamers [GPU engines] (0=disable GPU, "

total: 0 errors, 0 warnings, 1 checks, 87 lines checked
971c66ff56ce drm/i915/tgl: Restrict availables engines to rcs0 by default

___
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: Fix audio power up sequence for gen10/11

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Fix audio power up sequence for 
gen10/11
URL   : https://patchwork.freedesktop.org/series/67460/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14617


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14617/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_module_load@reload-no-display:
- 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_6986/fi-icl-u3/igt@i915_module_l...@reload-no-display.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14617/fi-icl-u3/igt@i915_module_l...@reload-no-display.html

  
 Possible fixes 

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

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

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724] / [fdo#111214]) -> 
[PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14617/fi-icl-u3/igt@i915_module_l...@reload.html

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

  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214


Participating hosts (54 -> 43)
--

  Missing(11): fi-ilk-m540 fi-cml-h fi-tgl-u2 fi-hsw-4200u fi-byt-squawks 
fi-icl-u2 fi-bsw-cyan fi-byt-clapper fi-icl-y fi-icl-dsi fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6986 -> Patchwork_14617

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14617: eb4770433c09ab208e1500bfa62b21db7dce58d6 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

eb4770433c09 drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms
1554bddd7fee drm/i915: Fix audio power up sequence for gen10/11

== Logs ==

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

Re: [Intel-gfx] [PATCH] drm/i915/mg: Use tc_port instead of port parameter to MG registers

2019-10-01 Thread Lucas De Marchi

On Tue, Oct 01, 2019 at 12:37:29PM -0700, Jose Souza wrote:

All the MG registers is based on the tc_port not port, so
MG_PHY_PORT_LN() was subtracting port and PORT_C what is very
fragile.
So replacing port to tc_port in all MG register macros and users
like we have for DKL.

Cc: Lucas De Marchi 
Cc: Imre Deak 
Signed-off-by: José Roberto de Souza 


Reviewed-by: Lucas De Marchi 

Lucas De Marchi


---
drivers/gpu/drm/i915/display/intel_ddi.c |  64 +++
drivers/gpu/drm/i915/i915_reg.h  | 100 +++
2 files changed, 81 insertions(+), 83 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index b463e51f8b45..3c1e885e0187 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -2681,7 +2681,7 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
   u32 level)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
-   enum port port = encoder->port;
+   enum tc_port tc_port = intel_port_to_tc(dev_priv, encoder->port);
const struct icl_mg_phy_ddi_buf_trans *ddi_translations;
u32 n_entries, val;
int ln;
@@ -2697,33 +2697,33 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,

/* Set MG_TX_LINK_PARAMS cri_use_fs32 to 0. */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_TX1_LINK_PARAMS(ln, port));
+   val = I915_READ(MG_TX1_LINK_PARAMS(ln, tc_port));
val &= ~CRI_USE_FS32;
-   I915_WRITE(MG_TX1_LINK_PARAMS(ln, port), val);
+   I915_WRITE(MG_TX1_LINK_PARAMS(ln, tc_port), val);

-   val = I915_READ(MG_TX2_LINK_PARAMS(ln, port));
+   val = I915_READ(MG_TX2_LINK_PARAMS(ln, tc_port));
val &= ~CRI_USE_FS32;
-   I915_WRITE(MG_TX2_LINK_PARAMS(ln, port), val);
+   I915_WRITE(MG_TX2_LINK_PARAMS(ln, tc_port), val);
}

/* Program MG_TX_SWINGCTRL with values from vswing table */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_TX1_SWINGCTRL(ln, port));
+   val = I915_READ(MG_TX1_SWINGCTRL(ln, tc_port));
val &= ~CRI_TXDEEMPH_OVERRIDE_17_12_MASK;
val |= CRI_TXDEEMPH_OVERRIDE_17_12(
ddi_translations[level].cri_txdeemph_override_17_12);
-   I915_WRITE(MG_TX1_SWINGCTRL(ln, port), val);
+   I915_WRITE(MG_TX1_SWINGCTRL(ln, tc_port), val);

-   val = I915_READ(MG_TX2_SWINGCTRL(ln, port));
+   val = I915_READ(MG_TX2_SWINGCTRL(ln, tc_port));
val &= ~CRI_TXDEEMPH_OVERRIDE_17_12_MASK;
val |= CRI_TXDEEMPH_OVERRIDE_17_12(
ddi_translations[level].cri_txdeemph_override_17_12);
-   I915_WRITE(MG_TX2_SWINGCTRL(ln, port), val);
+   I915_WRITE(MG_TX2_SWINGCTRL(ln, tc_port), val);
}

/* Program MG_TX_DRVCTRL with values from vswing table */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_TX1_DRVCTRL(ln, port));
+   val = I915_READ(MG_TX1_DRVCTRL(ln, tc_port));
val &= ~(CRI_TXDEEMPH_OVERRIDE_11_6_MASK |
 CRI_TXDEEMPH_OVERRIDE_5_0_MASK);
val |= CRI_TXDEEMPH_OVERRIDE_5_0(
@@ -2731,9 +2731,9 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
CRI_TXDEEMPH_OVERRIDE_11_6(

ddi_translations[level].cri_txdeemph_override_11_6) |
CRI_TXDEEMPH_OVERRIDE_EN;
-   I915_WRITE(MG_TX1_DRVCTRL(ln, port), val);
+   I915_WRITE(MG_TX1_DRVCTRL(ln, tc_port), val);

-   val = I915_READ(MG_TX2_DRVCTRL(ln, port));
+   val = I915_READ(MG_TX2_DRVCTRL(ln, tc_port));
val &= ~(CRI_TXDEEMPH_OVERRIDE_11_6_MASK |
 CRI_TXDEEMPH_OVERRIDE_5_0_MASK);
val |= CRI_TXDEEMPH_OVERRIDE_5_0(
@@ -2741,7 +2741,7 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
CRI_TXDEEMPH_OVERRIDE_11_6(

ddi_translations[level].cri_txdeemph_override_11_6) |
CRI_TXDEEMPH_OVERRIDE_EN;
-   I915_WRITE(MG_TX2_DRVCTRL(ln, port), val);
+   I915_WRITE(MG_TX2_DRVCTRL(ln, tc_port), val);

/* FIXME: Program CRI_LOADGEN_SEL after the spec is updated */
}
@@ -2752,17 +2752,17 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
 * values from table for which TX1 and TX2 enabled.
 */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_CLKHUB(ln, port));
+   val = I915_READ(MG_CLKHUB(ln, tc_port));
if (link_clock < 

[Intel-gfx] [PATCH v3] drm/i915/selftests: Exercise potential false lite-restore

2019-10-01 Thread Chris Wilson
If execlists's lite-restore is based on the common GEM context tag
rather than the per-intel_context LRCA, then a context switch between
two intel_contexts on the same engine derived from the same GEM context
will perform a lite-restore instead of a full context switch. We can
exploit this by poisoning the ringbuffer of the first context and trying
to trick a simple RING_TAIL update (i.e. lite-restore)

v2: Also check what happens if preempt ce[0] with ce[1] (both instances
on the same engine from the same parent context) [Tvrtko]

Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
Reviewed-by: Tvrtko Ursulin 
---
Mark up the context image adjustment to appease lockdep
---
 drivers/gpu/drm/i915/gt/intel_lrc.c|  18 ++-
 drivers/gpu/drm/i915/gt/selftest_lrc.c | 176 +
 2 files changed, 190 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c 
b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 9877b6ba13df..2cef06be3882 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -235,6 +235,16 @@ static void execlists_init_reg_state(u32 *reg_state,
 const struct intel_ring *ring,
 bool close);
 
+static void __context_pin_acquire(struct intel_context *ce)
+{
+   mutex_acquire(>pin_mutex.dep_map, 2, 0, _RET_IP_);
+}
+
+static void __context_pin_release(struct intel_context *ce)
+{
+   mutex_release(>pin_mutex.dep_map, 0, _RET_IP_);
+}
+
 static void mark_eio(struct i915_request *rq)
 {
if (!i915_request_signaled(rq))
@@ -2761,7 +2771,7 @@ static void __execlists_reset(struct intel_engine_cs 
*engine, bool stalled)
GEM_BUG_ON(!i915_vma_is_pinned(ce->state));
 
/* Proclaim we have exclusive access to the context image! */
-   mutex_acquire(>pin_mutex.dep_map, 2, 0, _THIS_IP_);
+   __context_pin_acquire(ce);
 
rq = active_request(rq);
if (!rq) {
@@ -2825,7 +2835,7 @@ static void __execlists_reset(struct intel_engine_cs 
*engine, bool stalled)
__execlists_reset_reg_state(ce, engine);
__execlists_update_reg_state(ce, engine);
ce->lrc_desc |= CTX_DESC_FORCE_RESTORE; /* paranoid: GPU was reset! */
-   mutex_release(>pin_mutex.dep_map, 0, _THIS_IP_);
+   __context_pin_release(ce);
 
 unwind:
/* Push back any incomplete requests for replay after the reset. */
@@ -4439,7 +4449,7 @@ void intel_lr_context_reset(struct intel_engine_cs 
*engine,
bool scrub)
 {
GEM_BUG_ON(!intel_context_is_pinned(ce));
-   mutex_acquire(>pin_mutex.dep_map, 2, 0, _THIS_IP_);
+   __context_pin_acquire(ce);
 
/*
 * We want a simple context + ring to execute the breadcrumb update.
@@ -4465,7 +4475,7 @@ void intel_lr_context_reset(struct intel_engine_cs 
*engine,
intel_ring_update_space(ce->ring);
 
__execlists_update_reg_state(ce, engine);
-   mutex_release(>pin_mutex.dep_map, 0, _THIS_IP_);
+   __context_pin_release(ce);
 }
 
 #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c 
b/drivers/gpu/drm/i915/gt/selftest_lrc.c
index 93f2fcdc49bf..5936f46eeb08 100644
--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
@@ -79,6 +79,180 @@ static int live_sanitycheck(void *arg)
return err;
 }
 
+static int live_unlite_restore(struct drm_i915_private *i915, int prio)
+{
+   struct intel_engine_cs *engine;
+   struct i915_gem_context *ctx;
+   enum intel_engine_id id;
+   intel_wakeref_t wakeref;
+   struct igt_spinner spin;
+   int err = -ENOMEM;
+
+   /*
+* Check that we can correctly context switch between 2 instances
+* on the same engine from the same parent context.
+*/
+
+   mutex_lock(>drm.struct_mutex);
+   wakeref = intel_runtime_pm_get(>runtime_pm);
+
+   if (igt_spinner_init(, >gt))
+   goto err_unlock;
+
+   ctx = kernel_context(i915);
+   if (!ctx)
+   goto err_spin;
+
+   err = 0;
+   for_each_engine(engine, i915, id) {
+   struct intel_context *ce[2] = {};
+   struct i915_request *rq[2];
+   struct igt_live_test t;
+   int n;
+
+   if (prio && !intel_engine_has_preemption(engine))
+   continue;
+
+   if (!intel_engine_can_store_dword(engine))
+   continue;
+
+   if (igt_live_test_begin(, i915, __func__, engine->name)) {
+   err = -EIO;
+   break;
+   }
+
+   for (n = 0; n < ARRAY_SIZE(ce); n++) {
+   struct intel_context *tmp;
+
+   tmp = intel_context_create(ctx, engine);
+   if (IS_ERR(tmp)) {
+   err = PTR_ERR(tmp);
+   goto 

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Exercise potential false lite-restore (rev4)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Exercise potential false lite-restore (rev4)
URL   : https://patchwork.freedesktop.org/series/67438/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14616


Summary
---

  **FAILURE**

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_selftest@live_execlists:
- fi-cfl-8700k:   [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-cfl-8700k/igt@i915_selftest@live_execlists.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-cfl-8700k/igt@i915_selftest@live_execlists.html
- fi-bdw-gvtdvm:  [PASS][3] -> [DMESG-WARN][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bdw-gvtdvm/igt@i915_selftest@live_execlists.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-bdw-gvtdvm/igt@i915_selftest@live_execlists.html
- fi-skl-guc: [PASS][5] -> [INCOMPLETE][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-guc/igt@i915_selftest@live_execlists.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-skl-guc/igt@i915_selftest@live_execlists.html
- fi-cfl-guc: [PASS][7] -> [DMESG-WARN][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-cfl-guc/igt@i915_selftest@live_execlists.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-cfl-guc/igt@i915_selftest@live_execlists.html
- fi-skl-iommu:   [PASS][9] -> [INCOMPLETE][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-iommu/igt@i915_selftest@live_execlists.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-skl-iommu/igt@i915_selftest@live_execlists.html
- fi-whl-u:   [PASS][11] -> [DMESG-WARN][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-whl-u/igt@i915_selftest@live_execlists.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-whl-u/igt@i915_selftest@live_execlists.html
- fi-kbl-7500u:   [PASS][13] -> [DMESG-WARN][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-7500u/igt@i915_selftest@live_execlists.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-kbl-7500u/igt@i915_selftest@live_execlists.html
- fi-kbl-guc: [PASS][15] -> [DMESG-WARN][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-guc/igt@i915_selftest@live_execlists.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-kbl-guc/igt@i915_selftest@live_execlists.html
- fi-kbl-8809g:   [PASS][17] -> [DMESG-WARN][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-8809g/igt@i915_selftest@live_execlists.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-kbl-8809g/igt@i915_selftest@live_execlists.html
- fi-glk-dsi: [PASS][19] -> [DMESG-WARN][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-glk-dsi/igt@i915_selftest@live_execlists.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-glk-dsi/igt@i915_selftest@live_execlists.html
- fi-kbl-x1275:   [PASS][21] -> [DMESG-WARN][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-x1275/igt@i915_selftest@live_execlists.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-kbl-x1275/igt@i915_selftest@live_execlists.html
- fi-skl-6600u:   [PASS][23] -> [DMESG-WARN][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-skl-6600u/igt@i915_selftest@live_execlists.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-skl-6600u/igt@i915_selftest@live_execlists.html
- fi-bsw-n3050:   [PASS][25] -> [DMESG-WARN][26]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bsw-n3050/igt@i915_selftest@live_execlists.html
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-bsw-n3050/igt@i915_selftest@live_execlists.html
- fi-bsw-kefka:   [PASS][27] -> [DMESG-WARN][28]
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bsw-kefka/igt@i915_selftest@live_execlists.html
   [28]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14616/fi-bsw-kefka/igt@i915_selftest@live_execlists.html
- fi-bxt-dsi: [PASS][29] -> 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftests: Exercise potential false lite-restore (rev4)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Exercise potential false lite-restore (rev4)
URL   : https://patchwork.freedesktop.org/series/67438/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
d13633b978e3 drm/i915/selftests: Exercise potential false lite-restore
-:100: CHECK:LINE_SPACING: Please don't use multiple blank lines
#100: FILE: drivers/gpu/drm/i915/gt/selftest_lrc.c:154:
+
+

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

___
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: Limit MST modes based on plane size too

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Limit MST modes based on plane 
size too
URL   : https://patchwork.freedesktop.org/series/67457/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14615


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/index.html

Possible new issues
---

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

### IGT changes ###

 Suppressed 

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

  * igt@gem_ctx_switch@rcs0:
- {fi-tgl-u}: [PASS][1] -> [INCOMPLETE][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-tgl-u/igt@gem_ctx_swi...@rcs0.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-tgl-u/igt@gem_ctx_swi...@rcs0.html

  * igt@gem_sync@basic-many-each:
- {fi-cml-h}: [PASS][3] -> [TIMEOUT][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-cml-h/igt@gem_s...@basic-many-each.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-cml-h/igt@gem_s...@basic-many-each.html

  * igt@runner@aborted:
- {fi-cml-h}: NOTRUN -> [FAIL][5]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-cml-h/igt@run...@aborted.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@rcs0:
- fi-bxt-dsi: [PASS][6] -> [INCOMPLETE][7] ([fdo#103927])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-bxt-dsi/igt@gem_ctx_swi...@rcs0.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-bxt-dsi/igt@gem_ctx_swi...@rcs0.html

  * igt@gem_mmap_gtt@basic-read-write-distinct:
- fi-icl-u3:  [PASS][8] -> [DMESG-WARN][9] ([fdo#107724]) +2 
similar issues
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_mmap_...@basic-read-write-distinct.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-icl-u3/igt@gem_mmap_...@basic-read-write-distinct.html

  
 Possible fixes 

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

  * igt@gem_linear_blits@basic:
- fi-icl-u3:  [DMESG-WARN][12] ([fdo#107724]) -> [PASS][13]
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_linear_bl...@basic.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-icl-u3/igt@gem_linear_bl...@basic.html

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][14] ([fdo#107724] / [fdo#111214]) -> 
[PASS][15]
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14615/fi-icl-u3/igt@i915_module_l...@reload.html

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

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214


Participating hosts (54 -> 46)
--

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


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6986 -> Patchwork_14615

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14615: 5529e13f7d802efa164bcddf628a3304d4c236d1 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5529e13f7d80 drm/i915: Polish intel_tv_mode_valid()
b3dd486a4b40 drm/i915: Limit MST modes based on plane size too

== Logs ==

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

Re: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Implement Wa_1604555607

2019-10-01 Thread Lucas De Marchi
On Tue, Oct 1, 2019 at 10:36 AM Chris Wilson  wrote:
>
> Quoting Ramalingam C (2019-10-01 18:26:23)
> > From: Michel Thierry 
> >
> > Implement Wa_1604555607 (set the DS pairing timer to 128 cycles).
> > FF_MODE2 is part of the register state context, that's why it is
> > implemented here.
> >
> > v2: Rebased on top of the WA refactoring (Oscar)
> > v3: Correctly add to ctx_workarounds_init (Michel)
> >
> > BSpec: 19363
> > HSDES: 1604555607
> > Signed-off-by: Michel Thierry 
> > Signed-off-by: Ramalingam C 
> > ---
> >  drivers/gpu/drm/i915/gt/intel_workarounds.c | 9 +
> >  drivers/gpu/drm/i915/i915_reg.h | 5 +
> >  2 files changed, 14 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
> > b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > index ba65e5018978..4049b876492a 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > @@ -567,9 +567,18 @@ static void icl_ctx_workarounds_init(struct 
> > intel_engine_cs *engine,
> >  static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine,
> >  struct i915_wa_list *wal)
> >  {
> > +   struct drm_i915_private *dev_priv = engine->i915;
> > +   u32 val;
> > +
> > /* Wa_1409142259 */
> > WA_SET_BIT_MASKED(GEN11_COMMON_SLICE_CHICKEN3,
> >   GEN12_DISABLE_CPS_AWARE_COLOR_PIPE);
> > +
> > +   /* Wa_1604555607:tgl */
> > +   val = I915_READ(FF_MODE2);
>
> No, you can't use indiscriminate mmio access that may not match the engine
> (engine->gt->uncore).
>
> But really consider doing the rmw as part of the wa.

And:
https://patchwork.freedesktop.org/patch/319952/?series=64274=1
https://patchwork.freedesktop.org/patch/317654/?series=63670=2

Please don't simply resend patches that were already reviewed.

Lucas De Marchi

>
> > +   val &= ~FF_MODE2_TDS_TIMER_MASK;
> > +   val |= FF_MODE2_TDS_TIMER_128;
> > +   wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val);
> >  }
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Lucas De Marchi
___
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/display: abstract all vgaarb access to intel_vga.[ch]

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/display: abstract all vgaarb access to intel_vga.[ch]
URL   : https://patchwork.freedesktop.org/series/67456/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14614


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@rcs0:
- fi-icl-u2:  [PASS][1] -> [INCOMPLETE][2] ([fdo#107713])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u2/igt@gem_ctx_swi...@rcs0.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/fi-icl-u2/igt@gem_ctx_swi...@rcs0.html

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-icl-u3:  [PASS][3] -> [DMESG-WARN][4] ([fdo#107724]) +3 
similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html

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

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u3:  [PASS][7] -> [DMESG-FAIL][8] ([fdo#111678])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_selftest@live_hangcheck.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/fi-icl-u3/igt@i915_selftest@live_hangcheck.html

  * igt@kms_flip@basic-flip-vs-dpms:
- fi-hsw-4770r:   [PASS][9] -> [DMESG-WARN][10] ([fdo#105602])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-hsw-4770r/igt@kms_f...@basic-flip-vs-dpms.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/fi-hsw-4770r/igt@kms_f...@basic-flip-vs-dpms.html

  
 Possible fixes 

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

  * igt@gem_linear_blits@basic:
- fi-icl-u3:  [DMESG-WARN][13] ([fdo#107724]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_linear_bl...@basic.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/fi-icl-u3/igt@gem_linear_bl...@basic.html

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][15] ([fdo#107724] / [fdo#111214]) -> 
[PASS][16]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/fi-icl-u3/igt@i915_module_l...@reload.html

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

  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#107707]: https://bugs.freedesktop.org/show_bug.cgi?id=107707
  [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#110566]: https://bugs.freedesktop.org/show_bug.cgi?id=110566
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
  [fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600
  [fdo#111678]: https://bugs.freedesktop.org/show_bug.cgi?id=111678


Participating hosts (54 -> 47)
--

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


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6986 -> Patchwork_14614

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14614: 43d2ea1b278af62ba8fdc77a04d9507d15d718f8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

43d2ea1b278a drm/i915/display: abstract all vgaarb access to intel_vga.[ch]

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14614/index.html
___
Intel-gfx 

[Intel-gfx] [PATCH] drm/i915/mg: Use tc_port instead of port parameter to MG registers

2019-10-01 Thread José Roberto de Souza
All the MG registers is based on the tc_port not port, so
MG_PHY_PORT_LN() was subtracting port and PORT_C what is very
fragile.
So replacing port to tc_port in all MG register macros and users
like we have for DKL.

Cc: Lucas De Marchi 
Cc: Imre Deak 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/display/intel_ddi.c |  64 +++
 drivers/gpu/drm/i915/i915_reg.h  | 100 +++
 2 files changed, 81 insertions(+), 83 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index b463e51f8b45..3c1e885e0187 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -2681,7 +2681,7 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
   u32 level)
 {
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
-   enum port port = encoder->port;
+   enum tc_port tc_port = intel_port_to_tc(dev_priv, encoder->port);
const struct icl_mg_phy_ddi_buf_trans *ddi_translations;
u32 n_entries, val;
int ln;
@@ -2697,33 +2697,33 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
 
/* Set MG_TX_LINK_PARAMS cri_use_fs32 to 0. */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_TX1_LINK_PARAMS(ln, port));
+   val = I915_READ(MG_TX1_LINK_PARAMS(ln, tc_port));
val &= ~CRI_USE_FS32;
-   I915_WRITE(MG_TX1_LINK_PARAMS(ln, port), val);
+   I915_WRITE(MG_TX1_LINK_PARAMS(ln, tc_port), val);
 
-   val = I915_READ(MG_TX2_LINK_PARAMS(ln, port));
+   val = I915_READ(MG_TX2_LINK_PARAMS(ln, tc_port));
val &= ~CRI_USE_FS32;
-   I915_WRITE(MG_TX2_LINK_PARAMS(ln, port), val);
+   I915_WRITE(MG_TX2_LINK_PARAMS(ln, tc_port), val);
}
 
/* Program MG_TX_SWINGCTRL with values from vswing table */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_TX1_SWINGCTRL(ln, port));
+   val = I915_READ(MG_TX1_SWINGCTRL(ln, tc_port));
val &= ~CRI_TXDEEMPH_OVERRIDE_17_12_MASK;
val |= CRI_TXDEEMPH_OVERRIDE_17_12(
ddi_translations[level].cri_txdeemph_override_17_12);
-   I915_WRITE(MG_TX1_SWINGCTRL(ln, port), val);
+   I915_WRITE(MG_TX1_SWINGCTRL(ln, tc_port), val);
 
-   val = I915_READ(MG_TX2_SWINGCTRL(ln, port));
+   val = I915_READ(MG_TX2_SWINGCTRL(ln, tc_port));
val &= ~CRI_TXDEEMPH_OVERRIDE_17_12_MASK;
val |= CRI_TXDEEMPH_OVERRIDE_17_12(
ddi_translations[level].cri_txdeemph_override_17_12);
-   I915_WRITE(MG_TX2_SWINGCTRL(ln, port), val);
+   I915_WRITE(MG_TX2_SWINGCTRL(ln, tc_port), val);
}
 
/* Program MG_TX_DRVCTRL with values from vswing table */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_TX1_DRVCTRL(ln, port));
+   val = I915_READ(MG_TX1_DRVCTRL(ln, tc_port));
val &= ~(CRI_TXDEEMPH_OVERRIDE_11_6_MASK |
 CRI_TXDEEMPH_OVERRIDE_5_0_MASK);
val |= CRI_TXDEEMPH_OVERRIDE_5_0(
@@ -2731,9 +2731,9 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
CRI_TXDEEMPH_OVERRIDE_11_6(

ddi_translations[level].cri_txdeemph_override_11_6) |
CRI_TXDEEMPH_OVERRIDE_EN;
-   I915_WRITE(MG_TX1_DRVCTRL(ln, port), val);
+   I915_WRITE(MG_TX1_DRVCTRL(ln, tc_port), val);
 
-   val = I915_READ(MG_TX2_DRVCTRL(ln, port));
+   val = I915_READ(MG_TX2_DRVCTRL(ln, tc_port));
val &= ~(CRI_TXDEEMPH_OVERRIDE_11_6_MASK |
 CRI_TXDEEMPH_OVERRIDE_5_0_MASK);
val |= CRI_TXDEEMPH_OVERRIDE_5_0(
@@ -2741,7 +2741,7 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
CRI_TXDEEMPH_OVERRIDE_11_6(

ddi_translations[level].cri_txdeemph_override_11_6) |
CRI_TXDEEMPH_OVERRIDE_EN;
-   I915_WRITE(MG_TX2_DRVCTRL(ln, port), val);
+   I915_WRITE(MG_TX2_DRVCTRL(ln, tc_port), val);
 
/* FIXME: Program CRI_LOADGEN_SEL after the spec is updated */
}
@@ -2752,17 +2752,17 @@ static void icl_mg_phy_ddi_vswing_sequence(struct 
intel_encoder *encoder,
 * values from table for which TX1 and TX2 enabled.
 */
for (ln = 0; ln < 2; ln++) {
-   val = I915_READ(MG_CLKHUB(ln, port));
+   val = I915_READ(MG_CLKHUB(ln, tc_port));
if (link_clock < 30)
val |= CFG_LOW_RATE_LKREN_EN;
else
   

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: abstract all vgaarb access to intel_vga.[ch]

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/display: abstract all vgaarb access to intel_vga.[ch]
URL   : https://patchwork.freedesktop.org/series/67456/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
43d2ea1b278a drm/i915/display: abstract all vgaarb access to intel_vga.[ch]
-:254: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#254: 
new file mode 100644

-:295: CHECK:USLEEP_RANGE: usleep_range is preferred over udelay; see 
Documentation/timers/timers-howto.rst
#295: FILE: drivers/gpu/drm/i915/display/intel_vga.c:37:
+   udelay(300);

total: 0 errors, 1 warnings, 1 checks, 479 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/i915: Conclude load -> probe naming convention switch

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915: Conclude load -> probe naming convention switch
URL   : https://patchwork.freedesktop.org/series/67454/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6986 -> Patchwork_14613


Summary
---

  **FAILURE**

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_selftest@live_gem_contexts:
- fi-whl-u:   [PASS][1] -> [INCOMPLETE][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-whl-u/igt@i915_selftest@live_gem_contexts.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14613/fi-whl-u/igt@i915_selftest@live_gem_contexts.html

  
Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@prime_self_import@basic-with_fd_dup:
- fi-icl-u3:  [PASS][5] -> [DMESG-WARN][6] ([fdo#107724]) +3 
similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@prime_self_import@basic-with_fd_dup.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14613/fi-icl-u3/igt@prime_self_import@basic-with_fd_dup.html

  
 Possible fixes 

  * 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_6986/fi-blb-e6850/igt@gem_exec_susp...@basic-s3.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14613/fi-blb-e6850/igt@gem_exec_susp...@basic-s3.html

  * igt@gem_linear_blits@basic:
- fi-icl-u3:  [DMESG-WARN][9] ([fdo#107724]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@gem_linear_bl...@basic.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14613/fi-icl-u3/igt@gem_linear_bl...@basic.html

  * igt@i915_module_load@reload:
- fi-icl-u3:  [DMESG-WARN][11] ([fdo#107724] / [fdo#111214]) -> 
[PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-icl-u3/igt@i915_module_l...@reload.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14613/fi-icl-u3/igt@i915_module_l...@reload.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][13] ([fdo#111407]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6986/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14613/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.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#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600
  [fdo#111647]: https://bugs.freedesktop.org/show_bug.cgi?id=111647


Participating hosts (54 -> 46)
--

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


Build changes
-

  * CI: CI-20190529 -> None
  * IGT: IGT_5208 -> IGTPW_3522
  * Linux: CI_DRM_6986 -> Patchwork_14613

  CI-20190529: 20190529
  CI_DRM_6986: 9300459553e8c1032f10ec1953e1a375a99aba13 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3522: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3522/index.html
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14613: 99ddd1e63a9f12c5c4174784f31c05e4214c0fe2 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

99ddd1e63a9f drm/i915: Rename "inject_load_failure" module parameter
f23ba0cec202 drm/i915: Fix i915_inject_load_error() name to read *_probe_*

== Logs ==

For 

Re: [Intel-gfx] [PATCH] drm/i915: Fix g4x sprite scaling stride check with GTT remapping

2019-10-01 Thread Chris Wilson
Quoting Ville Syrjala (2019-09-30 19:30:45)
> From: Ville Syrjälä 
> 
> I forgot to update the g4x sprite scaling stride check when GTT
> remapping was introduced. The stride of the original framebuffer
> is irrelevant when remapping is used and instead we want to check
> the stride of the remapped view.
> 
> Also drop the duplicate width_bytes check. We already check that
> a few lines earlier.
> 
> Fixes: df79cf441910 ("drm/i915: Store the final plane stride in plane_state")
> Signed-off-by: Ville Syrjälä 

So basically .stride = intel_fb_pitch()
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Conclude load -> probe naming convention switch

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915: Conclude load -> probe naming convention switch
URL   : https://patchwork.freedesktop.org/series/67454/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
f23ba0cec202 drm/i915: Fix i915_inject_load_error() name to read *_probe_*
-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit f2db53f14d3d ("drm/i915: Replace 
"_load" with "_probe" consequently")'
#11: 
established by commit f2db53f14d3d ("drm/i915: Replace "_load" with

total: 1 errors, 0 warnings, 0 checks, 158 lines checked
99ddd1e63a9f drm/i915: Rename "inject_load_failure" module parameter
-:9: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'Commit f2db53f14d3d ("drm/i915: Replace 
"_load" with "_probe" consequently")'
#9: 
Commit f2db53f14d3d ("drm/i915: Replace "_load" with "_probe"

-:34: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#34: FILE: drivers/gpu/drm/i915/i915_params.c:169:
+i915_param_named_unsafe(inject_probe_failure, uint, 0400,
"Force an error after a number of failure check points (0:disabled 
(default), N:force failure at the Nth failure check point)");

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

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

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Limit MST modes based on plane size too

2019-10-01 Thread kbuild test robot
Hi Ville,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.4-rc1 next-20191001]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Ville-Syrjala/drm-i915-Limit-MST-modes-based-on-plane-size-too/20191002-010404
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

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

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/display/intel_dp_mst.c: In function 
'intel_dp_mst_mode_valid':
>> drivers/gpu/drm/i915/display/intel_dp_mst.c:449:9: error: implicit 
>> declaration of function 'intel_mode_valid_max_plane_size'; did you mean 
>> 'drm_mode_validate_size'? [-Werror=implicit-function-declaration]
 return intel_mode_valid_max_plane_size(dev_priv, mode);
^~~
drm_mode_validate_size
   cc1: some warnings being treated as errors

vim +449 drivers/gpu/drm/i915/display/intel_dp_mst.c

   416  
   417  static enum drm_mode_status
   418  intel_dp_mst_mode_valid(struct drm_connector *connector,
   419  struct drm_display_mode *mode)
   420  {
   421  struct drm_i915_private *dev_priv = to_i915(connector->dev);
   422  struct intel_connector *intel_connector = 
to_intel_connector(connector);
   423  struct intel_dp *intel_dp = intel_connector->mst_port;
   424  int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
   425  int max_rate, mode_rate, max_lanes, max_link_clock;
   426  
   427  if (drm_connector_is_unregistered(connector))
   428  return MODE_ERROR;
   429  
   430  if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
   431  return MODE_NO_DBLESCAN;
   432  
   433  max_link_clock = intel_dp_max_link_rate(intel_dp);
   434  max_lanes = intel_dp_max_lane_count(intel_dp);
   435  
   436  max_rate = intel_dp_max_data_rate(max_link_clock, max_lanes);
   437  mode_rate = intel_dp_link_required(mode->clock, 18);
   438  
   439  /* TODO - validate mode against available PBN for link */
   440  if (mode->clock < 1)
   441  return MODE_CLOCK_LOW;
   442  
   443  if (mode->flags & DRM_MODE_FLAG_DBLCLK)
   444  return MODE_H_ILLEGAL;
   445  
   446  if (mode_rate > max_rate || mode->clock > max_dotclk)
   447  return MODE_CLOCK_HIGH;
   448  
 > 449  return intel_mode_valid_max_plane_size(dev_priv, mode);
   450  }
   451  

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


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

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Limit MST modes based on plane size too

2019-10-01 Thread kbuild test robot
Hi Ville,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.4-rc1 next-20191001]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Ville-Syrjala/drm-i915-Limit-MST-modes-based-on-plane-size-too/20191002-010404
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-a002-201939 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

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

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/display/intel_dp_mst.c: In function 
'intel_dp_mst_mode_valid':
>> drivers/gpu/drm/i915/display/intel_dp_mst.c:449:9: error: implicit 
>> declaration of function 'intel_mode_valid_max_plane_size' 
>> [-Werror=implicit-function-declaration]
 return intel_mode_valid_max_plane_size(dev_priv, mode);
^
   cc1: some warnings being treated as errors

vim +/intel_mode_valid_max_plane_size +449 
drivers/gpu/drm/i915/display/intel_dp_mst.c

   416  
   417  static enum drm_mode_status
   418  intel_dp_mst_mode_valid(struct drm_connector *connector,
   419  struct drm_display_mode *mode)
   420  {
   421  struct drm_i915_private *dev_priv = to_i915(connector->dev);
   422  struct intel_connector *intel_connector = 
to_intel_connector(connector);
   423  struct intel_dp *intel_dp = intel_connector->mst_port;
   424  int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
   425  int max_rate, mode_rate, max_lanes, max_link_clock;
   426  
   427  if (drm_connector_is_unregistered(connector))
   428  return MODE_ERROR;
   429  
   430  if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
   431  return MODE_NO_DBLESCAN;
   432  
   433  max_link_clock = intel_dp_max_link_rate(intel_dp);
   434  max_lanes = intel_dp_max_lane_count(intel_dp);
   435  
   436  max_rate = intel_dp_max_data_rate(max_link_clock, max_lanes);
   437  mode_rate = intel_dp_link_required(mode->clock, 18);
   438  
   439  /* TODO - validate mode against available PBN for link */
   440  if (mode->clock < 1)
   441  return MODE_CLOCK_LOW;
   442  
   443  if (mode->flags & DRM_MODE_FLAG_DBLCLK)
   444  return MODE_H_ILLEGAL;
   445  
   446  if (mode_rate > max_rate || mode->clock > max_dotclk)
   447  return MODE_CLOCK_HIGH;
   448  
 > 449  return intel_mode_valid_max_plane_size(dev_priv, mode);
   450  }
   451  

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


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

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Use a modparam to restrict exposed engines

2019-10-01 Thread kbuild test robot
Hi Chris,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.4-rc1 next-20191001]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Use-a-modparam-to-restrict-exposed-engines/20191002-003226
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-a002-201939 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

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

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/i915_gem.c: In function 'i915_gem_init':
>> drivers/gpu/drm/i915/i915_gem.c:1411:3: error: implicit declaration of 
>> function 'intel_gt_set_wedged_on_init' 
>> [-Werror=implicit-function-declaration]
  intel_gt_set_wedged_on_init(_priv->gt);
  ^
   cc1: some warnings being treated as errors

vim +/intel_gt_set_wedged_on_init +1411 drivers/gpu/drm/i915/i915_gem.c

  1405  
  1406  int i915_gem_init(struct drm_i915_private *dev_priv)
  1407  {
  1408  int ret;
  1409  
  1410  if (!RUNTIME_INFO(dev_priv)->num_engines) {
> 1411  intel_gt_set_wedged_on_init(_priv->gt);
  1412  return 0;
  1413  }
  1414  
  1415  /* We need to fallback to 4K pages if host doesn't support huge 
gtt. */
  1416  if (intel_vgpu_active(dev_priv) && 
!intel_vgpu_has_huge_gtt(dev_priv))
  1417  mkwrite_device_info(dev_priv)->page_sizes =
  1418  I915_GTT_PAGE_SIZE_4K;
  1419  
  1420  intel_timelines_init(dev_priv);
  1421  
  1422  ret = i915_gem_init_userptr(dev_priv);
  1423  if (ret)
  1424  return ret;
  1425  
  1426  intel_uc_fetch_firmwares(_priv->gt.uc);
  1427  intel_wopcm_init(_priv->wopcm);
  1428  
  1429  /* This is just a security blanket to placate dragons.
  1430   * On some systems, we very sporadically observe that the first 
TLBs
  1431   * used by the CS may be stale, despite us poking the TLB 
reset. If
  1432   * we hold the forcewake during initialisation these problems
  1433   * just magically go away.
  1434   */
  1435  mutex_lock(_priv->drm.struct_mutex);
  1436  intel_uncore_forcewake_get(_priv->uncore, FORCEWAKE_ALL);
  1437  
  1438  ret = i915_init_ggtt(dev_priv);
  1439  if (ret) {
  1440  GEM_BUG_ON(ret == -EIO);
  1441  goto err_unlock;
  1442  }
  1443  
  1444  ret = i915_gem_init_scratch(dev_priv,
  1445  IS_GEN(dev_priv, 2) ? SZ_256K : 
PAGE_SIZE);
  1446  if (ret) {
  1447  GEM_BUG_ON(ret == -EIO);
  1448  goto err_ggtt;
  1449  }
  1450  
  1451  ret = intel_engines_setup(dev_priv);
  1452  if (ret) {
  1453  GEM_BUG_ON(ret == -EIO);
  1454  goto err_unlock;
  1455  }
  1456  
  1457  ret = i915_gem_contexts_init(dev_priv);
  1458  if (ret) {
  1459  GEM_BUG_ON(ret == -EIO);
  1460  goto err_scratch;
  1461  }
  1462  
  1463  ret = intel_engines_init(dev_priv);
  1464  if (ret) {
  1465  GEM_BUG_ON(ret == -EIO);
  1466  goto err_context;
  1467  }
  1468  
  1469  intel_init_gt_powersave(dev_priv);
  1470  
  1471  intel_uc_init(_priv->gt.uc);
  1472  
  1473  ret = i915_gem_init_hw(dev_priv);
  1474  if (ret)
  1475  goto err_uc_init;
  1476  
  1477  /* Only when the HW is re-initialised, can we replay the 
requests */
  1478  ret = intel_gt_resume(_priv->gt);
  1479  if (ret)
  1480  goto err_init_hw;
  1481  
  1482  /*
  1483   * Despite its name intel_init_clock_gating applies both display
  1484   * clock gating workarounds; GT mmio workarounds and the 
occasional
  1485   * GT power context workaround. Worse, sometimes it includes a 
context
  1486   * register workaround which we need to apply before we record 
the
  1487   * default HW state for all contexts.
  1488   *
  1489   * FIXME: break up the workarounds and apply them at the right 
time!
  1490   */
  1491  intel_init_clock_gating(dev_priv);
  1492  
  1493  ret = intel_engines_verify_workarounds(dev_priv);
  1

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

2019-10-01 Thread Patchwork
== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_6985 -> Patchwork_14612


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/index.html

Known issues


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

### IGT changes ###

 Issues hit 

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

  * 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_6985/fi-icl-u3/igt@gem_flink_ba...@bad-open.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/fi-icl-u3/igt@gem_flink_ba...@bad-open.html

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-icl-u3:  [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6] +1 
similar issue
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
- fi-blb-e6850:   [INCOMPLETE][7] ([fdo#107718]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
- {fi-tgl-u2}:[INCOMPLETE][9] ([fdo#111850]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-tgl-u2/igt@gem_exec_susp...@basic-s4-devices.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/fi-tgl-u2/igt@gem_exec_susp...@basic-s4-devices.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_6985/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14612/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#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#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850


Participating hosts (51 -> 47)
--

  Additional (3): fi-cml-h fi-apl-guc fi-pnv-d510 
  Missing(7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6985 -> Patchwork_14612

  CI-20190529: 20190529
  CI_DRM_6985: 75d23ba38b952a5f3d0fc42baf1df2d15c5e74b1 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14612: d45dfbfa58b0d4de9ff126a19ab0dcb448f17ef7 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

d45dfbfa58b0 drm/i915/tgl: Add DC3CO counter in i915_dmc_info
66a367a59909 drm/i915/tgl: Switch between dc3co and dc5 based on display 
idleness
8504d53cbe34 drm/i915/tgl: Do modeset to enable and configure DC3CO exitline
cef357e64b82 drm/i915/tgl: Enable DC3CO state in "DC Off" power well
131d049f0dbc drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask
a45d47a9b70c drm/i915/tgl: Add DC3CO required register and bits

== Logs ==

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

[Intel-gfx] [PATCH i-g-t] i915/gem_userptr_blits: Check for allowed GTT mmaps

2019-10-01 Thread Chris Wilson
Having decided to close the GTT mmap of userptr objects loophole in the
kernel, we need to adjust the test suite to avoid tripping over GTT
mmaps when required.

Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
---
 tests/i915/gem_userptr_blits.c | 32 
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index 3fad7d1b3..3f5edaeab 100644
--- a/tests/i915/gem_userptr_blits.c
+++ b/tests/i915/gem_userptr_blits.c
@@ -69,11 +69,33 @@
 
 static uint32_t userptr_flags = LOCAL_I915_USERPTR_UNSYNCHRONIZED;
 
+static bool can_gtt_mmap;
+
 #define WIDTH 512
 #define HEIGHT 512
 
 static uint32_t linear[WIDTH*HEIGHT];
 
+static bool has_gtt_mmap(int i915)
+{
+   void *ptr, *map;
+   uint32_t handle;
+
+   igt_assert(posix_memalign(, PAGE_SIZE, PAGE_SIZE) == 0);
+
+   gem_userptr(i915, ptr, 4096, 0, 0, );
+   igt_assert(handle != 0);
+
+   map = __gem_mmap__gtt(i915, handle, 4096, PROT_WRITE);
+   if (map)
+   munmap(map, 4096);
+
+   gem_close(i915, handle);
+   free(ptr);
+
+   return map != NULL;
+}
+
 static void gem_userptr_test_unsynchronized(void)
 {
userptr_flags = LOCAL_I915_USERPTR_UNSYNCHRONIZED;
@@ -853,7 +875,7 @@ static void *umap(int fd, uint32_t handle)
 {
void *ptr;
 
-   if (gem_has_llc(fd)) {
+   if (can_gtt_mmap) {
ptr = gem_mmap__gtt(fd, handle, sizeof(linear),
PROT_READ | PROT_WRITE);
} else {
@@ -884,7 +906,7 @@ check_bo(int fd1, uint32_t handle1, int is_userptr, int 
fd2, uint32_t handle2)
sigbus_start = (unsigned long)ptr2;
igt_assert(memcmp(ptr1, ptr2, sizeof(linear)) == 0);
 
-   if (gem_has_llc(fd1)) {
+   if (can_gtt_mmap) {
counter++;
memset(ptr1, counter, size);
memset(ptr2, counter, size);
@@ -971,7 +993,7 @@ static int test_dmabuf(void)
free_userptr_bo(fd1, handle);
close(fd1);
 
-   if (gem_has_llc(fd2)) {
+   if (can_gtt_mmap) {
struct sigaction sigact, orig_sigact;
 
memset(, 0, sizeof(sigact));
@@ -1225,7 +1247,7 @@ static void test_readonly_mmap(int i915)
original = g_compute_checksum_for_data(G_CHECKSUM_SHA1, pages, sz);
 
ptr = __gem_mmap__gtt(i915, handle, sz, PROT_WRITE);
-   igt_assert(ptr == NULL);
+   igt_require(ptr != NULL);
 
ptr = gem_mmap__gtt(i915, handle, sz, PROT_READ);
gem_close(i915, handle);
@@ -1834,6 +1856,8 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
igt_require_gem(fd);
gem_require_blitter(fd);
 
+   can_gtt_mmap = has_gtt_mmap(fd) && gem_has_llc(fd);
+
size = sizeof(linear);
 
aperture_size = gem_aperture_size(fd);
-- 
2.23.0

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

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Use a modparam to restrict exposed engines

2019-10-01 Thread kbuild test robot
Hi Chris,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.4-rc1 next-20191001]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Use-a-modparam-to-restrict-exposed-engines/20191002-003226
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

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

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/i915_gem.c: In function 'i915_gem_init':
>> drivers/gpu/drm/i915/i915_gem.c:1411:3: error: implicit declaration of 
>> function 'intel_gt_set_wedged_on_init'; did you mean 'intel_gt_set_wedged'? 
>> [-Werror=implicit-function-declaration]
  intel_gt_set_wedged_on_init(_priv->gt);
  ^~~
  intel_gt_set_wedged
   cc1: some warnings being treated as errors

vim +1411 drivers/gpu/drm/i915/i915_gem.c

  1405  
  1406  int i915_gem_init(struct drm_i915_private *dev_priv)
  1407  {
  1408  int ret;
  1409  
  1410  if (!RUNTIME_INFO(dev_priv)->num_engines) {
> 1411  intel_gt_set_wedged_on_init(_priv->gt);
  1412  return 0;
  1413  }
  1414  
  1415  /* We need to fallback to 4K pages if host doesn't support huge 
gtt. */
  1416  if (intel_vgpu_active(dev_priv) && 
!intel_vgpu_has_huge_gtt(dev_priv))
  1417  mkwrite_device_info(dev_priv)->page_sizes =
  1418  I915_GTT_PAGE_SIZE_4K;
  1419  
  1420  intel_timelines_init(dev_priv);
  1421  
  1422  ret = i915_gem_init_userptr(dev_priv);
  1423  if (ret)
  1424  return ret;
  1425  
  1426  intel_uc_fetch_firmwares(_priv->gt.uc);
  1427  intel_wopcm_init(_priv->wopcm);
  1428  
  1429  /* This is just a security blanket to placate dragons.
  1430   * On some systems, we very sporadically observe that the first 
TLBs
  1431   * used by the CS may be stale, despite us poking the TLB 
reset. If
  1432   * we hold the forcewake during initialisation these problems
  1433   * just magically go away.
  1434   */
  1435  mutex_lock(_priv->drm.struct_mutex);
  1436  intel_uncore_forcewake_get(_priv->uncore, FORCEWAKE_ALL);
  1437  
  1438  ret = i915_init_ggtt(dev_priv);
  1439  if (ret) {
  1440  GEM_BUG_ON(ret == -EIO);
  1441  goto err_unlock;
  1442  }
  1443  
  1444  ret = i915_gem_init_scratch(dev_priv,
  1445  IS_GEN(dev_priv, 2) ? SZ_256K : 
PAGE_SIZE);
  1446  if (ret) {
  1447  GEM_BUG_ON(ret == -EIO);
  1448  goto err_ggtt;
  1449  }
  1450  
  1451  ret = intel_engines_setup(dev_priv);
  1452  if (ret) {
  1453  GEM_BUG_ON(ret == -EIO);
  1454  goto err_unlock;
  1455  }
  1456  
  1457  ret = i915_gem_contexts_init(dev_priv);
  1458  if (ret) {
  1459  GEM_BUG_ON(ret == -EIO);
  1460  goto err_scratch;
  1461  }
  1462  
  1463  ret = intel_engines_init(dev_priv);
  1464  if (ret) {
  1465  GEM_BUG_ON(ret == -EIO);
  1466  goto err_context;
  1467  }
  1468  
  1469  intel_init_gt_powersave(dev_priv);
  1470  
  1471  intel_uc_init(_priv->gt.uc);
  1472  
  1473  ret = i915_gem_init_hw(dev_priv);
  1474  if (ret)
  1475  goto err_uc_init;
  1476  
  1477  /* Only when the HW is re-initialised, can we replay the 
requests */
  1478  ret = intel_gt_resume(_priv->gt);
  1479  if (ret)
  1480  goto err_init_hw;
  1481  
  1482  /*
  1483   * Despite its name intel_init_clock_gating applies both display
  1484   * clock gating workarounds; GT mmio workarounds and the 
occasional
  1485   * GT power context workaround. Worse, sometimes it includes a 
context
  1486   * register workaround which we need to apply before we record 
the
  1487   * default HW state for all contexts.
  1488   *
  1489   * FIXME: break up the workarounds and apply them at the right 
time!
  1490   */
  1491  intel_init_clock_gating(dev_priv);
  1492  
  1493  ret = intel_engi

Re: [Intel-gfx] [PATCH 2/2] drm/i915/tgl: Skip Wa_1604555607 verification at A0

2019-10-01 Thread Chris Wilson
Quoting Ramalingam C (2019-10-01 18:26:24)
> Read of FF_MODE2 register is broken at TGL A0. Hence verification of the
> Wa_1604555607 associated to that register needs to be skipped.
> 
> Signed-off-by: Ramalingam C 
> cc: Tvrtko Ursulin 
> ---
>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 22 -
>  drivers/gpu/drm/i915/i915_drv.h |  6 ++
>  2 files changed, 27 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
> b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index 4049b876492a..c63d8c3df4d3 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -991,10 +991,21 @@ wa_list_apply(struct intel_uncore *uncore, const struct 
> i915_wa_list *wal)
>  
> for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
> intel_uncore_rmw_fw(uncore, wa->reg, wa->mask, wa->val);
> -   if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
> +   if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) {
> +
> +   /*
> +* Read of FF_MODE2 is broken on TGL A0.
> +* Hence skip the corresponding WA verification.
> +*/
> +   if (IS_TGL_REVID(uncore->i915, 0, TGL_REVID_A0) &&
> +   i915_mmio_reg_equal(wa->reg, FF_MODE2) &&
> +   wa->mask == FF_MODE2_TDS_TIMER_MASK)
> +   continue;

This does not scale very well. You will note that wa_verify() already
includes a detail on which bits can be read back from HW.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 1/2] drm/i915/tgl: Implement Wa_1604555607

2019-10-01 Thread Chris Wilson
Quoting Ramalingam C (2019-10-01 18:26:23)
> From: Michel Thierry 
> 
> Implement Wa_1604555607 (set the DS pairing timer to 128 cycles).
> FF_MODE2 is part of the register state context, that's why it is
> implemented here.
> 
> v2: Rebased on top of the WA refactoring (Oscar)
> v3: Correctly add to ctx_workarounds_init (Michel)
> 
> BSpec: 19363
> HSDES: 1604555607
> Signed-off-by: Michel Thierry 
> Signed-off-by: Ramalingam C 
> ---
>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 9 +
>  drivers/gpu/drm/i915/i915_reg.h | 5 +
>  2 files changed, 14 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
> b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index ba65e5018978..4049b876492a 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -567,9 +567,18 @@ static void icl_ctx_workarounds_init(struct 
> intel_engine_cs *engine,
>  static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine,
>  struct i915_wa_list *wal)
>  {
> +   struct drm_i915_private *dev_priv = engine->i915;
> +   u32 val;
> +
> /* Wa_1409142259 */
> WA_SET_BIT_MASKED(GEN11_COMMON_SLICE_CHICKEN3,
>   GEN12_DISABLE_CPS_AWARE_COLOR_PIPE);
> +
> +   /* Wa_1604555607:tgl */
> +   val = I915_READ(FF_MODE2);

No, you can't use indiscriminate mmio access that may not match the engine
(engine->gt->uncore).

But really consider doing the rmw as part of the wa.

> +   val &= ~FF_MODE2_TDS_TIMER_MASK;
> +   val |= FF_MODE2_TDS_TIMER_128;
> +   wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val);
>  }
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915/display: abstract all vgaarb access to intel_vga.[ch]

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 06:25:06PM +0300, Jani Nikula wrote:
> Split out the code related to vga client and vgaarb all over the place
> into new intel_vga.[ch]. No functional changes.
> 
> Cc: Ville Syrjälä 
> Cc: Chris Wilson 
> Signed-off-by: Jani Nikula 
> ---
>  drivers/gpu/drm/i915/Makefile |   3 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |  97 +--
>  drivers/gpu/drm/i915/display/intel_display.h  |   3 -
>  .../drm/i915/display/intel_display_power.c|  24 +--
>  drivers/gpu/drm/i915/display/intel_vga.c  | 160 ++
>  drivers/gpu/drm/i915/display/intel_vga.h  |  18 ++
>  drivers/gpu/drm/i915/i915_drv.c   |  30 +---
>  drivers/gpu/drm/i915/i915_pci.c   |   1 -
>  drivers/gpu/drm/i915/i915_suspend.c   |   3 +-
>  drivers/gpu/drm/i915/intel_runtime_pm.c   |   1 -
>  10 files changed, 194 insertions(+), 146 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/display/intel_vga.c
>  create mode 100644 drivers/gpu/drm/i915/display/intel_vga.h
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index e04463d85401..d2b53b5add81 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -184,7 +184,8 @@ i915-y += \
>   display/intel_psr.o \
>   display/intel_quirks.o \
>   display/intel_sprite.o \
> - display/intel_tc.o
> + display/intel_tc.o \
> + display/intel_vga.o
>  i915-$(CONFIG_ACPI) += \
>   display/intel_acpi.o \
>   display/intel_opregion.o
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> b/drivers/gpu/drm/i915/display/intel_display.c
> index f1328c08f4ad..d99c59e97568 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -31,7 +31,6 @@
>  #include 
>  #include 
>  #include 
> -#include 
>  
>  #include 
>  #include 
> @@ -79,6 +78,7 @@
>  #include "intel_sideband.h"
>  #include "intel_sprite.h"
>  #include "intel_tc.h"
> +#include "intel_vga.h"
>  
>  /* Primary plane formats for gen <= 3 */
>  static const u32 i8xx_primary_formats[] = {
> @@ -4241,7 +4241,7 @@ __intel_display_resume(struct drm_device *dev,
>   int i, ret;
>  
>   intel_modeset_setup_hw_state(dev, ctx);
> - i915_redisable_vga(to_i915(dev));
> + intel_vga_redisable(to_i915(dev));
>  
>   if (!state)
>   return 0;
> @@ -15994,35 +15994,6 @@ void intel_init_display_hooks(struct 
> drm_i915_private *dev_priv)
>  
>  }
>  
> -static i915_reg_t i915_vgacntrl_reg(struct drm_i915_private *dev_priv)
> -{
> - if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
> - return VLV_VGACNTRL;
> - else if (INTEL_GEN(dev_priv) >= 5)
> - return CPU_VGACNTRL;
> - else
> - return VGACNTRL;
> -}
> -
> -/* Disable the VGA plane that we never use */
> -static void i915_disable_vga(struct drm_i915_private *dev_priv)
> -{
> - struct pci_dev *pdev = dev_priv->drm.pdev;
> - u8 sr1;
> - i915_reg_t vga_reg = i915_vgacntrl_reg(dev_priv);
> -
> - /* WaEnableVGAAccessThroughIOPort:ctg,elk,ilk,snb,ivb,vlv,hsw */
> - vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
> - outb(SR01, VGA_SR_INDEX);
> - sr1 = inb(VGA_SR_DATA);
> - outb(sr1 | 1<<5, VGA_SR_DATA);
> - vga_put(pdev, VGA_RSRC_LEGACY_IO);
> - udelay(300);
> -
> - I915_WRITE(vga_reg, VGA_DISP_DISABLE);
> - POSTING_READ(vga_reg);
> -}
> -
>  void intel_modeset_init_hw(struct drm_i915_private *i915)
>  {
>   intel_update_cdclk(i915);
> @@ -16288,7 +16259,7 @@ int intel_modeset_init(struct drm_i915_private *i915)
>   intel_update_max_cdclk(i915);
>  
>   /* Just disable it once at startup */
> - i915_disable_vga(i915);
> + intel_vga_disable(i915);
>   intel_setup_outputs(i915);
>  
>   drm_modeset_lock_all(dev);
> @@ -16647,39 +16618,6 @@ static void intel_sanitize_encoder(struct 
> intel_encoder *encoder)
>   icl_sanitize_encoder_pll_mapping(encoder);
>  }
>  
> -void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv)
> -{
> - i915_reg_t vga_reg = i915_vgacntrl_reg(dev_priv);
> -
> - if (!(I915_READ(vga_reg) & VGA_DISP_DISABLE)) {
> - DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
> - i915_disable_vga(dev_priv);
> - }
> -}
> -
> -void i915_redisable_vga(struct drm_i915_private *dev_priv)
> -{
> - intel_wakeref_t wakeref;
> -
> - /*
> -  * This function can be called both from intel_modeset_setup_hw_state or
> -  * at a very early point in our resume sequence, where the power well
> -  * structures are not yet restored. Since this function is at a very
> -  * paranoid "someone might have enabled VGA while we were not looking"
> -  * level, just check if the power well is enabled instead of trying to
> -  * follow the "don't touch the power well if we don't need it" policy
> -  * 

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Polish intel_tv_mode_valid()

2019-10-01 Thread Souza, Jose
On Tue, 2019-10-01 at 18:46 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> Drop the tv_mode NULL check since intel_tv_mode_find() never
> actually returns NULL, and flip the condition around so that
> the MODE_OK case is at the end, which is customary to all
> the other .mode_valid() implementations.
> 

Reviewed-by: José Roberto de Souza 

> Signed-off-by: Ville Syrjälä 
> ---
>  drivers/gpu/drm/i915/display/intel_tv.c | 7 +++
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_tv.c
> b/drivers/gpu/drm/i915/display/intel_tv.c
> index b70221f5112a..71c3f7e5df7d 100644
> --- a/drivers/gpu/drm/i915/display/intel_tv.c
> +++ b/drivers/gpu/drm/i915/display/intel_tv.c
> @@ -961,11 +961,10 @@ intel_tv_mode_valid(struct drm_connector
> *connector,
>   return MODE_CLOCK_HIGH;
>  
>   /* Ensure TV refresh is close to desired refresh */
> - if (tv_mode && abs(tv_mode->refresh - drm_mode_vrefresh(mode) *
> 1000)
> - < 1000)
> - return MODE_OK;
> + if (abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000) >=
> 1000)
> + return MODE_CLOCK_RANGE;
>  
> - return MODE_CLOCK_RANGE;
> + return MODE_OK;
>  }
>  
>  static int
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH 2/2] drm/i915/tgl: Skip Wa_1604555607 verification at A0

2019-10-01 Thread Ramalingam C
Read of FF_MODE2 register is broken at TGL A0. Hence verification of the
Wa_1604555607 associated to that register needs to be skipped.

Signed-off-by: Ramalingam C 
cc: Tvrtko Ursulin 
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 22 -
 drivers/gpu/drm/i915/i915_drv.h |  6 ++
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index 4049b876492a..c63d8c3df4d3 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -991,10 +991,21 @@ wa_list_apply(struct intel_uncore *uncore, const struct 
i915_wa_list *wal)
 
for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
intel_uncore_rmw_fw(uncore, wa->reg, wa->mask, wa->val);
-   if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
+   if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) {
+
+   /*
+* Read of FF_MODE2 is broken on TGL A0.
+* Hence skip the corresponding WA verification.
+*/
+   if (IS_TGL_REVID(uncore->i915, 0, TGL_REVID_A0) &&
+   i915_mmio_reg_equal(wa->reg, FF_MODE2) &&
+   wa->mask == FF_MODE2_TDS_TIMER_MASK)
+   continue;
+
wa_verify(wa,
  intel_uncore_read_fw(uncore, wa->reg),
  wal->name, "application");
+   }
}
 
intel_uncore_forcewake_put__locked(uncore, fw);
@@ -1553,6 +1564,15 @@ static int engine_wa_list_verify(struct intel_context 
*ce,
if (mcr_range(rq->i915, i915_mmio_reg_offset(wa->reg)))
continue;
 
+   /*
+* Read of FF_MODE2 is broken on TGL A0.
+* Hence skip the corresponding WA verification.
+*/
+   if (IS_TGL_REVID(rq->i915, 0, TGL_REVID_A0) &&
+   i915_mmio_reg_equal(wa->reg, FF_MODE2) &&
+   wa->mask == FF_MODE2_TDS_TIMER_MASK)
+   continue;
+
if (!wa_verify(wa, results[i], wal->name, from))
err = -ENXIO;
}
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 337d8306416a..05bf0b398ce7 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2065,6 +2065,12 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define IS_ICL_REVID(p, since, until) \
(IS_ICELAKE(p) && IS_REVID(p, since, until))
 
+#define TGL_REVID_A0   0x0
+#define TGL_REVID_B0   0x1
+
+#define IS_TGL_REVID(p, since, until) \
+   (IS_TIGERLAKE(p) && IS_REVID(p, since, until))
+
 #define IS_LP(dev_priv)(INTEL_INFO(dev_priv)->is_lp)
 #define IS_GEN9_LP(dev_priv)   (IS_GEN(dev_priv, 9) && IS_LP(dev_priv))
 #define IS_GEN9_BC(dev_priv)   (IS_GEN(dev_priv, 9) && !IS_LP(dev_priv))
-- 
2.20.1

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

[Intel-gfx] [PATCH 1/2] drm/i915/tgl: Implement Wa_1604555607

2019-10-01 Thread Ramalingam C
From: Michel Thierry 

Implement Wa_1604555607 (set the DS pairing timer to 128 cycles).
FF_MODE2 is part of the register state context, that's why it is
implemented here.

v2: Rebased on top of the WA refactoring (Oscar)
v3: Correctly add to ctx_workarounds_init (Michel)

BSpec: 19363
HSDES: 1604555607
Signed-off-by: Michel Thierry 
Signed-off-by: Ramalingam C 
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 9 +
 drivers/gpu/drm/i915/i915_reg.h | 5 +
 2 files changed, 14 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index ba65e5018978..4049b876492a 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -567,9 +567,18 @@ static void icl_ctx_workarounds_init(struct 
intel_engine_cs *engine,
 static void tgl_ctx_workarounds_init(struct intel_engine_cs *engine,
 struct i915_wa_list *wal)
 {
+   struct drm_i915_private *dev_priv = engine->i915;
+   u32 val;
+
/* Wa_1409142259 */
WA_SET_BIT_MASKED(GEN11_COMMON_SLICE_CHICKEN3,
  GEN12_DISABLE_CPS_AWARE_COLOR_PIPE);
+
+   /* Wa_1604555607:tgl */
+   val = I915_READ(FF_MODE2);
+   val &= ~FF_MODE2_TDS_TIMER_MASK;
+   val |= FF_MODE2_TDS_TIMER_128;
+   wa_write_masked_or(wal, FF_MODE2, FF_MODE2_TDS_TIMER_MASK, val);
 }
 
 static void
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 058aa5ca8b73..ff19b8c80b40 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -7775,6 +7775,11 @@ enum {
 #define   PIXEL_ROUNDING_TRUNC_FB_PASSTHRU (1 << 15)
 #define   PER_PIXEL_ALPHA_BYPASS_EN(1 << 7)
 
+#define FF_MODE2   _MMIO(0x6604)
+#define   FF_MODE2_TDS_TIMER_SHIFT (16)
+#define   FF_MODE2_TDS_TIMER_128   (4 << FF_MODE2_TDS_TIMER_SHIFT)
+#define   FF_MODE2_TDS_TIMER_MASK  (0xff << FF_MODE2_TDS_TIMER_SHIFT)
+
 /* PCH */
 
 #define PCH_DISPLAY_BASE   0xcu
-- 
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/print: add and use drm_debug_enabled() (rev3)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/print: add and use drm_debug_enabled() (rev3)
URL   : https://patchwork.freedesktop.org/series/66656/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6985 -> Patchwork_14611


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@legacy-render:
- fi-icl-u2:  [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#111381])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/fi-icl-u2/igt@gem_ctx_swi...@legacy-render.html

  * igt@i915_module_load@reload-no-display:
- fi-icl-u3:  [PASS][3] -> [DMESG-WARN][4] ([fdo#107724]) +2 
similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u3/igt@i915_module_l...@reload-no-display.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/fi-icl-u3/igt@i915_module_l...@reload-no-display.html

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

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] +2 
similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
- fi-blb-e6850:   [INCOMPLETE][9] ([fdo#107718]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
- {fi-tgl-u2}:[INCOMPLETE][11] ([fdo#111850]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-tgl-u2/igt@gem_exec_susp...@basic-s4-devices.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/fi-tgl-u2/igt@gem_exec_susp...@basic-s4-devices.html

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

  
 Warnings 

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][15] ([fdo#111045] / [fdo#111096]) -> 
[FAIL][16] ([fdo#111407])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14611/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.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#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
  [fdo#111867]: https://bugs.freedesktop.org/show_bug.cgi?id=111867


Participating hosts (51 -> 45)
--

  Additional (3): fi-cml-h fi-apl-guc fi-pnv-d510 
  Missing(9): fi-ilk-m540 fi-hsw-4200u fi-skl-guc fi-byt-squawks 
fi-bsw-cyan fi-byt-clapper fi-icl-y fi-icl-dsi fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6985 -> Patchwork_14611

  CI-20190529: 20190529
  CI_DRM_6985: 75d23ba38b952a5f3d0fc42baf1df2d15c5e74b1 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14611: dee3ed02e6bd5fd3c1ceb728e7db2efe9fe0e0c3 @ 

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Limit MST modes based on plane size too

2019-10-01 Thread Souza, Jose
On Tue, 2019-10-01 at 18:46 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> When adding the max plane size checks to the .mode_valid() hooks
> I naturally forgot about MST. Take care of that one as well.

Reviewed-by: José Roberto de Souza 

> 
> Cc: Manasi Navare 
> Cc: Sean Paul 
> Cc: José Roberto de Souza 
> Cc: Maarten Lankhorst 
> Fixes: 2d20411e25a3 ("drm/i915: Don't advertise modes that exceed the
> max plane size")
> Signed-off-by: Ville Syrjälä 
> ---
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index df4f35c10a69..2203be28ea01 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -424,6 +424,7 @@ static enum drm_mode_status
>  intel_dp_mst_mode_valid(struct drm_connector *connector,
>   struct drm_display_mode *mode)
>  {
> + struct drm_i915_private *dev_priv = to_i915(connector->dev);
>   struct intel_connector *intel_connector =
> to_intel_connector(connector);
>   struct intel_dp *intel_dp = intel_connector->mst_port;
>   int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> @@ -451,7 +452,7 @@ intel_dp_mst_mode_valid(struct drm_connector
> *connector,
>   if (mode_rate > max_rate || mode->clock > max_dotclk)
>   return MODE_CLOCK_HIGH;
>  
> - return MODE_OK;
> + return intel_mode_valid_max_plane_size(dev_priv, mode);
>  }
>  
>  static struct drm_encoder *intel_mst_atomic_best_encoder(struct
> drm_connector *connector,
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 15/23] drm/i915: Link planes in a bigjoiner configuration.

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 09:44:09AM -0700, Matt Roper wrote:
> On Fri, Sep 20, 2019 at 01:42:27PM +0200, Maarten Lankhorst wrote:
> > Make sure that when a plane is set in a bigjoiner mode, we will add
> > their counterpart to the atomic state as well. This will allow us to
> > make sure all state is available when planes are checked.
> > 
> > Because of the funny interactions with bigjoiner and planar YUV
> > formats, we may end up adding a lot of planes, so we have to keep
> > iterating until we no longer add any planes.
> > 
> > Signed-off-by: Maarten Lankhorst 
> > ---
> >  .../gpu/drm/i915/display/intel_atomic_plane.c |  31 +++-
> >  .../gpu/drm/i915/display/intel_atomic_plane.h |   4 +
> >  drivers/gpu/drm/i915/display/intel_display.c  | 142 --
> >  .../drm/i915/display/intel_display_types.h|  11 ++
> >  4 files changed, 172 insertions(+), 16 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c 
> > b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > index 964db7774d10..cc088676f0a2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > @@ -182,16 +182,36 @@ int intel_plane_atomic_check_with_state(const struct 
> > intel_crtc_state *old_crtc_
> >old_plane_state, 
> > new_plane_state);
> >  }
> >  
> > -static struct intel_crtc *
> > -get_crtc_from_states(const struct intel_plane_state *old_plane_state,
> > -const struct intel_plane_state *new_plane_state)
> > -{
> > +struct intel_crtc *
> > +intel_plane_get_crtc_from_states(struct intel_atomic_state *state,
> 
> This function name seems ambiguous now since it isn't clear whether
> we're getting the plane's hardware CRTC or its uapi CRTC.  Maybe call it
> something like intel_plane_state_get_uapi_crtc()?

I was actually wondering if we shouldn't just do 
get_crtc(plane->pipe) here. We still don't expose any planes
that can switch pipes so feels like this stuff is unecessary
complexity we don't particularly need.

> 
> 
> 
> > +const struct intel_plane_state 
> > *old_plane_state,
> > +const struct intel_plane_state 
> > *new_plane_state)
> > +  {
> > +   struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> > +   struct intel_plane *plane = to_intel_plane(new_plane_state->base.plane);
> > +
> > if (new_plane_state->base.crtc)
> > return to_intel_crtc(new_plane_state->base.crtc);
> >  
> > if (old_plane_state->base.crtc)
> > return to_intel_crtc(old_plane_state->base.crtc);
> >  
> > +   if (new_plane_state->bigjoiner_slave) {
> > +   const struct intel_plane_state *new_master_plane_state =
> > +   intel_atomic_get_new_plane_state(state, 
> > new_plane_state->bigjoiner_plane);
> > +
> > +   if (new_master_plane_state->base.crtc)
> > +   return intel_get_crtc_for_pipe(dev_priv, plane->pipe);
> > +   }
> 
> Will this cause problems if we adjust properties of planes on a a
> uapi-disabled CRTC?  E.g., I believe userspace can fiddle with stuff
> like rotation properties on disabled planes/crtcs and now I believe that
> causes us to needlessly pull in the bigjoiner master crtc and
> corresponding plane?

Not sure it's worth the effort to really try to avoid such things. If
userspace keeps fiddling with disabled stuff all the time it feels a
bit broken to me.

On a semi-related note I've occasionally pondered about trying to
filter out nop commits which don't send out events, even on active
planes/crtcs. But I guess that's already starting to be a change to
the semantics so probably not something that could be done without
a new flag/etc.

> 
> > +
> > +   if (old_plane_state->bigjoiner_slave) {
> > +   const struct intel_plane_state *old_master_plane_state =
> > +   intel_atomic_get_old_plane_state(state, 
> > old_plane_state->bigjoiner_plane);
> > +
> > +   if (old_master_plane_state->base.crtc)
> > +   return intel_get_crtc_for_pipe(dev_priv, plane->pipe);
> > +   }
> > +
> > return NULL;
> >  }
> >  
> > @@ -206,7 +226,8 @@ static int intel_plane_atomic_check(struct drm_plane 
> > *_plane,
> > const struct intel_plane_state *old_plane_state =
> > intel_atomic_get_old_plane_state(state, plane);
> > struct intel_crtc *crtc =
> > -   get_crtc_from_states(old_plane_state, new_plane_state);
> > +   intel_plane_get_crtc_from_states(state, old_plane_state,
> > +new_plane_state);
> > const struct intel_crtc_state *old_crtc_state;
> > struct intel_crtc_state *new_crtc_state;
> >  
> > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.h 
> > b/drivers/gpu/drm/i915/display/intel_atomic_plane.h
> > index 33fb85cd3909..901a50e6e2d3 100644
> > --- 

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Use a modparam to restrict exposed engines

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Use a modparam to restrict exposed 
engines
URL   : https://patchwork.freedesktop.org/series/67450/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6985 -> Patchwork_14610


Summary
---

  **FAILURE**

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@runner@aborted:
- fi-bsw-n3050:   NOTRUN -> [FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14610/fi-bsw-n3050/igt@run...@aborted.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_hangcheck:
- fi-bsw-n3050:   [PASS][2] -> [INCOMPLETE][3] ([fdo#105876])
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-bsw-n3050/igt@i915_selftest@live_hangcheck.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14610/fi-bsw-n3050/igt@i915_selftest@live_hangcheck.html

  
 Possible fixes 

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

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

  
 Warnings 

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u:   [FAIL][8] ([fdo#111045] / [fdo#111096]) -> [FAIL][9] 
([fdo#111407])
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14610/fi-kbl-7500u/igt@kms_chamel...@hdmi-hpd-fast.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#105876]: https://bugs.freedesktop.org/show_bug.cgi?id=105876
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111604]: https://bugs.freedesktop.org/show_bug.cgi?id=111604
  [fdo#111714]: https://bugs.freedesktop.org/show_bug.cgi?id=111714
  [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735


Participating hosts (51 -> 45)
--

  Additional (2): fi-cml-h fi-pnv-d510 
  Missing(8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-u3 
fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6985 -> Patchwork_14610

  CI-20190529: 20190529
  CI_DRM_6985: 75d23ba38b952a5f3d0fc42baf1df2d15c5e74b1 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14610: e38072e0b2fa7bb6638f58c2d2b1d4c1c6075c87 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e38072e0b2fa drm/i915/tgl: Restrict availables engines to rcs0 by default
d9fbdccc5cd1 drm/i915: Use a modparam to restrict exposed engines

== Logs ==

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

Re: [Intel-gfx] [PATCH 15/23] drm/i915: Link planes in a bigjoiner configuration.

2019-10-01 Thread Matt Roper
On Fri, Sep 20, 2019 at 01:42:27PM +0200, Maarten Lankhorst wrote:
> Make sure that when a plane is set in a bigjoiner mode, we will add
> their counterpart to the atomic state as well. This will allow us to
> make sure all state is available when planes are checked.
> 
> Because of the funny interactions with bigjoiner and planar YUV
> formats, we may end up adding a lot of planes, so we have to keep
> iterating until we no longer add any planes.
> 
> Signed-off-by: Maarten Lankhorst 
> ---
>  .../gpu/drm/i915/display/intel_atomic_plane.c |  31 +++-
>  .../gpu/drm/i915/display/intel_atomic_plane.h |   4 +
>  drivers/gpu/drm/i915/display/intel_display.c  | 142 --
>  .../drm/i915/display/intel_display_types.h|  11 ++
>  4 files changed, 172 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c 
> b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> index 964db7774d10..cc088676f0a2 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> @@ -182,16 +182,36 @@ int intel_plane_atomic_check_with_state(const struct 
> intel_crtc_state *old_crtc_
>  old_plane_state, 
> new_plane_state);
>  }
>  
> -static struct intel_crtc *
> -get_crtc_from_states(const struct intel_plane_state *old_plane_state,
> -  const struct intel_plane_state *new_plane_state)
> -{
> +struct intel_crtc *
> +intel_plane_get_crtc_from_states(struct intel_atomic_state *state,

This function name seems ambiguous now since it isn't clear whether
we're getting the plane's hardware CRTC or its uapi CRTC.  Maybe call it
something like intel_plane_state_get_uapi_crtc()?



> +  const struct intel_plane_state 
> *old_plane_state,
> +  const struct intel_plane_state 
> *new_plane_state)
> +  {
> + struct drm_i915_private *dev_priv = to_i915(state->base.dev);
> + struct intel_plane *plane = to_intel_plane(new_plane_state->base.plane);
> +
>   if (new_plane_state->base.crtc)
>   return to_intel_crtc(new_plane_state->base.crtc);
>  
>   if (old_plane_state->base.crtc)
>   return to_intel_crtc(old_plane_state->base.crtc);
>  
> + if (new_plane_state->bigjoiner_slave) {
> + const struct intel_plane_state *new_master_plane_state =
> + intel_atomic_get_new_plane_state(state, 
> new_plane_state->bigjoiner_plane);
> +
> + if (new_master_plane_state->base.crtc)
> + return intel_get_crtc_for_pipe(dev_priv, plane->pipe);
> + }

Will this cause problems if we adjust properties of planes on a a
uapi-disabled CRTC?  E.g., I believe userspace can fiddle with stuff
like rotation properties on disabled planes/crtcs and now I believe that
causes us to needlessly pull in the bigjoiner master crtc and
corresponding plane?

> +
> + if (old_plane_state->bigjoiner_slave) {
> + const struct intel_plane_state *old_master_plane_state =
> + intel_atomic_get_old_plane_state(state, 
> old_plane_state->bigjoiner_plane);
> +
> + if (old_master_plane_state->base.crtc)
> + return intel_get_crtc_for_pipe(dev_priv, plane->pipe);
> + }
> +
>   return NULL;
>  }
>  
> @@ -206,7 +226,8 @@ static int intel_plane_atomic_check(struct drm_plane 
> *_plane,
>   const struct intel_plane_state *old_plane_state =
>   intel_atomic_get_old_plane_state(state, plane);
>   struct intel_crtc *crtc =
> - get_crtc_from_states(old_plane_state, new_plane_state);
> + intel_plane_get_crtc_from_states(state, old_plane_state,
> +  new_plane_state);
>   const struct intel_crtc_state *old_crtc_state;
>   struct intel_crtc_state *new_crtc_state;
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.h 
> b/drivers/gpu/drm/i915/display/intel_atomic_plane.h
> index 33fb85cd3909..901a50e6e2d3 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.h
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.h
> @@ -42,5 +42,9 @@ int intel_plane_atomic_calc_changes(const struct 
> intel_crtc_state *old_crtc_stat
>   struct intel_crtc_state *crtc_state,
>   const struct intel_plane_state 
> *old_plane_state,
>   struct intel_plane_state *plane_state);
> +struct intel_crtc *
> +intel_plane_get_crtc_from_states(struct intel_atomic_state *state,
> +  const struct intel_plane_state 
> *old_plane_state,
> +  const struct intel_plane_state 
> *new_plane_state);
>  
>  #endif /* __INTEL_ATOMIC_PLANE_H__ */
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 

Re: [Intel-gfx] [PATCH 2/2] drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms

2019-10-01 Thread Chris Wilson
Quoting Kai Vehmanen (2019-10-01 17:35:55)
> The CDCLK>=2*BCLK constraint applies to all generations since gen10.
> Extend the constraint logic in audio get/put_power().
> 
> Signed-off-by: Kai Vehmanen 
> ---
>  drivers/gpu/drm/i915/display/intel_audio.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_audio.c 
> b/drivers/gpu/drm/i915/display/intel_audio.c
> index a731af7ada08..031d7e53c7fa 100644
> --- a/drivers/gpu/drm/i915/display/intel_audio.c
> +++ b/drivers/gpu/drm/i915/display/intel_audio.c
> @@ -860,7 +860,7 @@ static unsigned long 
> i915_audio_component_get_power(struct device *kdev)
> }
>  
> /* Force CDCLK to 2*BCLK as long as we need audio powered. */
> -   if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv))
> +   if (INTEL_GEN(dev_priv) >= 10)

glk is only gen9
-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/display: split out intel_vga_client.[ch]

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/display: split out intel_vga_client.[ch]
URL   : https://patchwork.freedesktop.org/series/67447/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6985 -> Patchwork_14608


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@legacy-render:
- fi-bxt-dsi: [PASS][1] -> [INCOMPLETE][2] ([fdo#103927] / 
[fdo#111381])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-bxt-dsi/igt@gem_ctx_swi...@legacy-render.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/fi-bxt-dsi/igt@gem_ctx_swi...@legacy-render.html

  * igt@gem_exec_fence@basic-wait-default:
- 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_6985/fi-icl-u3/igt@gem_exec_fe...@basic-wait-default.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/fi-icl-u3/igt@gem_exec_fe...@basic-wait-default.html

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-icl-u3:  [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6] +2 
similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
- fi-blb-e6850:   [INCOMPLETE][7] ([fdo#107718]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
- {fi-tgl-u2}:[INCOMPLETE][9] ([fdo#111850]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-tgl-u2/igt@gem_exec_susp...@basic-s4-devices.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/fi-tgl-u2/igt@gem_exec_susp...@basic-s4-devices.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_6985/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14608/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#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [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#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
  [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850


Participating hosts (51 -> 45)
--

  Additional (3): fi-cml-h fi-apl-guc fi-pnv-d510 
  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-byt-clapper fi-icl-y fi-icl-dsi fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6985 -> Patchwork_14608

  CI-20190529: 20190529
  CI_DRM_6985: 75d23ba38b952a5f3d0fc42baf1df2d15c5e74b1 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14608: b1b290f96d251c72f87c81d5878eed6c5282c8ca @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b1b290f96d25 drm/i915/display: split out intel_vga_client.[ch]

== Logs ==

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Use a modparam to restrict exposed engines

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Use a modparam to restrict exposed 
engines
URL   : https://patchwork.freedesktop.org/series/67450/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
d9fbdccc5cd1 drm/i915: Use a modparam to restrict exposed engines
-:109: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#109: FILE: drivers/gpu/drm/i915/i915_params.c:48:
+i915_param_named(engines, uint, 0400,
+   "Only expose selected command streamers [GPU engines] (0=disable GPU, "

total: 0 errors, 0 warnings, 1 checks, 87 lines checked
e38072e0b2fa drm/i915/tgl: Restrict availables engines to rcs0 by default

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

[Intel-gfx] [PATCH 2/2] drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms

2019-10-01 Thread Kai Vehmanen
The CDCLK>=2*BCLK constraint applies to all generations since gen10.
Extend the constraint logic in audio get/put_power().

Signed-off-by: Kai Vehmanen 
---
 drivers/gpu/drm/i915/display/intel_audio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_audio.c 
b/drivers/gpu/drm/i915/display/intel_audio.c
index a731af7ada08..031d7e53c7fa 100644
--- a/drivers/gpu/drm/i915/display/intel_audio.c
+++ b/drivers/gpu/drm/i915/display/intel_audio.c
@@ -860,7 +860,7 @@ static unsigned long i915_audio_component_get_power(struct 
device *kdev)
}
 
/* Force CDCLK to 2*BCLK as long as we need audio powered. */
-   if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv))
+   if (INTEL_GEN(dev_priv) >= 10)
glk_force_audio_cdclk(dev_priv, true);
 
if (INTEL_GEN(dev_priv) == 11 || INTEL_GEN(dev_priv) == 10)
-- 
2.17.1

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

[Intel-gfx] [PATCH 1/2] drm/i915: Fix audio power up sequence for gen10/11

2019-10-01 Thread Kai Vehmanen
On gen10/11 platforms, driver must set the enable bit of AUD_PIN_BUF_CTL
as part of audio power up sequence.

Failing to do this resulted in errors during display audio codec probe,
and failures during resume from suspend.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111214
Signed-off-by: Kai Vehmanen 
---
 drivers/gpu/drm/i915/display/intel_audio.c | 5 +
 drivers/gpu/drm/i915/i915_reg.h| 2 ++
 2 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_audio.c 
b/drivers/gpu/drm/i915/display/intel_audio.c
index 54638d99e021..a731af7ada08 100644
--- a/drivers/gpu/drm/i915/display/intel_audio.c
+++ b/drivers/gpu/drm/i915/display/intel_audio.c
@@ -862,6 +862,11 @@ static unsigned long i915_audio_component_get_power(struct 
device *kdev)
/* Force CDCLK to 2*BCLK as long as we need audio powered. */
if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv))
glk_force_audio_cdclk(dev_priv, true);
+
+   if (INTEL_GEN(dev_priv) == 11 || INTEL_GEN(dev_priv) == 10)
+   I915_WRITE(AUD_PIN_BUF_CTL,
+  (I915_READ(AUD_PIN_BUF_CTL) |
+   AUD_PIN_BUF_ENABLE));
}
 
return ret;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 058aa5ca8b73..daff9058f0e8 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -9133,6 +9133,8 @@ enum {
 #define   SKL_AUD_CODEC_WAKE_SIGNAL(1 << 15)
 
 #define AUD_FREQ_CNTRL _MMIO(0x65900)
+#define AUD_PIN_BUF_CTL_MMIO(0x48414)
+#define   AUD_PIN_BUF_ENABLE   BIT(31)
 
 /*
  * HSW - ICL power wells
-- 
2.17.1

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for Conclude load -> probe naming convention switch

2019-10-01 Thread Patchwork
== Series Details ==

Series: Conclude load -> probe naming convention switch
URL   : https://patchwork.freedesktop.org/series/67448/
State : failure

== Summary ==

Series 67448 revision 1 Test-with: 
<20191001132728.14602-1-janusz.krzyszto...@linux.intel.com> not found

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/display: split out intel_vga_client.[ch]
URL   : https://patchwork.freedesktop.org/series/67447/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
b1b290f96d25 drm/i915/display: split out intel_vga_client.[ch]
-:91: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#91: 
new file mode 100644

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

___
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: Describe structure members in documentation

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915: Describe structure members in documentation
URL   : https://patchwork.freedesktop.org/series/67442/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6985 -> Patchwork_14607


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@legacy-render:
- fi-bxt-dsi: [PASS][1] -> [INCOMPLETE][2] ([fdo#103927] / 
[fdo#111381])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-bxt-dsi/igt@gem_ctx_swi...@legacy-render.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/fi-bxt-dsi/igt@gem_ctx_swi...@legacy-render.html

  * igt@kms_chamelium@hdmi-hpd-fast:
- fi-icl-u2:  [PASS][3] -> [FAIL][4] ([fdo#109483])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u2/igt@kms_chamel...@hdmi-hpd-fast.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/fi-icl-u2/igt@kms_chamel...@hdmi-hpd-fast.html

  * igt@prime_busy@basic-wait-after-default:
- fi-icl-u3:  [PASS][5] -> [DMESG-WARN][6] ([fdo#107724]) +2 
similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u3/igt@prime_b...@basic-wait-after-default.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/fi-icl-u3/igt@prime_b...@basic-wait-after-default.html

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] +2 
similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/fi-icl-u3/igt@gem_exec_susp...@basic-s4-devices.html
- fi-blb-e6850:   [INCOMPLETE][9] ([fdo#107718]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6985/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/fi-blb-e6850/igt@gem_exec_susp...@basic-s4-devices.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_6985/fi-hsw-peppy/igt@kms_frontbuffer_track...@basic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14607/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#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#110566]: https://bugs.freedesktop.org/show_bug.cgi?id=110566
  [fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
  [fdo#111647]: https://bugs.freedesktop.org/show_bug.cgi?id=111647
  [fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736


Participating hosts (51 -> 46)
--

  Additional (2): fi-cml-h fi-apl-guc 
  Missing(7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6985 -> Patchwork_14607

  CI-20190529: 20190529
  CI_DRM_6985: 75d23ba38b952a5f3d0fc42baf1df2d15c5e74b1 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14607: dafb0e4db5d73ca8538b6b512eb69610ef3f7591 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

dafb0e4db5d7 drm/i915: Describe structure members in documentation

== Logs ==

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

[Intel-gfx] [PATCH v2] drm/i915/selftests: Exercise potential false lite-restore

2019-10-01 Thread Chris Wilson
If execlists's lite-restore is based on the common GEM context tag
rather than the per-intel_context LRCA, then a context switch between
two intel_contexts on the same engine derived from the same GEM context
will perform a lite-restore instead of a full context switch. We can
exploit this by poisoning the ringbuffer of the first context and trying
to trick a simple RING_TAIL update (i.e. lite-restore)

v2: Also check what happens if preempt ce[0] with ce[1] (both instances
on the same engine from the same parent context) [Tvrtko]

Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
Reviewed-by: Tvrtko Ursulin 
---
Fixup GEM_BUG_ON to look at rq->tail only after it is set!
---
 drivers/gpu/drm/i915/gt/selftest_lrc.c | 174 +
 1 file changed, 174 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c 
b/drivers/gpu/drm/i915/gt/selftest_lrc.c
index 93f2fcdc49bf..f4d6a1b734ae 100644
--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
@@ -79,6 +79,178 @@ static int live_sanitycheck(void *arg)
return err;
 }
 
+static int live_unlite_restore(struct drm_i915_private *i915, int prio)
+{
+   struct intel_engine_cs *engine;
+   struct i915_gem_context *ctx;
+   enum intel_engine_id id;
+   intel_wakeref_t wakeref;
+   struct igt_spinner spin;
+   int err = -ENOMEM;
+
+   /*
+* Check that we can correctly context switch between 2 instances
+* on the same engine from the same parent context.
+*/
+
+   mutex_lock(>drm.struct_mutex);
+   wakeref = intel_runtime_pm_get(>runtime_pm);
+
+   if (igt_spinner_init(, >gt))
+   goto err_unlock;
+
+   ctx = kernel_context(i915);
+   if (!ctx)
+   goto err_spin;
+
+   err = 0;
+   for_each_engine(engine, i915, id) {
+   struct intel_context *ce[2] = {};
+   struct i915_request *rq[2];
+   struct igt_live_test t;
+   int n;
+
+   if (prio && !intel_engine_has_preemption(engine))
+   continue;
+
+   if (!intel_engine_can_store_dword(engine))
+   continue;
+
+   if (igt_live_test_begin(, i915, __func__, engine->name)) {
+   err = -EIO;
+   break;
+   }
+
+   for (n = 0; n < ARRAY_SIZE(ce); n++) {
+   struct intel_context *tmp;
+
+   tmp = intel_context_create(ctx, engine);
+   if (IS_ERR(tmp)) {
+   err = PTR_ERR(tmp);
+   goto err_ce;
+   }
+
+   err = intel_context_pin(tmp);
+   if (err) {
+   intel_context_put(tmp);
+   goto err_ce;
+   }
+
+   /*
+* Setup the pair of contexts such that if we
+* lite-restore using the RING_TAIL from ce[1] it
+* will execute garbage from ce[0]->ring.
+*/
+   memset(tmp->ring->vaddr,
+  POISON_INUSE, /* IPEHR: 0x5a5a5a5a [hung!] */
+  tmp->ring->vma->size);
+
+   ce[n] = tmp;
+   }
+   GEM_BUG_ON(!ce[1]->ring->size);
+   intel_ring_reset(ce[1]->ring, ce[1]->ring->size / 2);
+   __execlists_update_reg_state(ce[1], engine);
+
+
+   rq[0] = igt_spinner_create_request(, ce[0], MI_ARB_CHECK);
+   if (IS_ERR(rq[0])) {
+   err = PTR_ERR(rq[0]);
+   goto err_ce;
+   }
+
+   i915_request_get(rq[0]);
+   i915_request_add(rq[0]);
+   GEM_BUG_ON(rq[0]->tail > ce[1]->ring->emit);
+
+   if (!igt_wait_for_spinner(, rq[0])) {
+   i915_request_put(rq[0]);
+   goto err_ce;
+   }
+
+   rq[1] = i915_request_create(ce[1]);
+   if (IS_ERR(rq[1])) {
+   err = PTR_ERR(rq[1]);
+   i915_request_put(rq[0]);
+   goto err_ce;
+   }
+
+   if (!prio) {
+   /*
+* Ensure we do the switch to ce[1] on completion.
+*
+* rq[0] is already submitted, so this should reduce
+* to a no-op (a wait on a request on the same engine
+* uses the submit fence, not the completion fence),
+* but it will install a dependency on rq[1] for rq[0]
+* that will prevent the pair being reordered by
+* timeslicing.
+*/
+   

[Intel-gfx] [PATCH 1/2] drm/i915: Limit MST modes based on plane size too

2019-10-01 Thread Ville Syrjala
From: Ville Syrjälä 

When adding the max plane size checks to the .mode_valid() hooks
I naturally forgot about MST. Take care of that one as well.

Cc: Manasi Navare 
Cc: Sean Paul 
Cc: José Roberto de Souza 
Cc: Maarten Lankhorst 
Fixes: 2d20411e25a3 ("drm/i915: Don't advertise modes that exceed the max plane 
size")
Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c 
b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index df4f35c10a69..2203be28ea01 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -424,6 +424,7 @@ static enum drm_mode_status
 intel_dp_mst_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
 {
+   struct drm_i915_private *dev_priv = to_i915(connector->dev);
struct intel_connector *intel_connector = to_intel_connector(connector);
struct intel_dp *intel_dp = intel_connector->mst_port;
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
@@ -451,7 +452,7 @@ intel_dp_mst_mode_valid(struct drm_connector *connector,
if (mode_rate > max_rate || mode->clock > max_dotclk)
return MODE_CLOCK_HIGH;
 
-   return MODE_OK;
+   return intel_mode_valid_max_plane_size(dev_priv, mode);
 }
 
 static struct drm_encoder *intel_mst_atomic_best_encoder(struct drm_connector 
*connector,
-- 
2.21.0

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

[Intel-gfx] [PATCH 2/2] drm/i915: Polish intel_tv_mode_valid()

2019-10-01 Thread Ville Syrjala
From: Ville Syrjälä 

Drop the tv_mode NULL check since intel_tv_mode_find() never
actually returns NULL, and flip the condition around so that
the MODE_OK case is at the end, which is customary to all
the other .mode_valid() implementations.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_tv.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_tv.c 
b/drivers/gpu/drm/i915/display/intel_tv.c
index b70221f5112a..71c3f7e5df7d 100644
--- a/drivers/gpu/drm/i915/display/intel_tv.c
+++ b/drivers/gpu/drm/i915/display/intel_tv.c
@@ -961,11 +961,10 @@ intel_tv_mode_valid(struct drm_connector *connector,
return MODE_CLOCK_HIGH;
 
/* Ensure TV refresh is close to desired refresh */
-   if (tv_mode && abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000)
-   < 1000)
-   return MODE_OK;
+   if (abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000) >= 1000)
+   return MODE_CLOCK_RANGE;
 
-   return MODE_CLOCK_RANGE;
+   return MODE_OK;
 }
 
 static int
-- 
2.21.0

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

[Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/2] drm/i915: Create dumb buffer from LMEM (rev2)

2019-10-01 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Create dumb buffer from LMEM (rev2)
URL   : https://patchwork.freedesktop.org/series/67428/
State : failure

== Summary ==

CALLscripts/checksyscalls.sh
  CALLscripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK include/generated/compile.h
  AR  drivers/gpu/drm/i915/built-in.a
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_domain.o
drivers/gpu/drm/i915/gem/i915_gem_domain.c: In function 
‘i915_gem_object_pin_to_display_plane’:
drivers/gpu/drm/i915/gem/i915_gem_domain.c:429:6: error: implicit declaration 
of function ‘HAS_LMEM’; did you mean ‘HAS_GMCH’? 
[-Werror=implicit-function-declaration]
  if (HAS_LMEM(i915))
  ^~~~
  HAS_GMCH
drivers/gpu/drm/i915/gem/i915_gem_domain.c:430:14: error: ‘struct ’ 
has no member named ‘region’
   if (obj->mm.region->type != INTEL_LMEM) {
  ^
drivers/gpu/drm/i915/gem/i915_gem_domain.c:430:31: error: ‘INTEL_LMEM’ 
undeclared (first use in this function); did you mean ‘INTEL_GM45’?
   if (obj->mm.region->type != INTEL_LMEM) {
   ^~
   INTEL_GM45
drivers/gpu/drm/i915/gem/i915_gem_domain.c:430:31: note: each undeclared 
identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
scripts/Makefile.build:265: recipe for target 
'drivers/gpu/drm/i915/gem/i915_gem_domain.o' failed
make[4]: *** [drivers/gpu/drm/i915/gem/i915_gem_domain.o] Error 1
scripts/Makefile.build:509: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:509: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:509: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1670: recipe for target 'drivers' failed
make: *** [drivers] Error 2

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

Re: [Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Jani Nikula
On Tue, 01 Oct 2019, Ville Syrjälä  wrote:
> On Tue, Oct 01, 2019 at 05:28:51PM +0300, Jani Nikula wrote:
>> On Tue, 01 Oct 2019, Ville Syrjälä  wrote:
>> > On Tue, Oct 01, 2019 at 03:12:49PM +0100, Chris Wilson wrote:
>> >> Quoting Jani Nikula (2019-10-01 14:43:53)
>> >> > Split out code related to vga client and vga switcheroo
>> >> > register/unregister and state handling from i915_drv.c and
>> >> > intel_display.c.
>> >> > 
>> >> > It's a bit difficult to draw the line how much to move to the new file
>> >> > from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
>> >> > and i915_resume_switcheroo() in place was cleanest.
>> >> > 
>> >> > No functional changes.
>> >> > 
>> >> > Cc: Ville Syrjälä 
>> >> > Cc: Chris Wilson 
>> >> > Signed-off-by: Jani Nikula 
>> >> > 
>> >> > ---
>> >> > 
>> >> > It's also a bit fuzzy if this is a sensible split anyway. Could also
>> >> > name it intel_vga and move these from intel_display.c there?
>> >> 
>> >> My initial thought that the switcheroo interface would remain in core,
>> >
>> > Yeah the switcheroo stuff should perhaps stays with the rest of the pm 
>> > hooks.
>> 
>> Okay, so keep all of switcheroo in i915_drv.c, and move all the vgaarb
>> stuff (incl the ones I mentioned from intel_display.c) to
>> intel_vga.[ch]?
>
> I can get behind that plan.

Patch in your inbox, I'll look into switcheroo later.

BR,
Jani.


>
>> 
>> >
>> >> that it is more of a global power state that we currently just use for
>> >> the legacy vga switching.
>> >> 
>> >> The patch looks fine, on a pure mechanical pov,
>> >> Reviewed-by: Chris Wilson 
>> >> 
>> >> For the sake of argument, could you float the split in the other
>> >> direction?
>> 
>> Please elaborate. Move switcheroo higher in the call chain?
>> 
>> BR,
>> Jani.
>> 
>> 
>> >> 
>> >> And maybe Ville has a good opinion on how it is meant to work :)
>> >> -Chris
>> 
>> -- 
>> Jani Nikula, Intel Open Source Graphics Center

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Initialise breadcrumb lists on the virtual engine (rev2)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915: Initialise breadcrumb lists on the virtual engine (rev2)
URL   : https://patchwork.freedesktop.org/series/67373/
State : failure

== Summary ==

Applying: drm/i915: Initialise breadcrumb lists on the virtual engine
Using index info to reconstruct a base tree...
M   drivers/gpu/drm/i915/gt/intel_lrc.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/gt/intel_lrc.c
No changes -- Patch already applied.

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

[Intel-gfx] [PATCH] drm/i915/display: abstract all vgaarb access to intel_vga.[ch]

2019-10-01 Thread Jani Nikula
Split out the code related to vga client and vgaarb all over the place
into new intel_vga.[ch]. No functional changes.

Cc: Ville Syrjälä 
Cc: Chris Wilson 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile |   3 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  97 +--
 drivers/gpu/drm/i915/display/intel_display.h  |   3 -
 .../drm/i915/display/intel_display_power.c|  24 +--
 drivers/gpu/drm/i915/display/intel_vga.c  | 160 ++
 drivers/gpu/drm/i915/display/intel_vga.h  |  18 ++
 drivers/gpu/drm/i915/i915_drv.c   |  30 +---
 drivers/gpu/drm/i915/i915_pci.c   |   1 -
 drivers/gpu/drm/i915/i915_suspend.c   |   3 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c   |   1 -
 10 files changed, 194 insertions(+), 146 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_vga.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_vga.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index e04463d85401..d2b53b5add81 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -184,7 +184,8 @@ i915-y += \
display/intel_psr.o \
display/intel_quirks.o \
display/intel_sprite.o \
-   display/intel_tc.o
+   display/intel_tc.o \
+   display/intel_vga.o
 i915-$(CONFIG_ACPI) += \
display/intel_acpi.o \
display/intel_opregion.o
diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index f1328c08f4ad..d99c59e97568 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -31,7 +31,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #include 
 #include 
@@ -79,6 +78,7 @@
 #include "intel_sideband.h"
 #include "intel_sprite.h"
 #include "intel_tc.h"
+#include "intel_vga.h"
 
 /* Primary plane formats for gen <= 3 */
 static const u32 i8xx_primary_formats[] = {
@@ -4241,7 +4241,7 @@ __intel_display_resume(struct drm_device *dev,
int i, ret;
 
intel_modeset_setup_hw_state(dev, ctx);
-   i915_redisable_vga(to_i915(dev));
+   intel_vga_redisable(to_i915(dev));
 
if (!state)
return 0;
@@ -15994,35 +15994,6 @@ void intel_init_display_hooks(struct drm_i915_private 
*dev_priv)
 
 }
 
-static i915_reg_t i915_vgacntrl_reg(struct drm_i915_private *dev_priv)
-{
-   if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
-   return VLV_VGACNTRL;
-   else if (INTEL_GEN(dev_priv) >= 5)
-   return CPU_VGACNTRL;
-   else
-   return VGACNTRL;
-}
-
-/* Disable the VGA plane that we never use */
-static void i915_disable_vga(struct drm_i915_private *dev_priv)
-{
-   struct pci_dev *pdev = dev_priv->drm.pdev;
-   u8 sr1;
-   i915_reg_t vga_reg = i915_vgacntrl_reg(dev_priv);
-
-   /* WaEnableVGAAccessThroughIOPort:ctg,elk,ilk,snb,ivb,vlv,hsw */
-   vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
-   outb(SR01, VGA_SR_INDEX);
-   sr1 = inb(VGA_SR_DATA);
-   outb(sr1 | 1<<5, VGA_SR_DATA);
-   vga_put(pdev, VGA_RSRC_LEGACY_IO);
-   udelay(300);
-
-   I915_WRITE(vga_reg, VGA_DISP_DISABLE);
-   POSTING_READ(vga_reg);
-}
-
 void intel_modeset_init_hw(struct drm_i915_private *i915)
 {
intel_update_cdclk(i915);
@@ -16288,7 +16259,7 @@ int intel_modeset_init(struct drm_i915_private *i915)
intel_update_max_cdclk(i915);
 
/* Just disable it once at startup */
-   i915_disable_vga(i915);
+   intel_vga_disable(i915);
intel_setup_outputs(i915);
 
drm_modeset_lock_all(dev);
@@ -16647,39 +16618,6 @@ static void intel_sanitize_encoder(struct 
intel_encoder *encoder)
icl_sanitize_encoder_pll_mapping(encoder);
 }
 
-void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv)
-{
-   i915_reg_t vga_reg = i915_vgacntrl_reg(dev_priv);
-
-   if (!(I915_READ(vga_reg) & VGA_DISP_DISABLE)) {
-   DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
-   i915_disable_vga(dev_priv);
-   }
-}
-
-void i915_redisable_vga(struct drm_i915_private *dev_priv)
-{
-   intel_wakeref_t wakeref;
-
-   /*
-* This function can be called both from intel_modeset_setup_hw_state or
-* at a very early point in our resume sequence, where the power well
-* structures are not yet restored. Since this function is at a very
-* paranoid "someone might have enabled VGA while we were not looking"
-* level, just check if the power well is enabled instead of trying to
-* follow the "don't touch the power well if we don't need it" policy
-* the rest of the driver uses.
-*/
-   wakeref = intel_display_power_get_if_enabled(dev_priv,
-POWER_DOMAIN_VGA);
-   if (!wakeref)
-   return;
-
-  

[Intel-gfx] ✓ Fi.CI.IGT: success for lib/string-choice: add yesno(), onoff(), enableddisabled(), plural() helpers (rev2)

2019-10-01 Thread Patchwork
== Series Details ==

Series: lib/string-choice: add yesno(), onoff(), enableddisabled(), plural() 
helpers (rev2)
URL   : https://patchwork.freedesktop.org/series/67405/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6981_full -> Patchwork_14602_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


  Here are the changes found in Patchwork_14602_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]) +4 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-apl3/igt@gem_ctx_isolat...@bcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-apl6/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_exec_reloc@basic-write-gtt-active:
- shard-skl:  [PASS][3] -> [DMESG-WARN][4] ([fdo#106107])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-skl10/igt@gem_exec_re...@basic-write-gtt-active.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-skl3/igt@gem_exec_re...@basic-write-gtt-active.html

  * igt@gem_exec_schedule@out-order-bsd2:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109276]) +22 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-iclb2/igt@gem_exec_sched...@out-order-bsd2.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-iclb8/igt@gem_exec_sched...@out-order-bsd2.html

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

  * igt@gem_exec_suspend@basic-s3:
- shard-kbl:  [PASS][9] -> [FAIL][10] ([fdo#103375])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-kbl7/igt@gem_exec_susp...@basic-s3.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-kbl1/igt@gem_exec_susp...@basic-s3.html

  * igt@gem_userptr_blits@coherency-sync:
- shard-hsw:  [PASS][11] -> [DMESG-WARN][12] ([fdo#111870]) +2 
similar issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-hsw7/igt@gem_userptr_bl...@coherency-sync.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-hsw5/igt@gem_userptr_bl...@coherency-sync.html

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-kbl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#111870])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-kbl1/igt@gem_userptr_bl...@dmabuf-sync.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-kbl3/igt@gem_userptr_bl...@dmabuf-sync.html
- shard-skl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#111870])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-skl8/igt@gem_userptr_bl...@dmabuf-sync.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-skl10/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
- shard-glk:  [PASS][17] -> [DMESG-WARN][18] ([fdo#111870]) +1 
similar issue
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-glk1/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-glk4/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup:
- shard-iclb: [PASS][19] -> [DMESG-WARN][20] ([fdo#111870])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-iclb2/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy-gup.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-iclb6/igt@gem_userptr_bl...@map-fixed-invalidate-overlap-busy-gup.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
- shard-apl:  [PASS][21] -> [DMESG-WARN][22] ([fdo#109385] / 
[fdo#111870]) +1 similar issue
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-apl6/igt@gem_userptr_bl...@sync-unmap-after-close.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-apl6/igt@gem_userptr_bl...@sync-unmap-after-close.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled:
- shard-skl:  [PASS][23] -> [FAIL][24] ([fdo#103184] / [fdo#103232])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6981/shard-skl3/igt@kms_draw_...@draw-method-rgb565-mmap-gtt-xtiled.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14602/shard-skl3/igt@kms_draw_...@draw-method-rgb565-mmap-gtt-xtiled.html

  * 

Re: [Intel-gfx] [PATCH v3] drm/print: add drm_debug_enabled()

2019-10-01 Thread Eric Engestrom
On Tuesday, 2019-10-01 17:06:14 +0300, Jani Nikula wrote:
> Add helper to check if a drm debug category is enabled. Convert drm core
> to use it. No functional changes.
> 
> v2: Move unlikely() to drm_debug_enabled() (Eric)
> 
> v3: Keep unlikely() when combined with other conditions (Eric)
> 
> Cc: Eric Engestrom 

Reviewed-by: Eric Engestrom 

> Acked-by: Alex Deucher 
> Signed-off-by: Jani Nikula 
> ---
>  drivers/gpu/drm/drm_atomic_uapi.c | 2 +-
>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
>  drivers/gpu/drm/drm_edid.c| 2 +-
>  drivers/gpu/drm/drm_edid_load.c   | 2 +-
>  drivers/gpu/drm/drm_mipi_dbi.c| 4 ++--
>  drivers/gpu/drm/drm_print.c   | 4 ++--
>  drivers/gpu/drm/drm_vblank.c  | 6 +++---
>  include/drm/drm_print.h   | 5 +
>  8 files changed, 18 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
> b/drivers/gpu/drm/drm_atomic_uapi.c
> index 7a26bfb5329c..0d466d3b0809 100644
> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> @@ -1405,7 +1405,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
>   } else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
>   ret = drm_atomic_nonblocking_commit(state);
>   } else {
> - if (unlikely(drm_debug & DRM_UT_STATE))
> + if (drm_debug_enabled(DRM_UT_STATE))
>   drm_atomic_print_state(state);
>  
>   ret = drm_atomic_commit(state);
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
> b/drivers/gpu/drm/drm_dp_mst_topology.c
> index e6801db54d0f..6b14b63b8d62 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -1179,7 +1179,7 @@ static int drm_dp_mst_wait_tx_reply(struct 
> drm_dp_mst_branch *mstb,
>   }
>   }
>  out:
> - if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
> + if (unlikely(ret == -EIO) && drm_debug_enabled(DRM_UT_DP)) {
>   struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>  
>   drm_dp_mst_dump_sideband_msg_tx(, txmsg);
> @@ -2322,7 +2322,7 @@ static int process_single_tx_qlock(struct 
> drm_dp_mst_topology_mgr *mgr,
>   idx += tosend + 1;
>  
>   ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
> - if (unlikely(ret && drm_debug & DRM_UT_DP)) {
> + if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) {
>   struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>  
>   drm_printf(, "sideband msg failed to send\n");
> @@ -2389,7 +2389,7 @@ static void drm_dp_queue_down_tx(struct 
> drm_dp_mst_topology_mgr *mgr,
>   mutex_lock(>qlock);
>   list_add_tail(>next, >tx_msg_downq);
>  
> - if (unlikely(drm_debug & DRM_UT_DP)) {
> + if (drm_debug_enabled(DRM_UT_DP)) {
>   struct drm_printer p = drm_debug_printer(DBG_PREFIX);
>  
>   drm_dp_mst_dump_sideband_msg_tx(, txmsg);
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 3c9703b08491..0552175313cb 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1651,7 +1651,7 @@ static void connector_bad_edid(struct drm_connector 
> *connector,
>  {
>   int i;
>  
> - if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
> + if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
>   return;
>  
>   dev_warn(connector->dev->dev,
> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
> index d38b3b255926..37d8ba3ddb46 100644
> --- a/drivers/gpu/drm/drm_edid_load.c
> +++ b/drivers/gpu/drm/drm_edid_load.c
> @@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, 
> const char *name,
>   u8 *edid;
>   int fwsize, builtin;
>   int i, valid_extensions = 0;
> - bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & 
> DRM_UT_KMS);
> + bool print_bad_edid = !connector->bad_edid_counter || 
> drm_debug_enabled(DRM_UT_KMS);
>  
>   builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
>   if (builtin >= 0) {
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index f8154316a3b0..ccfb5b33c5e3 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, 
> int dc,
>   int i, ret;
>   u8 *dst;
>  
> - if (drm_debug & DRM_UT_DRIVER)
> + if (drm_debug_enabled(DRM_UT_DRIVER))
>   pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
>__func__, dc, max_chunk);
>  
> @@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, 
> int dc,
>   max_chunk = dbi->tx_buf9_len;
>   dst16 = dbi->tx_buf9;
>  
> - if (drm_debug & DRM_UT_DRIVER)
> + if (drm_debug_enabled(DRM_UT_DRIVER))
>   pr_debug("[drm:%s] dc=%d, 

Re: [RFC PATCH] iommu/vt-d: Fix IOMMU field not populated on device hot re-plug

2019-10-01 Thread Janusz Krzysztofik
Hi Baolu,

On Tuesday, September 3, 2019 9:41:23 AM CEST Janusz Krzysztofik wrote:
> Hi Baolu,
> 
> On Tuesday, September 3, 2019 3:29:40 AM CEST Lu Baolu wrote:
> > Hi Janusz,
> > 
> > On 9/2/19 4:37 PM, Janusz Krzysztofik wrote:
> > >> I am not saying that keeping data is not acceptable. I just want to
> > >> check whether there are any other solutions.
> > > Then reverting 458b7c8e0dde and applying this patch still resolves the 
> issue
> > > for me.  No errors appear when mappings are unmapped on device close 
> > > after 
> the
> > > device has been removed, and domain info preserved on device removal is
> > > successfully reused on device re-plug.
> > 
> > This patch doesn't look good to me although I agree that keeping data is
> > acceptable. 

Any progress with that?  Which mailing list should I watch for updates?

Thanks,
Janusz

> > It updates dev->archdata.iommu, but leaves the hardware
> > context/pasid table unchanged. This might cause problems somewhere.
> > 
> > > 
> > > Is there anything else I can do to help?
> > 
> > Can you please tell me how to reproduce the problem? 
> 
> The most simple way to reproduce the issue, assuming there are no non-Intel 
> graphics adapters installed, is to run the following shell commands:
> 
> #!/bin/sh
> # load i915 module
> modprobe i915
> # open an i915 device and keep it open in background
> cat /dev/dri/card0 >/dev/null &
> sleep 2
> # simulate device unplug
> echo 1 >/sys/class/drm/card0/device/remove
> # make the background process close the device on exit
> kill $!
> 
> Thanks,
> Janusz
> 
> 
> > Keeping the per
> > device domain info while device is unplugged is a bit dangerous because
> > info->dev might be a wild pointer. We need to work out a clean fix.
> > 
> > > 
> > > Thanks,
> > > Janusz
> > > 
> > 
> > Best regards,
> > Baolu
> > 
> 
> 
> 
> 
> 






Re: [Intel-gfx] [PATCH 1/4] drm/rect: Add drm_rect_translate_to()

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 12:26:52PM +0300, Jani Nikula wrote:
> On Mon, 30 Sep 2019, Ville Syrjala  wrote:
> > From: Ville Syrjälä 
> >
> > Add a helper to translate a rectangle to an absolute position.
> >
> > Signed-off-by: Ville Syrjälä 
> 
> The series is
> 
> Reviewed-by: Jani Nikula 
>

Thanks. 1-2 pushed to drm-misc-next.

> 
> 
> > ---
> >  include/drm/drm_rect.h | 14 ++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/include/drm/drm_rect.h b/include/drm/drm_rect.h
> > index 6195820aa5c5..fc7c14627ee2 100644
> > --- a/include/drm/drm_rect.h
> > +++ b/include/drm/drm_rect.h
> > @@ -106,6 +106,20 @@ static inline void drm_rect_translate(struct drm_rect 
> > *r, int dx, int dy)
> > r->y2 += dy;
> >  }
> >  
> > +/**
> > + * drm_rect_translate_to - translate the rectangle to an absolute position
> > + * @r: rectangle to be tranlated
> > + * @x: horizontal position
> > + * @y: vertical position
> > + *
> > + * Move rectangle @r to @x in the horizontal direction,
> > + * and to @y in the vertical direction.
> > + */
> > +static inline void drm_rect_translate_to(struct drm_rect *r, int x, int y)
> > +{
> > +   drm_rect_translate(r, x - r->x1, y - r->y1);
> > +}
> > +
> >  /**
> >   * drm_rect_downscale - downscale a rectangle
> >   * @r: rectangle to be downscaled
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

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

[Intel-gfx] ✓ Fi.CI.BAT: success for RFT drm/i915/tgl: Re-enable rps (rev3)

2019-10-01 Thread Patchwork
== Series Details ==

Series: RFT drm/i915/tgl: Re-enable rps (rev3)
URL   : https://patchwork.freedesktop.org/series/67398/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6984 -> Patchwork_14604


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/index.html

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_mmap_gtt@basic-short:
- 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_6984/fi-icl-u3/igt@gem_mmap_...@basic-short.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/fi-icl-u3/igt@gem_mmap_...@basic-short.html

  * igt@i915_module_load@reload:
- fi-icl-u3:  [PASS][3] -> [DMESG-WARN][4] ([fdo#107724] / 
[fdo#111214])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/fi-icl-u3/igt@i915_module_l...@reload.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/fi-icl-u3/igt@i915_module_l...@reload.html

  
 Possible fixes 

  * igt@gem_ctx_switch@legacy-render:
- fi-bxt-dsi: [INCOMPLETE][5] ([fdo#103927] / [fdo#111381]) -> 
[PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/fi-bxt-dsi/igt@gem_ctx_swi...@legacy-render.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/fi-bxt-dsi/igt@gem_ctx_swi...@legacy-render.html

  * igt@gem_exec_reloc@basic-cpu:
- fi-icl-u3:  [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] +3 
similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6984/fi-icl-u3/igt@gem_exec_re...@basic-cpu.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14604/fi-icl-u3/igt@gem_exec_re...@basic-cpu.html

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

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
  [fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
  [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
  [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735


Participating hosts (53 -> 45)
--

  Additional (1): fi-byt-j1900 
  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-kbl-7500u fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6984 -> Patchwork_14604

  CI-20190529: 20190529
  CI_DRM_6984: 04d34ff324cf346bc962bb43eaa15572cafab08c @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5208: c0131b4f132acf287d9d05b0f5078003d3159e1c @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_14604: 63d2c674198cbd0825a848b6a84c0cd83a65e4cf @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

63d2c674198c RFT drm/i915/tgl: Re-enable rps

== Logs ==

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

[Intel-gfx] [PATCH v2 0/2] drm/i915: Conclude load -> probe naming convention switch

2019-10-01 Thread Janusz Krzysztofik
Test-with: <20191001142724.16472-2-janusz.krzyszto...@linux.intel.com>

The purpose is:
* to fix incompatible names of new functions introduced meanwhile,
* to complete postponed rename of module parameter.

v2: * drop unnecessary statement about custom user applications from
  commit message of 2/2, there are no such (Chris),
* add R-b (thanks Chris),
* use correct message ID of (also rerolled) IGT counterpart to be
  tested with.

Janusz Krzysztofik (2):
  drm/i915: Fix i915_inject_load_error() name to read *_probe_*
  drm/i915: Rename "inject_load_failure" module parameter

 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c|  4 ++--
 drivers/gpu/drm/i915/gt/uc/intel_uc.c |  6 +++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  | 20 ++-
 drivers/gpu/drm/i915/i915_gem.c   |  4 ++--
 drivers/gpu/drm/i915/i915_params.c|  2 +-
 drivers/gpu/drm/i915/i915_params.h|  2 +-
 drivers/gpu/drm/i915/i915_utils.c | 14 ++---
 drivers/gpu/drm/i915/i915_utils.h | 12 +--
 9 files changed, 34 insertions(+), 32 deletions(-)

-- 
2.21.0

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

[Intel-gfx] [PATCH v2 2/2] drm/i915: Rename "inject_load_failure" module parameter

2019-10-01 Thread Janusz Krzysztofik
Commit f2db53f14d3d ("drm/i915: Replace "_load" with "_probe"
consequently") deliberately left the name of the module parameter
unchanged as that would require a corresponding change on IGT size.
Now as the IGT side change has been submitted, complete the switch to
the "probe" nomenclature.

Suggested-by: Joonas Lahtinen 
Signed-off-by: Janusz Krzysztofik 
Cc: Michał Wajdeczko 
Cc: Michał Winiarski 
Cc: Piotr Piórkowski 
Cc: Tomasz Lis 
Cc: Joonas Lahtinen 
Reviewed-by: Chris Wilson 
---
 drivers/gpu/drm/i915/i915_params.c |  2 +-
 drivers/gpu/drm/i915/i915_params.h |  2 +-
 drivers/gpu/drm/i915/i915_utils.c  | 10 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_params.c 
b/drivers/gpu/drm/i915/i915_params.c
index 296452f9efe4..59a6586dae15 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -165,7 +165,7 @@ i915_param_named_unsafe(enable_dp_mst, bool, 0600,
"Enable multi-stream transport (MST) for new DisplayPort sinks. 
(default: true)");
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
-i915_param_named_unsafe(inject_load_failure, uint, 0400,
+i915_param_named_unsafe(inject_probe_failure, uint, 0400,
"Force an error after a number of failure check points (0:disabled 
(default), N:force failure at the Nth failure check point)");
 #endif
 
diff --git a/drivers/gpu/drm/i915/i915_params.h 
b/drivers/gpu/drm/i915/i915_params.h
index d29ade3b7de6..8c887413fc70 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -62,7 +62,7 @@ struct drm_printer;
param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO)) \
param(int, edp_vswing, 0) \
param(int, reset, 2) \
-   param(unsigned int, inject_load_failure, 0) \
+   param(unsigned int, inject_probe_failure, 0) \
param(int, fastboot, -1) \
param(int, enable_dpcd_backlight, 0) \
param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
diff --git a/drivers/gpu/drm/i915/i915_utils.c 
b/drivers/gpu/drm/i915/i915_utils.c
index e51bdb05da14..64affb87c284 100644
--- a/drivers/gpu/drm/i915/i915_utils.c
+++ b/drivers/gpu/drm/i915/i915_utils.c
@@ -57,22 +57,22 @@ static unsigned int i915_probe_fail_count;
 int __i915_inject_probe_error(struct drm_i915_private *i915, int err,
  const char *func, int line)
 {
-   if (i915_probe_fail_count >= i915_modparams.inject_load_failure)
+   if (i915_probe_fail_count >= i915_modparams.inject_probe_failure)
return 0;
 
-   if (++i915_probe_fail_count < i915_modparams.inject_load_failure)
+   if (++i915_probe_fail_count < i915_modparams.inject_probe_failure)
return 0;
 
__i915_printk(i915, KERN_INFO,
  "Injecting failure %d at checkpoint %u [%s:%d]\n",
- err, i915_modparams.inject_load_failure, func, line);
-   i915_modparams.inject_load_failure = 0;
+ err, i915_modparams.inject_probe_failure, func, line);
+   i915_modparams.inject_probe_failure = 0;
return err;
 }
 
 bool i915_error_injected(void)
 {
-   return i915_probe_fail_count && !i915_modparams.inject_load_failure;
+   return i915_probe_fail_count && !i915_modparams.inject_probe_failure;
 }
 
 #endif
-- 
2.21.0

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

Re: [Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 05:28:51PM +0300, Jani Nikula wrote:
> On Tue, 01 Oct 2019, Ville Syrjälä  wrote:
> > On Tue, Oct 01, 2019 at 03:12:49PM +0100, Chris Wilson wrote:
> >> Quoting Jani Nikula (2019-10-01 14:43:53)
> >> > Split out code related to vga client and vga switcheroo
> >> > register/unregister and state handling from i915_drv.c and
> >> > intel_display.c.
> >> > 
> >> > It's a bit difficult to draw the line how much to move to the new file
> >> > from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
> >> > and i915_resume_switcheroo() in place was cleanest.
> >> > 
> >> > No functional changes.
> >> > 
> >> > Cc: Ville Syrjälä 
> >> > Cc: Chris Wilson 
> >> > Signed-off-by: Jani Nikula 
> >> > 
> >> > ---
> >> > 
> >> > It's also a bit fuzzy if this is a sensible split anyway. Could also
> >> > name it intel_vga and move these from intel_display.c there?
> >> 
> >> My initial thought that the switcheroo interface would remain in core,
> >
> > Yeah the switcheroo stuff should perhaps stays with the rest of the pm 
> > hooks.
> 
> Okay, so keep all of switcheroo in i915_drv.c, and move all the vgaarb
> stuff (incl the ones I mentioned from intel_display.c) to
> intel_vga.[ch]?

I can get behind that plan.

> 
> >
> >> that it is more of a global power state that we currently just use for
> >> the legacy vga switching.
> >> 
> >> The patch looks fine, on a pure mechanical pov,
> >> Reviewed-by: Chris Wilson 
> >> 
> >> For the sake of argument, could you float the split in the other
> >> direction?
> 
> Please elaborate. Move switcheroo higher in the call chain?
> 
> BR,
> Jani.
> 
> 
> >> 
> >> And maybe Ville has a good opinion on how it is meant to work :)
> >> -Chris
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

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

[Intel-gfx] [PATCH v2 1/2] drm/i915: Fix i915_inject_load_error() name to read *_probe_*

2019-10-01 Thread Janusz Krzysztofik
Commit 50d84418f586 ("drm/i915: Add i915 to i915_inject_probe_failure")
introduced new functions unfortunately named incompatibly with rules
established by commit f2db53f14d3d ("drm/i915: Replace "_load" with
"_probe" consequently").  Fix it for consistency.

Suggested-by: Michał Wajdeczko 
Signed-off-by: Janusz Krzysztofik 
Cc: Michał Wajdeczko 
Cc: Michał Winiarski 
Cc: Piotr Piórkowski 
Cc: Tomasz Lis 
Cc: Joonas Lahtinen 
Reviewed-by: Chris Wilson 
---
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c|  4 ++--
 drivers/gpu/drm/i915/gt/uc/intel_uc.c |  6 +++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  | 20 ++-
 drivers/gpu/drm/i915/i915_gem.c   |  4 ++--
 drivers/gpu/drm/i915/i915_utils.c |  4 ++--
 drivers/gpu/drm/i915/i915_utils.h | 12 +--
 7 files changed, 27 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index f325d3dd564f..67e46c2af6df 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -1119,7 +1119,7 @@ int intel_guc_submission_enable(struct intel_guc *guc)
enum intel_engine_id id;
int err;
 
-   err = i915_inject_load_error(gt->i915, -ENXIO);
+   err = i915_inject_probe_error(gt->i915, -ENXIO);
if (err)
return err;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
index d4625c97b4f9..8295ff971bcc 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
@@ -35,7 +35,7 @@ static int intel_huc_rsa_data_create(struct intel_huc *huc)
void *vaddr;
int err;
 
-   err = i915_inject_load_error(gt->i915, -ENXIO);
+   err = i915_inject_probe_error(gt->i915, -ENXIO);
if (err)
return err;
 
@@ -134,7 +134,7 @@ int intel_huc_auth(struct intel_huc *huc)
if (!intel_uc_fw_is_loaded(>fw))
return -ENOEXEC;
 
-   ret = i915_inject_load_error(gt->i915, -ENXIO);
+   ret = i915_inject_probe_error(gt->i915, -ENXIO);
if (ret)
goto fail;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 71ee7ab035cc..fb0d7bb712ab 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -20,7 +20,7 @@ static int __intel_uc_reset_hw(struct intel_uc *uc)
int ret;
u32 guc_status;
 
-   ret = i915_inject_load_error(gt->i915, -ENXIO);
+   ret = i915_inject_probe_error(gt->i915, -ENXIO);
if (ret)
return ret;
 
@@ -197,7 +197,7 @@ static int guc_enable_communication(struct intel_guc *guc)
 
GEM_BUG_ON(guc_communication_enabled(guc));
 
-   ret = i915_inject_load_error(i915, -ENXIO);
+   ret = i915_inject_probe_error(i915, -ENXIO);
if (ret)
return ret;
 
@@ -368,7 +368,7 @@ static int uc_init_wopcm(struct intel_uc *uc)
GEM_BUG_ON(!(size & GUC_WOPCM_SIZE_MASK));
GEM_BUG_ON(size & ~GUC_WOPCM_SIZE_MASK);
 
-   err = i915_inject_load_error(gt->i915, -ENXIO);
+   err = i915_inject_probe_error(gt->i915, -ENXIO);
if (err)
return err;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index bd22bf11adad..f6830ec79a66 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -218,29 +218,31 @@ static void __force_fw_fetch_failures(struct intel_uc_fw 
*uc_fw,
 {
bool user = e == -EINVAL;
 
-   if (i915_inject_load_error(i915, e)) {
+   if (i915_inject_probe_error(i915, e)) {
/* non-existing blob */
uc_fw->path = "";
uc_fw->user_overridden = user;
-   } else if (i915_inject_load_error(i915, e)) {
+   } else if (i915_inject_probe_error(i915, e)) {
/* require next major version */
uc_fw->major_ver_wanted += 1;
uc_fw->minor_ver_wanted = 0;
uc_fw->user_overridden = user;
-   } else if (i915_inject_load_error(i915, e)) {
+   } else if (i915_inject_probe_error(i915, e)) {
/* require next minor version */
uc_fw->minor_ver_wanted += 1;
uc_fw->user_overridden = user;
-   } else if (uc_fw->major_ver_wanted && i915_inject_load_error(i915, e)) {
+   } else if (uc_fw->major_ver_wanted &&
+  i915_inject_probe_error(i915, e)) {
/* require prev major version */
uc_fw->major_ver_wanted -= 1;
uc_fw->minor_ver_wanted = 0;
uc_fw->user_overridden = user;
-   } else if (uc_fw->minor_ver_wanted && i915_inject_load_error(i915, e)) {
+   } else if 

Re: [Intel-gfx] [PATCH] drm/i915/color: fix broken display in icl+

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 07:58:39PM +0530, Sharma, Swati2 wrote:
> On 01-Oct-19 7:51 PM, Ville Syrjälä wrote:
> > On Tue, Oct 01, 2019 at 11:03:08AM +0300, Jani Nikula wrote:
> >> On Tue, 01 Oct 2019, Swati Sharma  wrote:
> >>> Premature gamma lut prepration and loading which was getting
> >>> reflected in first modeset causing different colors on
> >>> screen during boot.
> >>>
> >>> Issue: In BIOS, gamma is disabled by default. However,
> >>> legacy_read_luts() was getting called even before the legacy_load_luts()
> >>> which was setting crtc_state->base.gamma_lut and gamma_lut was
> >>> programmed with junk values which led to visual artifacts (different
> >>> colored screens instead of usual black during boot).
> >>>
> >>> Fix: Calling read_luts() only when gamma is enabled which will happen
> >>> after first modeset.
> >>>
> >>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111809
> >>
> >> I'm confused. Is there a current problem upstream after the revert
> >> 1b8588741fdc ("Revert "drm/i915/color: Extract icl_read_luts()"")?
> >>
> >> Or does this fix a problem that only occurs in conjunction with the
> >> reverted commit? Then say so.
> >>
> >> Note inline.
> >>
> >>> Signed-off-by: Swati Sharma 
> >>> ---
> >>>   drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
> >>>   1 file changed, 3 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> >>> b/drivers/gpu/drm/i915/display/intel_display.c
> >>> index f1328c08f4ad..f89aa4bb9f42 100644
> >>> --- a/drivers/gpu/drm/i915/display/intel_display.c
> >>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> >>> @@ -10528,7 +10528,9 @@ static bool haswell_get_pipe_config(struct 
> >>> intel_crtc *crtc,
> >>>   i9xx_get_pipe_color_config(pipe_config);
> >>>   }
> >>>   
> >>> - intel_color_get_config(pipe_config);
> >>> + if ((INTEL_GEN(dev_priv) >= 11 && (pipe_config->gamma_mode & 
> >>> POST_CSC_GAMMA_ENABLE)) ||
> >>> +(INTEL_GEN(dev_priv) >= 9 && (pipe_config->gamma_enable)))
> >>> + intel_color_get_config(pipe_config);
> >>
> >> Put all of the conditions inside intel_color_get_config().
> > 
> > In fact inside the .read_luts() since these checks are platform
> > specific.
> > 
> > Also this check is wrong for CHV since it has a separate
> > enable knob for the CGM LUT (gamma_enable only deals with the
> > legacy LUT) >
> Inside read_luts() I already have. But the issue is first read_lut() 
> will happen before load_lut() and it will replace 
> crtc_state->base.gamma_lut and gamma_lut will be programmed with junk 
> values which led to multiple colored screens. So we need a check to call
> intel_color_get_config() itself.

That doesn't make sense. If you're already checking these then
adding a second check won't change anything.

Also state readout is meant to just blindly readout the hardware state.
If the LUT used by the BIOS is enabled and not something we want to
use then we need to sanitize it after the readout.

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

Re: [Intel-gfx] [PATCH] drm/i915/color: fix broken display in icl+

2019-10-01 Thread Saarinen, Jani
HI, 

> -Original Message-
> From: Intel-gfx  On Behalf Of Ville 
> Syrjälä
> Sent: tiistai 1. lokakuuta 2019 17.21
> To: Nikula, Jani 
> Cc: intel-gfx@lists.freedesktop.org; Nautiyal, Ankit K 
> 
> Subject: Re: [Intel-gfx] [PATCH] drm/i915/color: fix broken display in icl+
> 
> On Tue, Oct 01, 2019 at 11:03:08AM +0300, Jani Nikula wrote:
> > On Tue, 01 Oct 2019, Swati Sharma  wrote:
> > > Premature gamma lut prepration and loading which was getting
> > > reflected in first modeset causing different colors on screen during
> > > boot.
> > >
> > > Issue: In BIOS, gamma is disabled by default. However,
> > > legacy_read_luts() was getting called even before the
> > > legacy_load_luts() which was setting crtc_state->base.gamma_lut and
> > > gamma_lut was programmed with junk values which led to visual
> > > artifacts (different colored screens instead of usual black during boot).
> > >
> > > Fix: Calling read_luts() only when gamma is enabled which will
> > > happen after first modeset.
> > >
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111809
> >
> > I'm confused. Is there a current problem upstream after the revert
> > 1b8588741fdc ("Revert "drm/i915/color: Extract icl_read_luts()"")?
> >
> > Or does this fix a problem that only occurs in conjunction with the
> > reverted commit? Then say so.
> >
> > Note inline.
> >
> > > Signed-off-by: Swati Sharma 
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > index f1328c08f4ad..f89aa4bb9f42 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > @@ -10528,7 +10528,9 @@ static bool haswell_get_pipe_config(struct
> intel_crtc *crtc,
> > >   i9xx_get_pipe_color_config(pipe_config);
> > >   }
> > >
> > > - intel_color_get_config(pipe_config);
> > > + if ((INTEL_GEN(dev_priv) >= 11 && (pipe_config->gamma_mode &
> POST_CSC_GAMMA_ENABLE)) ||
> > > +(INTEL_GEN(dev_priv) >= 9 && (pipe_config->gamma_enable)))
> > > + intel_color_get_config(pipe_config);
> >
> > Put all of the conditions inside intel_color_get_config().
> 
> In fact inside the .read_luts() since these checks are platform specific.
> 
> Also this check is wrong for CHV since it has a separate enable knob for the 
> CGM LUT
> (gamma_enable only deals with the legacy LUT).
Could this be also reason that on BSW I was able to see some color issue with 
BSW on latest drm-tip still with Tapani? 

> 
> --
> Ville Syrjälä
> Intel
> ___
> 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] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Chris Wilson
Quoting Jani Nikula (2019-10-01 15:28:51)
> On Tue, 01 Oct 2019, Ville Syrjälä  wrote:
> > On Tue, Oct 01, 2019 at 03:12:49PM +0100, Chris Wilson wrote:
> >> For the sake of argument, could you float the split in the other
> >> direction?
> 
> Please elaborate. Move switcheroo higher in the call chain?

I was thinking along the lines of pulling switcheroo into
i915/i915_vga_client.c and seeing where that lead. I leave the details
to the poor soul pulling at the stands of spaghetti.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Jani Nikula
On Tue, 01 Oct 2019, Ville Syrjälä  wrote:
> On Tue, Oct 01, 2019 at 03:12:49PM +0100, Chris Wilson wrote:
>> Quoting Jani Nikula (2019-10-01 14:43:53)
>> > Split out code related to vga client and vga switcheroo
>> > register/unregister and state handling from i915_drv.c and
>> > intel_display.c.
>> > 
>> > It's a bit difficult to draw the line how much to move to the new file
>> > from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
>> > and i915_resume_switcheroo() in place was cleanest.
>> > 
>> > No functional changes.
>> > 
>> > Cc: Ville Syrjälä 
>> > Cc: Chris Wilson 
>> > Signed-off-by: Jani Nikula 
>> > 
>> > ---
>> > 
>> > It's also a bit fuzzy if this is a sensible split anyway. Could also
>> > name it intel_vga and move these from intel_display.c there?
>> 
>> My initial thought that the switcheroo interface would remain in core,
>
> Yeah the switcheroo stuff should perhaps stays with the rest of the pm hooks.

Okay, so keep all of switcheroo in i915_drv.c, and move all the vgaarb
stuff (incl the ones I mentioned from intel_display.c) to
intel_vga.[ch]?

>
>> that it is more of a global power state that we currently just use for
>> the legacy vga switching.
>> 
>> The patch looks fine, on a pure mechanical pov,
>> Reviewed-by: Chris Wilson 
>> 
>> For the sake of argument, could you float the split in the other
>> direction?

Please elaborate. Move switcheroo higher in the call chain?

BR,
Jani.


>> 
>> And maybe Ville has a good opinion on how it is meant to work :)
>> -Chris

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

Re: [Intel-gfx] [PATCH] drm/i915/color: fix broken display in icl+

2019-10-01 Thread Sharma, Swati2

On 01-Oct-19 7:51 PM, Ville Syrjälä wrote:

On Tue, Oct 01, 2019 at 11:03:08AM +0300, Jani Nikula wrote:

On Tue, 01 Oct 2019, Swati Sharma  wrote:

Premature gamma lut prepration and loading which was getting
reflected in first modeset causing different colors on
screen during boot.

Issue: In BIOS, gamma is disabled by default. However,
legacy_read_luts() was getting called even before the legacy_load_luts()
which was setting crtc_state->base.gamma_lut and gamma_lut was
programmed with junk values which led to visual artifacts (different
colored screens instead of usual black during boot).

Fix: Calling read_luts() only when gamma is enabled which will happen
after first modeset.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111809


I'm confused. Is there a current problem upstream after the revert
1b8588741fdc ("Revert "drm/i915/color: Extract icl_read_luts()"")?

Or does this fix a problem that only occurs in conjunction with the
reverted commit? Then say so.

Note inline.


Signed-off-by: Swati Sharma 
---
  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index f1328c08f4ad..f89aa4bb9f42 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -10528,7 +10528,9 @@ static bool haswell_get_pipe_config(struct intel_crtc 
*crtc,
i9xx_get_pipe_color_config(pipe_config);
}
  
-	intel_color_get_config(pipe_config);

+   if ((INTEL_GEN(dev_priv) >= 11 && (pipe_config->gamma_mode & 
POST_CSC_GAMMA_ENABLE)) ||
+  (INTEL_GEN(dev_priv) >= 9 && (pipe_config->gamma_enable)))
+   intel_color_get_config(pipe_config);


Put all of the conditions inside intel_color_get_config().


In fact inside the .read_luts() since these checks are platform
specific.

Also this check is wrong for CHV since it has a separate
enable knob for the CGM LUT (gamma_enable only deals with the
legacy LUT) >
Inside read_luts() I already have. But the issue is first read_lut() 
will happen before load_lut() and it will replace 
crtc_state->base.gamma_lut and gamma_lut will be programmed with junk 
values which led to multiple colored screens. So we need a check to call

intel_color_get_config() itself.

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

[Intel-gfx] [PATCH v10 3/6] drm/i915/tgl: Enable DC3CO state in "DC Off" power well

2019-10-01 Thread Anshuman Gupta
Add target_dc_state and used by set_target_dc_state API
in order to enable DC3CO state with existing DC states.
target_dc_state will enable/disable the desired DC state in
DC_STATE_EN reg when "DC Off" power well gets disable/enable.

v2: commit log improvement.
v3: Used intel_wait_for_register to wait for DC3CO exit. [Imre]
Used gen9_set_dc_state() to allow/disallow DC3CO. [Imre]
Moved transcoder psr2 exit line enablement from tgl_allow_dc3co()
to a appropriate place haswell_crtc_enable(). [Imre]
Changed the DC3CO power well enabled call back logic as
recommended in review comments. [Imre]
v4: Used wait_for_us() instead of intel_wait_for_reg(). [Imre (IRC)]
v5: using udelay() instead of waiting for DC3CO exit status.
v6: Fixed minor unwanted change.
v7: Removed DC3CO powerwell and POWER_DOMAIN_VIDEO.
v8: Uniform checks by using only target_dc_state instead of allowed_dc_mask
in "DC off" power well callback. [Imre]
Adding "DC off" power well id to older platforms. [Imre]
Removed psr2_deep_sleep flag from tgl_set_target_dc_state. [Imre]
v9: Used switch case for target DC state in
gen9_dc_off_power_well_disable(), checking DC3CO state against
allowed DC mask, using WARN_ON() in
tgl_set_target_dc_state(). [Imre]
v10: Code refactoring and using sanitize_target_dc_state(). [Imre]

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Reviewed-by: Imre Deak 
Signed-off-by: Anshuman Gupta 
---
 .../drm/i915/display/intel_display_power.c| 80 ---
 .../drm/i915/display/intel_display_power.h|  1 +
 drivers/gpu/drm/i915/i915_drv.h   |  1 +
 3 files changed, 73 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index 0b685c517bcb..67ba92dd8366 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -785,6 +785,52 @@ static void gen9_set_dc_state(struct drm_i915_private 
*dev_priv, u32 state)
dev_priv->csr.dc_state = val & mask;
 }
 
+static u32
+sanitize_target_dc_state(struct drm_i915_private *dev_priv,
+u32 target_dc_state)
+{
+   u32 states[] = {
+   DC_STATE_EN_UPTO_DC6,
+   DC_STATE_EN_UPTO_DC5,
+   DC_STATE_EN_DC3CO,
+   DC_STATE_DISABLE,
+   };
+   int i;
+
+   for (i = 0; i < ARRAY_SIZE(states) - 1; i++) {
+   if (target_dc_state != states[i])
+   continue;
+
+   if (dev_priv->csr.allowed_dc_mask & target_dc_state)
+   break;
+
+   target_dc_state = states[i + 1];
+   }
+
+   return target_dc_state;
+}
+
+static void tgl_enable_dc3co(struct drm_i915_private *dev_priv)
+{
+   DRM_DEBUG_KMS("Enabling DC3CO\n");
+   gen9_set_dc_state(dev_priv, DC_STATE_EN_DC3CO);
+}
+
+static void tgl_disable_dc3co(struct drm_i915_private *dev_priv)
+{
+   u32 val;
+
+   DRM_DEBUG_KMS("Disabling DC3CO\n");
+   val = I915_READ(DC_STATE_EN);
+   val &= ~DC_STATE_DC3CO_STATUS;
+   I915_WRITE(DC_STATE_EN, val);
+   gen9_set_dc_state(dev_priv, DC_STATE_DISABLE);
+   /*
+* Delay of 200us DC3CO Exit time B.Spec 49196
+*/
+   usleep_range(200, 210);
+}
+
 static void bxt_enable_dc9(struct drm_i915_private *dev_priv)
 {
assert_can_enable_dc9(dev_priv);
@@ -952,7 +998,8 @@ static void bxt_verify_ddi_phy_power_wells(struct 
drm_i915_private *dev_priv)
 static bool gen9_dc_off_power_well_enabled(struct drm_i915_private *dev_priv,
   struct i915_power_well *power_well)
 {
-   return (I915_READ(DC_STATE_EN) & DC_STATE_EN_UPTO_DC5_DC6_MASK) == 0;
+   return ((I915_READ(DC_STATE_EN) & DC_STATE_EN_DC3CO) == 0 &&
+   (I915_READ(DC_STATE_EN) & DC_STATE_EN_UPTO_DC5_DC6_MASK) == 0);
 }
 
 static void gen9_assert_dbuf_enabled(struct drm_i915_private *dev_priv)
@@ -968,6 +1015,11 @@ static void gen9_disable_dc_states(struct 
drm_i915_private *dev_priv)
 {
struct intel_cdclk_state cdclk_state = {};
 
+   if (dev_priv->csr.target_dc_state == DC_STATE_EN_DC3CO) {
+   tgl_disable_dc3co(dev_priv);
+   return;
+   }
+
gen9_set_dc_state(dev_priv, DC_STATE_DISABLE);
 
dev_priv->display.get_cdclk(dev_priv, _state);
@@ -1000,10 +1052,17 @@ static void gen9_dc_off_power_well_disable(struct 
drm_i915_private *dev_priv,
if (!dev_priv->csr.dmc_payload)
return;
 
-   if (dev_priv->csr.allowed_dc_mask & DC_STATE_EN_UPTO_DC6)
+   switch (dev_priv->csr.target_dc_state) {
+   case DC_STATE_EN_DC3CO:
+   tgl_enable_dc3co(dev_priv);
+   break;
+   case DC_STATE_EN_UPTO_DC6:
skl_enable_dc6(dev_priv);
-   else if (dev_priv->csr.allowed_dc_mask & DC_STATE_EN_UPTO_DC5)
+   break;
+   

[Intel-gfx] [PATCH v10 5/6] drm/i915/tgl: Switch between dc3co and dc5 based on display idleness

2019-10-01 Thread Anshuman Gupta
DC3CO is useful power state, when DMC detects PSR2 idle frame
while an active video playback, playing 30fps video on 60hz panel
is the classic example of this use case.

B.Specs:49196 has a restriction to enable DC3CO only for Video Playback.
It will be worthy to enable DC3CO after completion of each pageflip
and switch back to DC5 when display is idle because driver doesn't
differentiate between video playback and a normal pageflip.
We will use Frontbuffer flush call tgl_dc3co_flush() to enable DC3CO
state only for ORIGIN_FLIP flush call, because DC3CO state has primarily
targeted for VPB use case. We are not interested here for frontbuffer
invalidates calls because that triggers PSR2 exit, which will
explicitly disable DC3CO.

DC5 and DC6 saves more power, but can't be entered during video
playback because there are not enough idle frames in a row to meet
most PSR2 panel deep sleep entry requirement typically 4 frames.
As PSR2 existing implementation is using minimum 6 idle frames for
deep sleep, it is safer to enable DC5/6 after 6 idle frames
(By scheduling a delayed work of 6 idle frames, once DC3CO has been
enabled after a pageflip).

After manually waiting for 6 idle frames DC5/6 will be enabled and
PSR2 deep sleep idle frames will be restored to 6 idle frames, at this
point DMC will triggers DC5/6 once PSR2 enters to deep sleep after
6 idle frames.
In future when we will enable S/W PSR2 tracking, we can change the
PSR2 required deep sleep idle frames to 1 so DMC can trigger the
DC5/6 immediately after S/W manual waiting of 6 idle frames get
complete.

v2: calculated s/w state to switch over dc3co when there is an
update. [Imre]
Used cancel_delayed_work_sync() in order to avoid any race
with already scheduled delayed work. [Imre]
v3: Cancel_delayed_work_sync() may blocked the commit work.
hence dropping it, dc5_idle_thread() checks the valid wakeref before
putting the reference count, which avoids any chances of dropping
a zero wakeref. [Imre (IRC)]
v4: Used frontbuffer flush mechanism. [Imre]
v5: Used psr.pipe to extract frontbuffer busy bits. [Imre]
Used cancel_delayed_work_sync() in encoder disable path. [Imre]
Used mod_delayed_work() instead of cancelling and scheduling a
delayed work. [Imre]
Used psr.lock in tgl_dc5_idle_thread() to enable psr2 deep
sleep. [Imre]
Removed DC5_REQ_IDLE_FRAMES macro. [Imre]
v6: Used dc3co_exitline check instead of TGL and dc3co allowed_dc_mask
checks, used delayed_work_pending with the psr lock and removed the
psr2_deep_slp_disabled flag. [Imre]
v7: Code refactoring, moved most of functional code to inte_psr.c [Imre]
Using frontbuffer_bits on psr.pipe check instead of
busy_frontbuffer_bits. [Imre]
Calculating dc3co_exit_delay in intel_psr_enable_locked. [Imre]

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Reviewed-by: Imre Deak 
Signed-off-by: Anshuman Gupta 
---
 .../drm/i915/display/intel_display_power.c|  45 +++
 .../drm/i915/display/intel_display_power.h|   2 +
 drivers/gpu/drm/i915/display/intel_psr.c  | 114 +-
 drivers/gpu/drm/i915/i915_drv.h   |   3 +
 4 files changed, 163 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index 67ba92dd8366..9fddebfda169 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -886,6 +886,51 @@ lookup_power_well(struct drm_i915_private *dev_priv,
return _priv->power_domains.power_wells[0];
 }
 
+/**
+ * intel_display_power_set_target_dc_state - Set target dc state.
+ * @dev_priv: i915 device
+ * @state: state which needs to be set as target_dc_state.
+ *
+ * This function set the "DC off" power well target_dc_state,
+ * based upon this target_dc_stste, "DC off" power well will
+ * enable desired DC state.
+ */
+void intel_display_power_set_target_dc_state(struct drm_i915_private *dev_priv,
+u32 state)
+{
+   struct i915_power_well *power_well;
+   bool dc_off_enabled;
+   struct i915_power_domains *power_domains = _priv->power_domains;
+
+   mutex_lock(_domains->lock);
+   power_well = lookup_power_well(dev_priv, SKL_DISP_DC_OFF);
+
+   if (WARN_ON(!power_well))
+   goto unlock;
+
+   state = sanitize_target_dc_state(dev_priv, state);
+
+   if (state == dev_priv->csr.target_dc_state)
+   goto unlock;
+
+   dc_off_enabled = power_well->desc->ops->is_enabled(dev_priv,
+  power_well);
+   /*
+* If DC off power well is disabled, need to enable and disable the
+* DC off power well to effect target DC state.
+*/
+   if (!dc_off_enabled)
+   power_well->desc->ops->enable(dev_priv, power_well);
+
+   dev_priv->csr.target_dc_state = state;
+
+ 

[Intel-gfx] [PATCH v10 6/6] drm/i915/tgl: Add DC3CO counter in i915_dmc_info

2019-10-01 Thread Anshuman Gupta
Adding DC3CO counter in i915_dmc_info debugfs will be
useful for DC3CO validation.
DMC firmware uses DMC_DEBUG3 register as DC3CO counter
register on TGL, as per B.Specs DMC_DEBUG3 is general
purpose register.

v1: comment modification for DMC_DBUG3.
using GEN >= 12 check instead of IS_TIGERLAKE()
to print DMC_DEBUG3 counter value.

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Reviewed-by: Imre Deak 
Signed-off-by: Anshuman Gupta 
---
 drivers/gpu/drm/i915/i915_debugfs.c | 7 +++
 drivers/gpu/drm/i915/i915_reg.h | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index fec9fb7cc384..a3882e6abf68 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2413,6 +2413,13 @@ static int i915_dmc_info(struct seq_file *m, void 
*unused)
if (INTEL_GEN(dev_priv) >= 12) {
dc5_reg = TGL_DMC_DEBUG_DC5_COUNT;
dc6_reg = TGL_DMC_DEBUG_DC6_COUNT;
+   /*
+* NOTE: DMC_DEBUG3 is a general purpose reg.
+* According to B.Specs:49196 DMC f/w reuses DC5/6 counter
+* reg for DC3CO debugging and validation,
+* but TGL DMC f/w is using DMC_DEBUG3 reg for DC3CO counter.
+*/
+   seq_printf(m, "DC3CO count: %d\n", I915_READ(DMC_DEBUG3));
} else {
dc5_reg = IS_BROXTON(dev_priv) ? BXT_CSR_DC3_DC5_COUNT :
 SKL_CSR_DC3_DC5_COUNT;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 188d3b382627..e2940501d7a6 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -7267,6 +7267,8 @@ enum {
 #define TGL_DMC_DEBUG_DC5_COUNT_MMIO(0x101084)
 #define TGL_DMC_DEBUG_DC6_COUNT_MMIO(0x101088)
 
+#define DMC_DEBUG3 _MMIO(0x101090)
+
 /* interrupts */
 #define DE_MASTER_IRQ_CONTROL   (1 << 31)
 #define DE_SPRITEB_FLIP_DONE(1 << 29)
-- 
2.21.0

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

[Intel-gfx] [PATCH v10 2/6] drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask

2019-10-01 Thread Anshuman Gupta
Enable dc3co state in enable_dc module param and add dc3co
enable mask to allowed_dc_mask and gen9_dc_mask.

v1: Adding enable_dc=3,4 options to enable DC3CO with DC5 and DC6
independently. [Animesh]
v2: Using a switch statement for cleaner code. [Animesh]

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Reviewed-by: Animesh Manna 
Reviewed-by: Imre Deak 
Signed-off-by: Anshuman Gupta 
---
 .../drm/i915/display/intel_display_power.c| 29 +++
 drivers/gpu/drm/i915/i915_params.c|  3 +-
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index f1186bc23542..0b685c517bcb 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -711,7 +711,11 @@ static u32 gen9_dc_mask(struct drm_i915_private *dev_priv)
u32 mask;
 
mask = DC_STATE_EN_UPTO_DC5;
-   if (INTEL_GEN(dev_priv) >= 11)
+
+   if (INTEL_GEN(dev_priv) >= 12)
+   mask |= DC_STATE_EN_DC3CO | DC_STATE_EN_UPTO_DC6
+ | DC_STATE_EN_DC9;
+   else if (IS_GEN(dev_priv, 11))
mask |= DC_STATE_EN_UPTO_DC6 | DC_STATE_EN_DC9;
else if (IS_GEN9_LP(dev_priv))
mask |= DC_STATE_EN_DC9;
@@ -3940,14 +3944,17 @@ static u32 get_allowed_dc_mask(const struct 
drm_i915_private *dev_priv,
int requested_dc;
int max_dc;
 
-   if (INTEL_GEN(dev_priv) >= 11) {
-   max_dc = 2;
+   if (INTEL_GEN(dev_priv) >= 12) {
+   max_dc = 4;
/*
 * DC9 has a separate HW flow from the rest of the DC states,
 * not depending on the DMC firmware. It's needed by system
 * suspend/resume, so allow it unconditionally.
 */
mask = DC_STATE_EN_DC9;
+   } else if (IS_GEN(dev_priv, 11)) {
+   max_dc = 2;
+   mask = DC_STATE_EN_DC9;
} else if (IS_GEN(dev_priv, 10) || IS_GEN9_BC(dev_priv)) {
max_dc = 2;
mask = 0;
@@ -3966,7 +3973,7 @@ static u32 get_allowed_dc_mask(const struct 
drm_i915_private *dev_priv,
requested_dc = enable_dc;
} else if (enable_dc == -1) {
requested_dc = max_dc;
-   } else if (enable_dc > max_dc && enable_dc <= 2) {
+   } else if (enable_dc > max_dc && enable_dc <= 4) {
DRM_DEBUG_KMS("Adjusting requested max DC state (%d->%d)\n",
  enable_dc, max_dc);
requested_dc = max_dc;
@@ -3975,10 +3982,20 @@ static u32 get_allowed_dc_mask(const struct 
drm_i915_private *dev_priv,
requested_dc = max_dc;
}
 
-   if (requested_dc > 1)
+   switch (requested_dc) {
+   case 4:
+   mask |= DC_STATE_EN_DC3CO | DC_STATE_EN_UPTO_DC6;
+   break;
+   case 3:
+   mask |= DC_STATE_EN_DC3CO | DC_STATE_EN_UPTO_DC5;
+   break;
+   case 2:
mask |= DC_STATE_EN_UPTO_DC6;
-   if (requested_dc > 0)
+   break;
+   case 1:
mask |= DC_STATE_EN_UPTO_DC5;
+   break;
+   }
 
DRM_DEBUG_KMS("Allowed DC state mask %02x\n", mask);
 
diff --git a/drivers/gpu/drm/i915/i915_params.c 
b/drivers/gpu/drm/i915/i915_params.c
index 296452f9efe4..4f1806f65040 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -46,7 +46,8 @@ i915_param_named(modeset, int, 0400,
 
 i915_param_named_unsafe(enable_dc, int, 0400,
"Enable power-saving display C-states. "
-   "(-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6)");
+   "(-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; "
+   "3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO)");
 
 i915_param_named_unsafe(enable_fbc, int, 0600,
"Enable frame buffer compression for power savings "
-- 
2.21.0

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

Re: [Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 03:12:49PM +0100, Chris Wilson wrote:
> Quoting Jani Nikula (2019-10-01 14:43:53)
> > Split out code related to vga client and vga switcheroo
> > register/unregister and state handling from i915_drv.c and
> > intel_display.c.
> > 
> > It's a bit difficult to draw the line how much to move to the new file
> > from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
> > and i915_resume_switcheroo() in place was cleanest.
> > 
> > No functional changes.
> > 
> > Cc: Ville Syrjälä 
> > Cc: Chris Wilson 
> > Signed-off-by: Jani Nikula 
> > 
> > ---
> > 
> > It's also a bit fuzzy if this is a sensible split anyway. Could also
> > name it intel_vga and move these from intel_display.c there?
> 
> My initial thought that the switcheroo interface would remain in core,

Yeah the switcheroo stuff should perhaps stays with the rest of the pm hooks.

> that it is more of a global power state that we currently just use for
> the legacy vga switching.
> 
> The patch looks fine, on a pure mechanical pov,
> Reviewed-by: Chris Wilson 
> 
> For the sake of argument, could you float the split in the other
> direction?
> 
> And maybe Ville has a good opinion on how it is meant to work :)
> -Chris

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

[Intel-gfx] [PATCH v10 1/6] drm/i915/tgl: Add DC3CO required register and bits

2019-10-01 Thread Anshuman Gupta
Adding following definition to i915_reg.h
1. DC_STATE_EN register DC3CO bit fields and masks.
   DC3CO enable bit will be used by driver to make DC3CO
   ready for DMC f/w and status bit will be used as DC3CO
   entry status.
2. Transcoder EXITLINE register and its bit fields and mask.
   Transcoder EXITLINE enable bit represents PSR2 idle frame
   reset should be applied at exit line and exitlines mask
   represent required number of scanlines at which DC3CO
   exit happens.

   B.Specs:49196

v1: Use of REG_BIT and using extra space for EXITLINE_ macro
definition. [Animesh]

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Reviewed-by: Animesh Manna 
Reviewed-by: Imre Deak 
Signed-off-by: Anshuman Gupta 
---
 drivers/gpu/drm/i915/i915_reg.h | 8 
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 058aa5ca8b73..188d3b382627 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4144,6 +4144,7 @@ enum {
 #define _VTOTAL_A  0x6000c
 #define _VBLANK_A  0x60010
 #define _VSYNC_A   0x60014
+#define _EXITLINE_A0x60018
 #define _PIPEASRC  0x6001c
 #define _BCLRPAT_A 0x60020
 #define _VSYNCSHIFT_A  0x60028
@@ -4190,11 +4191,16 @@ enum {
 #define VTOTAL(trans)  _MMIO_TRANS2(trans, _VTOTAL_A)
 #define VBLANK(trans)  _MMIO_TRANS2(trans, _VBLANK_A)
 #define VSYNC(trans)   _MMIO_TRANS2(trans, _VSYNC_A)
+#define EXITLINE(trans)_MMIO_TRANS2(trans, _EXITLINE_A)
 #define BCLRPAT(trans) _MMIO_TRANS2(trans, _BCLRPAT_A)
 #define VSYNCSHIFT(trans)  _MMIO_TRANS2(trans, _VSYNCSHIFT_A)
 #define PIPESRC(trans) _MMIO_TRANS2(trans, _PIPEASRC)
 #define PIPE_MULT(trans)   _MMIO_TRANS2(trans, _PIPE_MULT_A)
 
+#define   EXITLINE_ENABLE  REG_BIT(31)
+#define   EXITLINE_MASKREG_GENMASK(12, 0)
+#define   EXITLINE_SHIFT   0
+
 /*
  * HSW+ eDP PSR registers
  *
@@ -10288,6 +10294,8 @@ enum skl_power_gate {
 /* GEN9 DC */
 #define DC_STATE_EN_MMIO(0x45504)
 #define  DC_STATE_DISABLE  0
+#define  DC_STATE_EN_DC3CO REG_BIT(30)
+#define  DC_STATE_DC3CO_STATUS REG_BIT(29)
 #define  DC_STATE_EN_UPTO_DC5  (1 << 0)
 #define  DC_STATE_EN_DC9   (1 << 3)
 #define  DC_STATE_EN_UPTO_DC6  (2 << 0)
-- 
2.21.0

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

[Intel-gfx] [PATCH v10 4/6] drm/i915/tgl: Do modeset to enable and configure DC3CO exitline

2019-10-01 Thread Anshuman Gupta
DC3CO enabling B.Specs sequence requires to enable end configure
exit scanlines to TRANS_EXITLINE register, programming this register
has to be part of modeset sequence as this can't be change when
transcoder or port is enabled.
When system boots with only eDP panel there may not be real
modeset as BIOS has already programmed the necessary registers,
therefore it needs to force a modeset to enable and configure
DC3CO exitline.

v1: Computing dc3co_exitline crtc state from a DP encoder
compute config. [Imre]
Enabling and disabling DC3CO PSR2 transcoder exitline from
encoder pre_enable and post_disable hooks. [Imre]
Computing dc3co_exitline instead of has_dc3co_exitline bool. [Imre]
v2: Code refactoring for symmetry and to avoid exported function. [Imre]
Removing IS_TIGERLAKE check from compute_config, adding PIPE_A
restriction and clearing dc3co_exitline state if crtc is not active
or it is not PSR2 capable in dc3co exitline compute_config. [Imre]
Using GEN >= 12 check in dc3co exitline get_config. [Imre]

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Animesh Manna 
Reviewed-by: Imre Deak 
Signed-off-by: Anshuman Gupta 
---
 drivers/gpu/drm/i915/display/intel_ddi.c  | 93 ++-
 drivers/gpu/drm/i915/display/intel_display.c  |  1 +
 .../drm/i915/display/intel_display_types.h|  1 +
 3 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index b463e51f8b45..032c455446ec 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -45,6 +45,7 @@
 #include "intel_lspcon.h"
 #include "intel_panel.h"
 #include "intel_psr.h"
+#include "intel_sprite.h"
 #include "intel_tc.h"
 #include "intel_vdsc.h"
 
@@ -3332,6 +,86 @@ static void intel_ddi_disable_fec_state(struct 
intel_encoder *encoder,
POSTING_READ(intel_dp->regs.dp_tp_ctl);
 }
 
+static void
+tgl_clear_psr2_transcoder_exitline(const struct intel_crtc_state *cstate)
+{
+   struct drm_i915_private *dev_priv = to_i915(cstate->base.crtc->dev);
+   u32 val;
+
+   if (!cstate->dc3co_exitline)
+   return;
+
+   val = I915_READ(EXITLINE(cstate->cpu_transcoder));
+   val &= ~(EXITLINE_MASK | EXITLINE_ENABLE);
+   I915_WRITE(EXITLINE(cstate->cpu_transcoder), val);
+}
+
+static void
+tgl_set_psr2_transcoder_exitline(const struct intel_crtc_state *cstate)
+{
+   u32 val, exit_scanlines;
+   struct drm_i915_private *dev_priv = to_i915(cstate->base.crtc->dev);
+
+   if (!cstate->dc3co_exitline)
+   return;
+
+   exit_scanlines = cstate->dc3co_exitline;
+   exit_scanlines <<= EXITLINE_SHIFT;
+   val = I915_READ(EXITLINE(cstate->cpu_transcoder));
+   val &= ~(EXITLINE_MASK | EXITLINE_ENABLE);
+   val |= exit_scanlines;
+   val |= EXITLINE_ENABLE;
+   I915_WRITE(EXITLINE(cstate->cpu_transcoder), val);
+}
+
+static void tgl_dc3co_exitline_compute_config(struct intel_encoder *encoder,
+ struct intel_crtc_state *cstate)
+{
+   u32 exit_scanlines;
+   struct drm_i915_private *dev_priv = to_i915(cstate->base.crtc->dev);
+   u32 crtc_vdisplay = cstate->base.adjusted_mode.crtc_vdisplay;
+
+   cstate->dc3co_exitline = 0;
+
+   if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO))
+   return;
+
+   /* B.Specs:49196 DC3CO only works with pipeA and DDIA.*/
+   if (to_intel_crtc(cstate->base.crtc)->pipe != PIPE_A ||
+   encoder->port != PORT_A)
+   return;
+
+   if (!cstate->has_psr2 || !cstate->base.active)
+   return;
+
+   /*
+* DC3CO Exit time 200us B.Spec 49196
+* PSR2 transcoder Early Exit scanlines = ROUNDUP(200 / line time) + 1
+*/
+   exit_scanlines =
+   intel_usecs_to_scanlines(>base.adjusted_mode, 200) + 1;
+
+   if (WARN_ON(exit_scanlines > crtc_vdisplay))
+   return;
+
+   cstate->dc3co_exitline = crtc_vdisplay - exit_scanlines;
+   DRM_DEBUG_KMS("DC3CO exit scanlines %d\n", cstate->dc3co_exitline);
+}
+
+static void tgl_dc3co_exitline_get_config(struct intel_crtc_state *crtc_state)
+{
+   u32 val;
+   struct drm_i915_private *dev_priv = to_i915(crtc_state->base.crtc->dev);
+
+   if (INTEL_GEN(dev_priv) < 12)
+   return;
+
+   val = I915_READ(EXITLINE(crtc_state->cpu_transcoder));
+
+   if (val & EXITLINE_ENABLE)
+   crtc_state->dc3co_exitline = val & EXITLINE_MASK;
+}
+
 static void tgl_ddi_pre_enable_dp(struct intel_encoder *encoder,
  const struct intel_crtc_state *crtc_state,
  const struct drm_connector_state *conn_state)
@@ -3344,6 +3425,7 @@ static void tgl_ddi_pre_enable_dp(struct intel_encoder 
*encoder,
int level = intel_ddi_dp_level(intel_dp);
enum transcoder transcoder = 

[Intel-gfx] [PATCH v10 0/6] DC3CO Support for TGL

2019-10-01 Thread Anshuman Gupta
Resending this version v10 after adding Imre's RB and after fixing
few code refactoring related comments provided by Imre.

Anshuman Gupta (6):
  drm/i915/tgl: Add DC3CO required register and bits
  drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask
  drm/i915/tgl: Enable DC3CO state in "DC Off" power well
  drm/i915/tgl: Do modeset to enable and configure DC3CO exitline
  drm/i915/tgl: Switch between dc3co and dc5 based on display idleness
  drm/i915/tgl: Add DC3CO counter in i915_dmc_info

 drivers/gpu/drm/i915/display/intel_ddi.c  |  93 ++-
 drivers/gpu/drm/i915/display/intel_display.c  |   1 +
 .../drm/i915/display/intel_display_power.c| 154 --
 .../drm/i915/display/intel_display_power.h|   3 +
 .../drm/i915/display/intel_display_types.h|   1 +
 drivers/gpu/drm/i915/display/intel_psr.c  | 114 -
 drivers/gpu/drm/i915/i915_debugfs.c   |   7 +
 drivers/gpu/drm/i915/i915_drv.h   |   4 +
 drivers/gpu/drm/i915/i915_params.c|   3 +-
 drivers/gpu/drm/i915/i915_reg.h   |  10 ++
 10 files changed, 371 insertions(+), 19 deletions(-)

-- 
2.21.0

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

Re: [Intel-gfx] [PATCH] drm/i915/color: fix broken display in icl+

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 11:03:08AM +0300, Jani Nikula wrote:
> On Tue, 01 Oct 2019, Swati Sharma  wrote:
> > Premature gamma lut prepration and loading which was getting
> > reflected in first modeset causing different colors on
> > screen during boot.
> >
> > Issue: In BIOS, gamma is disabled by default. However,
> > legacy_read_luts() was getting called even before the legacy_load_luts()
> > which was setting crtc_state->base.gamma_lut and gamma_lut was
> > programmed with junk values which led to visual artifacts (different
> > colored screens instead of usual black during boot).
> >
> > Fix: Calling read_luts() only when gamma is enabled which will happen
> > after first modeset.
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111809
> 
> I'm confused. Is there a current problem upstream after the revert
> 1b8588741fdc ("Revert "drm/i915/color: Extract icl_read_luts()"")?
> 
> Or does this fix a problem that only occurs in conjunction with the
> reverted commit? Then say so.
> 
> Note inline.
> 
> > Signed-off-by: Swati Sharma 
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index f1328c08f4ad..f89aa4bb9f42 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -10528,7 +10528,9 @@ static bool haswell_get_pipe_config(struct 
> > intel_crtc *crtc,
> > i9xx_get_pipe_color_config(pipe_config);
> > }
> >  
> > -   intel_color_get_config(pipe_config);
> > +   if ((INTEL_GEN(dev_priv) >= 11 && (pipe_config->gamma_mode & 
> > POST_CSC_GAMMA_ENABLE)) ||
> > +  (INTEL_GEN(dev_priv) >= 9 && (pipe_config->gamma_enable)))
> > +   intel_color_get_config(pipe_config);
> 
> Put all of the conditions inside intel_color_get_config().

In fact inside the .read_luts() since these checks are platform
specific.

Also this check is wrong for CHV since it has a separate
enable knob for the CGM LUT (gamma_enable only deals with the
legacy LUT).

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for RFT drm/i915/tgl: Re-enable rps (rev3)

2019-10-01 Thread Patchwork
== Series Details ==

Series: RFT drm/i915/tgl: Re-enable rps (rev3)
URL   : https://patchwork.freedesktop.org/series/67398/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
63d2c674198c RFT drm/i915/tgl: Re-enable rps
-:8: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one

-:18: ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

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

___
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: Rename "inject_load_failure" module parameter

2019-10-01 Thread Chris Wilson
Quoting Janusz Krzysztofik (2019-10-01 14:45:34)
> Commit f2db53f14d3d ("drm/i915: Replace "_load" with "_probe"
> consequently") deliberately left the name of the module parameter
> unchanged as that would require a corresponding change on IGT size.
> Now as the IGT side change has been submitted, complete the switch to
> the "probe" nomenclature.
> 
> May affect custom user applications utilizing the old name.
> 
> Suggested-by: Joonas Lahtinen 
> Signed-off-by: Janusz Krzysztofik 
> Cc: Michał Wajdeczko 
> Cc: Michał Winiarski 
> Cc: Piotr Piórkowski 
> Cc: Tomasz Lis 
> Cc: Joonas Lahtinen 

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

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Fix i915_inject_load_error() name to read *_probe_*

2019-10-01 Thread Chris Wilson
Quoting Janusz Krzysztofik (2019-10-01 14:45:33)
> Commit 50d84418f586 ("drm/i915: Add i915 to i915_inject_probe_failure")
> introduced new functions unfortunately named incompatibly with rules
> established by commit f2db53f14d3d ("drm/i915: Replace "_load" with
> "_probe" consequently").  Fix it for consistency.
> 
> Suggested-by: Michał Wajdeczko 
> Signed-off-by: Janusz Krzysztofik 
> Cc: Michał Wajdeczko 
> Cc: Michał Winiarski 
> Cc: Piotr Piórkowski 
> Cc: Tomasz Lis 
> Cc: Joonas Lahtinen 

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

Re: [Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Chris Wilson
Quoting Jani Nikula (2019-10-01 14:43:53)
> Split out code related to vga client and vga switcheroo
> register/unregister and state handling from i915_drv.c and
> intel_display.c.
> 
> It's a bit difficult to draw the line how much to move to the new file
> from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
> and i915_resume_switcheroo() in place was cleanest.
> 
> No functional changes.
> 
> Cc: Ville Syrjälä 
> Cc: Chris Wilson 
> Signed-off-by: Jani Nikula 
> 
> ---
> 
> It's also a bit fuzzy if this is a sensible split anyway. Could also
> name it intel_vga and move these from intel_display.c there?

My initial thought that the switcheroo interface would remain in core,
that it is more of a global power state that we currently just use for
the legacy vga switching.

The patch looks fine, on a pure mechanical pov,
Reviewed-by: Chris Wilson 

For the sake of argument, could you float the split in the other
direction?

And maybe Ville has a good opinion on how it is meant to work :)
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.BUILD: failure for HAX: Force kmemleak off

2019-10-01 Thread Patchwork
== Series Details ==

Series: HAX: Force kmemleak off
URL   : https://patchwork.freedesktop.org/series/67436/
State : failure

== Summary ==

Applying: HAX: Force kmemleak off
Using index info to reconstruct a base tree...
M   mm/kmemleak.c
Falling back to patching base and 3-way merge...
Auto-merging mm/kmemleak.c
CONFLICT (content): Merge conflict in mm/kmemleak.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 HAX: Force kmemleak off
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

Re: [Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Ville Syrjälä
On Tue, Oct 01, 2019 at 04:43:53PM +0300, Jani Nikula wrote:
> Split out code related to vga client and vga switcheroo
> register/unregister and state handling from i915_drv.c and
> intel_display.c.

The two things don't really have anything in common except both have
"vga" in the name, so not sure it makes sense to put them in the same
place. OTOH they are pretty small so probably not worth it to have two
files.

Also the vgaarb stuff is still broken but I guess no one really cares.

> 
> It's a bit difficult to draw the line how much to move to the new file
> from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
> and i915_resume_switcheroo() in place was cleanest.
> 
> No functional changes.
> 
> Cc: Ville Syrjälä 
> Cc: Chris Wilson 
> Signed-off-by: Jani Nikula 
> 
> ---
> 
> It's also a bit fuzzy if this is a sensible split anyway. Could also
> name it intel_vga and move these from intel_display.c there?
> 
> i915_vgacntrl_reg
> i915_disable_vga
> i915_redisable_vga
> i915_redisable_vga_power_on

Considering that's the only reason we register with vgaarb it probably
makes sense to move them as well.

> ---
>  drivers/gpu/drm/i915/Makefile |   3 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |  29 
>  drivers/gpu/drm/i915/display/intel_display.h  |   1 -
>  .../gpu/drm/i915/display/intel_vga_client.c   | 140 ++
>  .../gpu/drm/i915/display/intel_vga_client.h   |  14 ++
>  drivers/gpu/drm/i915/i915_drv.c   |  94 +---
>  drivers/gpu/drm/i915/i915_drv.h   |   3 +
>  7 files changed, 166 insertions(+), 118 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/display/intel_vga_client.c
>  create mode 100644 drivers/gpu/drm/i915/display/intel_vga_client.h
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index e04463d85401..ca770463e01f 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -184,7 +184,8 @@ i915-y += \
>   display/intel_psr.o \
>   display/intel_quirks.o \
>   display/intel_sprite.o \
> - display/intel_tc.o
> + display/intel_tc.o \
> + display/intel_vga_client.o
>  i915-$(CONFIG_ACPI) += \
>   display/intel_acpi.o \
>   display/intel_opregion.o
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> b/drivers/gpu/drm/i915/display/intel_display.c
> index f1328c08f4ad..6278d62bc87d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -17188,35 +17188,6 @@ void intel_modeset_driver_remove(struct 
> drm_i915_private *i915)
>   intel_fbc_cleanup_cfb(i915);
>  }
>  
> -/*
> - * set vga decode state - true == enable VGA decode
> - */
> -int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool 
> state)
> -{
> - unsigned reg = INTEL_GEN(dev_priv) >= 6 ? SNB_GMCH_CTRL : 
> INTEL_GMCH_CTRL;
> - u16 gmch_ctrl;
> -
> - if (pci_read_config_word(dev_priv->bridge_dev, reg, _ctrl)) {
> - DRM_ERROR("failed to read control word\n");
> - return -EIO;
> - }
> -
> - if (!!(gmch_ctrl & INTEL_GMCH_VGA_DISABLE) == !state)
> - return 0;
> -
> - if (state)
> - gmch_ctrl &= ~INTEL_GMCH_VGA_DISABLE;
> - else
> - gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
> -
> - if (pci_write_config_word(dev_priv->bridge_dev, reg, gmch_ctrl)) {
> - DRM_ERROR("failed to write control word\n");
> - return -EIO;
> - }
> -
> - return 0;
> -}
> -
>  #if IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR)
>  
>  struct intel_display_error_state {
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h 
> b/drivers/gpu/drm/i915/display/intel_display.h
> index 4b9e18e5a263..a7b0d11a3316 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -579,7 +579,6 @@ void intel_display_print_error_state(struct 
> drm_i915_error_state_buf *e,
>  void intel_modeset_init_hw(struct drm_i915_private *i915);
>  int intel_modeset_init(struct drm_i915_private *i915);
>  void intel_modeset_driver_remove(struct drm_i915_private *i915);
> -int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool 
> state);
>  void intel_display_resume(struct drm_device *dev);
>  void i915_redisable_vga(struct drm_i915_private *dev_priv);
>  void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv);
> diff --git a/drivers/gpu/drm/i915/display/intel_vga_client.c 
> b/drivers/gpu/drm/i915/display/intel_vga_client.c
> new file mode 100644
> index ..04ef1443f40e
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_vga_client.c
> @@ -0,0 +1,140 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2019 Intel Corporation
> + */
> +
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +
> +#include "i915_drv.h"
> +#include "intel_acpi.h"
> +#include "intel_vga_client.h"
> +
> +static 

Re: [Intel-gfx] [PATCH v2 0/9] drm/print: add and use drm_debug_enabled()

2019-10-01 Thread Jani Nikula
On Tue, 01 Oct 2019, Eric Engestrom  wrote:
> On Tuesday, 2019-10-01 14:03:55 +0300, Jani Nikula wrote:
>> On Thu, 26 Sep 2019, Eric Engestrom  wrote:
>> > On Tuesday, 2019-09-24 15:58:56 +0300, Jani Nikula wrote:
>> >> Hi all, v2 of [1], a little refactoring around drm_debug access to
>> >> abstract it better. There shouldn't be any functional changes.
>> >> 
>> >> I'd appreciate acks for merging the lot via drm-misc. If there are any
>> >> objections to that, we'll need to postpone the last patch until
>> >> everything has been merged and converted in drm-next.
>> >> 
>> >> BR,
>> >> Jani.
>> >> 
>> >> Cc: Eric Engestrom 
>> >> Cc: Alex Deucher 
>> >> Cc: Christian König 
>> >> Cc: David (ChunMing) Zhou 
>> >> Cc: amd-...@lists.freedesktop.org
>> >> Cc: Ben Skeggs 
>> >> Cc: nouv...@lists.freedesktop.org
>> >> Cc: Rob Clark 
>> >> Cc: Sean Paul 
>> >> Cc: linux-arm-...@vger.kernel.org
>> >> Cc: freedr...@lists.freedesktop.org
>> >> Cc: Francisco Jerez 
>> >> Cc: Lucas Stach 
>> >> Cc: Russell King 
>> >> Cc: Christian Gmeiner 
>> >> Cc: etna...@lists.freedesktop.org
>> >> 
>> >> 
>> >> [1] cover.1568375189.git.jani.nikula@intel.com">http://mid.mail-archive.com/cover.1568375189.git.jani.nikula@intel.com
>> >> 
>> >> Jani Nikula (9):
>> >>   drm/print: move drm_debug variable to drm_print.[ch]
>> >>   drm/print: add drm_debug_enabled()
>> >>   drm/i915: use drm_debug_enabled() to check for debug categories
>> >>   drm/print: rename drm_debug to __drm_debug to discourage use
>> >
>> > The above four patches are:
>> > Reviewed-by: Eric Engestrom 
>> >
>> > Did you check to make sure the `unlikely()` is propagated correctly
>> > outside the `drm_debug_enabled()` call?
>> 
>> I did now.
>> 
>> Having drm_debug_enabled() as a macro vs. as an inline function does not
>> seem to make a difference, so I think the inline is clearly preferrable.
>
> Agreed :)
>
>> 
>> However, for example
>> 
>>  unlikely(foo && drm_debug & DRM_UT_DP)
>> 
>> does produce code different from
>> 
>>  (foo && drm_debug_enabled(DRM_UT_DP))
>> 
>> indicating that the unlikely() within drm_debug_enabled() does not
>> propagate to the whole condition. It's possible to retain the same
>> assembly output with
>> 
>>  (unlikely(foo) && drm_debug_enabled(DRM_UT_DP))
>> 
>> but it's unclear to me whether this is really worth it, either
>> readability or performance wise.
>> 
>> Thoughts?
>
> That kind of code only happens 2 times, both in
> drivers/gpu/drm/drm_dp_mst_topology.c (in patch 2/9), right?
>
> I think your suggestion is the right thing to do here:
>
> -   if (unlikely(ret && drm_debug & DRM_UT_DP)) {
> +   if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) {
>
> It doesn't really cost much in readability (especially compared to what
> it was before), and whether it's important performance wise I couldn't
> tell, but I think it's best to keep the code optimised as it was before
> unless there's a reason to drop it.
>
> Lyude might know more since she wrote 2f015ec6eab69301fdcf5, if you want
> to ping her?

Just ended up sending the updated version with what you suggest and I
agree with; pedantically the change should be a separate patch anyway.

Thanks for your inputs.

BR,
Jani.


>
>> 
>> BR,
>> Jani.
>> 
>> 
>> -- 
>> Jani Nikula, Intel Open Source Graphics Center

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

[Intel-gfx] [PATCH v3] drm/print: add drm_debug_enabled()

2019-10-01 Thread Jani Nikula
Add helper to check if a drm debug category is enabled. Convert drm core
to use it. No functional changes.

v2: Move unlikely() to drm_debug_enabled() (Eric)

v3: Keep unlikely() when combined with other conditions (Eric)

Cc: Eric Engestrom 
Acked-by: Alex Deucher 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/drm_atomic_uapi.c | 2 +-
 drivers/gpu/drm/drm_dp_mst_topology.c | 6 +++---
 drivers/gpu/drm/drm_edid.c| 2 +-
 drivers/gpu/drm/drm_edid_load.c   | 2 +-
 drivers/gpu/drm/drm_mipi_dbi.c| 4 ++--
 drivers/gpu/drm/drm_print.c   | 4 ++--
 drivers/gpu/drm/drm_vblank.c  | 6 +++---
 include/drm/drm_print.h   | 5 +
 8 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
b/drivers/gpu/drm/drm_atomic_uapi.c
index 7a26bfb5329c..0d466d3b0809 100644
--- a/drivers/gpu/drm/drm_atomic_uapi.c
+++ b/drivers/gpu/drm/drm_atomic_uapi.c
@@ -1405,7 +1405,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
} else if (arg->flags & DRM_MODE_ATOMIC_NONBLOCK) {
ret = drm_atomic_nonblocking_commit(state);
} else {
-   if (unlikely(drm_debug & DRM_UT_STATE))
+   if (drm_debug_enabled(DRM_UT_STATE))
drm_atomic_print_state(state);
 
ret = drm_atomic_commit(state);
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
b/drivers/gpu/drm/drm_dp_mst_topology.c
index e6801db54d0f..6b14b63b8d62 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1179,7 +1179,7 @@ static int drm_dp_mst_wait_tx_reply(struct 
drm_dp_mst_branch *mstb,
}
}
 out:
-   if (unlikely(ret == -EIO && drm_debug & DRM_UT_DP)) {
+   if (unlikely(ret == -EIO) && drm_debug_enabled(DRM_UT_DP)) {
struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
drm_dp_mst_dump_sideband_msg_tx(, txmsg);
@@ -2322,7 +2322,7 @@ static int process_single_tx_qlock(struct 
drm_dp_mst_topology_mgr *mgr,
idx += tosend + 1;
 
ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx);
-   if (unlikely(ret && drm_debug & DRM_UT_DP)) {
+   if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) {
struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
drm_printf(, "sideband msg failed to send\n");
@@ -2389,7 +2389,7 @@ static void drm_dp_queue_down_tx(struct 
drm_dp_mst_topology_mgr *mgr,
mutex_lock(>qlock);
list_add_tail(>next, >tx_msg_downq);
 
-   if (unlikely(drm_debug & DRM_UT_DP)) {
+   if (drm_debug_enabled(DRM_UT_DP)) {
struct drm_printer p = drm_debug_printer(DBG_PREFIX);
 
drm_dp_mst_dump_sideband_msg_tx(, txmsg);
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 3c9703b08491..0552175313cb 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1651,7 +1651,7 @@ static void connector_bad_edid(struct drm_connector 
*connector,
 {
int i;
 
-   if (connector->bad_edid_counter++ && !(drm_debug & DRM_UT_KMS))
+   if (connector->bad_edid_counter++ && !drm_debug_enabled(DRM_UT_KMS))
return;
 
dev_warn(connector->dev->dev,
diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
index d38b3b255926..37d8ba3ddb46 100644
--- a/drivers/gpu/drm/drm_edid_load.c
+++ b/drivers/gpu/drm/drm_edid_load.c
@@ -175,7 +175,7 @@ static void *edid_load(struct drm_connector *connector, 
const char *name,
u8 *edid;
int fwsize, builtin;
int i, valid_extensions = 0;
-   bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & 
DRM_UT_KMS);
+   bool print_bad_edid = !connector->bad_edid_counter || 
drm_debug_enabled(DRM_UT_KMS);
 
builtin = match_string(generic_edid_name, GENERIC_EDIDS, name);
if (builtin >= 0) {
diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
index f8154316a3b0..ccfb5b33c5e3 100644
--- a/drivers/gpu/drm/drm_mipi_dbi.c
+++ b/drivers/gpu/drm/drm_mipi_dbi.c
@@ -783,7 +783,7 @@ static int mipi_dbi_spi1e_transfer(struct mipi_dbi *dbi, 
int dc,
int i, ret;
u8 *dst;
 
-   if (drm_debug & DRM_UT_DRIVER)
+   if (drm_debug_enabled(DRM_UT_DRIVER))
pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
 __func__, dc, max_chunk);
 
@@ -907,7 +907,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int 
dc,
max_chunk = dbi->tx_buf9_len;
dst16 = dbi->tx_buf9;
 
-   if (drm_debug & DRM_UT_DRIVER)
+   if (drm_debug_enabled(DRM_UT_DRIVER))
pr_debug("[drm:%s] dc=%d, max_chunk=%zu, transfers:\n",
 __func__, dc, max_chunk);
 
diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c
index 1ade3a917c10..9a25d73c155c 100644
--- a/drivers/gpu/drm/drm_print.c
+++ 

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Rename "inject_load_failure" module parameter

2019-10-01 Thread Janusz Krzysztofik
Hi Chris,

On Tuesday, October 1, 2019 3:57:27 PM CEST Chris Wilson wrote:
> Quoting Janusz Krzysztofik (2019-10-01 14:45:34)
> > Commit f2db53f14d3d ("drm/i915: Replace "_load" with "_probe"
> > consequently") deliberately left the name of the module parameter
> > unchanged as that would require a corresponding change on IGT size.
> > Now as the IGT side change has been submitted, complete the switch to
> > the "probe" nomenclature.
> > 
> > May affect custom user applications utilizing the old name.
> 
> It's an unsafe modparam that only is compiled in for debugging, with no
> long term effect after modprobe. There are no user applications for
> this.

OK, I'll drop that sentence.

Thanks,
Janusz

> -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: Rename "inject_load_failure" module parameter

2019-10-01 Thread Chris Wilson
Quoting Janusz Krzysztofik (2019-10-01 14:45:34)
> Commit f2db53f14d3d ("drm/i915: Replace "_load" with "_probe"
> consequently") deliberately left the name of the module parameter
> unchanged as that would require a corresponding change on IGT size.
> Now as the IGT side change has been submitted, complete the switch to
> the "probe" nomenclature.
> 
> May affect custom user applications utilizing the old name.

It's an unsafe modparam that only is compiled in for debugging, with no
long term effect after modprobe. There are no user applications for
this.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH 2/2] drm/i915/tgl: Restrict availables engines to rcs0 by default

2019-10-01 Thread Chris Wilson
CI is still unstable whenever we enable more than one engine, and we
have not yet found a better hack than restricting it to using just rcs0.

However, to allow testing to continue on the other engines by
developers, we allow the available set of engines to be overridden on
the command line with just the default set limited to [rcs0].

Signed-off-by: Chris Wilson 
Cc: Andi Shyti 
Cc: Mika Kuoppala 
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c 
b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 690da64ec256..9c8c7c8af394 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -406,6 +406,10 @@ static bool engine_available(struct drm_i915_private 
*i915, int id)
if (!HAS_ENGINE(i915, id))
return false;
 
+   /* XXX reduced by default for CI stability XXX */
+   if (IS_TIGERLAKE(i915) && i915_modparams.engines == -1u)
+   return id == RCS0;
+
if (!(i915_modparams.engines & param_bit[id]))
return false;
 
-- 
2.23.0

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

[Intel-gfx] [PATCH 1/2] drm/i915: Use a modparam to restrict exposed engines

2019-10-01 Thread Chris Wilson
Allow the user to restrict the available set of engines via a module
parameter.

Signed-off-by: Chris Wilson 
Cc: Stuart Summers 
Cc: Andi Shyti 
Cc: Mika Kuoppala 
Cc: Tvrtko Ursulin 
Cc: Joonas Lahtinen 
Cc: Martin Peres 
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 35 ---
 drivers/gpu/drm/i915/i915_gem.c   |  5 
 drivers/gpu/drm/i915/i915_params.c|  4 +++
 drivers/gpu/drm/i915/i915_params.h|  1 +
 4 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c 
b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 80fd072ac719..690da64ec256 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -389,6 +389,29 @@ void intel_engines_cleanup(struct drm_i915_private *i915)
}
 }
 
+static bool engine_available(struct drm_i915_private *i915, int id)
+{
+   /* uAPI -- modparam bits must be consistent between kernels */
+   static const unsigned int param_bit[] = {
+   [RCS0]  = BIT(0),
+   [VCS0]  = BIT(1),
+   [BCS0]  = BIT(2),
+   [VECS0] = BIT(3),
+   [VCS1]  = BIT(4),
+   [VCS2]  = BIT(5),
+   [VCS3]  = BIT(6),
+   [VECS1] = BIT(7),
+   };
+
+   if (!HAS_ENGINE(i915, id))
+   return false;
+
+   if (!(i915_modparams.engines & param_bit[id]))
+   return false;
+
+   return true;
+}
+
 /**
  * intel_engines_init_mmio() - allocate and prepare the Engine Command 
Streamers
  * @i915: the i915 device
@@ -397,7 +420,6 @@ void intel_engines_cleanup(struct drm_i915_private *i915)
  */
 int intel_engines_init_mmio(struct drm_i915_private *i915)
 {
-   struct intel_device_info *device_info = mkwrite_device_info(i915);
const unsigned int engine_mask = INTEL_INFO(i915)->engine_mask;
unsigned int mask = 0;
unsigned int i;
@@ -411,7 +433,7 @@ int intel_engines_init_mmio(struct drm_i915_private *i915)
return -ENODEV;
 
for (i = 0; i < ARRAY_SIZE(intel_engines); i++) {
-   if (!HAS_ENGINE(i915, i))
+   if (!engine_available(i915, i))
continue;
 
err = intel_engine_setup(>gt, i);
@@ -421,14 +443,7 @@ int intel_engines_init_mmio(struct drm_i915_private *i915)
mask |= BIT(i);
}
 
-   /*
-* Catch failures to update intel_engines table when the new engines
-* are added to the driver by a warning and disabling the forgotten
-* engines.
-*/
-   if (WARN_ON(mask != engine_mask))
-   device_info->engine_mask = mask;
-
+   mkwrite_device_info(i915)->engine_mask = mask;
RUNTIME_INFO(i915)->num_engines = hweight32(mask);
 
intel_gt_check_and_clear_faults(>gt);
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 3d3fda4cae99..bb25731466a9 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1308,6 +1308,11 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 {
int ret;
 
+   if (!RUNTIME_INFO(dev_priv)->num_engines) {
+   intel_gt_set_wedged_on_init(_priv->gt);
+   return 0;
+   }
+
/* We need to fallback to 4K pages if host doesn't support huge gtt. */
if (intel_vgpu_active(dev_priv) && !intel_vgpu_has_huge_gtt(dev_priv))
mkwrite_device_info(dev_priv)->page_sizes =
diff --git a/drivers/gpu/drm/i915/i915_params.c 
b/drivers/gpu/drm/i915/i915_params.c
index 296452f9efe4..27813bd79aa8 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -44,6 +44,10 @@ i915_param_named(modeset, int, 0400,
"Use kernel modesetting [KMS] (0=disable, "
"1=on, -1=force vga console preference [default])");
 
+i915_param_named(engines, uint, 0400,
+   "Only expose selected command streamers [GPU engines] (0=disable GPU, "
+   "-1/0x enable all [default]). Each bit corresponds to a 
different phyiscal engine: 0=RCS0, 1=VCS0, 2=BCS0, 3=VECS0, 4=VCS1, 5=VCS2, 
6=VCS3, 7=VECS1");
+
 i915_param_named_unsafe(enable_dc, int, 0400,
"Enable power-saving display C-states. "
"(-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6)");
diff --git a/drivers/gpu/drm/i915/i915_params.h 
b/drivers/gpu/drm/i915/i915_params.h
index d29ade3b7de6..f876db78a59a 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -45,6 +45,7 @@ struct drm_printer;
 #define I915_PARAMS_FOR_EACH(param) \
param(char *, vbt_firmware, NULL) \
param(int, modeset, -1) \
+   param(unsigned int, engines, -1) \
param(int, lvds_channel_mode, 0) \
param(int, panel_use_ssc, -1) \
param(int, vbt_sdvo_panel_type, -1) \
-- 
2.23.0

___
Intel-gfx mailing list

[Intel-gfx] [PATCH 2/2] drm/i915: Rename "inject_load_failure" module parameter

2019-10-01 Thread Janusz Krzysztofik
Commit f2db53f14d3d ("drm/i915: Replace "_load" with "_probe"
consequently") deliberately left the name of the module parameter
unchanged as that would require a corresponding change on IGT size.
Now as the IGT side change has been submitted, complete the switch to
the "probe" nomenclature.

May affect custom user applications utilizing the old name.

Suggested-by: Joonas Lahtinen 
Signed-off-by: Janusz Krzysztofik 
Cc: Michał Wajdeczko 
Cc: Michał Winiarski 
Cc: Piotr Piórkowski 
Cc: Tomasz Lis 
Cc: Joonas Lahtinen 
---
 drivers/gpu/drm/i915/i915_params.c |  2 +-
 drivers/gpu/drm/i915/i915_params.h |  2 +-
 drivers/gpu/drm/i915/i915_utils.c  | 10 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_params.c 
b/drivers/gpu/drm/i915/i915_params.c
index 296452f9efe4..59a6586dae15 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -165,7 +165,7 @@ i915_param_named_unsafe(enable_dp_mst, bool, 0600,
"Enable multi-stream transport (MST) for new DisplayPort sinks. 
(default: true)");
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
-i915_param_named_unsafe(inject_load_failure, uint, 0400,
+i915_param_named_unsafe(inject_probe_failure, uint, 0400,
"Force an error after a number of failure check points (0:disabled 
(default), N:force failure at the Nth failure check point)");
 #endif
 
diff --git a/drivers/gpu/drm/i915/i915_params.h 
b/drivers/gpu/drm/i915/i915_params.h
index d29ade3b7de6..8c887413fc70 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -62,7 +62,7 @@ struct drm_printer;
param(int, mmio_debug, -IS_ENABLED(CONFIG_DRM_I915_DEBUG_MMIO)) \
param(int, edp_vswing, 0) \
param(int, reset, 2) \
-   param(unsigned int, inject_load_failure, 0) \
+   param(unsigned int, inject_probe_failure, 0) \
param(int, fastboot, -1) \
param(int, enable_dpcd_backlight, 0) \
param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
diff --git a/drivers/gpu/drm/i915/i915_utils.c 
b/drivers/gpu/drm/i915/i915_utils.c
index e51bdb05da14..64affb87c284 100644
--- a/drivers/gpu/drm/i915/i915_utils.c
+++ b/drivers/gpu/drm/i915/i915_utils.c
@@ -57,22 +57,22 @@ static unsigned int i915_probe_fail_count;
 int __i915_inject_probe_error(struct drm_i915_private *i915, int err,
  const char *func, int line)
 {
-   if (i915_probe_fail_count >= i915_modparams.inject_load_failure)
+   if (i915_probe_fail_count >= i915_modparams.inject_probe_failure)
return 0;
 
-   if (++i915_probe_fail_count < i915_modparams.inject_load_failure)
+   if (++i915_probe_fail_count < i915_modparams.inject_probe_failure)
return 0;
 
__i915_printk(i915, KERN_INFO,
  "Injecting failure %d at checkpoint %u [%s:%d]\n",
- err, i915_modparams.inject_load_failure, func, line);
-   i915_modparams.inject_load_failure = 0;
+ err, i915_modparams.inject_probe_failure, func, line);
+   i915_modparams.inject_probe_failure = 0;
return err;
 }
 
 bool i915_error_injected(void)
 {
-   return i915_probe_fail_count && !i915_modparams.inject_load_failure;
+   return i915_probe_fail_count && !i915_modparams.inject_probe_failure;
 }
 
 #endif
-- 
2.21.0

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

[Intel-gfx] [PATCH 0/2] Conclude load -> probe naming convention switch

2019-10-01 Thread Janusz Krzysztofik
Test-with: <20191001132728.14602-1-janusz.krzyszto...@linux.intel.com>

The purpose is:
* to fix incompatible names of new functions introduced meanwhile,
* to complete postponed rename of module parameter.

Will be tested with just submitted IGT counterpart using a trybot
submission because I forgot to add a cover letter required for
successful joint testing when I was submitting to igt-dev list, sorry.

Thanks,
Janusz


Janusz Krzysztofik (2):
  drm/i915: Fix i915_inject_load_error() name to read *_probe_*
  drm/i915: Rename "inject_load_failure" module parameter

 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c|  4 ++--
 drivers/gpu/drm/i915/gt/uc/intel_uc.c |  6 +++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  | 20 ++-
 drivers/gpu/drm/i915/i915_gem.c   |  4 ++--
 drivers/gpu/drm/i915/i915_params.c|  2 +-
 drivers/gpu/drm/i915/i915_params.h|  2 +-
 drivers/gpu/drm/i915/i915_utils.c | 14 ++---
 drivers/gpu/drm/i915/i915_utils.h | 12 +--
 9 files changed, 34 insertions(+), 32 deletions(-)

-- 
2.21.0

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

[Intel-gfx] [PATCH 1/2] drm/i915: Fix i915_inject_load_error() name to read *_probe_*

2019-10-01 Thread Janusz Krzysztofik
Commit 50d84418f586 ("drm/i915: Add i915 to i915_inject_probe_failure")
introduced new functions unfortunately named incompatibly with rules
established by commit f2db53f14d3d ("drm/i915: Replace "_load" with
"_probe" consequently").  Fix it for consistency.

Suggested-by: Michał Wajdeczko 
Signed-off-by: Janusz Krzysztofik 
Cc: Michał Wajdeczko 
Cc: Michał Winiarski 
Cc: Piotr Piórkowski 
Cc: Tomasz Lis 
Cc: Joonas Lahtinen 
---
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c|  4 ++--
 drivers/gpu/drm/i915/gt/uc/intel_uc.c |  6 +++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  | 20 ++-
 drivers/gpu/drm/i915/i915_gem.c   |  4 ++--
 drivers/gpu/drm/i915/i915_utils.c |  4 ++--
 drivers/gpu/drm/i915/i915_utils.h | 12 +--
 7 files changed, 27 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index f325d3dd564f..67e46c2af6df 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -1119,7 +1119,7 @@ int intel_guc_submission_enable(struct intel_guc *guc)
enum intel_engine_id id;
int err;
 
-   err = i915_inject_load_error(gt->i915, -ENXIO);
+   err = i915_inject_probe_error(gt->i915, -ENXIO);
if (err)
return err;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
index d4625c97b4f9..8295ff971bcc 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
@@ -35,7 +35,7 @@ static int intel_huc_rsa_data_create(struct intel_huc *huc)
void *vaddr;
int err;
 
-   err = i915_inject_load_error(gt->i915, -ENXIO);
+   err = i915_inject_probe_error(gt->i915, -ENXIO);
if (err)
return err;
 
@@ -134,7 +134,7 @@ int intel_huc_auth(struct intel_huc *huc)
if (!intel_uc_fw_is_loaded(>fw))
return -ENOEXEC;
 
-   ret = i915_inject_load_error(gt->i915, -ENXIO);
+   ret = i915_inject_probe_error(gt->i915, -ENXIO);
if (ret)
goto fail;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 71ee7ab035cc..fb0d7bb712ab 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -20,7 +20,7 @@ static int __intel_uc_reset_hw(struct intel_uc *uc)
int ret;
u32 guc_status;
 
-   ret = i915_inject_load_error(gt->i915, -ENXIO);
+   ret = i915_inject_probe_error(gt->i915, -ENXIO);
if (ret)
return ret;
 
@@ -197,7 +197,7 @@ static int guc_enable_communication(struct intel_guc *guc)
 
GEM_BUG_ON(guc_communication_enabled(guc));
 
-   ret = i915_inject_load_error(i915, -ENXIO);
+   ret = i915_inject_probe_error(i915, -ENXIO);
if (ret)
return ret;
 
@@ -368,7 +368,7 @@ static int uc_init_wopcm(struct intel_uc *uc)
GEM_BUG_ON(!(size & GUC_WOPCM_SIZE_MASK));
GEM_BUG_ON(size & ~GUC_WOPCM_SIZE_MASK);
 
-   err = i915_inject_load_error(gt->i915, -ENXIO);
+   err = i915_inject_probe_error(gt->i915, -ENXIO);
if (err)
return err;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c 
b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index bd22bf11adad..f6830ec79a66 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -218,29 +218,31 @@ static void __force_fw_fetch_failures(struct intel_uc_fw 
*uc_fw,
 {
bool user = e == -EINVAL;
 
-   if (i915_inject_load_error(i915, e)) {
+   if (i915_inject_probe_error(i915, e)) {
/* non-existing blob */
uc_fw->path = "";
uc_fw->user_overridden = user;
-   } else if (i915_inject_load_error(i915, e)) {
+   } else if (i915_inject_probe_error(i915, e)) {
/* require next major version */
uc_fw->major_ver_wanted += 1;
uc_fw->minor_ver_wanted = 0;
uc_fw->user_overridden = user;
-   } else if (i915_inject_load_error(i915, e)) {
+   } else if (i915_inject_probe_error(i915, e)) {
/* require next minor version */
uc_fw->minor_ver_wanted += 1;
uc_fw->user_overridden = user;
-   } else if (uc_fw->major_ver_wanted && i915_inject_load_error(i915, e)) {
+   } else if (uc_fw->major_ver_wanted &&
+  i915_inject_probe_error(i915, e)) {
/* require prev major version */
uc_fw->major_ver_wanted -= 1;
uc_fw->minor_ver_wanted = 0;
uc_fw->user_overridden = user;
-   } else if (uc_fw->minor_ver_wanted && i915_inject_load_error(i915, e)) {
+   } else if (uc_fw->minor_ver_wanted &&
+

[Intel-gfx] [PATCH] drm/i915/display: split out intel_vga_client.[ch]

2019-10-01 Thread Jani Nikula
Split out code related to vga client and vga switcheroo
register/unregister and state handling from i915_drv.c and
intel_display.c.

It's a bit difficult to draw the line how much to move to the new file
from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo()
and i915_resume_switcheroo() in place was cleanest.

No functional changes.

Cc: Ville Syrjälä 
Cc: Chris Wilson 
Signed-off-by: Jani Nikula 

---

It's also a bit fuzzy if this is a sensible split anyway. Could also
name it intel_vga and move these from intel_display.c there?

i915_vgacntrl_reg
i915_disable_vga
i915_redisable_vga
i915_redisable_vga_power_on
---
 drivers/gpu/drm/i915/Makefile |   3 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  29 
 drivers/gpu/drm/i915/display/intel_display.h  |   1 -
 .../gpu/drm/i915/display/intel_vga_client.c   | 140 ++
 .../gpu/drm/i915/display/intel_vga_client.h   |  14 ++
 drivers/gpu/drm/i915/i915_drv.c   |  94 +---
 drivers/gpu/drm/i915/i915_drv.h   |   3 +
 7 files changed, 166 insertions(+), 118 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_vga_client.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_vga_client.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index e04463d85401..ca770463e01f 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -184,7 +184,8 @@ i915-y += \
display/intel_psr.o \
display/intel_quirks.o \
display/intel_sprite.o \
-   display/intel_tc.o
+   display/intel_tc.o \
+   display/intel_vga_client.o
 i915-$(CONFIG_ACPI) += \
display/intel_acpi.o \
display/intel_opregion.o
diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index f1328c08f4ad..6278d62bc87d 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -17188,35 +17188,6 @@ void intel_modeset_driver_remove(struct 
drm_i915_private *i915)
intel_fbc_cleanup_cfb(i915);
 }
 
-/*
- * set vga decode state - true == enable VGA decode
- */
-int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool state)
-{
-   unsigned reg = INTEL_GEN(dev_priv) >= 6 ? SNB_GMCH_CTRL : 
INTEL_GMCH_CTRL;
-   u16 gmch_ctrl;
-
-   if (pci_read_config_word(dev_priv->bridge_dev, reg, _ctrl)) {
-   DRM_ERROR("failed to read control word\n");
-   return -EIO;
-   }
-
-   if (!!(gmch_ctrl & INTEL_GMCH_VGA_DISABLE) == !state)
-   return 0;
-
-   if (state)
-   gmch_ctrl &= ~INTEL_GMCH_VGA_DISABLE;
-   else
-   gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
-
-   if (pci_write_config_word(dev_priv->bridge_dev, reg, gmch_ctrl)) {
-   DRM_ERROR("failed to write control word\n");
-   return -EIO;
-   }
-
-   return 0;
-}
-
 #if IS_ENABLED(CONFIG_DRM_I915_CAPTURE_ERROR)
 
 struct intel_display_error_state {
diff --git a/drivers/gpu/drm/i915/display/intel_display.h 
b/drivers/gpu/drm/i915/display/intel_display.h
index 4b9e18e5a263..a7b0d11a3316 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -579,7 +579,6 @@ void intel_display_print_error_state(struct 
drm_i915_error_state_buf *e,
 void intel_modeset_init_hw(struct drm_i915_private *i915);
 int intel_modeset_init(struct drm_i915_private *i915);
 void intel_modeset_driver_remove(struct drm_i915_private *i915);
-int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool state);
 void intel_display_resume(struct drm_device *dev);
 void i915_redisable_vga(struct drm_i915_private *dev_priv);
 void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/display/intel_vga_client.c 
b/drivers/gpu/drm/i915/display/intel_vga_client.c
new file mode 100644
index ..04ef1443f40e
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_vga_client.c
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2019 Intel Corporation
+ */
+
+#include 
+#include 
+#include 
+
+#include 
+
+#include "i915_drv.h"
+#include "intel_acpi.h"
+#include "intel_vga_client.h"
+
+static int
+intel_vga_client_set_state(struct drm_i915_private *i915, bool enable_decode)
+{
+   unsigned int reg = INTEL_GEN(i915) >= 6 ? SNB_GMCH_CTRL : 
INTEL_GMCH_CTRL;
+   u16 gmch_ctrl;
+
+   if (pci_read_config_word(i915->bridge_dev, reg, _ctrl)) {
+   DRM_ERROR("failed to read control word\n");
+   return -EIO;
+   }
+
+   if (!!(gmch_ctrl & INTEL_GMCH_VGA_DISABLE) == !enable_decode)
+   return 0;
+
+   if (enable_decode)
+   gmch_ctrl &= ~INTEL_GMCH_VGA_DISABLE;
+   else
+   gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
+
+   if (pci_write_config_word(i915->bridge_dev, reg, 

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/userptr: Never allow userptr into the mappable GGTT (rev3)

2019-10-01 Thread Patchwork
== Series Details ==

Series: drm/i915/userptr: Never allow userptr into the mappable GGTT (rev3)
URL   : https://patchwork.freedesktop.org/series/67349/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6980_full -> Patchwork_14601_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@gem_tiled_blits@normal:
- shard-kbl:  [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-kbl7/igt@gem_tiled_bl...@normal.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-kbl4/igt@gem_tiled_bl...@normal.html

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-kbl:  [PASS][3] -> [FAIL][4] +1 similar issue
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-kbl3/igt@gem_userptr_bl...@dmabuf-sync.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-kbl1/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
- shard-hsw:  [PASS][5] -> [FAIL][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-hsw7/igt@gem_userptr_bl...@dmabuf-unsync.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-hsw8/igt@gem_userptr_bl...@dmabuf-unsync.html
- shard-snb:  [PASS][7] -> [FAIL][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-snb1/igt@gem_userptr_bl...@dmabuf-unsync.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-snb1/igt@gem_userptr_bl...@dmabuf-unsync.html

  * igt@gem_userptr_blits@readonly-mmap-unsync:
- shard-apl:  [PASS][9] -> [FAIL][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-apl8/igt@gem_userptr_bl...@readonly-mmap-unsync.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-apl7/igt@gem_userptr_bl...@readonly-mmap-unsync.html
- shard-glk:  [PASS][11] -> [FAIL][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-glk4/igt@gem_userptr_bl...@readonly-mmap-unsync.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-glk6/igt@gem_userptr_bl...@readonly-mmap-unsync.html

  
 Warnings 

  * igt@gem_userptr_blits@dmabuf-sync:
- shard-snb:  [DMESG-WARN][13] ([fdo#111870]) -> [FAIL][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-snb2/igt@gem_userptr_bl...@dmabuf-sync.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-snb2/igt@gem_userptr_bl...@dmabuf-sync.html
- shard-iclb: [DMESG-WARN][15] ([fdo#111870]) -> [FAIL][16] +1 
similar issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-iclb1/igt@gem_userptr_bl...@dmabuf-sync.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-iclb2/igt@gem_userptr_bl...@dmabuf-sync.html
- shard-hsw:  [DMESG-WARN][17] ([fdo#111870]) -> [FAIL][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-hsw1/igt@gem_userptr_bl...@dmabuf-sync.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-hsw4/igt@gem_userptr_bl...@dmabuf-sync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
- shard-skl:  [DMESG-WARN][19] ([fdo#111870]) -> [FAIL][20] +1 
similar issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-skl2/igt@gem_userptr_bl...@dmabuf-unsync.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-skl7/igt@gem_userptr_bl...@dmabuf-unsync.html
- shard-kbl:  [DMESG-WARN][21] ([fdo#111870]) -> [FAIL][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-kbl3/igt@gem_userptr_bl...@dmabuf-unsync.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-kbl1/igt@gem_userptr_bl...@dmabuf-unsync.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_eio@in-flight-contexts-immediate:
- shard-hsw:  [PASS][23] -> [FAIL][24] ([fdo#105957])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6980/shard-hsw8/igt@gem_...@in-flight-contexts-immediate.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14601/shard-hsw7/igt@gem_...@in-flight-contexts-immediate.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
- shard-iclb: 

  1   2   >