[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Move the PIPEMISC write the correct place

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

Series: series starting with [1/2] drm/i915: Move the PIPEMISC write the 
correct place
URL   : https://patchwork.freedesktop.org/series/60233/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6031_full -> Patchwork_12951_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_eio@reset-stress:
- shard-skl:  [PASS][1] -> [FAIL][2] ([fdo#105957])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-skl2/igt@gem_...@reset-stress.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-skl4/igt@gem_...@reset-stress.html

  * igt@i915_pm_rpm@i2c:
- shard-iclb: [PASS][3] -> [FAIL][4] ([fdo#104097])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-iclb3/igt@i915_pm_...@i2c.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-iclb8/igt@i915_pm_...@i2c.html

  * igt@i915_pm_rpm@pm-tiling:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#107807] / 
[fdo#110581])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-skl7/igt@i915_pm_...@pm-tiling.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-skl5/igt@i915_pm_...@pm-tiling.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk:  [PASS][7] -> [FAIL][8] ([fdo#105363])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-glk3/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-glk1/igt@kms_f...@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +1 similar 
issue
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-iclb7/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-iclb5/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#104108] / 
[fdo#110581]) +1 similar issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-skl8/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-skl10/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-skl:  [PASS][13] -> [INCOMPLETE][14] ([fdo#104108] / 
[fdo#107773] / [fdo#110581])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-skl5/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-skl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html
- shard-apl:  [PASS][15] -> [DMESG-WARN][16] ([fdo#108566]) +1 
similar issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-apl3/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-apl6/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
- shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +2 similar 
issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@perf_pmu@init-busy-bcs0:
- shard-apl:  [PASS][19] -> [INCOMPLETE][20] ([fdo#103927] / 
[fdo#110581]) +1 similar issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-apl4/igt@perf_...@init-busy-bcs0.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-apl7/igt@perf_...@init-busy-bcs0.html

  * igt@perf_pmu@rc6:
- shard-kbl:  [PASS][21] -> [SKIP][22] ([fdo#109271])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-kbl3/igt@perf_...@rc6.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-kbl2/igt@perf_...@rc6.html

  
 Possible fixes 

  * igt@gem_tiled_swapping@non-threaded:
- shard-hsw:  [DMESG-WARN][23] ([fdo#108686]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/shard-hsw5/igt@gem_tiled_swapp...@non-threaded.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12951/shard-hsw1/igt@gem_tiled_swapp...@non-threaded.html

  * igt@i915_suspend@sysfs-reader:
- shard-apl:  

[Intel-gfx] [drm-tip:drm-tip 4/9] htmldocs: drivers/gpu/drm/scheduler/sched_main.c:364: warning: Function parameter or member 'bad' not described in 'drm_sched_stop'

2019-05-02 Thread kbuild test robot
tree:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
head:   6f67b24f2fc7b90a94e4163ae4cd01bc2783fbfd
commit: fb4f0930305e60c480c86c0e2ba9bc8683179bd9 [4/9] Merge remote-tracking 
branch 'origin/drm-misc-next' into drm-tip
reproduce: make htmldocs

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

All warnings (new ones prefixed by >>):

   WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick 
(https://www.imagemagick.org)
   include/linux/generic-radix-tree.h:1: warning: no structured comments found
   kernel/rcu/tree_plugin.h:1: warning: no structured comments found
   kernel/rcu/tree_plugin.h:1: warning: no structured comments found
   include/linux/firmware/intel/stratix10-svc-client.h:1: warning: no 
structured comments found
   include/linux/gpio/driver.h:371: warning: Function parameter or member 
'init_valid_mask' not described in 'gpio_chip'
   include/linux/i2c.h:343: warning: Function parameter or member 'init_irq' 
not described in 'i2c_client'
   include/linux/iio/hw-consumer.h:1: warning: no structured comments found
   include/linux/input/sparse-keymap.h:46: warning: Function parameter or 
member 'sw' not described in 'key_entry'
   include/linux/regulator/machine.h:199: warning: Function parameter or member 
'max_uV_step' not described in 'regulation_constraints'
   include/linux/regulator/driver.h:228: warning: Function parameter or member 
'resume' not described in 'regulator_ops'
   drivers/slimbus/stream.c:1: warning: no structured comments found
   include/linux/spi/spi.h:188: warning: Function parameter or member 
'driver_override' not described in 'spi_device'
   drivers/target/target_core_device.c:1: warning: no structured comments found
   drivers/usb/typec/bus.c:1: warning: no structured comments found
   drivers/usb/typec/class.c:1: warning: no structured comments found
   include/linux/w1.h:281: warning: Function parameter or member 
'of_match_table' not described in 'w1_family'
   fs/direct-io.c:257: warning: Excess function parameter 'offset' description 
in 'dio_complete'
   fs/file_table.c:1: warning: no structured comments found
   fs/libfs.c:477: warning: Excess function parameter 'available' description 
in 'simple_write_end'
   fs/posix_acl.c:646: warning: Function parameter or member 'inode' not 
described in 'posix_acl_update_mode'
   fs/posix_acl.c:646: warning: Function parameter or member 'mode_p' not 
described in 'posix_acl_update_mode'
   fs/posix_acl.c:646: warning: Function parameter or member 'acl' not 
described in 'posix_acl_update_mode'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:294: warning: Excess function 
parameter 'mm' description in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:294: warning: Excess function 
parameter 'start' description in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:294: warning: Excess function 
parameter 'end' description in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:343: warning: Excess function 
parameter 'mm' description in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:343: warning: Excess function 
parameter 'start' description in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:343: warning: Excess function 
parameter 'end' description in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:183: warning: Function parameter or 
member 'blockable' not described in 'amdgpu_mn_read_lock'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:295: warning: Function parameter or 
member 'range' not described in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:295: warning: Excess function 
parameter 'mm' description in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:295: warning: Excess function 
parameter 'start' description in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:295: warning: Excess function 
parameter 'end' description in 'amdgpu_mn_invalidate_range_start_hsa'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:344: warning: Function parameter or 
member 'range' not described in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:344: warning: Excess function 
parameter 'mm' description in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:344: warning: Excess function 
parameter 'start' description in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:344: warning: Excess function 
parameter 'end' description in 'amdgpu_mn_invalidate_range_end'
   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:347: warning: cannot understand 
function prototype: 'struct amdgpu_vm_pt_cursor '
   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:348: warning: cannot understand 
function prototype: 'struct amdgpu_vm_pt_cursor '
   

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [v5,1/4] drm/i915: Fix the pipe state timing mismatch warnings

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

Series: series starting with [v5,1/4] drm/i915: Fix the pipe state timing 
mismatch warnings
URL   : https://patchwork.freedesktop.org/series/60218/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029_full -> Patchwork_12949_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_pm_rpm@dpms-lpsp:
- shard-skl:  [PASS][1] -> [INCOMPLETE][2] ([fdo#107807] / 
[fdo#110581]) +1 similar issue
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl2/igt@i915_pm_...@dpms-lpsp.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-skl7/igt@i915_pm_...@dpms-lpsp.html

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-snb:  [PASS][3] -> [SKIP][4] ([fdo#109271])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-snb4/igt@kms_cursor_...@cursor-128x128-onscreen.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-snb4/igt@kms_cursor_...@cursor-128x128-onscreen.html

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#104108] / 
[fdo#110581])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl2/igt@kms_cursor_...@cursor-128x128-suspend.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-skl8/igt@kms_cursor_...@cursor-128x128-suspend.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-glk:  [PASS][7] -> [FAIL][8] ([fdo#105363])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk2/igt@kms_f...@2x-flip-vs-expired-vblank.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-glk7/igt@kms_f...@2x-flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +6 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb4/igt@kms_frontbuffer_track...@fbcpsr-1p-pri-indfb-multidraw.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-iclb1/igt@kms_frontbuffer_track...@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-glk:  [PASS][11] -> [SKIP][12] ([fdo#109271]) +1 similar 
issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk9/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-glk3/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-apl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +2 
similar issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl5/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-apl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][15] -> [FAIL][16] ([fdo#108145]) +1 similar 
issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl10/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-skl5/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +3 similar 
issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-iclb5/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- shard-kbl:  [PASS][19] -> [FAIL][20] ([fdo#99912])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-kbl3/igt@kms_setm...@basic.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-kbl2/igt@kms_setm...@basic.html

  * igt@kms_sysfs_edid_timing:
- shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#100047])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb4/igt@kms_sysfs_edid_timing.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/shard-iclb2/igt@kms_sysfs_edid_timing.html

  
 Possible fixes 

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

Re: [Intel-gfx] [PATCH] RFC: hung_task: taint kernel

2019-05-02 Thread Tetsuo Handa
On 2019/05/03 5:46, Daniel Vetter wrote:
> There's the hung_task_panic sysctl, but that's a bit an extreme measure.
> As a fallback taint at least the machine.
> 
> Our CI uses this to decide when a reboot is necessary, plus to figure
> out whether the kernel is still happy.

Why your CI can't watch for "blocked for more than" message instead of
setting the taint flag? How does your CI decide a reboot is necessary?

There is no need to set the tainted flag when some task was just blocked
for a while. It might be due to memory pressure, it might be due to setting
very short timeout (e.g. a few seconds), it might be due to busy CPUs doing
something else...
___
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: Add support for asynchronous display power disabling

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

Series: drm/i915: Add support for asynchronous display power disabling
URL   : https://patchwork.freedesktop.org/series/60242/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6032 -> Patchwork_12955


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Possible fixes 

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

  
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511


Participating hosts (49 -> 43)
--

  Additional (2): fi-bxt-dsi fi-icl-dsi 
  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6032 -> Patchwork_12955

  CI_DRM_6032: 6ad93073ac75c314e859cfe1020b569d0c63ccf5 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12955: ba990253d5d8234db983bd54d29ed627c9a613c8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

ba990253d5d8 drm/i915: Assert that TypeC ports are not used for eDP
08ce0f3433d1 drm/i915: Avoid taking the PPS lock for non-eDP/VLV/CHV
e597618a7634 drm/i915: Replace use of PLLS power domain with DISPLAY_CORE domain
5ed3bacef970 drm/i915: Remove the unneeded AUX power ref from 
intel_dp_hpd_pulse()
032d4c40cffe drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()
46a227a6cb90 drm/i915: WARN for eDP encoders in intel_dp_detect_dpcd()
5973f78ce699 drm/i915: Disable power asynchronously during DP AUX transfers
e96c9522db7b drm/i915: Add support for asynchronous display power disabling
105dea8ad0dc drm/i915: Verify power domains state during suspend in all cases
51d597ed4135 drm/i915: Add support for tracking wakerefs w/o power-on guarantee

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers (rev2)

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

Series: drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers (rev2)
URL   : https://patchwork.freedesktop.org/series/60195/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029_full -> Patchwork_12948_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_pm_rpm@dpms-lpsp:
- shard-skl:  [PASS][1] -> [INCOMPLETE][2] ([fdo#107807] / 
[fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl2/igt@i915_pm_...@dpms-lpsp.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-skl9/igt@i915_pm_...@dpms-lpsp.html

  * igt@i915_suspend@fence-restore-untiled:
- shard-apl:  [PASS][3] -> [DMESG-WARN][4] ([fdo#108566]) +4 
similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl2/igt@i915_susp...@fence-restore-untiled.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-apl7/igt@i915_susp...@fence-restore-untiled.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-iclb: [PASS][5] -> [FAIL][6] ([fdo#103167]) +5 similar 
issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb6/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-glk:  [PASS][7] -> [SKIP][8] ([fdo#109271]) +1 similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk9/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-glk1/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
- shard-skl:  [PASS][9] -> [FAIL][10] ([fdo#108145])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl10/igt@kms_plane_alpha_bl...@pipe-b-constant-alpha-min.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-skl3/igt@kms_plane_alpha_bl...@pipe-b-constant-alpha-min.html

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

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441]) +3 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- shard-kbl:  [PASS][15] -> [FAIL][16] ([fdo#99912])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-kbl3/igt@kms_setm...@basic.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-kbl6/igt@kms_setm...@basic.html

  
 Possible fixes 

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

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-hsw:  [FAIL][19] ([fdo#103355]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-hsw6/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-hsw7/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html

  * igt@kms_draw_crc@draw-method-xrgb-render-xtiled:
- shard-skl:  [FAIL][21] ([fdo#103184] / [fdo#103232]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl4/igt@kms_draw_...@draw-method-xrgb-render-xtiled.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/shard-skl8/igt@kms_draw_...@draw-method-xrgb-render-xtiled.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-glk:  [INCOMPLETE][23] ([fdo#103359] / [fdo#110581] / 
[k.org#198133]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk4/igt@kms_f...@2x-flip-vs-suspend-interruptible.html
   [24]: 

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Add support for asynchronous display power disabling

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

Series: drm/i915: Add support for asynchronous display power disabling
URL   : https://patchwork.freedesktop.org/series/60242/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: Add support for tracking wakerefs w/o power-on guarantee
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3448:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3449:16: warning: expression 
using sizeof(void)

Commit: drm/i915: Verify power domains state during suspend in all cases
Okay!

Commit: drm/i915: Add support for asynchronous display power disabling
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3449:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3454:16: warning: expression 
using sizeof(void)

Commit: drm/i915: Disable power asynchronously during DP AUX transfers
Okay!

Commit: drm/i915: WARN for eDP encoders in intel_dp_detect_dpcd()
Okay!

Commit: drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()
Okay!

Commit: drm/i915: Remove the unneeded AUX power ref from intel_dp_hpd_pulse()
Okay!

Commit: drm/i915: Replace use of PLLS power domain with DISPLAY_CORE domain
Okay!

Commit: drm/i915: Avoid taking the PPS lock for non-eDP/VLV/CHV
Okay!

Commit: drm/i915: Assert that TypeC ports are not used for eDP
Okay!

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add support for asynchronous display power disabling

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

Series: drm/i915: Add support for asynchronous display power disabling
URL   : https://patchwork.freedesktop.org/series/60242/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
51d597ed4135 drm/i915: Add support for tracking wakerefs w/o power-on guarantee
105dea8ad0dc drm/i915: Verify power domains state during suspend in all cases
e96c9522db7b drm/i915: Add support for asynchronous display power disabling
5973f78ce699 drm/i915: Disable power asynchronously during DP AUX transfers
46a227a6cb90 drm/i915: WARN for eDP encoders in intel_dp_detect_dpcd()
032d4c40cffe drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()
5ed3bacef970 drm/i915: Remove the unneeded AUX power ref from 
intel_dp_hpd_pulse()
-:12: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 1c767b339b39 ("drm/i915: take 
display port power domain in DP HPD handler")'
#12: 
commit 1c767b339b3938b19076ffdc9d70aa1e4235a45b

-:21: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 7d23e3c37bb3 ("drm/i915: 
Cleaning up intel_dp_hpd_pulse")'
#21: 
commit 7d23e3c37bb3fc6952dc84007ee60cb533fd2d5c

total: 2 errors, 0 warnings, 0 checks, 68 lines checked
e597618a7634 drm/i915: Replace use of PLLS power domain with DISPLAY_CORE domain
08ce0f3433d1 drm/i915: Avoid taking the PPS lock for non-eDP/VLV/CHV
ba990253d5d8 drm/i915: Assert that TypeC ports are not used for eDP

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: the great header refactoring, part three

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

Series: drm/i915: the great header refactoring, part three
URL   : https://patchwork.freedesktop.org/series/60215/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029_full -> Patchwork_12947_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_pm_backlight@fade_with_suspend:
- shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#107820] / [fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb4/igt@i915_pm_backlight@fade_with_suspend.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-iclb1/igt@i915_pm_backlight@fade_with_suspend.html

  * igt@i915_pm_rpm@pm-tiling:
- shard-skl:  [PASS][3] -> [INCOMPLETE][4] ([fdo#107807] / 
[fdo#110581])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl8/igt@i915_pm_...@pm-tiling.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-skl8/igt@i915_pm_...@pm-tiling.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk:  [PASS][5] -> [FAIL][6] ([fdo#104873])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk5/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-glk9/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-hsw:  [PASS][7] -> [INCOMPLETE][8] ([fdo#103540] / 
[fdo#110581])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-hsw2/igt@kms_f...@2x-flip-vs-suspend-interruptible.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-hsw6/igt@kms_f...@2x-flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +5 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb5/igt@kms_frontbuffer_track...@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-offscren-pri-shrfb-draw-pwrite.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-glk:  [PASS][11] -> [SKIP][12] ([fdo#109271]) +1 similar 
issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk9/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-glk3/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#108145]) +1 similar 
issue
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl10/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-skl5/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109441]) +3 similar 
issues
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-iclb4/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- shard-kbl:  [PASS][17] -> [FAIL][18] ([fdo#99912])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-kbl3/igt@kms_setm...@basic.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-kbl7/igt@kms_setm...@basic.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-apl:  [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +1 
similar issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl5/igt@kms_vbl...@pipe-c-ts-continuation-suspend.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-apl7/igt@kms_vbl...@pipe-c-ts-continuation-suspend.html

  
 Possible fixes 

  * igt@i915_suspend@sysfs-reader:
- shard-apl:  [DMESG-WARN][21] ([fdo#108566]) -> [PASS][22] +6 
similar issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl6/igt@i915_susp...@sysfs-reader.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/shard-apl1/igt@i915_susp...@sysfs-reader.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-hsw:  [FAIL][23] ([fdo#103355]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-hsw6/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html
   [24]: 

Re: [Intel-gfx] [PATCH] drm/i915/guc: Fix runtime suspend

2019-05-02 Thread Daniele Ceraolo Spurio



On 5/2/19 1:30 PM, Chris Wilson wrote:

We are not allowed to rpm_get() inside the runtime-suspend callback, so
split the intel_uc_suspend() into the core that assumes the caller holds
the wakeref (intel_uc_runtime_suspend), and one acquires the wakeref as
necessary (intel_uc_suspend).

Reported-by: Daniele Ceraolo Spurio 
Fixes: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson 
Cc: Daniele Ceraolo Spurio 


Reviewed-by: Daniele Ceraolo Spurio 

And we now have a new failure to look at that we weren't seeing before 
because the execution was cut short... :(


Daniele


---
  drivers/gpu/drm/i915/i915_drv.c |  2 +-
  drivers/gpu/drm/i915/intel_uc.c | 25 +
  drivers/gpu/drm/i915/intel_uc.h |  1 +
  3 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 21dac5a09fbe..74e46d129e6c 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -2886,7 +2886,7 @@ static int intel_runtime_suspend(struct device *kdev)
 */
i915_gem_runtime_suspend(dev_priv);
  
-	intel_uc_suspend(dev_priv);

+   intel_uc_runtime_suspend(dev_priv);
  
  	intel_runtime_pm_disable_interrupts(dev_priv);
  
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c

index 01ea36e3150c..1ee70df51627 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -481,22 +481,31 @@ void intel_uc_reset_prepare(struct drm_i915_private *i915)
intel_uc_sanitize(i915);
  }
  
-void intel_uc_suspend(struct drm_i915_private *i915)

+void intel_uc_runtime_suspend(struct drm_i915_private *i915)
  {
struct intel_guc *guc = >guc;
-   intel_wakeref_t wakeref;
int err;
  
  	if (guc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)

return;
  
-	with_intel_runtime_pm(i915, wakeref) {

-   err = intel_guc_suspend(guc);
-   if (err)
-   DRM_DEBUG_DRIVER("Failed to suspend GuC, err=%d", err);
+   err = intel_guc_suspend(guc);
+   if (err)
+   DRM_DEBUG_DRIVER("Failed to suspend GuC, err=%d", err);
  
-		guc_disable_communication(guc);

-   }
+   guc_disable_communication(guc);
+}
+
+void intel_uc_suspend(struct drm_i915_private *i915)
+{
+   struct intel_guc *guc = >guc;
+   intel_wakeref_t wakeref;
+
+   if (guc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
+   return;
+
+   with_intel_runtime_pm(i915, wakeref)
+   intel_uc_runtime_suspend(i915);
  }
  
  int intel_uc_resume(struct drm_i915_private *i915)

diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h
index c92436b1f1c5..3ea06c87dfcd 100644
--- a/drivers/gpu/drm/i915/intel_uc.h
+++ b/drivers/gpu/drm/i915/intel_uc.h
@@ -40,6 +40,7 @@ int intel_uc_init(struct drm_i915_private *dev_priv);
  void intel_uc_fini(struct drm_i915_private *dev_priv);
  void intel_uc_reset_prepare(struct drm_i915_private *i915);
  void intel_uc_suspend(struct drm_i915_private *i915);
+void intel_uc_runtime_suspend(struct drm_i915_private *i915);
  int intel_uc_resume(struct drm_i915_private *dev_priv);
  
  static inline bool intel_uc_is_using_guc(struct drm_i915_private *i915)



___
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/perf: Refactor oa object to better manage resources (rev2)

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

Series: drm/i915/perf: Refactor oa object to better manage resources (rev2)
URL   : https://patchwork.freedesktop.org/series/60176/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6031 -> Patchwork_12954


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/60176/revisions/2/mbox/

Known issues


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

### IGT changes ###

 Possible fixes 

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

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

  
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (48 -> 43)
--

  Additional (2): fi-blb-e6850 fi-icl-u3 
  Missing(7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6031 -> Patchwork_12954

  CI_DRM_6031: 6f67b24f2fc7b90a94e4163ae4cd01bc2783fbfd @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12954: e5599fdc53eb2805c3155cdee904dd82859863d7 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e5599fdc53eb drm/i915/perf: Refactor oa object to better manage resources

== Logs ==

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

Re: [Intel-gfx] [PATCH 2/2] RFC: soft/hardlookup: taint kernel

2019-05-02 Thread Laurence Oberman
On Thu, 2019-05-02 at 21:42 +0200, Daniel Vetter wrote:
> There's the soft/hardlookup_panic sysctls, but that's a bit an
> extreme
> measure. As a fallback taint at least the machine.
> 
> Our CI uses this to decide when a reboot is necessary, plus to figure
> out whether the kernel is still happy.
> 
> Signed-off-by: Daniel Vetter 
> Cc: Thomas Gleixner 
> Cc: Ingo Molnar 
> Cc: Peter Zijlstra 
> Cc: Valdis Kletnieks 
> Cc: Laurence Oberman 
> Cc: Vincent Whitchurch 
> Cc: Don Zickus 
> Cc: Andrew Morton 
> Cc: Sergey Senozhatsky 
> Cc: Sinan Kaya 
> Cc: Daniel Vetter 
> ---
>  kernel/watchdog.c | 2 ++
>  kernel/watchdog_hld.c | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index 6a5787233113..de7a60503517 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -469,6 +469,8 @@ static enum hrtimer_restart
> watchdog_timer_fn(struct hrtimer *hrtimer)
>   add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK);
>   if (softlockup_panic)
>   panic("softlockup: hung tasks");
> + else
> + add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
>   __this_cpu_write(soft_watchdog_warn, true);
>   } else
>   __this_cpu_write(soft_watchdog_warn, false);
> diff --git a/kernel/watchdog_hld.c b/kernel/watchdog_hld.c
> index 247bf0b1582c..cce46cf75d76 100644
> --- a/kernel/watchdog_hld.c
> +++ b/kernel/watchdog_hld.c
> @@ -154,6 +154,8 @@ static void watchdog_overflow_callback(struct
> perf_event *event,
>  
>   if (hardlockup_panic)
>   nmi_panic(regs, "Hard LOCKUP");
> + else
> + add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
>  
>   __this_cpu_write(hard_watchdog_warn, true);
>   return;

This looks OK to me, could be useful to know we would have triggered
had the flags been set.

Reviewed-by: Laurence Oberman 

___
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 RFC: hung_task: taint kernel (rev2)

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

Series: series starting with RFC: hung_task: taint kernel (rev2)
URL   : https://patchwork.freedesktop.org/series/60228/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6031 -> Patchwork_12953


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/60228/revisions/2/mbox/

Known issues


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

### IGT changes ###

 Possible fixes 

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

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

  
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (48 -> 42)
--

  Additional (2): fi-blb-e6850 fi-icl-u3 
  Missing(8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-whl-u fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6031 -> Patchwork_12953

  CI_DRM_6031: 6f67b24f2fc7b90a94e4163ae4cd01bc2783fbfd @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12953: 1b7921825c1b6d3e728f8551e6108d7efbb0dbd6 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

1b7921825c1b RFC: soft/hardlookup: taint kernel
fb98bc124cb7 RFC: hung_task: taint kernel

== Logs ==

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

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/perf: Refactor oa object to better manage resources (rev2)

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

Series: drm/i915/perf: Refactor oa object to better manage resources (rev2)
URL   : https://patchwork.freedesktop.org/series/60176/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915/perf: Refactor oa object to better manage resources
-O:drivers/gpu/drm/i915/i915_perf.c:1430:15: warning: memset with byte count of 
16777216
-O:drivers/gpu/drm/i915/i915_perf.c:1488:15: warning: memset with byte count of 
16777216
+drivers/gpu/drm/i915/i915_perf.c:1438:15: warning: memset with byte count of 
16777216
+drivers/gpu/drm/i915/i915_perf.c:1497:15: warning: memset with byte count of 
16777216
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3448:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3443:16: warning: expression 
using sizeof(void)

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

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/execlists: Flush the tasklet on parking

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

Series: series starting with [1/2] drm/i915/execlists: Flush the tasklet on 
parking
URL   : https://patchwork.freedesktop.org/series/60216/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6029_full -> Patchwork_12946_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@gem_exec_capture@capture-vebox:
- shard-kbl:  [PASS][1] -> [DMESG-WARN][2] +23 similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-kbl7/igt@gem_exec_capt...@capture-vebox.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl5/igt@gem_exec_capt...@capture-vebox.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-skl:  [PASS][3] -> [DMESG-WARN][4] +19 similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl6/igt@gem_exec_sched...@preemptive-hang-bsd.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-skl10/igt@gem_exec_sched...@preemptive-hang-bsd.html

  * igt@kms_flip@flip-vs-modeset-vs-hang:
- shard-apl:  [PASS][5] -> [DMESG-WARN][6] +17 similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl5/igt@kms_f...@flip-vs-modeset-vs-hang.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-apl3/igt@kms_f...@flip-vs-modeset-vs-hang.html

  * igt@kms_vblank@pipe-a-wait-idle-hang:
- shard-skl:  NOTRUN -> [DMESG-WARN][7]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-skl9/igt@kms_vbl...@pipe-a-wait-idle-hang.html

  * igt@prime_busy@wait-hang-bsd:
- shard-iclb: [PASS][8] -> [DMESG-WARN][9] +19 similar issues
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb1/igt@prime_b...@wait-hang-bsd.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-iclb7/igt@prime_b...@wait-hang-bsd.html
- shard-glk:  [PASS][10] -> [DMESG-WARN][11] +13 similar issues
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk7/igt@prime_b...@wait-hang-bsd.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-glk4/igt@prime_b...@wait-hang-bsd.html

  * igt@runner@aborted:
- shard-kbl:  NOTRUN -> ([FAIL][12], [FAIL][13], [FAIL][14], 
[FAIL][15], [FAIL][16], [FAIL][17], [FAIL][18], [FAIL][19], [FAIL][20], 
[FAIL][21], [FAIL][22], [FAIL][23], [FAIL][24], [FAIL][25], [FAIL][26], 
[FAIL][27], [FAIL][28], [FAIL][29], [FAIL][30], [FAIL][31], [FAIL][32], 
[FAIL][33], [FAIL][34], [FAIL][35], [FAIL][36], [FAIL][37], [FAIL][38], 
[FAIL][39]) ([fdo#103841])
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl4/igt@run...@aborted.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl6/igt@run...@aborted.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl3/igt@run...@aborted.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl4/igt@run...@aborted.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl6/igt@run...@aborted.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl6/igt@run...@aborted.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl4/igt@run...@aborted.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl7/igt@run...@aborted.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl6/igt@run...@aborted.html
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl4/igt@run...@aborted.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl7/igt@run...@aborted.html
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl5/igt@run...@aborted.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl6/igt@run...@aborted.html
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl3/igt@run...@aborted.html
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl5/igt@run...@aborted.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl7/igt@run...@aborted.html
   [28]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/shard-kbl5/igt@run...@aborted.html
   [29]: 

[Intel-gfx] [PATCH 08/10] drm/i915: Replace use of PLLS power domain with DISPLAY_CORE domain

2019-05-02 Thread Imre Deak
There isn't a separate power domain specific to PLLs. When programming
them we require the same power domain to be enabled which is needed when
accessing other display core parts (not specific to any
pipe/port/transcoder). This corresponds to the DISPLAY_CORE domain added
previously in this patchset, so use that instead to save bits in the
power domain mask.

Cc: Ville Syrjala 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_display.c|  2 +-
 drivers/gpu/drm/i915/intel_display.h|  1 -
 drivers/gpu/drm/i915/intel_dpll_mgr.c   | 36 -
 drivers/gpu/drm/i915/intel_runtime_pm.c |  2 --
 4 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index dd65d7c521c1..45c9d3e10c97 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6349,7 +6349,7 @@ static u64 get_crtc_power_domains(struct drm_crtc *crtc,
mask |= BIT_ULL(POWER_DOMAIN_AUDIO);
 
if (crtc_state->shared_dpll)
-   mask |= BIT_ULL(POWER_DOMAIN_PLLS);
+   mask |= BIT_ULL(POWER_DOMAIN_DISPLAY_CORE);
 
return mask;
 }
diff --git a/drivers/gpu/drm/i915/intel_display.h 
b/drivers/gpu/drm/i915/intel_display.h
index fd62a6f40d22..e1324c3b2b52 100644
--- a/drivers/gpu/drm/i915/intel_display.h
+++ b/drivers/gpu/drm/i915/intel_display.h
@@ -249,7 +249,6 @@ enum intel_display_power_domain {
POWER_DOMAIN_PORT_OTHER,
POWER_DOMAIN_VGA,
POWER_DOMAIN_AUDIO,
-   POWER_DOMAIN_PLLS,
POWER_DOMAIN_AUX_A,
POWER_DOMAIN_AUX_B,
POWER_DOMAIN_AUX_C,
diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c 
b/drivers/gpu/drm/i915/intel_dpll_mgr.c
index dda5ddb49b34..0d029ffb8ce0 100644
--- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
@@ -350,7 +350,7 @@ static bool ibx_pch_dpll_get_hw_state(struct 
drm_i915_private *dev_priv,
u32 val;
 
wakeref = intel_display_power_get_if_enabled(dev_priv,
-POWER_DOMAIN_PLLS);
+POWER_DOMAIN_DISPLAY_CORE);
if (!wakeref)
return false;
 
@@ -359,7 +359,7 @@ static bool ibx_pch_dpll_get_hw_state(struct 
drm_i915_private *dev_priv,
hw_state->fp0 = I915_READ(PCH_FP0(id));
hw_state->fp1 = I915_READ(PCH_FP1(id));
 
-   intel_display_power_put(dev_priv, POWER_DOMAIN_PLLS, wakeref);
+   intel_display_power_put(dev_priv, POWER_DOMAIN_DISPLAY_CORE, wakeref);
 
return val & DPLL_VCO_ENABLE;
 }
@@ -518,14 +518,14 @@ static bool hsw_ddi_wrpll_get_hw_state(struct 
drm_i915_private *dev_priv,
u32 val;
 
wakeref = intel_display_power_get_if_enabled(dev_priv,
-POWER_DOMAIN_PLLS);
+POWER_DOMAIN_DISPLAY_CORE);
if (!wakeref)
return false;
 
val = I915_READ(WRPLL_CTL(id));
hw_state->wrpll = val;
 
-   intel_display_power_put(dev_priv, POWER_DOMAIN_PLLS, wakeref);
+   intel_display_power_put(dev_priv, POWER_DOMAIN_DISPLAY_CORE, wakeref);
 
return val & WRPLL_PLL_ENABLE;
 }
@@ -538,14 +538,14 @@ static bool hsw_ddi_spll_get_hw_state(struct 
drm_i915_private *dev_priv,
u32 val;
 
wakeref = intel_display_power_get_if_enabled(dev_priv,
-POWER_DOMAIN_PLLS);
+POWER_DOMAIN_DISPLAY_CORE);
if (!wakeref)
return false;
 
val = I915_READ(SPLL_CTL);
hw_state->spll = val;
 
-   intel_display_power_put(dev_priv, POWER_DOMAIN_PLLS, wakeref);
+   intel_display_power_put(dev_priv, POWER_DOMAIN_DISPLAY_CORE, wakeref);
 
return val & SPLL_PLL_ENABLE;
 }
@@ -1003,7 +1003,7 @@ static bool skl_ddi_pll_get_hw_state(struct 
drm_i915_private *dev_priv,
bool ret;
 
wakeref = intel_display_power_get_if_enabled(dev_priv,
-POWER_DOMAIN_PLLS);
+POWER_DOMAIN_DISPLAY_CORE);
if (!wakeref)
return false;
 
@@ -1024,7 +1024,7 @@ static bool skl_ddi_pll_get_hw_state(struct 
drm_i915_private *dev_priv,
ret = true;
 
 out:
-   intel_display_power_put(dev_priv, POWER_DOMAIN_PLLS, wakeref);
+   intel_display_power_put(dev_priv, POWER_DOMAIN_DISPLAY_CORE, wakeref);
 
return ret;
 }
@@ -1040,7 +1040,7 @@ static bool skl_ddi_dpll0_get_hw_state(struct 
drm_i915_private *dev_priv,
bool ret;
 
wakeref = intel_display_power_get_if_enabled(dev_priv,
-POWER_DOMAIN_PLLS);
+POWER_DOMAIN_DISPLAY_CORE);
if 

[Intel-gfx] [PATCH 06/10] drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()

2019-05-02 Thread Imre Deak
We don't need the AUX power for the whole duration of the detect, only
when we're doing AUX transfers. The AUX transfer function takes its own
reference on the AUX power domain already. The two places during detect
which access display core registers (not specific to a
pipe/port/transcoder) only need the power domain that is required for
that access. That power domain is equivalent to the device global power
domain on most platforms (enabled whenever we hold a runtime PM
reference) except on CHV/VLV where it's equivalent to the display power
well.

Add a new power domain that reflects the above, and use this at the two
spots accessing registers. With that we can avoid taking the AUX
reference for the whole duration of the detect function.

Put the domains asynchronously to avoid the unneeded on-off-on toggling.

Cc: Ville Syrjala 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_display.h|  1 +
 drivers/gpu/drm/i915/intel_dp.c | 32 +
 drivers/gpu/drm/i915/intel_runtime_pm.c |  4 
 3 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.h 
b/drivers/gpu/drm/i915/intel_display.h
index 2220588e86ac..fd62a6f40d22 100644
--- a/drivers/gpu/drm/i915/intel_display.h
+++ b/drivers/gpu/drm/i915/intel_display.h
@@ -218,6 +218,7 @@ enum aux_ch {
 #define aux_ch_name(a) ((a) + 'A')
 
 enum intel_display_power_domain {
+   POWER_DOMAIN_DISPLAY_CORE,
POWER_DOMAIN_PIPE_A,
POWER_DOMAIN_PIPE_B,
POWER_DOMAIN_PIPE_C,
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1865286eacae..fee1f291aba8 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -214,15 +214,21 @@ static int intel_dp_get_fia_supported_lane_count(struct 
intel_dp *intel_dp)
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
enum tc_port tc_port = intel_port_to_tc(dev_priv, dig_port->base.port);
+   intel_wakeref_t wakeref;
u32 lane_info;
 
if (tc_port == PORT_TC_NONE || dig_port->tc_type != TC_PORT_TYPEC)
return 4;
 
+   wakeref = intel_display_power_get(dev_priv, POWER_DOMAIN_DISPLAY_CORE);
+
lane_info = (I915_READ(PORT_TX_DFLEXDPSP) &
 DP_LANE_ASSIGNMENT_MASK(tc_port)) >>
DP_LANE_ASSIGNMENT_SHIFT(tc_port);
 
+   intel_display_power_put_async(dev_priv, POWER_DOMAIN_DISPLAY_CORE,
+ wakeref);
+
switch (lane_info) {
default:
MISSING_CASE(lane_info);
@@ -5292,7 +5298,7 @@ static bool icl_digital_port_connected(struct 
intel_encoder *encoder)
  *
  * Return %true if port is connected, %false otherwise.
  */
-bool intel_digital_port_connected(struct intel_encoder *encoder)
+static bool __intel_digital_port_connected(struct intel_encoder *encoder)
 {
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 
@@ -5322,6 +5328,20 @@ bool intel_digital_port_connected(struct intel_encoder 
*encoder)
return false;
 }
 
+bool intel_digital_port_connected(struct intel_encoder *encoder)
+{
+   struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
+   intel_wakeref_t wakeref;
+   bool res;
+
+   wakeref = intel_display_power_get(dev_priv, POWER_DOMAIN_DISPLAY_CORE);
+   res = __intel_digital_port_connected(encoder);
+   intel_display_power_put_async(dev_priv, POWER_DOMAIN_DISPLAY_CORE,
+ wakeref);
+
+   return res;
+}
+
 static struct edid *
 intel_dp_get_edid(struct intel_dp *intel_dp)
 {
@@ -5375,16 +5395,11 @@ intel_dp_detect(struct drm_connector *connector,
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
struct intel_encoder *encoder = _port->base;
enum drm_connector_status status;
-   enum intel_display_power_domain aux_domain =
-   intel_aux_power_domain(dig_port);
-   intel_wakeref_t wakeref;
 
DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
  connector->base.id, connector->name);

WARN_ON(!drm_modeset_is_locked(_priv->drm.mode_config.connection_mutex));
 
-   wakeref = intel_display_power_get(dev_priv, aux_domain);
-
/* Can't disconnect eDP */
if (intel_dp_is_edp(intel_dp))
status = edp_detect(intel_dp);
@@ -5448,10 +5463,8 @@ intel_dp_detect(struct drm_connector *connector,
int ret;
 
ret = intel_dp_retrain_link(encoder, ctx);
-   if (ret) {
-   intel_display_power_put(dev_priv, aux_domain, wakeref);
+   if (ret)
return ret;
-   }
}
 
/*
@@ -5473,7 +5486,6 @@ intel_dp_detect(struct drm_connector *connector,
if (status != connector_status_connected && !intel_dp->is_mst)
   

[Intel-gfx] [PATCH 03/10] drm/i915: Add support for asynchronous display power disabling

2019-05-02 Thread Imre Deak
By disabling a power domain asynchronously we can restrict holding a
reference on that power domain to the actual code sequence that
requires the power to be on for the HW access it's doing, by also
avoiding unneeded on-off-on togglings of the power domain (since the
disabling happens with a delay).

One benefit is potential power saving if the delay is chosen properly.

In the case of the AUX power domain holding the reference on the domain
for the minimal amount of time at defined spots is also a requirement:
on ICL we need a stricter control of when either kind of AUX power
domain (TBT-alt or DP-alt) can be enabled and the locking we need for
that becomes problematic (due to dependencies on other locks) if we
allow the reference to be held for arbitrarily long periods/places in
the code.

I chose the disabling delay to be 100msec for now to avoid the unneeded
toggling (and so not to introduce dmesg spamming) in the DP MST sideband
signaling code. We could optimize this delay later.

Cc: Chris Wilson 
Cc: Ville Syrjala 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/i915_drv.h |   5 +
 drivers/gpu/drm/i915/intel_runtime_pm.c | 316 +++-
 drivers/gpu/drm/i915/intel_runtime_pm.h |   4 +
 3 files changed, 315 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9fb26634a6be..53a6b0da3571 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -839,6 +839,11 @@ struct i915_power_domains {
 
struct mutex lock;
int domain_use_count[POWER_DOMAIN_NUM];
+
+   struct delayed_work async_put_work;
+   intel_wakeref_t async_put_wakeref;
+   u64 async_put_domains[2];
+
struct i915_power_well *power_wells;
 };
 
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index cc45cbcb43cb..bc0693e3614e 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1883,6 +1883,130 @@ static void chv_pipe_power_well_disable(struct 
drm_i915_private *dev_priv,
chv_set_pipe_power_well(dev_priv, power_well, false);
 }
 
+static intel_wakeref_t
+intel_runtime_pm_get_raw(struct drm_i915_private *i915);
+static void
+intel_runtime_pm_put_raw(struct drm_i915_private *i915, intel_wakeref_t wref);
+
+static u64 __async_put_domains_mask(struct i915_power_domains *power_domains)
+{
+   return power_domains->async_put_domains[0] |
+  power_domains->async_put_domains[1];
+}
+
+#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
+
+static bool
+assert_async_put_domain_masks_disjoint(struct i915_power_domains 
*power_domains)
+{
+   return !WARN_ON(power_domains->async_put_domains[0] &
+   power_domains->async_put_domains[1]);
+}
+
+static bool
+__async_put_domains_state_ok(struct i915_power_domains *power_domains)
+{
+   enum intel_display_power_domain domain;
+   bool err = false;
+
+   err |= !assert_async_put_domain_masks_disjoint(power_domains);
+   err |= WARN_ON(!!power_domains->async_put_wakeref !=
+  !!__async_put_domains_mask(power_domains));
+
+   for_each_power_domain(domain, __async_put_domains_mask(power_domains))
+   err |= WARN_ON(power_domains->domain_use_count[domain] != 1);
+
+   return !err;
+}
+
+static void print_power_domains(struct i915_power_domains *power_domains,
+   const char *prefix, u64 mask)
+{
+   enum intel_display_power_domain domain;
+
+   DRM_DEBUG_DRIVER("%s (%lu):\n", prefix, hweight64(mask));
+   for_each_power_domain(domain, mask)
+   DRM_DEBUG_DRIVER("%s use_count %d\n",
+intel_display_power_domain_str(domain),
+power_domains->domain_use_count[domain]);
+}
+
+static void
+print_async_put_domains_state(struct i915_power_domains *power_domains)
+{
+   DRM_DEBUG_DRIVER("async_put_wakeref %u\n",
+power_domains->async_put_wakeref);
+
+   print_power_domains(power_domains, "async_put_domains[0]",
+   power_domains->async_put_domains[0]);
+   print_power_domains(power_domains, "async_put_domains[1]",
+   power_domains->async_put_domains[1]);
+}
+
+static void
+verify_async_put_domains_state(struct i915_power_domains *power_domains)
+{
+   if (!__async_put_domains_state_ok(power_domains))
+   print_async_put_domains_state(power_domains);
+}
+
+#else
+
+static void
+assert_async_put_domain_masks_disjoint(struct i915_power_domains 
*power_domains)
+{
+}
+
+static void
+verify_async_put_domains_state(struct i915_power_domains *power_domains)
+{
+}
+
+#endif /* CONFIG_DRM_I915_DEBUG_RUNTIME_PM */
+
+static u64 async_put_domains_mask(struct i915_power_domains *power_domains)
+{
+   assert_async_put_domain_masks_disjoint(power_domains);
+
+   return 

[Intel-gfx] [PATCH 10/10] drm/i915: Assert that TypeC ports are not used for eDP

2019-05-02 Thread Imre Deak
Add an assert that we don't use TypeC ports for eDP. That may in theory
be possible on TypeC legacy ports, but I'm not sure if that's a
practical scenario, so let's deal with that only if there's a use case.
Adding support for that wouldn't be too difficult, since TypeC mode
switching is not possible on TypeC legacy ports.

Cc: Ville Syrjala 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_dp.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1ee9b7ebd801..f8b384cb04d6 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -7210,10 +7210,16 @@ intel_dp_init_connector(struct intel_digital_port 
*intel_dig_port,
intel_dp->DP = I915_READ(intel_dp->output_reg);
intel_dp->attached_connector = intel_connector;
 
-   if (intel_dp_is_port_edp(dev_priv, port))
+   if (intel_dp_is_port_edp(dev_priv, port)) {
+   /*
+* Currently we don't support eDP on TypeC ports, although in
+* theory it could work on TypeC legacy ports.
+*/
+   WARN_ON(intel_port_is_tc(dev_priv, port));
type = DRM_MODE_CONNECTOR_eDP;
-   else
+   } else {
type = DRM_MODE_CONNECTOR_DisplayPort;
+   }
 
if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
intel_dp->active_pipe = vlv_active_pipe(intel_dp);
-- 
2.17.1

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

[Intel-gfx] [PATCH 02/10] drm/i915: Verify power domains state during suspend in all cases

2019-05-02 Thread Imre Deak
There is no reason why we couldn't verify the power domains state during
suspend in all cases, so do that. I overlooked this when originally
adding the check.

Cc: Chris Wilson 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_runtime_pm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 4a7bfc945322..cc45cbcb43cb 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -4251,10 +4251,10 @@ void intel_power_domains_suspend(struct 
drm_i915_private *i915,
 * Even if power well support was disabled we still want to disable
 * power wells if power domains must be deinitialized for suspend.
 */
-   if (!i915_modparams.disable_power_well) {
+   if (!i915_modparams.disable_power_well)
intel_display_power_put_unchecked(i915, POWER_DOMAIN_INIT);
-   intel_power_domains_verify_state(i915);
-   }
+
+   intel_power_domains_verify_state(i915);
 
if (INTEL_GEN(i915) >= 11)
icl_display_core_uninit(i915);
-- 
2.17.1

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

[Intel-gfx] [PATCH 05/10] drm/i915: WARN for eDP encoders in intel_dp_detect_dpcd()

2019-05-02 Thread Imre Deak
We are not calling this function for eDP, so add an early assert about
this for clarity.

Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_dp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 0475601c2f33..1865286eacae 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4842,15 +4842,15 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
u8 *dpcd = intel_dp->dpcd;
u8 type;
 
+   if (WARN_ON(intel_dp_is_edp(intel_dp)))
+   return connector_status_connected;
+
if (lspcon->active)
lspcon_resume(lspcon);
 
if (!intel_dp_get_dpcd(intel_dp))
return connector_status_disconnected;
 
-   if (intel_dp_is_edp(intel_dp))
-   return connector_status_connected;
-
/* if there's no downstream port, we're done */
if (!drm_dp_is_branch(dpcd))
return connector_status_connected;
-- 
2.17.1

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

[Intel-gfx] [PATCH 07/10] drm/i915: Remove the unneeded AUX power ref from intel_dp_hpd_pulse()

2019-05-02 Thread Imre Deak
The power get/put was added in

commit 1c767b339b3938b19076ffdc9d70aa1e4235a45b
Author: Imre Deak 
Date:   Mon Aug 18 14:42:42 2014 +0300

drm/i915: take display port power domain in DP HPD handle

to account for the HW access in ibx_digital_port_connected(). This
latter call was in turn removed in

commit 7d23e3c37bb3fc6952dc84007ee60cb533fd2d5c
Author: Shubhangi Shrivastava 
Date:   Wed Mar 30 18:05:23 2016 +0530

drm/i915: Cleaning up intel_dp_hpd_pulse

after which we didn't actually need the power reference.

One way we are accessing the HW during HPD pulse handling is via DP AUX
transfers, but the transfer function takes its own reference, so doesn't
need the reference in intel_dp_hpd_pulse().

The other spot is in the PSR code doing register access, for that we can
use the DISPLAY_CORE power domain in a similar way done in the previous
patch.

Cc: Ville Syrjala 
Cc: Rodrigo Vivi 
Cc: José Roberto de Souza 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_dp.c  | 20 
 drivers/gpu/drm/i915/intel_psr.c |  6 ++
 2 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index fee1f291aba8..f56cbda59fb3 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -6306,9 +6306,6 @@ enum irqreturn
 intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
 {
struct intel_dp *intel_dp = _dig_port->dp;
-   struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
-   enum irqreturn ret = IRQ_NONE;
-   intel_wakeref_t wakeref;
 
if (long_hpd && intel_dig_port->base.type == INTEL_OUTPUT_EDP) {
/*
@@ -6331,9 +6328,6 @@ intel_dp_hpd_pulse(struct intel_digital_port 
*intel_dig_port, bool long_hpd)
return IRQ_NONE;
}
 
-   wakeref = intel_display_power_get(dev_priv,
- 
intel_aux_power_domain(intel_dig_port));
-
if (intel_dp->is_mst) {
if (intel_dp_check_mst_status(intel_dp) == -EINVAL) {
/*
@@ -6345,7 +6339,8 @@ intel_dp_hpd_pulse(struct intel_digital_port 
*intel_dig_port, bool long_hpd)
intel_dp->is_mst = false;
drm_dp_mst_topology_mgr_set_mst(_dp->mst_mgr,
intel_dp->is_mst);
-   goto put_power;
+
+   return IRQ_NONE;
}
}
 
@@ -6355,17 +6350,10 @@ intel_dp_hpd_pulse(struct intel_digital_port 
*intel_dig_port, bool long_hpd)
handled = intel_dp_short_pulse(intel_dp);
 
if (!handled)
-   goto put_power;
+   return IRQ_NONE;
}
 
-   ret = IRQ_HANDLED;
-
-put_power:
-   intel_display_power_put(dev_priv,
-   intel_aux_power_domain(intel_dig_port),
-   wakeref);
-
-   return ret;
+   return IRQ_HANDLED;
 }
 
 /* check the VBT to see whether the eDP is on another port */
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 963663ba0edf..856a39c7ee77 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -1251,10 +1251,13 @@ void intel_psr_short_pulse(struct intel_dp *intel_dp)
const u8 errors = DP_PSR_RFB_STORAGE_ERROR |
  DP_PSR_VSC_SDP_UNCORRECTABLE_ERROR |
  DP_PSR_LINK_CRC_ERROR;
+   intel_wakeref_t wakeref;
 
if (!CAN_PSR(dev_priv) || !intel_dp_is_edp(intel_dp))
return;
 
+   wakeref = intel_display_power_get(dev_priv, POWER_DOMAIN_DISPLAY_CORE);
+
mutex_lock(>lock);
 
if (!psr->enabled || psr->dp != intel_dp)
@@ -1294,6 +1297,9 @@ void intel_psr_short_pulse(struct intel_dp *intel_dp)
drm_dp_dpcd_writeb(_dp->aux, DP_PSR_ERROR_STATUS, val);
 exit:
mutex_unlock(>lock);
+
+   intel_display_power_put_async(dev_priv, POWER_DOMAIN_DISPLAY_CORE,
+ wakeref);
 }
 
 bool intel_psr_enabled(struct intel_dp *intel_dp)
-- 
2.17.1

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

[Intel-gfx] [PATCH 01/10] drm/i915: Add support for tracking wakerefs w/o power-on guarantee

2019-05-02 Thread Imre Deak
It's useful to track runtime PM refs that don't guarantee a device
power-on state to the rest of the driver. One such case is holding a
reference that will be put asynchronously, during which normal users
without their own reference shouldn't access the HW. A follow-up patch
will add support for disabling display power domains asynchronously
which needs this.

For this we can track all references with a separate wakeref_track_count
and references guaranteeing a power-on state with the current
wakeref_count.

Follow-up patches will make use of the API added here, so add a
__used__ attribute quirk to keep git bisect working.

No functional changes.

Cc: Chris Wilson 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/i915_drv.h |   1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c | 121 
 2 files changed, 102 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9a634ba57ff9..9fb26634a6be 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1177,6 +1177,7 @@ struct skl_wm_params {
  */
 struct i915_runtime_pm {
atomic_t wakeref_count;
+   atomic_t wakeref_track_count;
bool suspended;
bool irqs_enabled;
 
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 30e7cb9d5801..4a7bfc945322 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -59,6 +59,12 @@
  * present for a given platform.
  */
 
+static void
+assert_raw_rpm_wakelock_held(struct drm_i915_private *i915)
+{
+   WARN_ON(!atomic_read(>runtime_pm.wakeref_track_count));
+}
+
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
 
 #include 
@@ -100,17 +106,18 @@ static void init_intel_runtime_pm_wakeref(struct 
drm_i915_private *i915)
struct i915_runtime_pm *rpm = >runtime_pm;
 
spin_lock_init(>debug.lock);
+   atomic_set(>wakeref_track_count, 0);
 }
 
 static noinline depot_stack_handle_t
-track_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+track_intel_runtime_pm_wakeref_raw(struct drm_i915_private *i915)
 {
struct i915_runtime_pm *rpm = >runtime_pm;
depot_stack_handle_t stack, *stacks;
unsigned long flags;
 
-   atomic_inc(>wakeref_count);
-   assert_rpm_wakelock_held(i915);
+   atomic_inc(>wakeref_track_count);
+   assert_raw_rpm_wakelock_held(i915);
 
if (!HAS_RUNTIME_PM(i915))
return -1;
@@ -139,6 +146,15 @@ track_intel_runtime_pm_wakeref(struct drm_i915_private 
*i915)
return stack;
 }
 
+static noinline depot_stack_handle_t
+track_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+   atomic_inc(>runtime_pm.wakeref_count);
+   assert_rpm_wakelock_held(i915);
+
+   return track_intel_runtime_pm_wakeref_raw(i915);
+}
+
 static void cancel_intel_runtime_pm_wakeref(struct drm_i915_private *i915,
depot_stack_handle_t stack)
 {
@@ -163,7 +179,7 @@ static void cancel_intel_runtime_pm_wakeref(struct 
drm_i915_private *i915,
 
if (WARN(!found,
 "Unmatched wakeref (tracking %lu), count %u\n",
-rpm->debug.count, atomic_read(>wakeref_count))) {
+rpm->debug.count, atomic_read(>wakeref_track_count))) {
char *buf;
 
buf = kmalloc(PAGE_SIZE, GFP_NOWAIT | __GFP_NOWARN);
@@ -235,15 +251,15 @@ __print_intel_runtime_pm_wakeref(struct drm_printer *p,
 }
 
 static noinline void
-untrack_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+untrack_intel_runtime_pm_wakeref_raw(struct drm_i915_private *i915)
 {
struct i915_runtime_pm *rpm = >runtime_pm;
struct intel_runtime_pm_debug dbg = {};
struct drm_printer p;
unsigned long flags;
 
-   assert_rpm_wakelock_held(i915);
-   if (atomic_dec_and_lock_irqsave(>wakeref_count,
+   assert_raw_rpm_wakelock_held(i915);
+   if (atomic_dec_and_lock_irqsave(>wakeref_track_count,
>debug.lock,
flags)) {
dbg = rpm->debug;
@@ -263,6 +279,15 @@ untrack_intel_runtime_pm_wakeref(struct drm_i915_private 
*i915)
kfree(dbg.owners);
 }
 
+static noinline void
+untrack_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+{
+   untrack_intel_runtime_pm_wakeref_raw(i915);
+
+   assert_rpm_wakelock_held(i915);
+   atomic_dec(>runtime_pm.wakeref_count);
+}
+
 void print_intel_runtime_pm_wakeref(struct drm_i915_private *i915,
struct drm_printer *p)
 {
@@ -308,15 +333,33 @@ static void init_intel_runtime_pm_wakeref(struct 
drm_i915_private *i915)
 }
 
 static depot_stack_handle_t
-track_intel_runtime_pm_wakeref(struct drm_i915_private *i915)
+track_intel_runtime_pm_wakeref_raw(struct drm_i915_private *i915)
 {
-   

[Intel-gfx] [PATCH 04/10] drm/i915: Disable power asynchronously during DP AUX transfers

2019-05-02 Thread Imre Deak
In a follow-up patch we will restrict holding the reference on the AUX
power domain to the AUX transfer function. To avoid the unnecessary
on-off-on power togglings drop the reference asynchronously.

There is no reason we couldn't do this in general and also put the
reference asynchronously in pps_unlock(); but that's a separate change
that can be done as a follow-up.

Cc: Ville Syrjala 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_dp.c | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 42a880e0b392..0475601c2f33 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1219,7 +1219,10 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp,
to_i915(intel_dig_port->base.base.dev);
i915_reg_t ch_ctl, ch_data[5];
u32 aux_clock_divider;
-   intel_wakeref_t wakeref;
+   enum intel_display_power_domain aux_domain =
+   intel_aux_power_domain(intel_dig_port);
+   intel_wakeref_t aux_wakeref;
+   intel_wakeref_t pps_wakeref;
int i, ret, recv_bytes;
int try, clock = 0;
u32 status;
@@ -1229,7 +1232,8 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp,
for (i = 0; i < ARRAY_SIZE(ch_data); i++)
ch_data[i] = intel_dp->aux_ch_data_reg(intel_dp, i);
 
-   wakeref = pps_lock(intel_dp);
+   aux_wakeref = intel_display_power_get(dev_priv, aux_domain);
+   pps_wakeref = pps_lock(intel_dp);
 
/*
 * We will be called with VDD already enabled for dpcd/edid/oui reads.
@@ -1375,7 +1379,8 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp,
if (vdd)
edp_panel_vdd_off(intel_dp, false);
 
-   pps_unlock(intel_dp, wakeref);
+   pps_unlock(intel_dp, pps_wakeref);
+   intel_display_power_put_async(dev_priv, aux_domain, aux_wakeref);
 
return ret;
 }
-- 
2.17.1

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

[Intel-gfx] [PATCH 09/10] drm/i915: Avoid taking the PPS lock for non-eDP/VLV/CHV

2019-05-02 Thread Imre Deak
On ICL we have to make sure that we enable the AUX power domain in a
controlled way (corresponding to the port's actual TypeC mode). Since
the PPS lock - which takes an AUX power ref - is only needed on
eDP/VLV/CHV avoid taking it in other cases.

Cc: Ville Syrjala 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_dp.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index f56cbda59fb3..1ee9b7ebd801 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -6263,6 +6263,10 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder)
 
intel_dp->reset_link_params = true;
 
+   if (!IS_VALLEYVIEW(dev_priv) && !IS_CHERRYVIEW(dev_priv) &&
+   !intel_dp_is_edp(intel_dp))
+   return;
+
with_pps_lock(intel_dp, wakeref) {
if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
intel_dp->active_pipe = vlv_active_pipe(intel_dp);
-- 
2.17.1

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

[Intel-gfx] [PATCH 00/10] drm/i915: Add support for asynchronous display power disabling

2019-05-02 Thread Imre Deak
This is a preparation for making hotplug useable on ICL TypeC ports. On
ICL we need a stricter control on when either kind of AUX power domain
(TBT-alt or DP-alt) is enabled. That control becomes unfeasible if the
reference can be held for arbitratry periods due to locking
dependencies. OTOH it makes sense to restrict holding the reference only
for the duration when it's actually needed. One result of that would be
the unnecessary on-off-on power togglings when the reference is dropped
and reacquired quickly.

This patchset adds support for dropping display power domain references
asynchronously with a delay to avoid the unecessary power togglings, and
restricts holding the AUX power domain reference to the sequence where
it's required during detection and HPD pulse handling.

Cc: Ville Syrjala 
Cc: Chris Wilson 
Cc: Rodrigo Vivi 
Cc: José Roberto de Souza 

Imre Deak (10):
  drm/i915: Add support for tracking wakerefs w/o power-on guarantee
  drm/i915: Verify power domains state during suspend in all cases
  drm/i915: Add support for asynchronous display power disabling
  drm/i915: Disable power asynchronously during DP AUX transfers
  drm/i915: WARN for eDP encoders in intel_dp_detect_dpcd()
  drm/i915: Remove the unneeded AUX power ref from intel_dp_detect()
  drm/i915: Remove the unneeded AUX power ref from intel_dp_hpd_pulse()
  drm/i915: Replace use of PLLS power domain with DISPLAY_CORE domain
  drm/i915: Avoid taking the PPS lock for non-eDP/VLV/CHV
  drm/i915: Assert that TypeC ports are not used for eDP

 drivers/gpu/drm/i915/i915_drv.h |   6 +
 drivers/gpu/drm/i915/intel_display.c|   2 +-
 drivers/gpu/drm/i915/intel_display.h|   2 +-
 drivers/gpu/drm/i915/intel_dp.c |  76 ++--
 drivers/gpu/drm/i915/intel_dpll_mgr.c   |  36 +-
 drivers/gpu/drm/i915/intel_psr.c|   6 +
 drivers/gpu/drm/i915/intel_runtime_pm.c | 443 ++--
 drivers/gpu/drm/i915/intel_runtime_pm.h |   4 +
 8 files changed, 491 insertions(+), 84 deletions(-)

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

[Intel-gfx] [PATCH] drm/i915/perf: Refactor oa object to better manage resources

2019-05-02 Thread Umesh Nerlige Ramappa
The oa object manages the oa buffer and must be allocated when the user
intends to read performance counter snapshots. This can be achieved by
making the oa object part of the stream object which is allocated when a
stream is opened by the user.

Attributes in the oa object that are gen-specific are moved to the perf
object so that they can be initialized on driver load.

The split provides a better separation of the objects used in perf
implementation of i915 driver so that resources are allocated and
initialized only when needed.

v2: Fix checkpatch warnings

Signed-off-by: Umesh Nerlige Ramappa 
---
 drivers/gpu/drm/i915/gt/intel_sseu.c  |   2 +-
 drivers/gpu/drm/i915/gvt/scheduler.c  |   4 +-
 drivers/gpu/drm/i915/i915_drv.h   | 219 +-
 drivers/gpu/drm/i915/i915_oa_bdw.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_bxt.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_cflgt2.c |  30 +-
 drivers/gpu/drm/i915/i915_oa_cflgt3.c |  30 +-
 drivers/gpu/drm/i915/i915_oa_chv.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_cnl.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_glk.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_hsw.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_icl.c|  30 +-
 drivers/gpu/drm/i915/i915_oa_kblgt2.c |  30 +-
 drivers/gpu/drm/i915/i915_oa_kblgt3.c |  30 +-
 drivers/gpu/drm/i915/i915_oa_sklgt2.c |  30 +-
 drivers/gpu/drm/i915/i915_oa_sklgt3.c |  30 +-
 drivers/gpu/drm/i915/i915_oa_sklgt4.c |  30 +-
 drivers/gpu/drm/i915/i915_perf.c  | 586 ++
 18 files changed, 632 insertions(+), 599 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_sseu.c 
b/drivers/gpu/drm/i915/gt/intel_sseu.c
index 7f448f3bea0b..fa78df39521a 100644
--- a/drivers/gpu/drm/i915/gt/intel_sseu.c
+++ b/drivers/gpu/drm/i915/gt/intel_sseu.c
@@ -32,7 +32,7 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
 * cases which disable slices for functional, apart for performance
 * reasons. So in this case we select a known stable subset.
 */
-   if (!i915->perf.oa.exclusive_stream) {
+   if (!i915->perf.exclusive_stream) {
ctx_sseu = *req_sseu;
} else {
ctx_sseu = intel_sseu_from_device_info(sseu);
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c 
b/drivers/gpu/drm/i915/gvt/scheduler.c
index 7ae42f2ebfe8..878e71a927de 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -81,8 +81,8 @@ static void sr_oa_regs(struct intel_vgpu_workload *workload,
u32 *reg_state, bool save)
 {
struct drm_i915_private *dev_priv = workload->vgpu->gvt->dev_priv;
-   u32 ctx_oactxctrl = dev_priv->perf.oa.ctx_oactxctrl_offset;
-   u32 ctx_flexeu0 = dev_priv->perf.oa.ctx_flexeu0_offset;
+   u32 ctx_oactxctrl = dev_priv->perf.ctx_oactxctrl_offset;
+   u32 ctx_flexeu0 = dev_priv->perf.ctx_flexeu0_offset;
int i = 0;
u32 flex_mmio[] = {
i915_mmio_reg_offset(EU_PERF_CNTL0),
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9a634ba57ff9..23778f6299de 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1400,6 +1400,86 @@ struct i915_perf_stream {
 * @oa_config: The OA configuration used by the stream.
 */
struct i915_oa_config *oa_config;
+
+   /**
+* The OA context specific information.
+*/
+   struct intel_context *pinned_ctx;
+   u32 specific_ctx_id;
+   u32 specific_ctx_id_mask;
+
+   struct hrtimer poll_check_timer;
+   wait_queue_head_t poll_wq;
+   bool pollin;
+
+   bool periodic;
+   int period_exponent;
+
+   /**
+* State of the OA buffer.
+*/
+   struct {
+   struct i915_vma *vma;
+   u8 *vaddr;
+   u32 last_ctx_id;
+   int format;
+   int format_size;
+   int size_exponent;
+
+   /**
+* Locks reads and writes to all head/tail state
+*
+* Consider: the head and tail pointer state needs to be read
+* consistently from a hrtimer callback (atomic context) and
+* read() fop (user context) with tail pointer updates happening
+* in atomic context and head updates in user context and the
+* (unlikely) possibility of read() errors needing to reset all
+* head/tail state.
+*
+* Note: Contention/performance aren't currently a significant
+* concern here considering the relatively low frequency of
+* hrtimer callbacks (5ms period) and that reads typically only
+* happen in response to a hrtimer event and likely complete
+* before the next callback.
+*
+* Note: This lock is not held *while* reading and copying data
+* to 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with RFC: hung_task: taint kernel (rev2)

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

Series: series starting with RFC: hung_task: taint kernel (rev2)
URL   : https://patchwork.freedesktop.org/series/60228/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
fb98bc124cb7 RFC: hung_task: taint kernel
-:37: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch 
author 'Daniel Vetter '

total: 0 errors, 1 warnings, 0 checks, 8 lines checked
1b7921825c1b RFC: soft/hardlookup: taint kernel
-:50: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch 
author 'Daniel Vetter '

total: 0 errors, 1 warnings, 0 checks, 16 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/guc: Fix runtime suspend

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

Series: drm/i915/guc: Fix runtime suspend
URL   : https://patchwork.freedesktop.org/series/60236/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6031 -> Patchwork_12952


Summary
---

  **FAILURE**

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

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_selftest@live_hangcheck:
- fi-apl-guc: NOTRUN -> [DMESG-FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12952/fi-apl-guc/igt@i915_selftest@live_hangcheck.html

  * igt@runner@aborted:
- fi-apl-guc: NOTRUN -> [FAIL][2]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12952/fi-apl-guc/igt@run...@aborted.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [PASS][3] -> [INCOMPLETE][4] ([fdo#108602] / 
[fdo#108744] / [fdo#110581])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12952/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

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

  
 Possible fixes 

  * igt@i915_pm_rpm@basic-pci-d3-state:
- fi-apl-guc: [SKIP][7] ([fdo#109271]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/fi-apl-guc/igt@i915_pm_...@basic-pci-d3-state.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12952/fi-apl-guc/igt@i915_pm_...@basic-pci-d3-state.html

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

  * igt@i915_selftest@live_contexts:
- fi-skl-gvtdvm:  [DMESG-FAIL][11] ([fdo#110235]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6031/fi-skl-gvtdvm/igt@i915_selftest@live_contexts.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12952/fi-skl-gvtdvm/igt@i915_selftest@live_contexts.html

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

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (48 -> 43)
--

  Additional (2): fi-blb-e6850 fi-icl-u3 
  Missing(7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6031 -> Patchwork_12952

  CI_DRM_6031: 6f67b24f2fc7b90a94e4163ae4cd01bc2783fbfd @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12952: 47a877465517c5f51a6ca09ac6bc893c3bb68fa5 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

47a877465517 drm/i915/guc: Fix runtime suspend

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: add single combo phy init/unit functions (rev3)

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

Series: drm/i915: add single combo phy init/unit functions (rev3)
URL   : https://patchwork.freedesktop.org/series/60112/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029_full -> Patchwork_12945_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_mmap_gtt@medium-copy:
- shard-apl:  [PASS][1] -> [INCOMPLETE][2] ([fdo#103927] / 
[fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl3/igt@gem_mmap_...@medium-copy.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-apl6/igt@gem_mmap_...@medium-copy.html

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  [PASS][3] -> [INCOMPLETE][4] ([fdo#104108] / 
[fdo#107773] / [fdo#110581])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl6/igt@gem_soft...@noreloc-s3.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-skl9/igt@gem_soft...@noreloc-s3.html

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#107807] / 
[fdo#110581])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl1/igt@i915_pm_...@dpms-mode-unset-lpsp.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-skl10/igt@i915_pm_...@dpms-mode-unset-lpsp.html

  * igt@kms_flip@2x-flip-vs-suspend:
- shard-hsw:  [PASS][7] -> [INCOMPLETE][8] ([fdo#103540] / 
[fdo#110581]) +1 similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-hsw6/igt@kms_f...@2x-flip-vs-suspend.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-hsw5/igt@kms_f...@2x-flip-vs-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk:  [PASS][9] -> [FAIL][10] ([fdo#105363])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk6/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-glk6/igt@kms_f...@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103167]) +4 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-render.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-snb:  [PASS][13] -> [DMESG-WARN][14] ([fdo#102365])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-snb1/igt@kms_frontbuffer_track...@fbc-suspend.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-snb1/igt@kms_frontbuffer_track...@fbc-suspend.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-glk:  [PASS][15] -> [SKIP][16] ([fdo#109271]) +1 similar 
issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk9/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-glk6/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  [PASS][17] -> [FAIL][18] ([fdo#108145]) +1 similar 
issue
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl10/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-skl5/igt@kms_plane_alpha_bl...@pipe-a-constant-alpha-min.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#103166])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb8/igt@kms_plane_low...@pipe-a-tiling-y.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-iclb1/igt@kms_plane_low...@pipe-a-tiling-y.html

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

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][23] -> [SKIP][24] ([fdo#109441]) +3 similar 
issues
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_setmode@basic:
- 

Re: [Intel-gfx] [RFC PATCH 0/5] cgroup support for GPU devices

2019-05-02 Thread Kenny Ho
> Count us (Mellanox) too, our RDMA devices are exposing special and
> limited in size device memory to the users and we would like to provide
> an option to use cgroup to control its exposure.
Doesn't RDMA already has a separate cgroup?  Why not implement it there?


> > and with future work, we could extend to:
> > *  track and control share of GPU time (reuse of cpu/cpuacct)
> > *  apply mask of allowed execution engines (reuse of cpusets)
> >
> > Instead of introducing a new cgroup subsystem for GPU devices, a new
> > framework is proposed to allow devices to register with existing cgroup
> > controllers, which creates per-device cgroup_subsys_state within the
> > cgroup.  This gives device drivers their own private cgroup controls
> > (such as memory limits or other parameters) to be applied to device
> > resources instead of host system resources.
> > Device drivers (GPU or other) are then able to reuse the existing cgroup
> > controls, instead of inventing similar ones.
> >
> > Per-device controls would be exposed in cgroup filesystem as:
> > mount//.devices//
> > such as (for example):
> > mount//memory.devices//memory.max
> > mount//memory.devices//memory.current
> > mount//cpu.devices//cpu.stat
> > mount//cpu.devices//cpu.weight
> >
> > The drm/i915 patch in this series is based on top of other RFC work [1]
> > for i915 device memory support.
> >
> > AMD [2] and Intel [3] have proposed related work in this area within the
> > last few years, listed below as reference.  This new RFC reuses existing
> > cgroup controllers and takes a different approach than prior work.
> >
> > Finally, some potential discussion points for this series:
> > * merge proposed .devices into a single devices directory?
> > * allow devices to have multiple registrations for subsets of resources?
> > * document a 'common charging policy' for device drivers to follow?
> >
> > [1] https://patchwork.freedesktop.org/series/56683/
> > [2] 
> > https://lists.freedesktop.org/archives/dri-devel/2018-November/197106.html
> > [3] 
> > https://lists.freedesktop.org/archives/intel-gfx/2018-January/153156.html
> >
> >
> > Brian Welty (5):
> >   cgroup: Add cgroup_subsys per-device registration framework
> >   cgroup: Change kernfs_node for directories to store
> > cgroup_subsys_state
> >   memcg: Add per-device support to memory cgroup subsystem
> >   drm: Add memory cgroup registration and DRIVER_CGROUPS feature bit
> >   drm/i915: Use memory cgroup for enforcing device memory limit
> >
> >  drivers/gpu/drm/drm_drv.c  |  12 +
> >  drivers/gpu/drm/drm_gem.c  |   7 +
> >  drivers/gpu/drm/i915/i915_drv.c|   2 +-
> >  drivers/gpu/drm/i915/intel_memory_region.c |  24 +-
> >  include/drm/drm_device.h   |   3 +
> >  include/drm/drm_drv.h  |   8 +
> >  include/drm/drm_gem.h  |  11 +
> >  include/linux/cgroup-defs.h|  28 ++
> >  include/linux/cgroup.h |   3 +
> >  include/linux/memcontrol.h |  10 +
> >  kernel/cgroup/cgroup-v1.c  |  10 +-
> >  kernel/cgroup/cgroup.c | 310 ++---
> >  mm/memcontrol.c| 183 +++-
> >  13 files changed, 552 insertions(+), 59 deletions(-)
> >
> > --
> > 2.21.0
> >
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
___
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: Move the PIPEMISC write the correct place

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

Series: series starting with [1/2] drm/i915: Move the PIPEMISC write the 
correct place
URL   : https://patchwork.freedesktop.org/series/60233/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6031 -> Patchwork_12951


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

  
 Possible fixes 

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

  
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (48 -> 42)
--

  Additional (2): fi-blb-e6850 fi-icl-u3 
  Missing(8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-gdg-551 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6031 -> Patchwork_12951

  CI_DRM_6031: 6f67b24f2fc7b90a94e4163ae4cd01bc2783fbfd @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12951: 7537a5641e8af060661291f11b4dfb2509b9fa37 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

7537a5641e8a drm/i915: Allow ICL pipe "HDR mode" when the cursor is visible
447523598ae0 drm/i915: Move the PIPEMISC write the correct place

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/execlists: Unshadow MI_USER_INTERRUPT (rev2)

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

Series: drm/i915/execlists: Unshadow MI_USER_INTERRUPT (rev2)
URL   : https://patchwork.freedesktop.org/series/60192/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029_full -> Patchwork_12942_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_suspend@fence-restore-untiled:
- shard-apl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +2 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-apl2/igt@i915_susp...@fence-restore-untiled.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-apl3/igt@i915_susp...@fence-restore-untiled.html

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-snb:  [PASS][3] -> [SKIP][4] ([fdo#109271])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-snb4/igt@kms_cursor_...@cursor-128x128-onscreen.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-snb6/igt@kms_cursor_...@cursor-128x128-onscreen.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-hsw:  [PASS][5] -> [INCOMPLETE][6] ([fdo#103540] / 
[fdo#110581])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-hsw2/igt@kms_f...@2x-flip-vs-suspend-interruptible.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-hsw2/igt@kms_f...@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
- shard-glk:  [PASS][7] -> [INCOMPLETE][8] ([fdo#103359] / 
[fdo#110581] / [k.org#198133])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk2/igt@kms_f...@flip-vs-suspend-interruptible.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-glk2/igt@kms_f...@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167]) +4 similar 
issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-iclb3/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-glk:  [PASS][11] -> [SKIP][12] ([fdo#109271])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk9/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-glk3/igt@kms_pl...@pixel-format-pipe-a-planes-source-clamping.html

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

  
 Possible fixes 

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

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-hsw:  [FAIL][17] ([fdo#103355]) -> [PASS][18]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-hsw6/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-hsw1/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-glk:  [INCOMPLETE][19] ([fdo#103359] / [fdo#110581] / 
[k.org#198133]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-glk4/igt@kms_f...@2x-flip-vs-suspend-interruptible.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-glk8/igt@kms_f...@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-skl:  [FAIL][21] ([fdo#105363]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/shard-skl7/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/shard-skl5/igt@kms_f...@flip-vs-expired-vblank-interruptible.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: [FAIL][23] ([fdo#103167]) -> [PASS][24] +1 similar 
issue
   

[Intel-gfx] [PATCH] RFC: hung_task: taint kernel

2019-05-02 Thread Daniel Vetter
There's the hung_task_panic sysctl, but that's a bit an extreme measure.
As a fallback taint at least the machine.

Our CI uses this to decide when a reboot is necessary, plus to figure
out whether the kernel is still happy.

v2: Works much better when I put the else { add_taint() } at the right
place.

Signed-off-by: Daniel Vetter 
Cc: Andrew Morton 
Cc: Tetsuo Handa 
Cc: Dmitry Vyukov 
Cc: "Paul E. McKenney" 
Cc: Valdis Kletnieks 
Cc: Daniel Vetter 
Cc: Vitaly Kuznetsov 
Cc: "Liu, Chuansheng" 
---
 kernel/hung_task.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index f108a95882c6..d90d98f53ccb 100644
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -117,6 +117,8 @@ static void check_hung_task(struct task_struct *t, unsigned 
long timeout)
console_verbose();
hung_task_show_lock = true;
hung_task_call_panic = true;
+   } else {
+   add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
}
 
/*
-- 
2.20.1

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

[Intel-gfx] [PATCH] drm/i915/guc: Fix runtime suspend

2019-05-02 Thread Chris Wilson
We are not allowed to rpm_get() inside the runtime-suspend callback, so
split the intel_uc_suspend() into the core that assumes the caller holds
the wakeref (intel_uc_runtime_suspend), and one acquires the wakeref as
necessary (intel_uc_suspend).

Reported-by: Daniele Ceraolo Spurio 
Fixes: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson 
Cc: Daniele Ceraolo Spurio 
---
 drivers/gpu/drm/i915/i915_drv.c |  2 +-
 drivers/gpu/drm/i915/intel_uc.c | 25 +
 drivers/gpu/drm/i915/intel_uc.h |  1 +
 3 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 21dac5a09fbe..74e46d129e6c 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -2886,7 +2886,7 @@ static int intel_runtime_suspend(struct device *kdev)
 */
i915_gem_runtime_suspend(dev_priv);
 
-   intel_uc_suspend(dev_priv);
+   intel_uc_runtime_suspend(dev_priv);
 
intel_runtime_pm_disable_interrupts(dev_priv);
 
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index 01ea36e3150c..1ee70df51627 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -481,22 +481,31 @@ void intel_uc_reset_prepare(struct drm_i915_private *i915)
intel_uc_sanitize(i915);
 }
 
-void intel_uc_suspend(struct drm_i915_private *i915)
+void intel_uc_runtime_suspend(struct drm_i915_private *i915)
 {
struct intel_guc *guc = >guc;
-   intel_wakeref_t wakeref;
int err;
 
if (guc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
return;
 
-   with_intel_runtime_pm(i915, wakeref) {
-   err = intel_guc_suspend(guc);
-   if (err)
-   DRM_DEBUG_DRIVER("Failed to suspend GuC, err=%d", err);
+   err = intel_guc_suspend(guc);
+   if (err)
+   DRM_DEBUG_DRIVER("Failed to suspend GuC, err=%d", err);
 
-   guc_disable_communication(guc);
-   }
+   guc_disable_communication(guc);
+}
+
+void intel_uc_suspend(struct drm_i915_private *i915)
+{
+   struct intel_guc *guc = >guc;
+   intel_wakeref_t wakeref;
+
+   if (guc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
+   return;
+
+   with_intel_runtime_pm(i915, wakeref)
+   intel_uc_runtime_suspend(i915);
 }
 
 int intel_uc_resume(struct drm_i915_private *i915)
diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h
index c92436b1f1c5..3ea06c87dfcd 100644
--- a/drivers/gpu/drm/i915/intel_uc.h
+++ b/drivers/gpu/drm/i915/intel_uc.h
@@ -40,6 +40,7 @@ int intel_uc_init(struct drm_i915_private *dev_priv);
 void intel_uc_fini(struct drm_i915_private *dev_priv);
 void intel_uc_reset_prepare(struct drm_i915_private *i915);
 void intel_uc_suspend(struct drm_i915_private *i915);
+void intel_uc_runtime_suspend(struct drm_i915_private *i915);
 int intel_uc_resume(struct drm_i915_private *dev_priv);
 
 static inline bool intel_uc_is_using_guc(struct drm_i915_private *i915)
-- 
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: failure for series starting with [1/2] RFC: hung_task: taint kernel

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

Series: series starting with [1/2] RFC: hung_task: taint kernel
URL   : https://patchwork.freedesktop.org/series/60228/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12950


Summary
---

  **FAILURE**

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

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@runner@aborted:
- fi-ilk-650: NOTRUN -> [FAIL][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-ilk-650/igt@run...@aborted.html
- fi-pnv-d510:NOTRUN -> [FAIL][2]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-pnv-d510/igt@run...@aborted.html
- fi-bdw-gvtdvm:  NOTRUN -> [FAIL][3]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-bdw-gvtdvm/igt@run...@aborted.html
- fi-cfl-8109u:   NOTRUN -> [FAIL][4]
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-cfl-8109u/igt@run...@aborted.html
- fi-hsw-peppy:   NOTRUN -> [FAIL][5]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-hsw-peppy/igt@run...@aborted.html
- fi-gdg-551: NOTRUN -> [FAIL][6]
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-gdg-551/igt@run...@aborted.html
- fi-snb-2520m:   NOTRUN -> [FAIL][7]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-snb-2520m/igt@run...@aborted.html
- fi-hsw-4770:NOTRUN -> [FAIL][8]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-hsw-4770/igt@run...@aborted.html
- fi-kbl-7500u:   NOTRUN -> [FAIL][9]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-kbl-7500u/igt@run...@aborted.html
- fi-bxt-j4205:   NOTRUN -> [FAIL][10]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-bxt-j4205/igt@run...@aborted.html
- fi-whl-u:   NOTRUN -> [FAIL][11]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-whl-u/igt@run...@aborted.html
- fi-icl-u3:  NOTRUN -> [FAIL][12]
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-icl-u3/igt@run...@aborted.html
- fi-ivb-3770:NOTRUN -> [FAIL][13]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-ivb-3770/igt@run...@aborted.html
- fi-byt-j1900:   NOTRUN -> [FAIL][14]
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-byt-j1900/igt@run...@aborted.html
- fi-cfl-guc: NOTRUN -> [FAIL][15]
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-cfl-guc/igt@run...@aborted.html
- fi-kbl-7567u:   NOTRUN -> [FAIL][16]
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-kbl-7567u/igt@run...@aborted.html
- fi-blb-e6850:   NOTRUN -> [FAIL][17]
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-blb-e6850/igt@run...@aborted.html
- fi-kbl-x1275:   NOTRUN -> [FAIL][18]
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-kbl-x1275/igt@run...@aborted.html
- fi-cfl-8700k:   NOTRUN -> [FAIL][19]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-cfl-8700k/igt@run...@aborted.html
- fi-hsw-4770r:   NOTRUN -> [FAIL][20]
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-hsw-4770r/igt@run...@aborted.html
- fi-kbl-8809g:   NOTRUN -> [FAIL][21]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-kbl-8809g/igt@run...@aborted.html
- fi-apl-guc: NOTRUN -> [FAIL][22]
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-apl-guc/igt@run...@aborted.html
- fi-bdw-5557u:   NOTRUN -> [FAIL][23]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-bdw-5557u/igt@run...@aborted.html
- fi-bwr-2160:NOTRUN -> [FAIL][24]
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-bwr-2160/igt@run...@aborted.html
- fi-byt-n2820:   NOTRUN -> [FAIL][25]
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-byt-n2820/igt@run...@aborted.html
- fi-elk-e7500:   NOTRUN -> [FAIL][26]
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12950/fi-elk-e7500/igt@run...@aborted.html

  
 Suppressed 

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

  * igt@runner@aborted:
- 

[Intel-gfx] ✓ Fi.CI.IGT: success for RFC: console: hack up console_trylock more

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

Series: RFC: console: hack up console_trylock more
URL   : https://patchwork.freedesktop.org/series/60212/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6028_full -> Patchwork_12941_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@vecs0-s3:
- shard-skl:  [PASS][1] -> [INCOMPLETE][2] ([fdo#104108] / 
[fdo#107773] / [fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-skl2/igt@gem_ctx_isolat...@vecs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-skl6/igt@gem_ctx_isolat...@vecs0-s3.html

  * igt@i915_pm_rpm@gem-execbuf:
- shard-skl:  [PASS][3] -> [INCOMPLETE][4] ([fdo#107803] / 
[fdo#107807] / [fdo#110581])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-skl6/igt@i915_pm_...@gem-execbuf.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-skl5/igt@i915_pm_...@gem-execbuf.html

  * igt@i915_suspend@fence-restore-untiled:
- shard-apl:  [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +6 
similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-apl8/igt@i915_susp...@fence-restore-untiled.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-apl7/igt@i915_susp...@fence-restore-untiled.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-hsw:  [PASS][7] -> [FAIL][8] ([fdo#103355])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-hsw2/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-hsw6/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-apl:  [PASS][9] -> [FAIL][10] ([fdo#102887] / [fdo#105363])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-apl1/igt@kms_f...@flip-vs-expired-vblank.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-apl8/igt@kms_f...@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
- shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#107773] / 
[fdo#109507] / [fdo#110581])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-skl4/igt@kms_f...@flip-vs-suspend-interruptible.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-skl9/igt@kms_f...@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-iclb: [PASS][13] -> [FAIL][14] ([fdo#103167]) +4 similar 
issues
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-iclb7/igt@kms_frontbuffer_track...@fbc-1p-primscrn-spr-indfb-move.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-spr-indfb-move.html

  * igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103166])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-iclb3/igt@kms_plane_low...@pipe-a-tiling-x.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-iclb5/igt@kms_plane_low...@pipe-a-tiling-x.html

  * igt@kms_psr2_su@page_flip:
- shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109642])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-iclb2/igt@kms_psr2_su@page_flip.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-iclb1/igt@kms_psr2_su@page_flip.html

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

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

  * igt@kms_sysfs_edid_timing:
- shard-iclb: [PASS][23] -> [FAIL][24] ([fdo#100047])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-iclb1/igt@kms_sysfs_edid_timing.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/shard-iclb3/igt@kms_sysfs_edid_timing.html

  * igt@tools_test@tools_test:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109352])
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/shard-iclb8/igt@tools_test@tools_test.html
   [26]: 

[Intel-gfx] [PATCH 2/2] drm/i915: Allow ICL pipe "HDR mode" when the cursor is visible

2019-05-02 Thread Ville Syrjala
From: Ville Syrjälä 

Turns out the cursor is compatible with the pipe "HDR mode". It's
only the actual SDR planes that get entirely bypassed during
blending. So let's ignore the cursor when checking if we have
any planes active that aren't HDR compatible. This fixes the
regressions in the kms_cursor_crc and kms_plane_cursor tests.

Cc: Uma Shankar 
Cc: Shashank Sharma 
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110579
Fixes: 09b25812db10 ("drm/i915: Enable pipe HDR mode on ICL if only HDR planes 
are used")
Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_display.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 28042a16084d..cc1203901ef4 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8927,7 +8927,8 @@ static void bdw_set_pipemisc(const struct 
intel_crtc_state *crtc_state)
PIPEMISC_YUV420_MODE_FULL_BLEND;
 
if (INTEL_GEN(dev_priv) >= 11 &&
-   (crtc_state->active_planes & ~icl_hdr_plane_mask()) == 0)
+   (crtc_state->active_planes & ~(icl_hdr_plane_mask() |
+  BIT(PLANE_CURSOR))) == 0)
val |= PIPEMISC_HDR_MODE_PRECISION;
 
I915_WRITE(PIPEMISC(crtc->pipe), val);
-- 
2.21.0

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

Re: [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Tune down WARN about incorrect VBT TC legacy flag

2019-05-02 Thread Imre Deak
On Thu, May 02, 2019 at 04:57:24PM +, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915: Tune down WARN about incorrect VBT TC legacy flag
> URL   : https://patchwork.freedesktop.org/series/60197/
> State : success

Thanks for the review, pushed to -dinq with the code comment updated.

> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6026_full -> Patchwork_12938_full
> 
> 
> Summary
> ---
> 
>   **SUCCESS**
> 
>   No regressions found.
> 
>   
> 
> Known issues
> 
> 
>   Here are the changes found in Patchwork_12938_full that come from known 
> issues:
> 
> ### IGT changes ###
> 
>  Issues hit 
> 
>   * igt@gem_eio@reset-stress:
> - shard-skl:  [PASS][1] -> [FAIL][2] ([fdo#105957])
>[1]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl8/igt@gem_...@reset-stress.html
>[2]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-skl8/igt@gem_...@reset-stress.html
> 
>   * igt@gem_mmap_gtt@forked-basic-small-copy:
> - shard-hsw:  [PASS][3] -> [INCOMPLETE][4] ([fdo#103540] / 
> [fdo#110581])
>[3]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-hsw2/igt@gem_mmap_...@forked-basic-small-copy.html
>[4]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-hsw1/igt@gem_mmap_...@forked-basic-small-copy.html
> 
>   * igt@i915_pm_rpm@i2c:
> - shard-iclb: [PASS][5] -> [DMESG-WARN][6] ([fdo#109982])
>[5]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb5/igt@i915_pm_...@i2c.html
>[6]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb2/igt@i915_pm_...@i2c.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
> - shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103167]) +3 similar 
> issues
>[7]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-render.html
>[8]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb8/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-render.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu:
> - shard-skl:  [PASS][9] -> [FAIL][10] ([fdo#103167] / 
> [fdo#110379])
>[9]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl8/igt@kms_frontbuffer_track...@fbc-rgb101010-draw-mmap-cpu.html
>[10]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-skl8/igt@kms_frontbuffer_track...@fbc-rgb101010-draw-mmap-cpu.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-suspend:
> - shard-apl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +1 
> similar issue
>[11]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-apl8/igt@kms_frontbuffer_track...@fbc-suspend.html
>[12]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-apl6/igt@kms_frontbuffer_track...@fbc-suspend.html
> 
>   * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
> - shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#108145])
>[13]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl1/igt@kms_plane_alpha_bl...@pipe-a-coverage-7efc.html
>[14]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-skl4/igt@kms_plane_alpha_bl...@pipe-a-coverage-7efc.html
> 
>   * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
> - shard-glk:  [PASS][15] -> [SKIP][16] ([fdo#109271] / 
> [fdo#109278]) +1 similar issue
>[15]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-glk9/igt@kms_plane_scal...@pipe-a-scaler-with-clipping-clamping.html
>[16]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-glk4/igt@kms_plane_scal...@pipe-a-scaler-with-clipping-clamping.html
> 
>   * igt@kms_psr@psr2_sprite_plane_move:
> - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +2 similar 
> issues
>[17]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
>[18]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb1/igt@kms_psr@psr2_sprite_plane_move.html
> 
>   * igt@kms_sysfs_edid_timing:
> - shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#100047])
>[19]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb1/igt@kms_sysfs_edid_timing.html
>[20]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb3/igt@kms_sysfs_edid_timing.html
> 
>   
>  Possible fixes 
> 
>   * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
> - shard-glk:  [FAIL][21] ([fdo#104873]) -> [PASS][22]
>[21]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-glk9/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html
>[22]: 
> 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] RFC: hung_task: taint kernel

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

Series: series starting with [1/2] RFC: hung_task: taint kernel
URL   : https://patchwork.freedesktop.org/series/60228/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
71eca6313419 RFC: hung_task: taint kernel
-:34: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch 
author 'Daniel Vetter '

total: 0 errors, 1 warnings, 0 checks, 8 lines checked
3adccbe564af RFC: soft/hardlookup: taint kernel
-:50: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch 
author 'Daniel Vetter '

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

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

[Intel-gfx] [PATCH 1/2] drm/i915: Move the PIPEMISC write the correct place

2019-05-02 Thread Ville Syrjala
From: Ville Syrjälä 

I fumbled the PIPEMISC write into the wrong place. It only gets
called for fastsets, but since value needs to be updated based on
the set of active planes it needs to be done for all plane updates.
Move it to the correct spot.

The symptoms include SDR planes never showing up if a previous
modeset/fastset left the pipe in HDR mode. This was immediately
obvious when running the kms_plane pixel format tests. Unfortunately
the test didn't realize it was scanning out pure black all the time
and declared success anyway.

Cc: Uma Shankar 
Cc: Shashank Sharma 
Fixes: 09b25812db10 ("drm/i915: Enable pipe HDR mode on ICL if only HDR planes 
are used")
Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_display.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index dd65d7c521c1..28042a16084d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4099,9 +4099,6 @@ static void intel_update_pipe_config(const struct 
intel_crtc_state *old_crtc_sta
ironlake_pfit_disable(old_crtc_state);
}
 
-   if (INTEL_GEN(dev_priv) >= 9 || IS_BROADWELL(dev_priv))
-   bdw_set_pipemisc(new_crtc_state);
-
if (INTEL_GEN(dev_priv) >= 11)
icl_set_pipe_chicken(crtc);
 }
@@ -14156,6 +14153,9 @@ static void intel_begin_crtc_commit(struct 
intel_atomic_state *state,
else if (INTEL_GEN(dev_priv) >= 9)
skl_detach_scalers(new_crtc_state);
 
+   if (INTEL_GEN(dev_priv) >= 9 || IS_BROADWELL(dev_priv))
+   bdw_set_pipemisc(new_crtc_state);
+
 out:
if (dev_priv->display.atomic_update_watermarks)
dev_priv->display.atomic_update_watermarks(state,
-- 
2.21.0

___
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 [v5,1/4] drm/i915: Fix the pipe state timing mismatch warnings

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

Series: series starting with [v5,1/4] drm/i915: Fix the pipe state timing 
mismatch warnings
URL   : https://patchwork.freedesktop.org/series/60218/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12949


Summary
---

  **SUCCESS**

  No regressions found.

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

Possible new issues
---

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

### IGT changes ###

 Suppressed 

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

  * igt@kms_chamelium@dp-crc-fast:
- {fi-icl-dsi}:   NOTRUN -> [SKIP][1] +12 similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/fi-icl-dsi/igt@kms_chamel...@dp-crc-fast.html

  
Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@gem_ringfill@basic-default-fd:
- fi-icl-y:   [PASS][4] -> [INCOMPLETE][5] ([fdo#107713] / 
[fdo#110581])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-icl-y/igt@gem_ringf...@basic-default-fd.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/fi-icl-y/igt@gem_ringf...@basic-default-fd.html

  
 Warnings 

  * igt@runner@aborted:
- fi-skl-iommu:   [FAIL][6] ([fdo#104108]) -> [FAIL][7] ([fdo#104108] / 
[fdo#108602])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@run...@aborted.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12949/fi-skl-iommu/igt@run...@aborted.html

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

  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 43)
--

  Missing(11): fi-kbl-soraka fi-ilk-m540 fi-bdw-5557u fi-hsw-4200u 
fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-kbl-guc fi-ctg-p8600 fi-byt-clapper 
fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12949

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12949: ad63c51d1394b6cd4bc5d134a10dbfffc307448f @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

ad63c51d1394 drm/i915: Fix pixel clock and crtc clock config mismatch
38eb90b2c673 drm/i915: Fix pipe config mismatch for bpp, output format
a28cace108e0 drm/i915: Refactor bdw_get_pipemisc_bpp
91207cbf0ccb drm/i915: Fix the pipe state timing mismatch warnings

== Logs ==

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

[Intel-gfx] [PATCH v3 04/10] drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state

2019-05-02 Thread Sean Paul
From: Sean Paul 

Everyone who implements connector_helper_funcs->atomic_check reaches
into the connector state to get the atomic state. Instead of continuing
this pattern, change the callback signature to just give atomic state
and let the driver determine what it does and does not need from it.

Eventually all atomic functions should do this, but that's just too much
busy work for me.

Changes in v3:
- Added to the set

Cc: Daniel Vetter 
Cc: Ville Syrjälä 
Cc: Jani Nikula 
Cc: Joonas Lahtinen 
Cc: Rodrigo Vivi 
Cc: Ben Skeggs 
Cc: Laurent Pinchart 
Cc: Kieran Bingham 
Cc: Eric Anholt 
Signed-off-by: Sean Paul 
---
 drivers/gpu/drm/drm_atomic_helper.c  |  4 ++--
 drivers/gpu/drm/i915/intel_atomic.c  |  8 +---
 drivers/gpu/drm/i915/intel_dp_mst.c  |  7 ---
 drivers/gpu/drm/i915/intel_drv.h |  2 +-
 drivers/gpu/drm/i915/intel_sdvo.c|  9 +
 drivers/gpu/drm/i915/intel_tv.c  |  8 +---
 drivers/gpu/drm/nouveau/dispnv50/disp.c  |  5 +++--
 drivers/gpu/drm/rcar-du/rcar_lvds.c  | 12 +++-
 drivers/gpu/drm/vc4/vc4_txp.c|  7 ---
 include/drm/drm_modeset_helper_vtables.h |  2 +-
 10 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic_helper.c 
b/drivers/gpu/drm/drm_atomic_helper.c
index 9d9e47276839..fa5a367507c1 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -683,7 +683,7 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
}
 
if (funcs->atomic_check)
-   ret = funcs->atomic_check(connector, 
new_connector_state);
+   ret = funcs->atomic_check(connector, state);
if (ret)
return ret;
 
@@ -725,7 +725,7 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
continue;
 
if (funcs->atomic_check)
-   ret = funcs->atomic_check(connector, 
new_connector_state);
+   ret = funcs->atomic_check(connector, state);
if (ret)
return ret;
}
diff --git a/drivers/gpu/drm/i915/intel_atomic.c 
b/drivers/gpu/drm/i915/intel_atomic.c
index b844e8840c6f..e8a5b82e9242 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
+++ b/drivers/gpu/drm/i915/intel_atomic.c
@@ -103,12 +103,14 @@ int intel_digital_connector_atomic_set_property(struct 
drm_connector *connector,
 }
 
 int intel_digital_connector_atomic_check(struct drm_connector *conn,
-struct drm_connector_state *new_state)
+struct drm_atomic_state *state)
 {
+   struct drm_connector_state *new_state =
+   drm_atomic_get_new_connector_state(state, conn);
struct intel_digital_connector_state *new_conn_state =
to_intel_digital_connector_state(new_state);
struct drm_connector_state *old_state =
-   drm_atomic_get_old_connector_state(new_state->state, conn);
+   drm_atomic_get_old_connector_state(state, conn);
struct intel_digital_connector_state *old_conn_state =
to_intel_digital_connector_state(old_state);
struct drm_crtc_state *crtc_state;
@@ -118,7 +120,7 @@ int intel_digital_connector_atomic_check(struct 
drm_connector *conn,
if (!new_state->crtc)
return 0;
 
-   crtc_state = drm_atomic_get_new_crtc_state(new_state->state, 
new_state->crtc);
+   crtc_state = drm_atomic_get_new_crtc_state(state, new_state->crtc);
 
/*
 * These properties are handled by fastset, and might not end
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c 
b/drivers/gpu/drm/i915/intel_dp_mst.c
index 19d81cef2ab6..89cfec128ba0 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -143,9 +143,10 @@ static int intel_dp_mst_compute_config(struct 
intel_encoder *encoder,
 
 static int
 intel_dp_mst_atomic_check(struct drm_connector *connector,
- struct drm_connector_state *new_conn_state)
+ struct drm_atomic_state *state)
 {
-   struct drm_atomic_state *state = new_conn_state->state;
+   struct drm_connector_state *new_conn_state =
+   drm_atomic_get_new_connector_state(state, connector);
struct drm_connector_state *old_conn_state =
drm_atomic_get_old_connector_state(state, connector);
struct intel_connector *intel_connector =
@@ -155,7 +156,7 @@ intel_dp_mst_atomic_check(struct drm_connector *connector,
struct drm_dp_mst_topology_mgr *mgr;
int ret;
 
-   ret = intel_digital_connector_atomic_check(connector, new_conn_state);
+   ret = intel_digital_connector_atomic_check(connector, state);
if (ret)
return ret;
 
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers (rev2)

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

Series: drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers (rev2)
URL   : https://patchwork.freedesktop.org/series/60195/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12948


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/60195/revisions/2/mbox/

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_switch@basic-default:
- fi-icl-y:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#108569] / [fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-icl-y/igt@gem_ctx_swi...@basic-default.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/fi-icl-y/igt@gem_ctx_swi...@basic-default.html

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [INCOMPLETE][3] ([fdo#108602] / [fdo#108744] / 
[fdo#110581]) -> [PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12948/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 44)
--

  Missing(10): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-skl-guc 
fi-byt-squawks fi-bsw-cyan fi-kbl-guc fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12948

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12948: 4ee3f21b0b1aa6dd3df3a96714d51dcaff4a94bd @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

4ee3f21b0b1a drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers

== Logs ==

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

[Intel-gfx] [PATCH 2/2] RFC: soft/hardlookup: taint kernel

2019-05-02 Thread Daniel Vetter
There's the soft/hardlookup_panic sysctls, but that's a bit an extreme
measure. As a fallback taint at least the machine.

Our CI uses this to decide when a reboot is necessary, plus to figure
out whether the kernel is still happy.

Signed-off-by: Daniel Vetter 
Cc: Thomas Gleixner 
Cc: Ingo Molnar 
Cc: Peter Zijlstra 
Cc: Valdis Kletnieks 
Cc: Laurence Oberman 
Cc: Vincent Whitchurch 
Cc: Don Zickus 
Cc: Andrew Morton 
Cc: Sergey Senozhatsky 
Cc: Sinan Kaya 
Cc: Daniel Vetter 
---
 kernel/watchdog.c | 2 ++
 kernel/watchdog_hld.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 6a5787233113..de7a60503517 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -469,6 +469,8 @@ static enum hrtimer_restart watchdog_timer_fn(struct 
hrtimer *hrtimer)
add_taint(TAINT_SOFTLOCKUP, LOCKDEP_STILL_OK);
if (softlockup_panic)
panic("softlockup: hung tasks");
+   else
+   add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
__this_cpu_write(soft_watchdog_warn, true);
} else
__this_cpu_write(soft_watchdog_warn, false);
diff --git a/kernel/watchdog_hld.c b/kernel/watchdog_hld.c
index 247bf0b1582c..cce46cf75d76 100644
--- a/kernel/watchdog_hld.c
+++ b/kernel/watchdog_hld.c
@@ -154,6 +154,8 @@ static void watchdog_overflow_callback(struct perf_event 
*event,
 
if (hardlockup_panic)
nmi_panic(regs, "Hard LOCKUP");
+   else
+   add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
 
__this_cpu_write(hard_watchdog_warn, true);
return;
-- 
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] RFC: hung_task: taint kernel

2019-05-02 Thread Daniel Vetter
There's the hung_task_panic sysctl, but that's a bit an extreme measure.
As a fallback taint at least the machine.

Our CI uses this to decide when a reboot is necessary, plus to figure
out whether the kernel is still happy.

Signed-off-by: Daniel Vetter 
Cc: Andrew Morton 
Cc: Tetsuo Handa 
Cc: Dmitry Vyukov 
Cc: "Paul E. McKenney" 
Cc: Valdis Kletnieks 
Cc: Daniel Vetter 
Cc: Vitaly Kuznetsov 
Cc: "Liu, Chuansheng" 
---
 kernel/hung_task.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index f108a95882c6..7fae16f1b49c 100644
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -203,6 +203,8 @@ static void check_hung_uninterruptible_tasks(unsigned long 
timeout)
if (hung_task_call_panic) {
trigger_all_cpu_backtrace();
panic("hung_task: blocked tasks");
+   } else {
+   add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
}
 }
 
-- 
2.20.1

___
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 [v5,1/4] drm/i915: Fix the pipe state timing mismatch warnings

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

Series: series starting with [v5,1/4] drm/i915: Fix the pipe state timing 
mismatch warnings
URL   : https://patchwork.freedesktop.org/series/60218/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
91207cbf0ccb drm/i915: Fix the pipe state timing mismatch warnings
-:52: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
#52: FILE: drivers/gpu/drm/i915/icl_dsi.c:1204:
+
+}

total: 0 errors, 0 warnings, 1 checks, 75 lines checked
a28cace108e0 drm/i915: Refactor bdw_get_pipemisc_bpp
38eb90b2c673 drm/i915: Fix pipe config mismatch for bpp, output format
ad63c51d1394 drm/i915: Fix pixel clock and crtc clock config mismatch

___
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: the great header refactoring, part three

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

Series: drm/i915: the great header refactoring, part three
URL   : https://patchwork.freedesktop.org/series/60215/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12947


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

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

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [INCOMPLETE][5] ([fdo#108602] / [fdo#108744] / 
[fdo#110581]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12947/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 43)
--

  Missing(11): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-skl-guc 
fi-byt-squawks fi-bsw-cyan fi-kbl-guc fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 
fi-cml-u 


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12947

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12947: df6c90b06bffe88976d785385e504b43356ab061 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

df6c90b06bff drm/i915: extract intel_gmbus.h from i915_drv.h and rename 
intel_i2c.c
5204035ef050 drm/i915: move more generic utils to i915_utils.h
e897718d1a6e drm/i915: make i915_utils.h self-contained
4cbadf6de15f drm/i915: move i915_vgacntrl_reg() where needed
50ea3b222b58 drm/i915: extract i915_debugfs.h from i915_drv.h
cf9b5978fcef drm/i915: extract intel_acpi.h from i915_drv.h
a23255f00364 drm/i915: extract intel_lpe_audio.h from i915_drv.h
aac80847f4f3 drm/i915: extract intel_dpio_phy.h from i915_drv.h
81d05aed68fb drm/i915/csr: move CSR version macros to intel_csr.h
e368306364d2 drm/i915: remove unused/stale macros and comments from intel_drv.h
552591452252 drm/i915: move ranges to intel_display.c
ecb082b73857 drm/i915/dsi: move operation mode types to intel_dsi.h
ac0fcd25f9fa drm/i915/dvo: move DVO chip types to intel_dvo.c

== Logs ==

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

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: the great header refactoring, part three

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

Series: drm/i915: the great header refactoring, part three
URL   : https://patchwork.freedesktop.org/series/60215/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915/dvo: move DVO chip types to intel_dvo.c
Okay!

Commit: drm/i915/dsi: move operation mode types to intel_dsi.h
Okay!

Commit: drm/i915: move ranges to intel_display.c
Okay!

Commit: drm/i915: remove unused/stale macros and comments from intel_drv.h
Okay!

Commit: drm/i915/csr: move CSR version macros to intel_csr.h
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3448:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3444:16: warning: expression 
using sizeof(void)

Commit: drm/i915: extract intel_dpio_phy.h from i915_drv.h
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3444:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3403:16: warning: expression 
using sizeof(void)

Commit: drm/i915: extract intel_lpe_audio.h from i915_drv.h
+drivers/gpu/drm/i915/i915_irq.c:1000:20: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/i915_irq.c:1000:20: warning: expression using sizeof(void)
-drivers/gpu/drm/i915/i915_irq.c:1000:20: warning: expression using sizeof(void)
-drivers/gpu/drm/i915/i915_irq.c:1000:20: warning: expression using sizeof(void)
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3403:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3395:16: warning: expression 
using sizeof(void)

Commit: drm/i915: extract intel_acpi.h from i915_drv.h
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3395:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3386:16: warning: expression 
using sizeof(void)

Commit: drm/i915: extract i915_debugfs.h from i915_drv.h
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3386:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3374:16: warning: expression 
using sizeof(void)

Commit: drm/i915: move i915_vgacntrl_reg() where needed
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3374:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3364:16: warning: expression 
using sizeof(void)

Commit: drm/i915: make i915_utils.h self-contained
Okay!

Commit: drm/i915: move more generic utils to i915_utils.h
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3364:16: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/i915_drv.h:3374:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:184:16: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/i915_utils.h:194:16: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3364:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_utils.h:184:16: warning: expression 
using sizeof(void)

Commit: drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c
+drivers/gpu/drm/i915/intel_gmbus.c:446:31: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_gmbus.c:448:31: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_gmbus.c:448:31: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_gmbus.c:510:23: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_gmbus.c:510:23: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/intel_gmbus.c:446:31: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/intel_gmbus.c:448:31: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/intel_gmbus.c:448:31: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/intel_gmbus.c:510:23: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/intel_gmbus.c:510:23: warning: expression using 
sizeof(void)

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: the great header refactoring, part three

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

Series: drm/i915: the great header refactoring, part three
URL   : https://patchwork.freedesktop.org/series/60215/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
ac0fcd25f9fa drm/i915/dvo: move DVO chip types to intel_dvo.c
ecb082b73857 drm/i915/dsi: move operation mode types to intel_dsi.h
552591452252 drm/i915: move ranges to intel_display.c
e368306364d2 drm/i915: remove unused/stale macros and comments from intel_drv.h
81d05aed68fb drm/i915/csr: move CSR version macros to intel_csr.h
aac80847f4f3 drm/i915: extract intel_dpio_phy.h from i915_drv.h
-:133: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#133: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 161 lines checked
a23255f00364 drm/i915: extract intel_lpe_audio.h from i915_drv.h
-:107: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#107: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 83 lines checked
cf9b5978fcef drm/i915: extract intel_acpi.h from i915_drv.h
-:82: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#82: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 65 lines checked
50ea3b222b58 drm/i915: extract i915_debugfs.h from i915_drv.h
-:45: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#45: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 98 lines checked
4cbadf6de15f drm/i915: move i915_vgacntrl_reg() where needed
e897718d1a6e drm/i915: make i915_utils.h self-contained
5204035ef050 drm/i915: move more generic utils to i915_utils.h
-:96: ERROR:CODE_INDENT: code indent should use tabs where possible
#96: FILE: drivers/gpu/drm/i915/i915_utils.h:194:
+return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);$

-:96: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#96: FILE: drivers/gpu/drm/i915/i915_utils.h:194:
+return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);$

-:134: CHECK:CAMELCASE: Avoid CamelCase: 
#134: FILE: drivers/gpu/drm/i915/i915_utils.h:232:
+#define __wait_for(OP, COND, US, Wmin, Wmax) ({ \

-:134: CHECK:CAMELCASE: Avoid CamelCase: 
#134: FILE: drivers/gpu/drm/i915/i915_utils.h:232:
+#define __wait_for(OP, COND, US, Wmin, Wmax) ({ \

-:165: ERROR:IN_ATOMIC: do not use in_atomic in drivers
#165: FILE: drivers/gpu/drm/i915/i915_utils.h:263:
+# define _WAIT_FOR_ATOMIC_CHECK(ATOMIC) WARN_ON_ONCE((ATOMIC) && !in_atomic())

-:170: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ATOMIC' - possible 
side-effects?
#170: FILE: drivers/gpu/drm/i915/i915_utils.h:268:
+#define _wait_for_atomic(COND, US, ATOMIC) \
+({ \
+   int cpu, ret, timeout = (US) * 1000; \
+   u64 base; \
+   _WAIT_FOR_ATOMIC_CHECK(ATOMIC); \
+   if (!(ATOMIC)) { \
+   preempt_disable(); \
+   cpu = smp_processor_id(); \
+   } \
+   base = local_clock(); \
+   for (;;) { \
+   u64 now = local_clock(); \
+   if (!(ATOMIC)) \
+   preempt_enable(); \
+   /* Guarantee COND check prior to timeout */ \
+   barrier(); \
+   if (COND) { \
+   ret = 0; \
+   break; \
+   } \
+   if (now - base >= timeout) { \
+   ret = -ETIMEDOUT; \
+   break; \
+   } \
+   cpu_relax(); \
+   if (!(ATOMIC)) { \
+   preempt_disable(); \
+   if (unlikely(cpu != smp_processor_id())) { \
+   timeout -= now - base; \
+   cpu = smp_processor_id(); \
+   base = local_clock(); \
+   } \
+   } \
+   } \
+   ret; \
+})

-:207: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'COND' - possible 
side-effects?
#207: FILE: drivers/gpu/drm/i915/i915_utils.h:305:
+#define wait_for_us(COND, US) \
+({ \
+   int ret__; \
+   BUILD_BUG_ON(!__builtin_constant_p(US)); \
+   if ((US) > 10) \
+   ret__ = _wait_for((COND), (US), 10, 10); \
+   else \
+   ret__ = _wait_for_atomic((COND), (US), 0); \
+   ret__; \
+})

-:207: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'US' - possible side-effects?
#207: FILE: drivers/gpu/drm/i915/i915_utils.h:305:
+#define wait_for_us(COND, US) \
+({ \
+   int ret__; \
+   BUILD_BUG_ON(!__builtin_constant_p(US)); \
+   if ((US) > 10) \
+   ret__ = _wait_for((COND), (US), 10, 10); \
+   else \
+   ret__ = _wait_for_atomic((COND), (US), 0); \
+   ret__; \
+})

-:218: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'US' - possible side-effects?
#218: FILE: drivers/gpu/drm/i915/i915_utils.h:316:
+#define wait_for_atomic_us(COND, US) \
+({ \
+   

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/execlists: Flush the tasklet on parking

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

Series: series starting with [1/2] drm/i915/execlists: Flush the tasklet on 
parking
URL   : https://patchwork.freedesktop.org/series/60216/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12946


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [INCOMPLETE][1] ([fdo#108602] / [fdo#108744] / 
[fdo#110581]) -> [PASS][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 41)
--

  Missing(13): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 
fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-kbl-guc fi-ctg-p8600 fi-gdg-551 
fi-pnv-d510 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12946

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12946: 2b2c8ab61486a4c91e69ffc208cbdac21e20eff0 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

2b2c8ab61486 drm/i915: Leave engine parking to the engines
af6c2933c230 drm/i915/execlists: Flush the tasklet on parking

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12946/
___
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: add single combo phy init/unit functions (rev3)

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

Series: drm/i915: add single combo phy init/unit functions (rev3)
URL   : https://patchwork.freedesktop.org/series/60112/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12945


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/60112/revisions/3/mbox/

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#108569] / [fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-icl-y/igt@i915_selftest@live_contexts.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/fi-icl-y/igt@i915_selftest@live_contexts.html

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [INCOMPLETE][3] ([fdo#108602] / [fdo#108744] / 
[fdo#110581]) -> [PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12945/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 44)
--

  Missing(10): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-skl-guc 
fi-byt-squawks fi-bsw-cyan fi-kbl-guc fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12945

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12945: 23a7b80b86d280cbf7148a3fc65fbd95bef52a32 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

23a7b80b86d2 drm/i915: add single combo phy init/unit functions

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for HDCP2.2 Phase II (rev8)

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

Series: HDCP2.2 Phase II (rev8)
URL   : https://patchwork.freedesktop.org/series/57232/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6026_full -> Patchwork_12939_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * {igt@kms_content_protection@uevent} (NEW):
- shard-kbl:  NOTRUN -> [FAIL][1] +2 similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-kbl6/igt@kms_content_protect...@uevent.html
- shard-iclb: NOTRUN -> [SKIP][2] +5 similar issues
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-iclb6/igt@kms_content_protect...@uevent.html
- shard-apl:  NOTRUN -> [FAIL][3]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-apl7/igt@kms_content_protect...@uevent.html

  
New tests
-

  New tests have been introduced between CI_DRM_6026_full and 
Patchwork_12939_full:

### New IGT tests (6) ###

  * igt@kms_content_protection@content_type_change:
- Statuses : 7 skip(s)
- Exec time: [0.0, 0.01] s

  * igt@kms_content_protection@lic:
- Statuses : 1 fail(s) 5 skip(s)
- Exec time: [0.0, 120.80] s

  * igt@kms_content_protection@mei_interface:
- Statuses : 6 skip(s)
- Exec time: [0.00, 0.01] s

  * igt@kms_content_protection@srm:
- Statuses : 1 fail(s) 5 skip(s)
- Exec time: [0.00, 121.50] s

  * igt@kms_content_protection@type1:
- Statuses : 7 skip(s)
- Exec time: [0.0, 0.01] s

  * igt@kms_content_protection@uevent:
- Statuses : 2 fail(s) 5 skip(s)
- Exec time: [0.0, 106.95] s

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_workarounds@suspend-resume:
- shard-apl:  [PASS][4] -> [DMESG-WARN][5] ([fdo#108566]) +2 
similar issues
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-apl8/igt@gem_workarou...@suspend-resume.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-apl8/igt@gem_workarou...@suspend-resume.html

  * igt@kms_color@pipe-c-degamma:
- shard-glk:  [PASS][6] -> [FAIL][7] ([fdo#104782])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-glk4/igt@kms_co...@pipe-c-degamma.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-glk9/igt@kms_co...@pipe-c-degamma.html
- shard-kbl:  [PASS][8] -> [FAIL][9] ([fdo#104782])
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-kbl5/igt@kms_co...@pipe-c-degamma.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-kbl5/igt@kms_co...@pipe-c-degamma.html
- shard-skl:  [PASS][10] -> [FAIL][11] ([fdo#104782])
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl1/igt@kms_co...@pipe-c-degamma.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-skl3/igt@kms_co...@pipe-c-degamma.html
- shard-apl:  [PASS][12] -> [FAIL][13] ([fdo#104782])
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-apl8/igt@kms_co...@pipe-c-degamma.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-apl4/igt@kms_co...@pipe-c-degamma.html

  * igt@kms_cursor_crc@cursor-128x42-random:
- shard-skl:  [PASS][14] -> [FAIL][15] ([fdo#103232])
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl4/igt@kms_cursor_...@cursor-128x42-random.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-skl2/igt@kms_cursor_...@cursor-128x42-random.html

  * igt@kms_fbcon_fbt@psr-suspend:
- shard-skl:  [PASS][16] -> [INCOMPLETE][17] ([fdo#104108] / 
[fdo#107773] / [fdo#110581])
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl8/igt@kms_fbcon_...@psr-suspend.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-skl2/igt@kms_fbcon_...@psr-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  [PASS][18] -> [FAIL][19] ([fdo#105363])
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl3/igt@kms_f...@flip-vs-expired-vblank.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12939/shard-skl5/igt@kms_f...@flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
- shard-skl:  [PASS][20] -> [FAIL][21] ([fdo#108040])
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl10/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-pwrite.html
   [21]: 

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dp: use logical operators with boolean type (rev2)

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

Series: drm/i915/dp: use logical operators with boolean type (rev2)
URL   : https://patchwork.freedesktop.org/series/60190/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12944


Summary
---

  **FAILURE**

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

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/60190/revisions/2/mbox/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

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

  
Known issues


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

### IGT changes ###

 Issues hit 

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

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

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

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [INCOMPLETE][8] ([fdo#108602] / [fdo#108744] / 
[fdo#110581]) -> [PASS][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12944/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [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#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 44)
--

  Missing(10): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-skl-guc 
fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus fi-byt-clapper 
fi-skl-6600u 


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12944

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12944: f93b4413e5038b02f3af44a46ce4a5e188f2906e @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

f93b4413e503 drm/i915/dp: use logical operators with boolean type

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12944/
___
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/execlists: Unshadow MI_USER_INTERRUPT (rev2)

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

Series: drm/i915/execlists: Unshadow MI_USER_INTERRUPT (rev2)
URL   : https://patchwork.freedesktop.org/series/60192/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6029 -> Patchwork_12942


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/60192/revisions/2/mbox/

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-kbl-7567u:   [PASS][1] -> [DMESG-WARN][2] ([fdo#108566])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-kbl-7567u/igt@gem_exec_susp...@basic-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/fi-kbl-7567u/igt@gem_exec_susp...@basic-s3.html

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

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

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   [INCOMPLETE][7] ([fdo#108602] / [fdo#108744] / 
[fdo#110581]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/fi-skl-iommu/igt@i915_selftest@live_hangcheck.html

  
 Warnings 

  * igt@i915_pm_rpm@basic-pci-d3-state:
- fi-kbl-guc: [INCOMPLETE][9] ([fdo#107807] / [fdo#110581]) -> 
[SKIP][10] ([fdo#109271])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6029/fi-kbl-guc/igt@i915_pm_...@basic-pci-d3-state.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12942/fi-kbl-guc/igt@i915_pm_...@basic-pci-d3-state.html

  
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 46)
--

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


Build changes
-

  * Linux: CI_DRM_6029 -> Patchwork_12942

  CI_DRM_6029: 0548213ff6d52d4638778a95a4b3a7900e683ac3 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12942: 4a0682aa8c27a87a40512431fe7c62476ee43e27 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

4a0682aa8c27 drm/i915/execlists: Ensure arbitration is disabled for the 
breadcrumb

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Tune down WARN about incorrect VBT TC legacy flag

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

Series: drm/i915: Tune down WARN about incorrect VBT TC legacy flag
URL   : https://patchwork.freedesktop.org/series/60197/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6026_full -> Patchwork_12938_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_eio@reset-stress:
- shard-skl:  [PASS][1] -> [FAIL][2] ([fdo#105957])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl8/igt@gem_...@reset-stress.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-skl8/igt@gem_...@reset-stress.html

  * igt@gem_mmap_gtt@forked-basic-small-copy:
- shard-hsw:  [PASS][3] -> [INCOMPLETE][4] ([fdo#103540] / 
[fdo#110581])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-hsw2/igt@gem_mmap_...@forked-basic-small-copy.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-hsw1/igt@gem_mmap_...@forked-basic-small-copy.html

  * igt@i915_pm_rpm@i2c:
- shard-iclb: [PASS][5] -> [DMESG-WARN][6] ([fdo#109982])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb5/igt@i915_pm_...@i2c.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb2/igt@i915_pm_...@i2c.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103167]) +3 similar 
issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-render.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb8/igt@kms_frontbuffer_track...@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu:
- shard-skl:  [PASS][9] -> [FAIL][10] ([fdo#103167] / [fdo#110379])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl8/igt@kms_frontbuffer_track...@fbc-rgb101010-draw-mmap-cpu.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-skl8/igt@kms_frontbuffer_track...@fbc-rgb101010-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-apl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +1 
similar issue
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-apl8/igt@kms_frontbuffer_track...@fbc-suspend.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-apl6/igt@kms_frontbuffer_track...@fbc-suspend.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
- shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#108145])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl1/igt@kms_plane_alpha_bl...@pipe-a-coverage-7efc.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-skl4/igt@kms_plane_alpha_bl...@pipe-a-coverage-7efc.html

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
- shard-glk:  [PASS][15] -> [SKIP][16] ([fdo#109271] / 
[fdo#109278]) +1 similar issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-glk9/igt@kms_plane_scal...@pipe-a-scaler-with-clipping-clamping.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-glk4/igt@kms_plane_scal...@pipe-a-scaler-with-clipping-clamping.html

  * igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +2 similar 
issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb1/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_sysfs_edid_timing:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#100047])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-iclb1/igt@kms_sysfs_edid_timing.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-iclb3/igt@kms_sysfs_edid_timing.html

  
 Possible fixes 

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk:  [FAIL][21] ([fdo#104873]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-glk9/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12938/shard-glk4/igt@kms_cursor_leg...@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_draw_crc@draw-method-xrgb-render-xtiled:
- shard-skl:  [FAIL][23] ([fdo#103184] / [fdo#103232]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6026/shard-skl8/igt@kms_draw_...@draw-method-xrgb-render-xtiled.html
   [24]: 

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [01/14] drm/i915/hangcheck: Track context changes (rev5)

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

Series: series starting with [01/14] drm/i915/hangcheck: Track context changes 
(rev5)
URL   : https://patchwork.freedesktop.org/series/60153/
State : failure

== Summary ==

Applying: drm/i915/hangcheck: Track context changes
Applying: drm/i915: Include fence signaled bit in print_request()
Using index info to reconstruct a base tree...
M   drivers/gpu/drm/i915/gt/intel_engine_cs.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/gt/intel_engine_cs.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/gt/intel_engine_cs.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0002 drm/i915: Include fence signaled bit in print_request()
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 v2] drm/i915/execlists: Ensure arbitration is disabled for the breadcrumb

2019-05-02 Thread Chris Wilson
Quoting Chris Wilson (2019-05-02 15:17:01)
> If we interrupt building of the request, we may emit a request with no
> payload at all, with the consequence that we never disable arbitration
> prior to the breadcrumb. If we get preempted during the breadcrumb, it
> appears possible to lose the association of the interrupt with
> breadcrumb, and under the right conditions miss the breadcrumb interrupt
> entirely, leaving the request's waiters dangling.
> 
> Now that we always disable the arbitration in the breadcrumb, we can
> remove the redundant command to disable it after emitting the batch.
> 
> Testcase: igt/gem_concurrent_blit
> Signed-off-by: Chris Wilson 

That's not it either. Next idea?
-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 RFC: console: hack up console_trylock more

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

Series: RFC: console: hack up console_trylock more
URL   : https://patchwork.freedesktop.org/series/60212/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6028 -> Patchwork_12941


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#108569] / [fdo#110581])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6028/fi-icl-y/igt@i915_selftest@live_contexts.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12941/fi-icl-y/igt@i915_selftest@live_contexts.html

  
 Possible fixes 

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

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

  
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#110581]: https://bugs.freedesktop.org/show_bug.cgi?id=110581


Participating hosts (54 -> 46)
--

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


Build changes
-

  * Linux: CI_DRM_6028 -> Patchwork_12941

  CI_DRM_6028: dbaec229490d7a786375739370f757b7e70d0251 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12941: 5a15dd2f624bd37232f5e349e4b3416ebad9845d @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5a15dd2f624b RFC: console: hack up console_trylock more

== Logs ==

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

Re: [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [v2,1/2] drm/i915/icl: Factor out combo PHY lane power setup helper

2019-05-02 Thread Imre Deak
On Thu, May 02, 2019 at 05:45:45PM +0300, Jani Nikula wrote:
> On Thu, 02 May 2019, Imre Deak  wrote:
> > On Fri, Apr 26, 2019 at 08:39:12AM +, Patchwork wrote:
> >> == Series Details ==
> >> 
> >> Series: series starting with [v2,1/2] drm/i915/icl: Factor out combo PHY 
> >> lane power setup helper
> >> URL   : https://patchwork.freedesktop.org/series/59954/
> >> State : success
> >
> > Thanks for the review, series pushed to -dinq, with the s/icl_/intel_/
> > change and adding the headers to intel_combo_phy.h required by the
> > recent header refactoring.
> 
> Hey, I expected a resend. Please always resend the the rebased patches
> for CI, and only push patches that have gone through CI!

Ok, will do so.

I assume though that trivial changes only in the commit message and/or
code comments - if the reviewer has agreed to them - don't need a
resend. That would only result in in an unecessary run through CI with
unchanged code.

> 
> BR,
> Jani.
> 
> 
> >
> >> 
> >> == Summary ==
> >> 
> >> CI Bug Log - changes from CI_DRM_6000_full -> Patchwork_12877_full
> >> 
> >> 
> >> Summary
> >> ---
> >> 
> >>   **SUCCESS**
> >> 
> >>   No regressions found.
> >> 
> >>   
> >> 
> >> Known issues
> >> 
> >> 
> >>   Here are the changes found in Patchwork_12877_full that come from known 
> >> issues:
> >> 
> >> ### IGT changes ###
> >> 
> >>  Issues hit 
> >> 
> >>   * igt@gem_tiled_swapping@non-threaded:
> >> - shard-iclb: [PASS][1] -> [DMESG-WARN][2] ([fdo#108686])
> >>[1]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb6/igt@gem_tiled_swapp...@non-threaded.html
> >>[2]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb3/igt@gem_tiled_swapp...@non-threaded.html
> >> 
> >>   * igt@i915_pm_rpm@legacy-planes:
> >> - shard-skl:  [PASS][3] -> [INCOMPLETE][4] ([fdo#107807])
> >>[3]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl5/igt@i915_pm_...@legacy-planes.html
> >>[4]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl6/igt@i915_pm_...@legacy-planes.html
> >> 
> >>   * igt@kms_cursor_crc@cursor-64x64-dpms:
> >> - shard-skl:  [PASS][5] -> [FAIL][6] ([fdo#103232])
> >>[5]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl8/igt@kms_cursor_...@cursor-64x64-dpms.html
> >>[6]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl5/igt@kms_cursor_...@cursor-64x64-dpms.html
> >> 
> >>   * igt@kms_flip@flip-vs-expired-vblank-interruptible:
> >> - shard-skl:  [PASS][7] -> [FAIL][8] ([fdo#105363])
> >>[7]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl7/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
> >>[8]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl4/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
> >> 
> >>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
> >> - shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167])
> >>[9]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-indfb-pgflip-blt.html
> >>[10]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb1/igt@kms_frontbuffer_track...@fbc-1p-primscrn-indfb-pgflip-blt.html
> >> 
> >>   * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
> >> - shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#104108])
> >>[11]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl2/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-b.html
> >>[12]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl3/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-b.html
> >> 
> >>   * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
> >> - shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#108145] / 
> >> [fdo#110403])
> >>[13]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl8/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
> >>[14]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl5/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
> >> 
> >>   * igt@kms_psr2_su@frontbuffer:
> >> - shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109642])
> >>[15]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb2/igt@kms_psr2...@frontbuffer.html
> >>[16]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb1/igt@kms_psr2...@frontbuffer.html
> >> 
> >>   * igt@kms_psr@psr2_sprite_render:
> >> - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +2 
> >> similar issues
> >>[17]: 
> >> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb2/igt@kms_psr@psr2_sprite_render.html
> >>[18]: 
> >> 

[Intel-gfx] [v5 1/4] drm/i915: Fix the pipe state timing mismatch warnings

2019-05-02 Thread Vandita Kulkarni
Adjust the get transcoder timings for mipi dsi as per the
set timing calculations.

v2: Use the existing intel_get_pipe_timings and do the dsi
specific adjustments in the encoder get_config hook.(Ville, Jani)

v3: Exclude VBLANK and HBLANK registers for dsi transcoder.

v4: Fix the incomplete conditional logic.

Signed-off-by: Vandita Kulkarni 
---
 drivers/gpu/drm/i915/icl_dsi.c   | 29 +
 drivers/gpu/drm/i915/intel_display.c | 22 --
 2 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c
index c6ecc00..45fe69c 100644
--- a/drivers/gpu/drm/i915/icl_dsi.c
+++ b/drivers/gpu/drm/i915/icl_dsi.c
@@ -1194,6 +1194,34 @@ static void gen11_dsi_disable(struct intel_encoder 
*encoder,
gen11_dsi_disable_io_power(encoder);
 }
 
+static void gen11_dsi_get_timings(struct intel_encoder *encoder,
+ struct intel_crtc_state *pipe_config)
+{
+   struct intel_dsi *intel_dsi = enc_to_intel_dsi(>base);
+   struct drm_display_mode *adjusted_mode =
+   _config->base.adjusted_mode;
+
+   if (intel_dsi->dual_link) {
+   adjusted_mode->crtc_hdisplay *= 2;
+   if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK)
+   adjusted_mode->crtc_hdisplay -=
+   intel_dsi->pixel_overlap;
+   adjusted_mode->crtc_htotal *= 2;
+   }
+   adjusted_mode->crtc_hblank_start = adjusted_mode->crtc_hdisplay;
+   adjusted_mode->crtc_hblank_end = adjusted_mode->crtc_htotal;
+
+   if (intel_dsi->operation_mode == INTEL_DSI_VIDEO_MODE) {
+   if (intel_dsi->dual_link) {
+   adjusted_mode->crtc_hsync_start *= 2;
+   adjusted_mode->crtc_hsync_end *= 2;
+   }
+   }
+   adjusted_mode->crtc_vblank_start = adjusted_mode->crtc_vdisplay;
+   adjusted_mode->crtc_vblank_end = adjusted_mode->crtc_vtotal;
+
+}
+
 static void gen11_dsi_get_config(struct intel_encoder *encoder,
 struct intel_crtc_state *pipe_config)
 {
@@ -1204,6 +1232,7 @@ static void gen11_dsi_get_config(struct intel_encoder 
*encoder,
pipe_config->port_clock =
cnl_calc_wrpll_link(dev_priv, _config->dpll_hw_state);
pipe_config->base.adjusted_mode.crtc_clock = intel_dsi->pclk;
+   gen11_dsi_get_timings(encoder, pipe_config);
pipe_config->output_types |= BIT(INTEL_OUTPUT_DSI);
 }
 
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index dd65d7c..c8cfddc 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7736,9 +7736,14 @@ static void intel_get_pipe_timings(struct intel_crtc 
*crtc,
tmp = I915_READ(HTOTAL(cpu_transcoder));
pipe_config->base.adjusted_mode.crtc_hdisplay = (tmp & 0x) + 1;
pipe_config->base.adjusted_mode.crtc_htotal = ((tmp >> 16) & 0x) + 
1;
-   tmp = I915_READ(HBLANK(cpu_transcoder));
-   pipe_config->base.adjusted_mode.crtc_hblank_start = (tmp & 0x) + 1;
-   pipe_config->base.adjusted_mode.crtc_hblank_end = ((tmp >> 16) & 
0x) + 1;
+
+   if (!transcoder_is_dsi(cpu_transcoder)) {
+   tmp = I915_READ(HBLANK(cpu_transcoder));
+   pipe_config->base.adjusted_mode.crtc_hblank_start =
+   (tmp & 0x) + 1;
+   pipe_config->base.adjusted_mode.crtc_hblank_end =
+   ((tmp >> 16) & 0x) + 1;
+   }
tmp = I915_READ(HSYNC(cpu_transcoder));
pipe_config->base.adjusted_mode.crtc_hsync_start = (tmp & 0x) + 1;
pipe_config->base.adjusted_mode.crtc_hsync_end = ((tmp >> 16) & 0x) 
+ 1;
@@ -7746,9 +7751,14 @@ static void intel_get_pipe_timings(struct intel_crtc 
*crtc,
tmp = I915_READ(VTOTAL(cpu_transcoder));
pipe_config->base.adjusted_mode.crtc_vdisplay = (tmp & 0x) + 1;
pipe_config->base.adjusted_mode.crtc_vtotal = ((tmp >> 16) & 0x) + 
1;
-   tmp = I915_READ(VBLANK(cpu_transcoder));
-   pipe_config->base.adjusted_mode.crtc_vblank_start = (tmp & 0x) + 1;
-   pipe_config->base.adjusted_mode.crtc_vblank_end = ((tmp >> 16) & 
0x) + 1;
+
+   if (!transcoder_is_dsi(cpu_transcoder)) {
+   tmp = I915_READ(VBLANK(cpu_transcoder));
+   pipe_config->base.adjusted_mode.crtc_vblank_start =
+   (tmp & 0x) + 1;
+   pipe_config->base.adjusted_mode.crtc_vblank_end =
+   ((tmp >> 16) & 0x) + 1;
+   }
tmp = I915_READ(VSYNC(cpu_transcoder));
pipe_config->base.adjusted_mode.crtc_vsync_start = (tmp & 0x) + 1;

[Intel-gfx] [v5 2/4] drm/i915: Refactor bdw_get_pipemisc_bpp

2019-05-02 Thread Vandita Kulkarni
Move bdw_get_pipemisc_bpp alongside bdw_set_pipemisc

Signed-off-by: Vandita Kulkarni 
---
 drivers/gpu/drm/i915/intel_display.c | 22 ++
 drivers/gpu/drm/i915/intel_drv.h |  1 +
 drivers/gpu/drm/i915/vlv_dsi.c   | 22 --
 3 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index c8cfddc..bbdb1ff 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8946,6 +8946,28 @@ static void bdw_set_pipemisc(const struct 
intel_crtc_state *crtc_state)
I915_WRITE(PIPEMISC(crtc->pipe), val);
 }
 
+int bdw_get_pipemisc_bpp(struct intel_crtc *crtc)
+{
+   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+   u32 tmp;
+
+   tmp = I915_READ(PIPEMISC(crtc->pipe));
+
+   switch (tmp & PIPEMISC_DITHER_BPC_MASK) {
+   case PIPEMISC_DITHER_6_BPC:
+   return 18;
+   case PIPEMISC_DITHER_8_BPC:
+   return 24;
+   case PIPEMISC_DITHER_10_BPC:
+   return 30;
+   case PIPEMISC_DITHER_12_BPC:
+   return 36;
+   default:
+   MISSING_CASE(tmp);
+   return 0;
+   }
+}
+
 int ironlake_get_lanes_required(int target_clock, int link_bw, int bpp)
 {
/*
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 57ae396..ba75842 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1759,6 +1759,7 @@ u32 skl_plane_stride(const struct intel_plane_state 
*plane_state,
 unsigned int i9xx_plane_max_stride(struct intel_plane *plane,
   u32 pixel_format, u64 modifier,
   unsigned int rotation);
+int bdw_get_pipemisc_bpp(struct intel_crtc *crtc);
 
 /* intel_runtime_pm.c */
 static inline void
diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c
index bc5b782..895ea1a 100644
--- a/drivers/gpu/drm/i915/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/vlv_dsi.c
@@ -262,28 +262,6 @@ static void band_gap_reset(struct drm_i915_private 
*dev_priv)
vlv_flisdsi_put(dev_priv);
 }
 
-static int bdw_get_pipemisc_bpp(struct intel_crtc *crtc)
-{
-   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-   u32 tmp;
-
-   tmp = I915_READ(PIPEMISC(crtc->pipe));
-
-   switch (tmp & PIPEMISC_DITHER_BPC_MASK) {
-   case PIPEMISC_DITHER_6_BPC:
-   return 18;
-   case PIPEMISC_DITHER_8_BPC:
-   return 24;
-   case PIPEMISC_DITHER_10_BPC:
-   return 30;
-   case PIPEMISC_DITHER_12_BPC:
-   return 36;
-   default:
-   MISSING_CASE(tmp);
-   return 0;
-   }
-}
-
 static int intel_dsi_compute_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config,
struct drm_connector_state *conn_state)
-- 
1.9.1

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

[Intel-gfx] [v5 3/4] drm/i915: Fix pipe config mismatch for bpp, output format

2019-05-02 Thread Vandita Kulkarni
Read back the pixel fomrat register and get the bpp.

v2: Read the PIPE_MISC register (Jani).

Signed-off-by: Vandita Kulkarni 
---
 drivers/gpu/drm/i915/icl_dsi.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c
index 45fe69c..cd6a4f3 100644
--- a/drivers/gpu/drm/i915/icl_dsi.c
+++ b/drivers/gpu/drm/i915/icl_dsi.c
@@ -1226,6 +1226,7 @@ static void gen11_dsi_get_config(struct intel_encoder 
*encoder,
 struct intel_crtc_state *pipe_config)
 {
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
+   struct intel_crtc *crtc = to_intel_crtc(pipe_config->base.crtc);
struct intel_dsi *intel_dsi = enc_to_intel_dsi(>base);
 
/* FIXME: adapt icl_ddi_clock_get() for DSI and use that? */
@@ -1234,6 +1235,7 @@ static void gen11_dsi_get_config(struct intel_encoder 
*encoder,
pipe_config->base.adjusted_mode.crtc_clock = intel_dsi->pclk;
gen11_dsi_get_timings(encoder, pipe_config);
pipe_config->output_types |= BIT(INTEL_OUTPUT_DSI);
+   pipe_config->pipe_bpp = bdw_get_pipemisc_bpp(crtc);
 }
 
 static int gen11_dsi_compute_config(struct intel_encoder *encoder,
@@ -1249,6 +1251,7 @@ static int gen11_dsi_compute_config(struct intel_encoder 
*encoder,
struct drm_display_mode *adjusted_mode =
_config->base.adjusted_mode;
 
+   pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB;
intel_fixed_panel_mode(fixed_mode, adjusted_mode);
intel_pch_panel_fitting(crtc, pipe_config, conn_state->scaling_mode);
 
-- 
1.9.1

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

[Intel-gfx] [v5 4/4] drm/i915: Fix pixel clock and crtc clock config mismatch

2019-05-02 Thread Vandita Kulkarni
In case of dual link mode, the mode clock that we get
from the VBT is halved.

v2: Simplify the calculation (Jani).

Signed-off-by: Vandita Kulkarni 
---
 drivers/gpu/drm/i915/icl_dsi.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c
index cd6a4f3..46b3d30 100644
--- a/drivers/gpu/drm/i915/icl_dsi.c
+++ b/drivers/gpu/drm/i915/icl_dsi.c
@@ -1232,7 +1232,11 @@ static void gen11_dsi_get_config(struct intel_encoder 
*encoder,
/* FIXME: adapt icl_ddi_clock_get() for DSI and use that? */
pipe_config->port_clock =
cnl_calc_wrpll_link(dev_priv, _config->dpll_hw_state);
+
pipe_config->base.adjusted_mode.crtc_clock = intel_dsi->pclk;
+   if (intel_dsi->dual_link)
+   pipe_config->base.adjusted_mode.crtc_clock *= 2;
+
gen11_dsi_get_timings(encoder, pipe_config);
pipe_config->output_types |= BIT(INTEL_OUTPUT_DSI);
pipe_config->pipe_bpp = bdw_get_pipemisc_bpp(crtc);
-- 
1.9.1

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

Re: [Intel-gfx] [PATCH] drm/i915/dp: use logical operators with boolean type

2019-05-02 Thread Paulo Zanoni
Em qui, 2019-05-02 às 11:29 +0300, Jani Nikula escreveu:
> Using arithmetic operators with booleans is confusing. Switch to logical
> operators.
> 
> Cc: Paulo Zanoni 
> Signed-off-by: Jani Nikula 
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 4e7b8d..ef4992f 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5094,7 +5094,7 @@ static void icl_update_tc_port_type(struct 
> drm_i915_private *dev_priv,
>   enum port port = intel_dig_port->base.port;
>   enum tc_port_type old_type = intel_dig_port->tc_type;
>  
> - WARN_ON(is_legacy + is_typec + is_tbt != 1);
> + WARN_ON(is_legacy || is_typec || !is_tbt);

This changes the meaning. You're interpreting this as:

WARN_ON(is_legacy + is_typec + (is_tbt != 1))

while the original intent of the code is to be:

WARN_ON((is_legacy + is_typec + is_tbt) != 1)

and a quick check on operator precedence tables leads me to think the
original code is indeed correct.

We're asserting exactly one of these bools enabled, so the logic
operation would be something like:

WARN_ON((is_legacy && (is_typec || is_tbt)) ||
(is_typec && (is_legacy || is_tbt)) ||
(is_tbt && (is_legacy || is_typec)) ||
(!is_legacy && !is_typec && !is_tbt))

I would still prefer the arithmetic operation.

>  
>   if (is_legacy)
>   intel_dig_port->tc_type = TC_PORT_LEGACY;

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for RFC: console: hack up console_trylock more

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

Series: RFC: console: hack up console_trylock more
URL   : https://patchwork.freedesktop.org/series/60212/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
5a15dd2f624b RFC: console: hack up console_trylock more
-:73: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#73: FILE: include/linux/semaphore.h:43:
+extern int __must_check __down_trylock(struct semaphore *sem);

-:133: WARNING:NO_AUTHOR_SIGN_OFF: Missing Signed-off-by: line by nominal patch 
author 'Daniel Vetter '

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

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

[Intel-gfx] [PATCH v2] drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers

2019-05-02 Thread Shashank Sharma
Framebuffer formats P01x are supported by GLK, but the function which
handles CSC on plane color control register, still expectes the input
buffer to be REC709. This can cause inaccurate output for direct P01x
flips.

This patch checks if the color_encoding property is set to YCBCR_2020,
and enables the corresponding color conversion mode on plane CSC.

PS: renamed variable plane_color_ctl to color_ctl for 80 char stuff.

V2: Expose the YCBCR_BT2020 value in enum values of supported encoding
formats.

Cc: Ville Syrjala 
Cc: Maarten Lankhorst 
Cc: Uma Shankar 
Signed-off-by: Shashank Sharma 
---
 drivers/gpu/drm/i915/intel_display.c | 26 --
 drivers/gpu/drm/i915/intel_sprite.c  | 10 --
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index dd65d7c521c1..2d4d3128bf1f 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3868,24 +3868,30 @@ u32 glk_plane_color_ctl(const struct intel_crtc_state 
*crtc_state,
to_i915(plane_state->base.plane->dev);
const struct drm_framebuffer *fb = plane_state->base.fb;
struct intel_plane *plane = to_intel_plane(plane_state->base.plane);
-   u32 plane_color_ctl = 0;
+   u32 color_ctl = 0;
 
-   plane_color_ctl |= PLANE_COLOR_PLANE_GAMMA_DISABLE;
-   plane_color_ctl |= glk_plane_color_ctl_alpha(plane_state);
+   color_ctl |= PLANE_COLOR_PLANE_GAMMA_DISABLE;
+   color_ctl |= glk_plane_color_ctl_alpha(plane_state);
 
if (fb->format->is_yuv && !icl_is_hdr_plane(dev_priv, plane->id)) {
-   if (plane_state->base.color_encoding == DRM_COLOR_YCBCR_BT709)
-   plane_color_ctl |= 
PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;
-   else
-   plane_color_ctl |= 
PLANE_COLOR_CSC_MODE_YUV601_TO_RGB709;
+   switch (plane_state->base.color_encoding) {
+   case DRM_COLOR_YCBCR_BT709:
+   color_ctl |= PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;
+   break;
+   case DRM_COLOR_YCBCR_BT2020:
+   color_ctl |= PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020;
+   break;
+   default:
+   color_ctl |= PLANE_COLOR_CSC_MODE_YUV601_TO_RGB709;
+   }
 
if (plane_state->base.color_range == DRM_COLOR_YCBCR_FULL_RANGE)
-   plane_color_ctl |= 
PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE;
+   color_ctl |= PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE;
} else if (fb->format->is_yuv) {
-   plane_color_ctl |= PLANE_COLOR_INPUT_CSC_ENABLE;
+   color_ctl |= PLANE_COLOR_INPUT_CSC_ENABLE;
}
 
-   return plane_color_ctl;
+   return color_ctl;
 }
 
 static int
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index 2913e89280d7..f1024c2f47cb 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -2238,6 +2238,7 @@ skl_universal_plane_create(struct drm_i915_private 
*dev_priv,
struct intel_plane *plane;
enum drm_plane_type plane_type;
unsigned int supported_rotations;
+   unsigned int supported_encodings;
unsigned int possible_crtcs;
const u64 *modifiers;
const u32 *formats;
@@ -2325,9 +2326,14 @@ skl_universal_plane_create(struct drm_i915_private 
*dev_priv,
   DRM_MODE_ROTATE_0,
   supported_rotations);
 
+   supported_encodings = BIT(DRM_COLOR_YCBCR_BT601) |
+ BIT(DRM_COLOR_YCBCR_BT709);
+
+   if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
+   supported_encodings |= DRM_COLOR_YCBCR_BT2020;
+
drm_plane_create_color_properties(>base,
- BIT(DRM_COLOR_YCBCR_BT601) |
- BIT(DRM_COLOR_YCBCR_BT709),
+ supported_encodings,
  BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
  BIT(DRM_COLOR_YCBCR_FULL_RANGE),
  DRM_COLOR_YCBCR_BT709,
-- 
2.17.1

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

Re: [Intel-gfx] [PATCH 00/13] drm/i915: the great header refactoring, part three

2019-05-02 Thread Chris Wilson
Quoting Jani Nikula (2019-05-02 16:02:34)
> Continue the header refactoring started in [1] and [2].
> 
> BR,
> Jani.
> 
> [1] https://patchwork.freedesktop.org/series/59022/
> [2] https://patchwork.freedesktop.org/series/60060/
> 
> Jani Nikula (13):
>   drm/i915/dvo: move DVO chip types to intel_dvo.c
>   drm/i915/dsi: move operation mode types to intel_dsi.h
>   drm/i915: move ranges to intel_display.c
>   drm/i915: remove unused/stale macros and comments from intel_drv.h
>   drm/i915/csr: move CSR version macros to intel_csr.h
>   drm/i915: extract intel_dpio_phy.h from i915_drv.h
>   drm/i915: extract intel_lpe_audio.h from i915_drv.h
>   drm/i915: extract intel_acpi.h from i915_drv.h
>   drm/i915: extract i915_debugfs.h from i915_drv.h
>   drm/i915: move i915_vgacntrl_reg() where needed
>   drm/i915: make i915_utils.h self-contained
>   drm/i915: move more generic utils to i915_utils.h
>   drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c

Lots of small changes that look good.
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 12/13] drm/i915: move more generic utils to i915_utils.h

2019-05-02 Thread Chris Wilson
Quoting Jani Nikula (2019-05-02 16:02:46)
> Reduce clutter from i915_drv.h and intel_drv.h.
> 
> Signed-off-by: Jani Nikula 

Makes sense.
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.BAT: failure for series starting with [v4,1/4] drm/i915: Fix the pipe state timing mismatch warnings

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

Series: series starting with [v4,1/4] drm/i915: Fix the pipe state timing 
mismatch warnings
URL   : https://patchwork.freedesktop.org/series/60210/
State : failure

== Summary ==

CALLscripts/checksyscalls.sh
  CALLscripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK include/generated/compile.h
  CC [M]  drivers/gpu/drm/i915/header_test_intel_sideband.o
  CC [M]  drivers/gpu/drm/i915/header_test_intel_sprite.o
  CC [M]  drivers/gpu/drm/i915/header_test_intel_tv.o
  CC [M]  drivers/gpu/drm/i915/header_test_intel_uncore.o
  CC [M]  drivers/gpu/drm/i915/header_test_intel_vdsc.o
  CC [M]  drivers/gpu/drm/i915/header_test_intel_wakeref.o
  CC [M]  drivers/gpu/drm/i915/intel_display.o
drivers/gpu/drm/i915/intel_display.c: In function ‘intel_get_pipe_timings’:
drivers/gpu/drm/i915/intel_display.c:7740:2: error: this ‘if’ clause does not 
guard... [-Werror=misleading-indentation]
  if (!transcoder_is_dsi(cpu_transcoder))
  ^~
drivers/gpu/drm/i915/intel_display.c:7742:3: note: ...this statement, but the 
latter is misleadingly indented as if it were guarded by the ‘if’
   pipe_config->base.adjusted_mode.crtc_hblank_start =
   ^~~
drivers/gpu/drm/i915/intel_display.c:7754:2: error: this ‘if’ clause does not 
guard... [-Werror=misleading-indentation]
  if (!transcoder_is_dsi(cpu_transcoder))
  ^~
drivers/gpu/drm/i915/intel_display.c:7756:3: note: ...this statement, but the 
latter is misleadingly indented as if it were guarded by the ‘if’
   pipe_config->base.adjusted_mode.crtc_vblank_start =
   ^~~
cc1: all warnings being treated as errors
scripts/Makefile.build:275: recipe for target 
'drivers/gpu/drm/i915/intel_display.o' failed
make[4]: *** [drivers/gpu/drm/i915/intel_display.o] Error 1
scripts/Makefile.build:486: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:486: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:486: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1051: recipe for target 'drivers' failed
make: *** [drivers] Error 2

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

[Intel-gfx] [PATCH 13/13] drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c

2019-05-02 Thread Jani Nikula
It used to be handy that we only had a couple of headers, but over time
i915_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

While at it, rename intel_i2c.c to intel_gmbus.c and the functions to
intel_gmbus_*.

No functional changes.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile |  2 +-
 drivers/gpu/drm/i915/Makefile.header-test |  1 +
 drivers/gpu/drm/i915/i915_drv.c   |  5 ++--
 drivers/gpu/drm/i915/i915_drv.h   | 17 
 drivers/gpu/drm/i915/i915_suspend.c   |  3 ++-
 drivers/gpu/drm/i915/intel_bios.c |  2 ++
 drivers/gpu/drm/i915/intel_crt.c  |  1 +
 drivers/gpu/drm/i915/intel_ddi.c  |  1 +
 drivers/gpu/drm/i915/intel_display.c  |  3 ++-
 drivers/gpu/drm/i915/intel_dvo.c  |  1 +
 .../drm/i915/{intel_i2c.c => intel_gmbus.c}   | 27 +--
 drivers/gpu/drm/i915/intel_gmbus.h| 27 +++
 drivers/gpu/drm/i915/intel_hdmi.c |  1 +
 drivers/gpu/drm/i915/intel_lvds.c |  1 +
 drivers/gpu/drm/i915/intel_sdvo.c |  1 +
 15 files changed, 63 insertions(+), 30 deletions(-)
 rename drivers/gpu/drm/i915/{intel_i2c.c => intel_gmbus.c} (98%)
 create mode 100644 drivers/gpu/drm/i915/intel_gmbus.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 586433..68106f 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -176,8 +176,8 @@ i915-y += dvo_ch7017.o \
  intel_dsi_dcs_backlight.o \
  intel_dsi_vbt.o \
  intel_dvo.o \
+ intel_gmbus.o \
  intel_hdmi.o \
- intel_i2c.o \
  intel_lspcon.o \
  intel_lvds.o \
  intel_panel.o \
diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
index f71ea7..2ca4a5f 100644
--- a/drivers/gpu/drm/i915/Makefile.header-test
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -42,6 +42,7 @@ header_test := \
intel_fbdev.h \
intel_fifo_underrun.h \
intel_frontbuffer.h \
+   intel_gmbus.h \
intel_hdcp.h \
intel_hdmi.h \
intel_hotplug.h \
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 57060a6..e6ce530 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -65,6 +65,7 @@
 #include "intel_dp.h"
 #include "intel_drv.h"
 #include "intel_fbdev.h"
+#include "intel_gmbus.h"
 #include "intel_hotplug.h"
 #include "intel_overlay.h"
 #include "intel_pipe_crc.h"
@@ -705,7 +706,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
if (ret)
goto cleanup_csr;
 
-   intel_setup_gmbus(dev_priv);
+   intel_gmbus_setup(dev_priv);
 
/* Important: The output setup functions called by modeset_init need
 * working irqs for e.g. gmbus and dp aux transfers. */
@@ -740,7 +741,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
intel_modeset_cleanup(dev);
 cleanup_irq:
drm_irq_uninstall(dev);
-   intel_teardown_gmbus(dev_priv);
+   intel_gmbus_teardown(dev_priv);
 cleanup_csr:
intel_csr_ucode_fini(dev_priv);
intel_power_domains_fini_hw(dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index d16705..64fa35 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3235,23 +3235,6 @@ extern int i915_restore_state(struct drm_i915_private 
*dev_priv);
 void i915_setup_sysfs(struct drm_i915_private *dev_priv);
 void i915_teardown_sysfs(struct drm_i915_private *dev_priv);
 
-/* intel_i2c.c */
-extern int intel_setup_gmbus(struct drm_i915_private *dev_priv);
-extern void intel_teardown_gmbus(struct drm_i915_private *dev_priv);
-extern bool intel_gmbus_is_valid_pin(struct drm_i915_private *dev_priv,
-unsigned int pin);
-extern int intel_gmbus_output_aksv(struct i2c_adapter *adapter);
-
-extern struct i2c_adapter *
-intel_gmbus_get_adapter(struct drm_i915_private *dev_priv, unsigned int pin);
-extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
-extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
-static inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
-{
-   return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
-}
-extern void intel_i2c_reset(struct drm_i915_private *dev_priv);
-
 /* intel_device_info.c */
 static inline struct intel_device_info *
 mkwrite_device_info(struct drm_i915_private *dev_priv)

[Intel-gfx] [PATCH 11/13] drm/i915: make i915_utils.h self-contained

2019-05-02 Thread Jani Nikula
And ensure it stays that way.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile.header-test | 1 +
 drivers/gpu/drm/i915/i915_utils.h | 6 --
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
index b61fd8..f71ea7 100644
--- a/drivers/gpu/drm/i915/Makefile.header-test
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -14,6 +14,7 @@ header_test := \
i915_reg.h \
i915_scheduler_types.h \
i915_timeline_types.h \
+   i915_utils.h \
intel_acpi.h \
intel_atomic.h \
intel_atomic_plane.h \
diff --git a/drivers/gpu/drm/i915/i915_utils.h 
b/drivers/gpu/drm/i915/i915_utils.h
index 2dbe89..26117b 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -25,6 +25,10 @@
 #ifndef __I915_UTILS_H
 #define __I915_UTILS_H
 
+#include 
+#include 
+#include 
+
 #undef WARN_ON
 /* Many gcc seem to no see through this and fall over :( */
 #if 0
@@ -152,8 +156,6 @@ static inline u64 ptr_to_u64(const void *ptr)
__idx;  \
 })
 
-#include 
-
 static inline void __list_del_many(struct list_head *head,
   struct list_head *first)
 {
-- 
2.20.1

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

[Intel-gfx] [PATCH 10/13] drm/i915: move i915_vgacntrl_reg() where needed

2019-05-02 Thread Jani Nikula
Reduce clutter from i915_drv.h.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/i915_drv.h  | 10 --
 drivers/gpu/drm/i915/intel_display.c | 10 ++
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index a4ae6e..5f65c7 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3357,16 +3357,6 @@ extern void intel_display_print_error_state(struct 
drm_i915_error_state_buf *e,
 #define INTEL_BROADCAST_RGB_FULL 1
 #define INTEL_BROADCAST_RGB_LIMITED 2
 
-static inline 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;
-}
-
 static inline unsigned long msecs_to_jiffies_timeout(const unsigned int m)
 {
unsigned long j = msecs_to_jiffies(m);
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 019eccf..b542371 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -15485,6 +15485,16 @@ void intel_init_display_hooks(struct drm_i915_private 
*dev_priv)
dev_priv->display.update_crtcs = intel_update_crtcs;
 }
 
+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)
 {
-- 
2.20.1

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

[Intel-gfx] [PATCH 12/13] drm/i915: move more generic utils to i915_utils.h

2019-05-02 Thread Jani Nikula
Reduce clutter from i915_drv.h and intel_drv.h.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/i915_drv.h   |  44 -
 drivers/gpu/drm/i915/i915_utils.h | 153 ++
 drivers/gpu/drm/i915/intel_drv.h  | 108 -
 3 files changed, 153 insertions(+), 152 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5f65c7..d16705 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3357,50 +3357,6 @@ extern void intel_display_print_error_state(struct 
drm_i915_error_state_buf *e,
 #define INTEL_BROADCAST_RGB_FULL 1
 #define INTEL_BROADCAST_RGB_LIMITED 2
 
-static inline unsigned long msecs_to_jiffies_timeout(const unsigned int m)
-{
-   unsigned long j = msecs_to_jiffies(m);
-
-   return min_t(unsigned long, MAX_JIFFY_OFFSET, j + 1);
-}
-
-static inline unsigned long nsecs_to_jiffies_timeout(const u64 n)
-{
-   /* nsecs_to_jiffies64() does not guard against overflow */
-   if (NSEC_PER_SEC % HZ &&
-   div_u64(n, NSEC_PER_SEC) >= MAX_JIFFY_OFFSET / HZ)
-   return MAX_JIFFY_OFFSET;
-
-return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);
-}
-
-/*
- * If you need to wait X milliseconds between events A and B, but event B
- * doesn't happen exactly after event A, you record the timestamp (jiffies) of
- * when event A happened, then just before event B you call this function and
- * pass the timestamp as the first argument, and X as the second argument.
- */
-static inline void
-wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
-{
-   unsigned long target_jiffies, tmp_jiffies, remaining_jiffies;
-
-   /*
-* Don't re-read the value of "jiffies" every time since it may change
-* behind our back and break the math.
-*/
-   tmp_jiffies = jiffies;
-   target_jiffies = timestamp_jiffies +
-msecs_to_jiffies_timeout(to_wait_ms);
-
-   if (time_after(target_jiffies, tmp_jiffies)) {
-   remaining_jiffies = target_jiffies - tmp_jiffies;
-   while (remaining_jiffies)
-   remaining_jiffies =
-   schedule_timeout_uninterruptible(remaining_jiffies);
-   }
-}
-
 void i915_memcpy_init_early(struct drm_i915_private *dev_priv);
 bool i915_memcpy_from_wc(void *dst, const void *src, unsigned long len);
 
diff --git a/drivers/gpu/drm/i915/i915_utils.h 
b/drivers/gpu/drm/i915/i915_utils.h
index 26117b..c849cfa 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -26,6 +26,7 @@
 #define __I915_UTILS_H
 
 #include 
+#include 
 #include 
 #include 
 
@@ -176,6 +177,158 @@ static inline void drain_delayed_work(struct delayed_work 
*dw)
} while (delayed_work_pending(dw));
 }
 
+static inline unsigned long msecs_to_jiffies_timeout(const unsigned int m)
+{
+   unsigned long j = msecs_to_jiffies(m);
+
+   return min_t(unsigned long, MAX_JIFFY_OFFSET, j + 1);
+}
+
+static inline unsigned long nsecs_to_jiffies_timeout(const u64 n)
+{
+   /* nsecs_to_jiffies64() does not guard against overflow */
+   if (NSEC_PER_SEC % HZ &&
+   div_u64(n, NSEC_PER_SEC) >= MAX_JIFFY_OFFSET / HZ)
+   return MAX_JIFFY_OFFSET;
+
+return min_t(u64, MAX_JIFFY_OFFSET, nsecs_to_jiffies64(n) + 1);
+}
+
+/*
+ * If you need to wait X milliseconds between events A and B, but event B
+ * doesn't happen exactly after event A, you record the timestamp (jiffies) of
+ * when event A happened, then just before event B you call this function and
+ * pass the timestamp as the first argument, and X as the second argument.
+ */
+static inline void
+wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
+{
+   unsigned long target_jiffies, tmp_jiffies, remaining_jiffies;
+
+   /*
+* Don't re-read the value of "jiffies" every time since it may change
+* behind our back and break the math.
+*/
+   tmp_jiffies = jiffies;
+   target_jiffies = timestamp_jiffies +
+msecs_to_jiffies_timeout(to_wait_ms);
+
+   if (time_after(target_jiffies, tmp_jiffies)) {
+   remaining_jiffies = target_jiffies - tmp_jiffies;
+   while (remaining_jiffies)
+   remaining_jiffies =
+   schedule_timeout_uninterruptible(remaining_jiffies);
+   }
+}
+
+/**
+ * __wait_for - magic wait macro
+ *
+ * Macro to help avoid open coding check/wait/timeout patterns. Note that it's
+ * important that we check the condition again after having timed out, since 
the
+ * timeout could be due to preemption or similar and we've never had a chance 
to
+ * check the condition before the timeout.
+ */
+#define __wait_for(OP, COND, US, Wmin, Wmax) ({ \
+   const ktime_t end__ = ktime_add_ns(ktime_get_raw(), 1000ll * (US)); \
+   long 

[Intel-gfx] [PATCH 09/13] drm/i915: extract i915_debugfs.h from i915_drv.h

2019-05-02 Thread Jani Nikula
It used to be handy that we only had a couple of headers, but over time
i915_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile.header-test |  1 +
 drivers/gpu/drm/i915/i915_debugfs.c   |  1 +
 drivers/gpu/drm/i915/i915_debugfs.h   | 20 
 drivers/gpu/drm/i915/i915_drv.c   |  2 ++
 drivers/gpu/drm/i915/i915_drv.h   | 12 
 drivers/gpu/drm/i915/intel_dp.c   |  1 +
 drivers/gpu/drm/i915/intel_hdmi.c |  1 +
 drivers/gpu/drm/i915/intel_pipe_crc.h |  3 +++
 8 files changed, 29 insertions(+), 12 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_debugfs.h

diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
index c1fa85..b61fd8 100644
--- a/drivers/gpu/drm/i915/Makefile.header-test
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -4,6 +4,7 @@
 # Test the headers are compilable as standalone units
 header_test := \
i915_active_types.h \
+   i915_debugfs.h \
i915_drv.h \
i915_gem_context_types.h \
i915_gem_pm.h \
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 0d7d19..14cd83 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -34,6 +34,7 @@
 
 #include "gt/intel_reset.h"
 
+#include "i915_debugfs.h"
 #include "i915_gem_context.h"
 #include "i915_irq.h"
 #include "intel_csr.h"
diff --git a/drivers/gpu/drm/i915/i915_debugfs.h 
b/drivers/gpu/drm/i915/i915_debugfs.h
new file mode 100644
index 00..c0cd22e
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_debugfs.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2019 Intel Corporation
+ */
+
+#ifndef __I915_DEBUGFS_H__
+#define __I915_DEBUGFS_H__
+
+struct drm_i915_private;
+struct drm_connector;
+
+#ifdef CONFIG_DEBUG_FS
+int i915_debugfs_register(struct drm_i915_private *dev_priv);
+int i915_debugfs_connector_add(struct drm_connector *connector);
+#else
+static inline int i915_debugfs_register(struct drm_i915_private *dev_priv) { 
return 0; }
+static inline int i915_debugfs_connector_add(struct drm_connector *connector) 
{ return 0; }
+#endif
+
+#endif /* __I915_DEBUGFS_H__ */
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index c011a1b..57060a6 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -51,6 +51,7 @@
 #include "gt/intel_reset.h"
 #include "gt/intel_workarounds.h"
 
+#include "i915_debugfs.h"
 #include "i915_drv.h"
 #include "i915_irq.h"
 #include "i915_pmu.h"
@@ -66,6 +67,7 @@
 #include "intel_fbdev.h"
 #include "intel_hotplug.h"
 #include "intel_overlay.h"
+#include "intel_pipe_crc.h"
 #include "intel_pm.h"
 #include "intel_sprite.h"
 #include "intel_uc.h"
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 6ddc3d..a4ae6e 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3208,18 +3208,6 @@ u32 i915_gem_fence_size(struct drm_i915_private 
*dev_priv, u32 size,
 u32 i915_gem_fence_alignment(struct drm_i915_private *dev_priv, u32 size,
 unsigned int tiling, unsigned int stride);
 
-/* i915_debugfs.c */
-#ifdef CONFIG_DEBUG_FS
-int i915_debugfs_register(struct drm_i915_private *dev_priv);
-int i915_debugfs_connector_add(struct drm_connector *connector);
-void intel_display_crc_init(struct drm_i915_private *dev_priv);
-#else
-static inline int i915_debugfs_register(struct drm_i915_private *dev_priv) 
{return 0;}
-static inline int i915_debugfs_connector_add(struct drm_connector *connector)
-{ return 0; }
-static inline void intel_display_crc_init(struct drm_i915_private *dev_priv) {}
-#endif
-
 const char *i915_cache_level_str(struct drm_i915_private *i915, int type);
 
 /* i915_cmd_parser.c */
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 04d64b..91380c 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -42,6 +42,7 @@
 #include 
 #include 
 
+#include "i915_debugfs.h"
 #include "i915_drv.h"
 #include "intel_atomic.h"
 #include "intel_audio.h"
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
b/drivers/gpu/drm/i915/intel_hdmi.c
index 571e6b..f76327 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -39,6 +39,7 @@
 #include 
 #include 
 
+#include "i915_debugfs.h"
 #include "i915_drv.h"
 #include "intel_atomic.h"
 #include "intel_audio.h"
diff --git a/drivers/gpu/drm/i915/intel_pipe_crc.h 

[Intel-gfx] [PATCH 07/13] drm/i915: extract intel_lpe_audio.h from i915_drv.h

2019-05-02 Thread Jani Nikula
It used to be handy that we only had a couple of headers, but over time
i915_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile.header-test |  1 +
 drivers/gpu/drm/i915/i915_drv.h   |  8 
 drivers/gpu/drm/i915/i915_irq.c   |  1 +
 drivers/gpu/drm/i915/intel_audio.c|  2 +-
 drivers/gpu/drm/i915/intel_lpe_audio.c|  8 +---
 drivers/gpu/drm/i915/intel_lpe_audio.h| 22 ++
 6 files changed, 30 insertions(+), 12 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_lpe_audio.h

diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
index 459b84..4375ff4 100644
--- a/drivers/gpu/drm/i915/Makefile.header-test
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -42,6 +42,7 @@ header_test := \
intel_hdcp.h \
intel_hdmi.h \
intel_hotplug.h \
+   intel_lpe_audio.h \
intel_lspcon.h \
intel_lvds.h \
intel_overlay.h \
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 85cc5e1..91efe28 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3247,14 +3247,6 @@ extern int i915_restore_state(struct drm_i915_private 
*dev_priv);
 void i915_setup_sysfs(struct drm_i915_private *dev_priv);
 void i915_teardown_sysfs(struct drm_i915_private *dev_priv);
 
-/* intel_lpe_audio.c */
-int  intel_lpe_audio_init(struct drm_i915_private *dev_priv);
-void intel_lpe_audio_teardown(struct drm_i915_private *dev_priv);
-void intel_lpe_audio_irq_handler(struct drm_i915_private *dev_priv);
-void intel_lpe_audio_notify(struct drm_i915_private *dev_priv,
-   enum pipe pipe, enum port port,
-   const void *eld, int ls_clock, bool dp_output);
-
 /* intel_i2c.c */
 extern int intel_setup_gmbus(struct drm_i915_private *dev_priv);
 extern void intel_teardown_gmbus(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index e31137b..233211 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -43,6 +43,7 @@
 #include "intel_drv.h"
 #include "intel_fifo_underrun.h"
 #include "intel_hotplug.h"
+#include "intel_lpe_audio.h"
 #include "intel_psr.h"
 
 /**
diff --git a/drivers/gpu/drm/i915/intel_audio.c 
b/drivers/gpu/drm/i915/intel_audio.c
index 5c0b73..840daff12 100644
--- a/drivers/gpu/drm/i915/intel_audio.c
+++ b/drivers/gpu/drm/i915/intel_audio.c
@@ -26,11 +26,11 @@
 
 #include 
 #include 
-#include 
 
 #include "i915_drv.h"
 #include "intel_audio.h"
 #include "intel_drv.h"
+#include "intel_lpe_audio.h"
 
 /**
  * DOC: High Definition Audio over HDMI and Display Port
diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.c 
b/drivers/gpu/drm/i915/intel_lpe_audio.c
index f8239bca..b19800 100644
--- a/drivers/gpu/drm/i915/intel_lpe_audio.c
+++ b/drivers/gpu/drm/i915/intel_lpe_audio.c
@@ -61,16 +61,18 @@
  */
 
 #include 
+#include 
 #include 
 #include 
 #include 
-#include 
 #include 
+#include 
 
-#include "i915_drv.h"
-#include 
 #include 
 
+#include "i915_drv.h"
+#include "intel_lpe_audio.h"
+
 #define HAS_LPE_AUDIO(dev_priv) ((dev_priv)->lpe_audio.platdev != NULL)
 
 static struct platform_device *
diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.h 
b/drivers/gpu/drm/i915/intel_lpe_audio.h
new file mode 100644
index 00..f848c5
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_lpe_audio.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2019 Intel Corporation
+ */
+
+#ifndef __INTEL_LPE_AUDIO_H__
+#define __INTEL_LPE_AUDIO_H__
+
+#include 
+
+enum pipe;
+enum port;
+struct drm_i915_private;
+
+int  intel_lpe_audio_init(struct drm_i915_private *dev_priv);
+void intel_lpe_audio_teardown(struct drm_i915_private *dev_priv);
+void intel_lpe_audio_irq_handler(struct drm_i915_private *dev_priv);
+void intel_lpe_audio_notify(struct drm_i915_private *dev_priv,
+   enum pipe pipe, enum port port,
+   const void *eld, int ls_clock, bool dp_output);
+
+#endif /* __INTEL_LPE_AUDIO_H__ */
-- 
2.20.1

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

[Intel-gfx] [PATCH 08/13] drm/i915: extract intel_acpi.h from i915_drv.h

2019-05-02 Thread Jani Nikula
It used to be handy that we only had a couple of headers, but over time
i915_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile.header-test |  1 +
 drivers/gpu/drm/i915/i915_drv.c   |  1 +
 drivers/gpu/drm/i915/i915_drv.h   |  9 -
 drivers/gpu/drm/i915/intel_acpi.c |  3 +++
 drivers/gpu/drm/i915/intel_acpi.h | 17 +
 drivers/gpu/drm/i915/intel_display.c  |  1 +
 6 files changed, 23 insertions(+), 9 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_acpi.h

diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
index 4375ff4..c1fa85 100644
--- a/drivers/gpu/drm/i915/Makefile.header-test
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -13,6 +13,7 @@ header_test := \
i915_reg.h \
i915_scheduler_types.h \
i915_timeline_types.h \
+   intel_acpi.h \
intel_atomic.h \
intel_atomic_plane.h \
intel_audio.h \
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 21dac5..c011a1b 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -57,6 +57,7 @@
 #include "i915_query.h"
 #include "i915_trace.h"
 #include "i915_vgpu.h"
+#include "intel_acpi.h"
 #include "intel_audio.h"
 #include "intel_cdclk.h"
 #include "intel_csr.h"
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 91efe28..6ddc3d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3264,15 +3264,6 @@ static inline bool intel_gmbus_is_forced_bit(struct 
i2c_adapter *adapter)
 }
 extern void intel_i2c_reset(struct drm_i915_private *dev_priv);
 
-/* intel_acpi.c */
-#ifdef CONFIG_ACPI
-extern void intel_register_dsm_handler(void);
-extern void intel_unregister_dsm_handler(void);
-#else
-static inline void intel_register_dsm_handler(void) { return; }
-static inline void intel_unregister_dsm_handler(void) { return; }
-#endif /* CONFIG_ACPI */
-
 /* intel_device_info.c */
 static inline struct intel_device_info *
 mkwrite_device_info(struct drm_i915_private *dev_priv)
diff --git a/drivers/gpu/drm/i915/intel_acpi.c 
b/drivers/gpu/drm/i915/intel_acpi.c
index 9d142d..3456d33 100644
--- a/drivers/gpu/drm/i915/intel_acpi.c
+++ b/drivers/gpu/drm/i915/intel_acpi.c
@@ -4,9 +4,12 @@
  *
  * _DSM related code stolen from nouveau_acpi.c.
  */
+
 #include 
 #include 
+
 #include "i915_drv.h"
+#include "intel_acpi.h"
 
 #define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */
 #define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */
diff --git a/drivers/gpu/drm/i915/intel_acpi.h 
b/drivers/gpu/drm/i915/intel_acpi.h
new file mode 100644
index 00..1c576b
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_acpi.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2019 Intel Corporation
+ */
+
+#ifndef __INTEL_ACPI_H__
+#define __INTEL_ACPI_H__
+
+#ifdef CONFIG_ACPI
+void intel_register_dsm_handler(void);
+void intel_unregister_dsm_handler(void);
+#else
+static inline void intel_register_dsm_handler(void) { return; }
+static inline void intel_unregister_dsm_handler(void) { return; }
+#endif /* CONFIG_ACPI */
+
+#endif /* __INTEL_ACPI_H__ */
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 6ebe000..019eccf 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -47,6 +47,7 @@
 #include "i915_drv.h"
 #include "i915_gem_clflush.h"
 #include "i915_trace.h"
+#include "intel_acpi.h"
 #include "intel_atomic.h"
 #include "intel_atomic_plane.h"
 #include "intel_color.h"
-- 
2.20.1

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

[Intel-gfx] [PATCH 04/13] drm/i915: remove unused/stale macros and comments from intel_drv.h

2019-05-02 Thread Jani Nikula
Reduce clutter from intel_drv.h.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_drv.h | 9 -
 1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 709647..addf6f 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -158,15 +158,6 @@ struct drm_printer;
  * Display related stuff
  */
 
-/* store information about an Ixxx DVO */
-/* The i830->i865 use multiple DVOs with multiple i2cs */
-/* the i915, i945 have a single sDVO i2c bus - which is different */
-#define MAX_OUTPUTS 6
-/* maximum connectors per crtcs in the mode set */
-
-#define INTEL_I2C_BUS_DVO 1
-#define INTEL_I2C_BUS_SDVO 2
-
 /* these are outputs from the chip - integrated only
external chips are via DVO or SDVO output */
 enum intel_output_type {
-- 
2.20.1

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

[Intel-gfx] [PATCH 06/13] drm/i915: extract intel_dpio_phy.h from i915_drv.h

2019-05-02 Thread Jani Nikula
It used to be handy that we only had a couple of headers, but over time
i915_drv.h has become unwieldy. Extract declarations to a separate
header file corresponding to the implementation module, clarifying the
modularity of the driver.

Ensure the new header is self-contained, and do so with minimal further
includes, using forward declarations as needed. Include the new header
only where needed, and sort the modified include directives while at it
and as needed.

No functional changes.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile.header-test |  1 +
 drivers/gpu/drm/i915/i915_drv.h   | 41 
 drivers/gpu/drm/i915/intel_ddi.c  |  1 +
 drivers/gpu/drm/i915/intel_dp.c   |  1 +
 drivers/gpu/drm/i915/intel_dp_mst.c   |  1 +
 drivers/gpu/drm/i915/intel_dpio_phy.c |  1 +
 drivers/gpu/drm/i915/intel_dpio_phy.h | 58 +++
 drivers/gpu/drm/i915/intel_dpll_mgr.c |  1 +
 drivers/gpu/drm/i915/intel_hdmi.c |  1 +
 drivers/gpu/drm/i915/intel_runtime_pm.c   |  1 +
 10 files changed, 66 insertions(+), 41 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_dpio_phy.h

diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
index 95e4ee..459b84 100644
--- a/drivers/gpu/drm/i915/Makefile.header-test
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -28,6 +28,7 @@ header_test := \
intel_dp_aux_backlight.h \
intel_dp_link_training.h \
intel_dp_mst.h \
+   intel_dpio_phy.h \
intel_dpll_mgr.h \
intel_drv.h \
intel_dsi.h \
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9e701d..85cc5e1 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3313,47 +3313,6 @@ intel_display_capture_error_state(struct 
drm_i915_private *dev_priv);
 extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
struct intel_display_error_state 
*error);
 
-/* intel_dpio_phy.c */
-void bxt_port_to_phy_channel(struct drm_i915_private *dev_priv, enum port port,
-enum dpio_phy *phy, enum dpio_channel *ch);
-void bxt_ddi_phy_set_signal_level(struct drm_i915_private *dev_priv,
- enum port port, u32 margin, u32 scale,
- u32 enable, u32 deemphasis);
-void bxt_ddi_phy_init(struct drm_i915_private *dev_priv, enum dpio_phy phy);
-void bxt_ddi_phy_uninit(struct drm_i915_private *dev_priv, enum dpio_phy phy);
-bool bxt_ddi_phy_is_enabled(struct drm_i915_private *dev_priv,
-   enum dpio_phy phy);
-bool bxt_ddi_phy_verify_state(struct drm_i915_private *dev_priv,
- enum dpio_phy phy);
-u8 bxt_ddi_phy_calc_lane_lat_optim_mask(u8 lane_count);
-void bxt_ddi_phy_set_lane_optim_mask(struct intel_encoder *encoder,
-u8 lane_lat_optim_mask);
-u8 bxt_ddi_phy_get_lane_lat_optim_mask(struct intel_encoder *encoder);
-
-void chv_set_phy_signal_level(struct intel_encoder *encoder,
- u32 deemph_reg_value, u32 margin_reg_value,
- bool uniq_trans_scale);
-void chv_data_lane_soft_reset(struct intel_encoder *encoder,
- const struct intel_crtc_state *crtc_state,
- bool reset);
-void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
-   const struct intel_crtc_state *crtc_state);
-void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
-   const struct intel_crtc_state *crtc_state);
-void chv_phy_release_cl2_override(struct intel_encoder *encoder);
-void chv_phy_post_pll_disable(struct intel_encoder *encoder,
- const struct intel_crtc_state *old_crtc_state);
-
-void vlv_set_phy_signal_level(struct intel_encoder *encoder,
- u32 demph_reg_value, u32 preemph_reg_value,
- u32 uniqtranscale_reg_value, u32 tx3_demph);
-void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
-   const struct intel_crtc_state *crtc_state);
-void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
-   const struct intel_crtc_state *crtc_state);
-void vlv_phy_reset_lanes(struct intel_encoder *encoder,
-const struct intel_crtc_state *old_crtc_state);
-
 #define __I915_REG_OP(op__, dev_priv__, ...) \
intel_uncore_##op__(&(dev_priv__)->uncore, __VA_ARGS__)
 
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index f5f58f..ec6ed93 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -34,6 +34,7 @@
 #include "intel_ddi.h"
 #include "intel_dp.h"
 #include "intel_dp_link_training.h"
+#include 

[Intel-gfx] [PATCH 2/2] drm/i915: Leave engine parking to the engines

2019-05-02 Thread Chris Wilson
Drop the check in GEM parking that the engines were already parked. The
intention here was that before we dropped the GT wakeref, we were sure
that no more interrupts could be raised -- however, we have already
dropped the wakeref by this point and the warning is no longer valid.

Signed-off-by: Chris Wilson 
Reviewed-by: Tvrtko Ursulin 
---
 drivers/gpu/drm/i915/i915_gem_pm.c | 18 +-
 1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_pm.c 
b/drivers/gpu/drm/i915/i915_gem_pm.c
index 3b6e8d5be8e1..49b0ce594f20 100644
--- a/drivers/gpu/drm/i915/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/i915_gem_pm.c
@@ -17,24 +17,8 @@ static void i915_gem_park(struct drm_i915_private *i915)
 
lockdep_assert_held(>drm.struct_mutex);
 
-   for_each_engine(engine, i915, id) {
-   /*
-* We are committed now to parking the engines, make sure there
-* will be no more interrupts arriving later and the engines
-* are truly idle.
-*/
-   if (wait_for(intel_engine_is_idle(engine), 10)) {
-   struct drm_printer p = drm_debug_printer(__func__);
-
-   dev_err(i915->drm.dev,
-   "%s is not idle before parking\n",
-   engine->name);
-   intel_engine_dump(engine, , NULL);
-   }
-   tasklet_kill(>execlists.tasklet);
-
+   for_each_engine(engine, i915, id)
i915_gem_batch_pool_fini(>batch_pool);
-   }
 
i915_timelines_park(i915);
i915_vma_parked(i915);
-- 
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/execlists: Flush the tasklet on parking

2019-05-02 Thread Chris Wilson
Tidy up the cleanup sequence by always ensure that the tasklet is
flushed on parking (before we cleanup). The parking provides a
convenient point to ensure that the backend is truly idle.

v2: Do the full check for idleness before parking, to be sure we flush
any residual interrupt.

Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c   |  2 ++
 drivers/gpu/drm/i915/gt/intel_engine_pm.c   | 27 +
 drivers/gpu/drm/i915/gt/intel_engine_pm.h   |  2 ++
 drivers/gpu/drm/i915/gt/intel_lrc.c | 16 ++--
 drivers/gpu/drm/i915/intel_guc_submission.c |  2 ++
 5 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c 
b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 763f34af55eb..797d8f0d0a6e 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1097,6 +1097,8 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine)
if (READ_ONCE(engine->execlists.active)) {
struct tasklet_struct *t = >execlists.tasklet;
 
+   synchronize_irq(engine->i915->drm.irq);
+
local_bh_disable();
if (tasklet_trylock(t)) {
/* Must wait for any GPU reset in progress. */
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c 
b/drivers/gpu/drm/i915/gt/intel_engine_pm.c
index 3976aea3c1d1..ccf034764741 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c
@@ -10,7 +10,7 @@
 #include "intel_engine_pm.h"
 #include "intel_gt_pm.h"
 
-static int intel_engine_unpark(struct intel_wakeref *wf)
+static int __engine_unpark(struct intel_wakeref *wf)
 {
struct intel_engine_cs *engine =
container_of(wf, typeof(*engine), wakeref);
@@ -37,7 +37,24 @@ static int intel_engine_unpark(struct intel_wakeref *wf)
 
 void intel_engine_pm_get(struct intel_engine_cs *engine)
 {
-   intel_wakeref_get(engine->i915, >wakeref, intel_engine_unpark);
+   intel_wakeref_get(engine->i915, >wakeref, __engine_unpark);
+}
+
+void intel_engine_park(struct intel_engine_cs *engine)
+{
+   /*
+* We are committed now to parking this engine, make sure there
+* will be no more interrupts arriving later and the engine
+* is truly idle.
+*/
+   if (wait_for(intel_engine_is_idle(engine), 10)) {
+   struct drm_printer p = drm_debug_printer(__func__);
+
+   dev_err(engine->i915->drm.dev,
+   "%s is not idle before parking\n",
+   engine->name);
+   intel_engine_dump(engine, , NULL);
+   }
 }
 
 static bool switch_to_kernel_context(struct intel_engine_cs *engine)
@@ -56,7 +73,7 @@ static bool switch_to_kernel_context(struct intel_engine_cs 
*engine)
 * Note, we do this without taking the timeline->mutex. We cannot
 * as we may be called while retiring the kernel context and so
 * already underneath the timeline->mutex. Instead we rely on the
-* exclusive property of the intel_engine_park that prevents anyone
+* exclusive property of the __engine_park that prevents anyone
 * else from creating a request on this engine. This also requires
 * that the ring is empty and we avoid any waits while constructing
 * the context, as they assume protection by the timeline->mutex.
@@ -76,7 +93,7 @@ static bool switch_to_kernel_context(struct intel_engine_cs 
*engine)
return false;
 }
 
-static int intel_engine_park(struct intel_wakeref *wf)
+static int __engine_park(struct intel_wakeref *wf)
 {
struct intel_engine_cs *engine =
container_of(wf, typeof(*engine), wakeref);
@@ -114,7 +131,7 @@ static int intel_engine_park(struct intel_wakeref *wf)
 
 void intel_engine_pm_put(struct intel_engine_cs *engine)
 {
-   intel_wakeref_put(engine->i915, >wakeref, intel_engine_park);
+   intel_wakeref_put(engine->i915, >wakeref, __engine_park);
 }
 
 void intel_engine_init__pm(struct intel_engine_cs *engine)
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.h 
b/drivers/gpu/drm/i915/gt/intel_engine_pm.h
index 143ac90ba117..b326cd993d60 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_pm.h
+++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.h
@@ -13,6 +13,8 @@ struct intel_engine_cs;
 void intel_engine_pm_get(struct intel_engine_cs *engine);
 void intel_engine_pm_put(struct intel_engine_cs *engine);
 
+void intel_engine_park(struct intel_engine_cs *engine);
+
 void intel_engine_init__pm(struct intel_engine_cs *engine);
 
 int intel_engines_resume(struct drm_i915_private *i915);
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c 
b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 22cc895aca1b..c4684bdfae07 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -136,6 +136,7 @@
 #include "i915_drv.h"
 #include 

[Intel-gfx] [PATCH 05/13] drm/i915/csr: move CSR version macros to intel_csr.h

2019-05-02 Thread Jani Nikula
Reduce clutter from i915_drv.h.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/i915_debugfs.c   | 1 +
 drivers/gpu/drm/i915/i915_drv.h   | 4 
 drivers/gpu/drm/i915/i915_gpu_error.c | 1 +
 drivers/gpu/drm/i915/intel_csr.h  | 4 
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 0e4dff..0d7d19 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -36,6 +36,7 @@
 
 #include "i915_gem_context.h"
 #include "i915_irq.h"
+#include "intel_csr.h"
 #include "intel_dp.h"
 #include "intel_drv.h"
 #include "intel_fbc.h"
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9a634b..9e701d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -345,10 +345,6 @@ struct drm_i915_display_funcs {
void (*load_luts)(const struct intel_crtc_state *crtc_state);
 };
 
-#define CSR_VERSION(major, minor)  ((major) << 16 | (minor))
-#define CSR_VERSION_MAJOR(version) ((version) >> 16)
-#define CSR_VERSION_MINOR(version) ((version) & 0x)
-
 struct intel_csr {
struct work_struct work;
const char *fw_path;
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c 
b/drivers/gpu/drm/i915/i915_gpu_error.c
index e1b858..4f85cbd 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -39,6 +39,7 @@
 #include "i915_drv.h"
 #include "i915_gpu_error.h"
 #include "intel_atomic.h"
+#include "intel_csr.h"
 #include "intel_overlay.h"
 
 static inline const struct intel_engine_cs *
diff --git a/drivers/gpu/drm/i915/intel_csr.h b/drivers/gpu/drm/i915/intel_csr.h
index 17a32c..03c64f8 100644
--- a/drivers/gpu/drm/i915/intel_csr.h
+++ b/drivers/gpu/drm/i915/intel_csr.h
@@ -8,6 +8,10 @@
 
 struct drm_i915_private;
 
+#define CSR_VERSION(major, minor)  ((major) << 16 | (minor))
+#define CSR_VERSION_MAJOR(version) ((version) >> 16)
+#define CSR_VERSION_MINOR(version) ((version) & 0x)
+
 void intel_csr_ucode_init(struct drm_i915_private *i915);
 void intel_csr_load_program(struct drm_i915_private *i915);
 void intel_csr_ucode_fini(struct drm_i915_private *i915);
-- 
2.20.1

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

[Intel-gfx] [PATCH 03/13] drm/i915: move ranges to intel_display.c

2019-05-02 Thread Jani Nikula
Reduce clutter from intel_drv.h with the minimal change.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_display.c | 15 +++
 drivers/gpu/drm/i915/intel_drv.h | 15 ---
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index dd65d7..6ebe000 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5062,6 +5062,21 @@ u16 skl_scaler_calc_phase(int sub, int scale, bool 
chroma_cosited)
return ((phase >> 2) & PS_PHASE_MASK) | trip;
 }
 
+#define SKL_MIN_SRC_W 8
+#define SKL_MAX_SRC_W 4096
+#define SKL_MIN_SRC_H 8
+#define SKL_MAX_SRC_H 4096
+#define SKL_MIN_DST_W 8
+#define SKL_MAX_DST_W 4096
+#define SKL_MIN_DST_H 8
+#define SKL_MAX_DST_H 4096
+#define ICL_MAX_SRC_W 5120
+#define ICL_MAX_SRC_H 4096
+#define ICL_MAX_DST_W 5120
+#define ICL_MAX_DST_H 4096
+#define SKL_MIN_YUV_420_SRC_W 16
+#define SKL_MIN_YUV_420_SRC_H 16
+
 static int
 skl_update_scaler(struct intel_crtc_state *crtc_state, bool force_detach,
  unsigned int scaler_user, int *scaler_id,
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 25a5fb..709647 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -668,21 +668,6 @@ struct intel_initial_plane_config {
u8 rotation;
 };
 
-#define SKL_MIN_SRC_W 8
-#define SKL_MAX_SRC_W 4096
-#define SKL_MIN_SRC_H 8
-#define SKL_MAX_SRC_H 4096
-#define SKL_MIN_DST_W 8
-#define SKL_MAX_DST_W 4096
-#define SKL_MIN_DST_H 8
-#define SKL_MAX_DST_H 4096
-#define ICL_MAX_SRC_W 5120
-#define ICL_MAX_SRC_H 4096
-#define ICL_MAX_DST_W 5120
-#define ICL_MAX_DST_H 4096
-#define SKL_MIN_YUV_420_SRC_W 16
-#define SKL_MIN_YUV_420_SRC_H 16
-
 struct intel_scaler {
int in_use;
u32 mode;
-- 
2.20.1

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

[Intel-gfx] [PATCH 01/13] drm/i915/dvo: move DVO chip types to intel_dvo.c

2019-05-02 Thread Jani Nikula
Reduce clutter from intel_drv.h with the minimal change.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_drv.h | 5 -
 drivers/gpu/drm/i915/intel_dvo.c | 5 +
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 57ae396..ab11c3 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -184,11 +184,6 @@ enum intel_output_type {
INTEL_OUTPUT_DP_MST = 11,
 };
 
-#define INTEL_DVO_CHIP_NONE 0
-#define INTEL_DVO_CHIP_LVDS 1
-#define INTEL_DVO_CHIP_TMDS 2
-#define INTEL_DVO_CHIP_TVOUT 4
-
 #define INTEL_DSI_VIDEO_MODE   0
 #define INTEL_DSI_COMMAND_MODE 1
 
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
index 930013..79a43f 100644
--- a/drivers/gpu/drm/i915/intel_dvo.c
+++ b/drivers/gpu/drm/i915/intel_dvo.c
@@ -39,6 +39,11 @@
 #include "intel_dvo_dev.h"
 #include "intel_panel.h"
 
+#define INTEL_DVO_CHIP_NONE0
+#define INTEL_DVO_CHIP_LVDS1
+#define INTEL_DVO_CHIP_TMDS2
+#define INTEL_DVO_CHIP_TVOUT   4
+
 #define SIL164_ADDR0x38
 #define CH7xxx_ADDR0x76
 #define TFP410_ADDR0x38
-- 
2.20.1

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

[Intel-gfx] [PATCH 00/13] drm/i915: the great header refactoring, part three

2019-05-02 Thread Jani Nikula
Continue the header refactoring started in [1] and [2].

BR,
Jani.

[1] https://patchwork.freedesktop.org/series/59022/
[2] https://patchwork.freedesktop.org/series/60060/

Jani Nikula (13):
  drm/i915/dvo: move DVO chip types to intel_dvo.c
  drm/i915/dsi: move operation mode types to intel_dsi.h
  drm/i915: move ranges to intel_display.c
  drm/i915: remove unused/stale macros and comments from intel_drv.h
  drm/i915/csr: move CSR version macros to intel_csr.h
  drm/i915: extract intel_dpio_phy.h from i915_drv.h
  drm/i915: extract intel_lpe_audio.h from i915_drv.h
  drm/i915: extract intel_acpi.h from i915_drv.h
  drm/i915: extract i915_debugfs.h from i915_drv.h
  drm/i915: move i915_vgacntrl_reg() where needed
  drm/i915: make i915_utils.h self-contained
  drm/i915: move more generic utils to i915_utils.h
  drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c

 drivers/gpu/drm/i915/Makefile |   2 +-
 drivers/gpu/drm/i915/Makefile.header-test |   6 +
 drivers/gpu/drm/i915/i915_debugfs.c   |   2 +
 drivers/gpu/drm/i915/i915_debugfs.h   |  20 +++
 drivers/gpu/drm/i915/i915_drv.c   |   8 +-
 drivers/gpu/drm/i915/i915_drv.h   | 145 
 drivers/gpu/drm/i915/i915_gpu_error.c |   1 +
 drivers/gpu/drm/i915/i915_irq.c   |   1 +
 drivers/gpu/drm/i915/i915_suspend.c   |   3 +-
 drivers/gpu/drm/i915/i915_utils.h | 159 +-
 drivers/gpu/drm/i915/intel_acpi.c |   3 +
 drivers/gpu/drm/i915/intel_acpi.h |  17 ++
 drivers/gpu/drm/i915/intel_audio.c|   2 +-
 drivers/gpu/drm/i915/intel_bios.c |   2 +
 drivers/gpu/drm/i915/intel_crt.c  |   1 +
 drivers/gpu/drm/i915/intel_csr.h  |   4 +
 drivers/gpu/drm/i915/intel_ddi.c  |   2 +
 drivers/gpu/drm/i915/intel_display.c  |  29 +++-
 drivers/gpu/drm/i915/intel_dp.c   |   2 +
 drivers/gpu/drm/i915/intel_dp_mst.c   |   1 +
 drivers/gpu/drm/i915/intel_dpio_phy.c |   1 +
 drivers/gpu/drm/i915/intel_dpio_phy.h |  58 +++
 drivers/gpu/drm/i915/intel_dpll_mgr.c |   1 +
 drivers/gpu/drm/i915/intel_drv.h  | 140 ---
 drivers/gpu/drm/i915/intel_dsi.h  |   3 +
 drivers/gpu/drm/i915/intel_dvo.c  |   6 +
 .../drm/i915/{intel_i2c.c => intel_gmbus.c}   |  27 ++-
 drivers/gpu/drm/i915/intel_gmbus.h|  27 +++
 drivers/gpu/drm/i915/intel_hdmi.c |   3 +
 drivers/gpu/drm/i915/intel_lpe_audio.c|   8 +-
 drivers/gpu/drm/i915/intel_lpe_audio.h|  22 +++
 drivers/gpu/drm/i915/intel_lvds.c |   1 +
 drivers/gpu/drm/i915/intel_pipe_crc.h |   3 +
 drivers/gpu/drm/i915/intel_runtime_pm.c   |   1 +
 drivers/gpu/drm/i915/intel_sdvo.c |   1 +
 35 files changed, 408 insertions(+), 304 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_debugfs.h
 create mode 100644 drivers/gpu/drm/i915/intel_acpi.h
 create mode 100644 drivers/gpu/drm/i915/intel_dpio_phy.h
 rename drivers/gpu/drm/i915/{intel_i2c.c => intel_gmbus.c} (98%)
 create mode 100644 drivers/gpu/drm/i915/intel_gmbus.h
 create mode 100644 drivers/gpu/drm/i915/intel_lpe_audio.h

-- 
2.20.1

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

[Intel-gfx] [PATCH 02/13] drm/i915/dsi: move operation mode types to intel_dsi.h

2019-05-02 Thread Jani Nikula
Reduce clutter from intel_drv.h with the minimal change.

Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_drv.h | 3 ---
 drivers/gpu/drm/i915/intel_dsi.h | 3 +++
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index ab11c3..25a5fb 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -184,9 +184,6 @@ enum intel_output_type {
INTEL_OUTPUT_DP_MST = 11,
 };
 
-#define INTEL_DSI_VIDEO_MODE   0
-#define INTEL_DSI_COMMAND_MODE 1
-
 struct intel_framebuffer {
struct drm_framebuffer base;
struct intel_rotation_info rot_info;
diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
index 1d1e6b..f9b9006 100644
--- a/drivers/gpu/drm/i915/intel_dsi.h
+++ b/drivers/gpu/drm/i915/intel_dsi.h
@@ -28,6 +28,9 @@
 #include 
 #include "intel_drv.h"
 
+#define INTEL_DSI_VIDEO_MODE   0
+#define INTEL_DSI_COMMAND_MODE 1
+
 /* Dual Link support */
 #define DSI_DUAL_LINK_NONE 0
 #define DSI_DUAL_LINK_FRONT_BACK   1
-- 
2.20.1

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

Re: [Intel-gfx] [PATCH 5/6] drm/i915: Remove inline from sseu helper functions

2019-05-02 Thread Summers, Stuart
On Thu, 2019-05-02 at 17:58 +0300, Jani Nikula wrote:
> On Thu, 02 May 2019, "Summers, Stuart" 
> wrote:
> > On Thu, 2019-05-02 at 10:15 +0300, Jani Nikula wrote:
> > > Acked-by: Jani Nikula 
> > 
> > Jani, based on Daniele's feedback, I'm planning on squashing this
> > patch
> > with the patch that moves these helper functions to intel_sseu.h.
> > Any
> > issue keeping your Ack here?
> 
> None.

Thanks for the Ack!

-Stuart

> 
> BR,
> Jani.
> 


smime.p7s
Description: S/MIME cryptographic signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 5/6] drm/i915: Remove inline from sseu helper functions

2019-05-02 Thread Jani Nikula
On Thu, 02 May 2019, "Summers, Stuart"  wrote:
> On Thu, 2019-05-02 at 10:15 +0300, Jani Nikula wrote:
>> Acked-by: Jani Nikula 
>
> Jani, based on Daniele's feedback, I'm planning on squashing this patch
> with the patch that moves these helper functions to intel_sseu.h. Any
> issue keeping your Ack here?

None.

BR,
Jani.

-- 
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 5/6] drm/i915: Remove inline from sseu helper functions

2019-05-02 Thread Summers, Stuart
On Thu, 2019-05-02 at 10:15 +0300, Jani Nikula wrote:
> On Wed, 01 May 2019, "Summers, Stuart" 
> wrote:
> > On Wed, 2019-05-01 at 14:19 -0700, Daniele Ceraolo Spurio wrote:
> > > 
> > > On 5/1/19 2:04 PM, Summers, Stuart wrote:
> > > > On Wed, 2019-05-01 at 13:04 -0700, Daniele Ceraolo Spurio
> > > > wrote:
> > > > > Can you elaborate a bit more on what's the rationale for
> > > > > this? do
> > > > > you just want to avoid having too many inlines since the
> > > > > paths
> > > > > they're used in are not critical, or do you have some more
> > > > > functional reason?  This is not a critic to the patch, I just
> > > > > want to understand where you're coming from ;)
> > > > 
> > > > This was a request from Jani Nikula in a previous series
> > > > update. I
> > > > don't have a strong preference either way personally. If you
> > > > don't
> > > > have any major concerns, I'd prefer to keep the series as-is to
> > > > prevent too much thrash here, but let me know.
> > > > 
> > > 
> > > No concerns, just please update the commit message to explain
> > > that
> > > we're moving them because there is no need for them to be inline
> > > since they're not on a critical path where we need preformance.
> > 
> > Sounds great.
> 
> I've become critical of superfluous inlines. They break the
> abstraction
> by exposing the internals in the header, and make the
> interdependencies
> of headers harder to resolve.
> 
> As the driver keeps growing and more people contribute to it, I think
> we
> need to pay more attention on how we structure the source. To this
> end
> we've added new gt/ subdir, are about to add gem/ and likely display/
> too before long, and we've significantly split off the monster
> i915_drv.h and intel_drv.h headers.
> 
> Obviously inlines have their place and purpose, but I think we
> sprinkle
> them a bit too eagerly without paying attention.
> 
> I like the patch.
> 
> Acked-by: Jani Nikula 

Jani, based on Daniele's feedback, I'm planning on squashing this patch
with the patch that moves these helper functions to intel_sseu.h. Any
issue keeping your Ack here?

-Stuart

> 
> 


smime.p7s
Description: S/MIME cryptographic signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH v3] drm/i915: add single combo phy init/unit functions

2019-05-02 Thread Jani Nikula
Work on the principle that files should prefer not to expose platform
specific functions.

v2, v3: Rebase

Cc: Imre Deak 
Reviewed-by: Chris Wilson 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/intel_combo_phy.c  | 24 
 drivers/gpu/drm/i915/intel_combo_phy.h  |  6 ++
 drivers/gpu/drm/i915/intel_runtime_pm.c | 10 +-
 3 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c 
b/drivers/gpu/drm/i915/intel_combo_phy.c
index f1b883..19a933 100644
--- a/drivers/gpu/drm/i915/intel_combo_phy.c
+++ b/drivers/gpu/drm/i915/intel_combo_phy.c
@@ -148,7 +148,7 @@ static bool cnl_combo_phy_verify_state(struct 
drm_i915_private *dev_priv)
return ret;
 }
 
-void cnl_combo_phys_init(struct drm_i915_private *dev_priv)
+static void cnl_combo_phys_init(struct drm_i915_private *dev_priv)
 {
u32 val;
 
@@ -168,7 +168,7 @@ void cnl_combo_phys_init(struct drm_i915_private *dev_priv)
I915_WRITE(CNL_PORT_CL1CM_DW5, val);
 }
 
-void cnl_combo_phys_uninit(struct drm_i915_private *dev_priv)
+static void cnl_combo_phys_uninit(struct drm_i915_private *dev_priv)
 {
u32 val;
 
@@ -256,7 +256,7 @@ void intel_combo_phy_power_up_lanes(struct drm_i915_private 
*dev_priv,
I915_WRITE(ICL_PORT_CL_DW10(port), val);
 }
 
-void icl_combo_phys_init(struct drm_i915_private *dev_priv)
+static void icl_combo_phys_init(struct drm_i915_private *dev_priv)
 {
enum port port;
 
@@ -285,7 +285,7 @@ void icl_combo_phys_init(struct drm_i915_private *dev_priv)
}
 }
 
-void icl_combo_phys_uninit(struct drm_i915_private *dev_priv)
+static void icl_combo_phys_uninit(struct drm_i915_private *dev_priv)
 {
enum port port;
 
@@ -306,3 +306,19 @@ void icl_combo_phys_uninit(struct drm_i915_private 
*dev_priv)
I915_WRITE(ICL_PORT_COMP_DW0(port), val);
}
 }
+
+void intel_combo_phy_init(struct drm_i915_private *i915)
+{
+   if (INTEL_GEN(i915) >= 11)
+   icl_combo_phys_init(i915);
+   else if (IS_CANNONLAKE(i915))
+   cnl_combo_phys_init(i915);
+}
+
+void intel_combo_phy_uninit(struct drm_i915_private *i915)
+{
+   if (INTEL_GEN(i915) >= 11)
+   icl_combo_phys_uninit(i915);
+   else if (IS_CANNONLAKE(i915))
+   cnl_combo_phys_uninit(i915);
+}
diff --git a/drivers/gpu/drm/i915/intel_combo_phy.h 
b/drivers/gpu/drm/i915/intel_combo_phy.h
index 749b644..e6e195 100644
--- a/drivers/gpu/drm/i915/intel_combo_phy.h
+++ b/drivers/gpu/drm/i915/intel_combo_phy.h
@@ -11,10 +11,8 @@
 
 struct drm_i915_private;
 
-void icl_combo_phys_init(struct drm_i915_private *dev_priv);
-void icl_combo_phys_uninit(struct drm_i915_private *dev_priv);
-void cnl_combo_phys_init(struct drm_i915_private *dev_priv);
-void cnl_combo_phys_uninit(struct drm_i915_private *dev_priv);
+void intel_combo_phy_init(struct drm_i915_private *dev_priv);
+void intel_combo_phy_uninit(struct drm_i915_private *dev_priv);
 void intel_combo_phy_power_up_lanes(struct drm_i915_private *dev_priv,
enum port port, bool is_dsi,
int lane_count, bool lane_reversal);
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 30e7cb..be7119 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1140,7 +1140,7 @@ static void gen9_dc_off_power_well_enable(struct 
drm_i915_private *dev_priv,
 * PHY's HW context for port B is lost after DC transitions,
 * so we need to restore it manually.
 */
-   icl_combo_phys_init(dev_priv);
+   intel_combo_phy_init(dev_priv);
 }
 
 static void gen9_dc_off_power_well_disable(struct drm_i915_private *dev_priv,
@@ -3779,7 +3779,7 @@ static void cnl_display_core_init(struct drm_i915_private 
*dev_priv, bool resume
intel_pch_reset_handshake(dev_priv, !HAS_PCH_NOP(dev_priv));
 
/* 2-3. */
-   cnl_combo_phys_init(dev_priv);
+   intel_combo_phy_init(dev_priv);
 
/*
 * 4. Enable Power Well 1 (PG1).
@@ -3828,7 +3828,7 @@ static void cnl_display_core_uninit(struct 
drm_i915_private *dev_priv)
usleep_range(10, 30);   /* 10 us delay per Bspec */
 
/* 5. */
-   cnl_combo_phys_uninit(dev_priv);
+   intel_combo_phy_uninit(dev_priv);
 }
 
 void icl_display_core_init(struct drm_i915_private *dev_priv,
@@ -3843,7 +3843,7 @@ void icl_display_core_init(struct drm_i915_private 
*dev_priv,
intel_pch_reset_handshake(dev_priv, !HAS_PCH_NOP(dev_priv));
 
/* 2. Initialize all combo phys */
-   icl_combo_phys_init(dev_priv);
+   intel_combo_phy_init(dev_priv);
 
/*
 * 3. Enable Power Well 1 (PG1).
@@ -3893,7 +3893,7 @@ void icl_display_core_uninit(struct drm_i915_private 
*dev_priv)
mutex_unlock(_domains->lock);
 
/* 5. */
-   

Re: [Intel-gfx] [PATCH 6/6] drm/i915: Expand subslice mask

2019-05-02 Thread Summers, Stuart
On Wed, 2019-05-01 at 15:04 -0700, Daniele Ceraolo Spurio wrote:
> 
> On 5/1/19 8:34 AM, Stuart Summers wrote:
> > Currently, the subslice_mask runtime parameter is stored as an
> > array of subslices per slice. Expand the subslice mask array to
> > better match what is presented to userspace through the
> > I915_QUERY_TOPOLOGY_INFO ioctl. The index into this array is
> > then calculated:
> >slice * subslice stride + subslice index / 8
> > 
> > v2: fix spacing in set_sseu_info args
> >  use set_sseu_info to initialize sseu data when building
> >  device status in debugfs
> >  rename variables in intel_engine_types.h to avoid checkpatch
> >  warnings
> > v3: update headers in intel_sseu.h
> > v4: add const to some sseu_dev_info variables
> >  use sseu->eu_stride for EU stride calculations
> > 
> > Cc: Daniele Ceraolo Spurio 
> > Signed-off-by: Stuart Summers 
> 
> Can you also get an ack from Lionel, to make sure this all fits with
> the 
> expected reporting?

Cc: Lionel Landwerlin 

> 
> > ---
> >   drivers/gpu/drm/i915/gt/intel_engine_cs.c|   6 +-
> >   drivers/gpu/drm/i915/gt/intel_engine_types.h |  32 +++--
> >   drivers/gpu/drm/i915/gt/intel_hangcheck.c|   3 +-
> >   drivers/gpu/drm/i915/gt/intel_sseu.c |  49 +--
> >   drivers/gpu/drm/i915/gt/intel_sseu.h |  16 ++-
> >   drivers/gpu/drm/i915/gt/intel_workarounds.c  |   2 +-
> >   drivers/gpu/drm/i915/i915_debugfs.c  |  44 +++---
> >   drivers/gpu/drm/i915/i915_drv.c  |   6 +-
> >   drivers/gpu/drm/i915/i915_gpu_error.c|   5 +-
> >   drivers/gpu/drm/i915/i915_query.c|  10 +-
> >   drivers/gpu/drm/i915/intel_device_info.c | 142 +++---
> > -
> >   11 files changed, 198 insertions(+), 117 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > index 6e40f8ea9a6a..8f7967cc9a50 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > @@ -914,7 +914,7 @@ u32 intel_calculate_mcr_s_ss_select(struct
> > drm_i915_private *dev_priv)
> > const struct sseu_dev_info *sseu = _INFO(dev_priv)-
> > >sseu;
> > u32 mcr_s_ss_select;
> > u32 slice = fls(sseu->slice_mask);
> > -   u32 subslice = fls(sseu->subslice_mask[slice]);
> > +   u32 subslice = fls(sseu->subslice_mask[slice * sseu-
> > >ss_stride]);
> 
> This (and the registers we use below) only works if ss_stride = 1.
> Can 
> we add a:
> 
>   GEM_BUG_ON(sseu->ss_stride > 1);
> 
> to catch the fact that this function will need updating to handle
> that 
> case if/when we get it?

I'll rework this and post an update.

> 
> >   
> > if (IS_GEN(dev_priv, 10))
> > mcr_s_ss_select = GEN8_MCR_SLICE(slice) |
> > @@ -990,6 +990,7 @@ void intel_engine_get_instdone(struct
> > intel_engine_cs *engine,
> >struct intel_instdone *instdone)
> >   {
> > struct drm_i915_private *dev_priv = engine->i915;
> > +   const struct sseu_dev_info *sseu = _INFO(dev_priv)-
> > >sseu;
> > struct intel_uncore *uncore = engine->uncore;
> > u32 mmio_base = engine->mmio_base;
> > int slice;
> > @@ -1007,7 +1008,8 @@ void intel_engine_get_instdone(struct
> > intel_engine_cs *engine,
> >   
> > instdone->slice_common =
> > intel_uncore_read(uncore, GEN7_SC_INSTDONE);
> > -   for_each_instdone_slice_subslice(dev_priv, slice,
> > subslice) {
> > +   for_each_instdone_slice_subslice(dev_priv, sseu, slice,
> > +subslice) {
> > instdone->sampler[slice][subslice] =
> > read_subslice_reg(dev_priv, slice,
> > subslice,
> >   GEN7_SAMPLER_INSTDONE
> > );
> > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h
> > b/drivers/gpu/drm/i915/gt/intel_engine_types.h
> > index 9d64e33f8427..1710546a2446 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_engine_types.h
> > +++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h
> > @@ -534,20 +534,22 @@ intel_engine_needs_breadcrumb_tasklet(const
> > struct intel_engine_cs *engine)
> > return engine->flags & I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
> >   }
> >   
> > -#define instdone_slice_mask(dev_priv__) \
> > -   (IS_GEN(dev_priv__, 7) ? \
> > -1 : RUNTIME_INFO(dev_priv__)->sseu.slice_mask)
> > -
> > -#define instdone_subslice_mask(dev_priv__) \
> > -   (IS_GEN(dev_priv__, 7) ? \
> > -1 : RUNTIME_INFO(dev_priv__)->sseu.subslice_mask[0])
> > -
> > -#define for_each_instdone_slice_subslice(dev_priv__, slice__,
> > subslice__) \
> > -   for ((slice__) = 0, (subslice__) = 0; \
> > -(slice__) < I915_MAX_SLICES; \
> > -(subslice__) = ((subslice__) + 1) < I915_MAX_SUBSLICES ?
> > (subslice__) + 1 : 0, \
> > -  (slice__) += ((subslice__) == 0)) \
> > -   for_each_if((BIT(slice__) &
> > 

Re: [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [v2,1/2] drm/i915/icl: Factor out combo PHY lane power setup helper

2019-05-02 Thread Jani Nikula
On Thu, 02 May 2019, Imre Deak  wrote:
> On Fri, Apr 26, 2019 at 08:39:12AM +, Patchwork wrote:
>> == Series Details ==
>> 
>> Series: series starting with [v2,1/2] drm/i915/icl: Factor out combo PHY 
>> lane power setup helper
>> URL   : https://patchwork.freedesktop.org/series/59954/
>> State : success
>
> Thanks for the review, series pushed to -dinq, with the s/icl_/intel_/
> change and adding the headers to intel_combo_phy.h required by the
> recent header refactoring.

Hey, I expected a resend. Please always resend the the rebased patches
for CI, and only push patches that have gone through CI!

BR,
Jani.


>
>> 
>> == Summary ==
>> 
>> CI Bug Log - changes from CI_DRM_6000_full -> Patchwork_12877_full
>> 
>> 
>> Summary
>> ---
>> 
>>   **SUCCESS**
>> 
>>   No regressions found.
>> 
>>   
>> 
>> Known issues
>> 
>> 
>>   Here are the changes found in Patchwork_12877_full that come from known 
>> issues:
>> 
>> ### IGT changes ###
>> 
>>  Issues hit 
>> 
>>   * igt@gem_tiled_swapping@non-threaded:
>> - shard-iclb: [PASS][1] -> [DMESG-WARN][2] ([fdo#108686])
>>[1]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb6/igt@gem_tiled_swapp...@non-threaded.html
>>[2]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb3/igt@gem_tiled_swapp...@non-threaded.html
>> 
>>   * igt@i915_pm_rpm@legacy-planes:
>> - shard-skl:  [PASS][3] -> [INCOMPLETE][4] ([fdo#107807])
>>[3]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl5/igt@i915_pm_...@legacy-planes.html
>>[4]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl6/igt@i915_pm_...@legacy-planes.html
>> 
>>   * igt@kms_cursor_crc@cursor-64x64-dpms:
>> - shard-skl:  [PASS][5] -> [FAIL][6] ([fdo#103232])
>>[5]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl8/igt@kms_cursor_...@cursor-64x64-dpms.html
>>[6]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl5/igt@kms_cursor_...@cursor-64x64-dpms.html
>> 
>>   * igt@kms_flip@flip-vs-expired-vblank-interruptible:
>> - shard-skl:  [PASS][7] -> [FAIL][8] ([fdo#105363])
>>[7]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl7/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
>>[8]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl4/igt@kms_f...@flip-vs-expired-vblank-interruptible.html
>> 
>>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
>> - shard-iclb: [PASS][9] -> [FAIL][10] ([fdo#103167])
>>[9]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-primscrn-indfb-pgflip-blt.html
>>[10]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb1/igt@kms_frontbuffer_track...@fbc-1p-primscrn-indfb-pgflip-blt.html
>> 
>>   * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
>> - shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#104108])
>>[11]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl2/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-b.html
>>[12]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl3/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-b.html
>> 
>>   * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
>> - shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#108145] / 
>> [fdo#110403])
>>[13]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl8/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
>>[14]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl5/igt@kms_plane_alpha_bl...@pipe-b-coverage-7efc.html
>> 
>>   * igt@kms_psr2_su@frontbuffer:
>> - shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109642])
>>[15]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb2/igt@kms_psr2...@frontbuffer.html
>>[16]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb1/igt@kms_psr2...@frontbuffer.html
>> 
>>   * igt@kms_psr@psr2_sprite_render:
>> - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109441]) +2 similar 
>> issues
>>[17]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-iclb2/igt@kms_psr@psr2_sprite_render.html
>>[18]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-iclb8/igt@kms_psr@psr2_sprite_render.html
>> 
>>   * igt@kms_psr@suspend:
>> - shard-skl:  [PASS][19] -> [INCOMPLETE][20] ([fdo#107773])
>>[19]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6000/shard-skl7/igt@kms_...@suspend.html
>>[20]: 
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12877/shard-skl1/igt@kms_...@suspend.html
>> 
>>   * igt@kms_rotation_crc@multiplane-rotation:
>> - shard-kbl:  [PASS][21] -> [INCOMPLETE][22] ([fdo#103665])
>>[21]: 
>> 

Re: [Intel-gfx] [PATCH 03/14] drm/i915/execlists: Flush the tasklet on parking

2019-05-02 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-05-02 15:24:16)
> 
> On 02/05/2019 15:21, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2019-05-02 15:14:08)
> >>
> >> On 02/05/2019 14:53, Chris Wilson wrote:
> >>> Quoting Tvrtko Ursulin (2019-05-02 14:48:18)
> 
>  On 01/05/2019 12:45, Chris Wilson wrote:
> > Tidy up the cleanup sequence by always ensure that the tasklet is
> > flushed on parking (before we cleanup). The parking provides a
> > convenient point to ensure that the backend is truly idle.
> >
> > Signed-off-by: Chris Wilson 
> > ---
> > drivers/gpu/drm/i915/gt/intel_lrc.c | 7 ++-
> > drivers/gpu/drm/i915/intel_guc_submission.c | 1 +
> > 2 files changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c 
> > b/drivers/gpu/drm/i915/gt/intel_lrc.c
> > index 851e62ddcb87..7be54b868d8e 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> > @@ -2331,6 +2331,11 @@ static int gen8_init_rcs_context(struct 
> > i915_request *rq)
> > return i915_gem_render_state_emit(rq);
> > }
> > 
> > +static void execlists_park(struct intel_engine_cs *engine)
> > +{
> > + tasklet_kill(>execlists.tasklet);
> 
>  Isn't it actually a problem if tasklet is scheduled and unstarted, or
>  even in progress at the point of engine getting parked?
> >>>
> >>> That would be a broken driver. :|
> >>>
> >>> We must be quite sure that engine isn't going to send an interrupt as we
> >>> are just about to drop the wakeref we need to service that interrupt.
> >>>
> >>> tasklet_kill()
> >>> GEM_BUG_ON(engine->execlists.active);
> >>
> >> Or instead of both:
> >>
> >> /* Tasklet must not be running or scheduled at this point. */
> >> GEM_BUG_ON(engine->execlists.tasklet.state);
> > 
> > There's the dilemma that we start parking based on retirement not
> > final CS event.
> 
> But engine->park() is called once the last engine pm reference is 
> dropped. Are we dropping the last reference with a CS event pending?

Potentially we are.

i915_request_retire() -> context->exit() -> engine->park()

At no point along that chain do we actually check we have flushed the
backend. The tasklet_kill() would flush if the interrupt had already
been sent, but that's not very strict.

Oh well, you've talked me into to re-adding the wait loop here.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915/GLK: Properly handle plane CSC for BT2020 framebuffers

2019-05-02 Thread Lankhorst, Maarten
tor 2019-05-02 klockan 14:51 +0300 skrev Ville Syrjälä:
> On Thu, May 02, 2019 at 10:40:39AM +, Sharma, Shashank wrote:
> > 
> > 
> > > -Original Message-
> > > From: Ville Syrjälä [mailto:ville.syrj...@linux.intel.com]
> > > Sent: Thursday, May 2, 2019 3:45 PM
> > > To: Sharma, Shashank 
> > > Cc: intel-gfx@lists.freedesktop.org; Syrjala, Ville  > > a...@intel.com>; Lankhorst,
> > > Maarten 
> > > Subject: Re: [Intel-gfx] [PATCH] drm/i915/GLK: Properly handle
> > > plane CSC for
> > > BT2020 framebuffers
> > > 
> > > On Thu, May 02, 2019 at 03:19:42PM +0530, Shashank Sharma wrote:
> > > > Framebuffer formats P01x are supported by GLK, but the function
> > > > which
> > > > handles CSC on plane color control register, still expectes the
> > > > input
> > > > buffer to be REC709. This can cause inaccurate output for
> > > > direct P01x
> > > > flips.
> > > > 
> > > > This patch checks if the color_encoding property is set to
> > > > YCBCR_2020,
> > > > and enables the corresponding color conversion mode on plane
> > > > CSC.
> > > > 
> > > > PS: renamed variable plane_color_ctl to color_ctl for 80 char
> > > > stuff.
> > > > 
> > > > Cc: Ville Syrjala 
> > > > Cc: Maarten Lankhorst 
> > > > Cc: Uma Shankar 
> > > > Signed-off-by: Shashank Sharma 
> > > > ---
> > > >  drivers/gpu/drm/i915/intel_display.c | 26 --
> > > > 
> > > >  1 file changed, 16 insertions(+), 10 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/intel_display.c
> > > > b/drivers/gpu/drm/i915/intel_display.c
> > > > index dd65d7c521c1..2d4d3128bf1f 100644
> > > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > > @@ -3868,24 +3868,30 @@ u32 glk_plane_color_ctl(const struct
> > > > intel_crtc_state
> > > 
> > > *crtc_state,
> > > > to_i915(plane_state->base.plane->dev);
> > > > const struct drm_framebuffer *fb = plane_state-
> > > > >base.fb;
> > > > struct intel_plane *plane =
> > > > to_intel_plane(plane_state->base.plane);
> > > > -   u32 plane_color_ctl = 0;
> > > > +   u32 color_ctl = 0;
> > > > 
> > > > -   plane_color_ctl |= PLANE_COLOR_PLANE_GAMMA_DISABLE;
> > > > -   plane_color_ctl |=
> > > > glk_plane_color_ctl_alpha(plane_state);
> > > > +   color_ctl |= PLANE_COLOR_PLANE_GAMMA_DISABLE;
> > > > +   color_ctl |= glk_plane_color_ctl_alpha(plane_state);
> > > > 
> > > > if (fb->format->is_yuv && !icl_is_hdr_plane(dev_priv,
> > > > plane->id)) {
> > > > -   if (plane_state->base.color_encoding ==
> > > > DRM_COLOR_YCBCR_BT709)
> > > > -   plane_color_ctl |=
> > > 
> > > PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;
> > > > -   else
> > > > -   plane_color_ctl |=
> > > 
> > > PLANE_COLOR_CSC_MODE_YUV601_TO_RGB709;
> > > > +   switch (plane_state->base.color_encoding) {
> > > > +   case DRM_COLOR_YCBCR_BT709:
> > > > +   color_ctl |=
> > > 
> > > PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;
> > > > +   break;
> > > > +   case DRM_COLOR_YCBCR_BT2020:
> > > > +   color_ctl |=
> > > 
> > > PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020;
> > > > +   break;
> > > > +   default:
> > > > +   color_ctl |=
> > > 
> > > PLANE_COLOR_CSC_MODE_YUV601_TO_RGB709;
> > > > +   }
> > > 
> > > This isn't going to do anything without adjusting the property
> > > supported encodings as
> > > well.
> > > 
> > 
> > I might have not understood this comment properly, but, AFAIK, if
> > userspace sets this property well, and we set this color_ctl bit
> > properly, driver is setting PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020
> > bits in GLK color control register. As GLK has a fix function plane
> > CSC, HW will apply a different matrix internally to convert input
> > buffer to RGB_2020 from YCBCR_2020 (earlier this would have been
> > YCBCR_709).  So I think we should see visible changes in output. Do
> > you think otherwise ? 
> 
> The property won't accept the BT2020 value. Or if it does we have a
> bug
> somewhere.
> 
> I guess tests would be nice. Maybe we should extend the kms_plane
> pixel
> format tests to check different YCbCr encodings as well? Or maybe
> Maarten's kms_yuv already tests this?
Not yet, unfortunately we have no way to set CSC in igt yet. :(

Best way to do so would be to add a igt_create_fb_yuv() which would a
igt_create_fb that accepts igt color encoding and range as arguments.

~Maarten

smime.p7s
Description: S/MIME cryptographic signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH v2] drm/i915: Cancel retire_worker on parking

2019-05-02 Thread Chris Wilson
Replace the racy continuation check within retire_work with a definite
kill-switch on idling. The race was being exposed by gem_concurrent_blit
where the retire_worker would be terminated too early leaving us
spinning in debugfs/i915_drop_caches with nothing flushing the
retirement queue.

Although that the igt is trying to idle from one child while submitting
from another may be a contributing factor as to why  it runs so slowly...

v2: Use the non-sync version of cancel_delayed_work(), we only need to
stop it from being scheduled as we independently check whether now is
the right time to be parking.

Testcase: igt/gem_concurrent_blit
Fixes: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
---
 drivers/gpu/drm/i915/i915_gem_pm.c | 18 --
 .../gpu/drm/i915/selftests/mock_gem_device.c   |  1 -
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_pm.c 
b/drivers/gpu/drm/i915/i915_gem_pm.c
index ae91ad7cb31e..fa9c2ebd966a 100644
--- a/drivers/gpu/drm/i915/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/i915_gem_pm.c
@@ -30,15 +30,23 @@ static void idle_work_handler(struct work_struct *work)
 {
struct drm_i915_private *i915 =
container_of(work, typeof(*i915), gem.idle_work);
+   bool restart = true;
 
+   cancel_delayed_work(>gem.retire_work);
mutex_lock(>drm.struct_mutex);
 
intel_wakeref_lock(>gt.wakeref);
-   if (!intel_wakeref_active(>gt.wakeref) && !work_pending(work))
+   if (!intel_wakeref_active(>gt.wakeref) && !work_pending(work)) {
i915_gem_park(i915);
+   restart = false;
+   }
intel_wakeref_unlock(>gt.wakeref);
 
mutex_unlock(>drm.struct_mutex);
+   if (restart)
+   queue_delayed_work(i915->wq,
+  >gem.retire_work,
+  round_jiffies_up_relative(HZ));
 }
 
 static void retire_work_handler(struct work_struct *work)
@@ -52,10 +60,9 @@ static void retire_work_handler(struct work_struct *work)
mutex_unlock(>drm.struct_mutex);
}
 
-   if (intel_wakeref_active(>gt.wakeref))
-   queue_delayed_work(i915->wq,
-  >gem.retire_work,
-  round_jiffies_up_relative(HZ));
+   queue_delayed_work(i915->wq,
+  >gem.retire_work,
+  round_jiffies_up_relative(HZ));
 }
 
 static int pm_notifier(struct notifier_block *nb,
@@ -140,7 +147,6 @@ void i915_gem_suspend(struct drm_i915_private *i915)
 * Assert that we successfully flushed all the work and
 * reset the GPU back to its idle, low power state.
 */
-   drain_delayed_work(>gem.retire_work);
GEM_BUG_ON(i915->gt.awake);
flush_work(>gem.idle_work);
 
diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c 
b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index d919f512042c..9fd02025d382 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -58,7 +58,6 @@ static void mock_device_release(struct drm_device *dev)
i915_gem_contexts_lost(i915);
mutex_unlock(>drm.struct_mutex);
 
-   drain_delayed_work(>gem.retire_work);
flush_work(>gem.idle_work);
i915_gem_drain_workqueue(i915);
 
-- 
2.20.1

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

Re: [Intel-gfx] [PATCH 06/14] drm/i915: Cancel retire_worker on parking

2019-05-02 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-05-02 15:20:52)
> 
> On 02/05/2019 14:33, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2019-05-02 14:29:50)
> >>
> >> On 01/05/2019 12:45, Chris Wilson wrote:
> >>> Replace the racy continuation check within retire_work with a definite
> >>> kill-switch on idling. The race was being exposed by gem_concurrent_blit
> >>> where the retire_worker would be terminated too early leaving us
> >>> spinning in debugfs/i915_drop_caches with nothing flushing the
> >>> retirement queue.
> >>>
> >>> Although that the igt is trying to idle from one child while submitting
> >>> from another may be a contributing factor as to why  it runs so slowly...
> >>>
> >>> Testcase: igt/gem_concurrent_blit
> >>> Fixes: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
> >>> Signed-off-by: Chris Wilson 
> >>> Cc: Tvrtko Ursulin 
> >>> ---
> >>>drivers/gpu/drm/i915/i915_gem_pm.c | 18 --
> >>>.../gpu/drm/i915/selftests/mock_gem_device.c   |  1 -
> >>>2 files changed, 12 insertions(+), 7 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/i915_gem_pm.c 
> >>> b/drivers/gpu/drm/i915/i915_gem_pm.c
> >>> index ae91ad7cb31e..b239b55f84cd 100644
> >>> --- a/drivers/gpu/drm/i915/i915_gem_pm.c
> >>> +++ b/drivers/gpu/drm/i915/i915_gem_pm.c
> >>> @@ -30,15 +30,23 @@ static void idle_work_handler(struct work_struct 
> >>> *work)
> >>>{
> >>>struct drm_i915_private *i915 =
> >>>container_of(work, typeof(*i915), gem.idle_work);
> >>> + bool restart = true;
> >>>
> >>> + cancel_delayed_work_sync(>gem.retire_work);
> >>>mutex_lock(>drm.struct_mutex);
> >>>
> >>
> >> You don't want to run another retire here? Since the retire worker might
> >> have just been canceled I thought you should.
> > 
> > Why though? If there are retires outstanding, we won't sleep and want to
> > defer parking until after the next cycle.
> 
> In this case what is the point of cancel_delayed_work_*sync* and not 
> just the async cancel?

There's an non-sync version? Ah ha!
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 03/14] drm/i915/execlists: Flush the tasklet on parking

2019-05-02 Thread Tvrtko Ursulin


On 02/05/2019 15:21, Chris Wilson wrote:

Quoting Tvrtko Ursulin (2019-05-02 15:14:08)


On 02/05/2019 14:53, Chris Wilson wrote:

Quoting Tvrtko Ursulin (2019-05-02 14:48:18)


On 01/05/2019 12:45, Chris Wilson wrote:

Tidy up the cleanup sequence by always ensure that the tasklet is
flushed on parking (before we cleanup). The parking provides a
convenient point to ensure that the backend is truly idle.

Signed-off-by: Chris Wilson 
---
drivers/gpu/drm/i915/gt/intel_lrc.c | 7 ++-
drivers/gpu/drm/i915/intel_guc_submission.c | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c 
b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 851e62ddcb87..7be54b868d8e 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -2331,6 +2331,11 @@ static int gen8_init_rcs_context(struct i915_request *rq)
return i915_gem_render_state_emit(rq);
}

+static void execlists_park(struct intel_engine_cs *engine)

+{
+ tasklet_kill(>execlists.tasklet);


Isn't it actually a problem if tasklet is scheduled and unstarted, or
even in progress at the point of engine getting parked?


That would be a broken driver. :|

We must be quite sure that engine isn't going to send an interrupt as we
are just about to drop the wakeref we need to service that interrupt.

tasklet_kill()
GEM_BUG_ON(engine->execlists.active);


Or instead of both:

/* Tasklet must not be running or scheduled at this point. */
GEM_BUG_ON(engine->execlists.tasklet.state);


There's the dilemma that we start parking based on retirement not
final CS event.


But engine->park() is called once the last engine pm reference is 
dropped. Are we dropping the last reference with a CS event pending?


Regards,

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

Re: [Intel-gfx] [PATCH 05/14] drm/i915: Remove delay for idle_work

2019-05-02 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-05-02 14:51:31)
> 
> On 02/05/2019 14:22, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2019-05-02 14:19:38)
> >>
> >> On 01/05/2019 12:45, Chris Wilson wrote:
> >>> diff --git a/drivers/gpu/drm/i915/i915_gem_pm.c 
> >>> b/drivers/gpu/drm/i915/i915_gem_pm.c
> >>> index 49b0ce594f20..ae91ad7cb31e 100644
> >>> --- a/drivers/gpu/drm/i915/i915_gem_pm.c
> >>> +++ b/drivers/gpu/drm/i915/i915_gem_pm.c
> >>> @@ -29,12 +29,12 @@ static void i915_gem_park(struct drm_i915_private 
> >>> *i915)
> >>>static void idle_work_handler(struct work_struct *work)
> >>>{
> >>>struct drm_i915_private *i915 =
> >>> - container_of(work, typeof(*i915), gem.idle_work.work);
> >>> + container_of(work, typeof(*i915), gem.idle_work);
> >>>
> >>>mutex_lock(>drm.struct_mutex);
> >>>
> >>>intel_wakeref_lock(>gt.wakeref);
> >>> - if (!intel_wakeref_active(>gt.wakeref))
> >>> + if (!intel_wakeref_active(>gt.wakeref) && !work_pending(work))
> >>
> >> What is the reason for the !work_pending check?
> > 
> > Just that we are going to be called again, so wait until the next time to
> > see if we still need to park.
> 
> When does it get called again? If a whole new cycle of unpark-park 
> happened before the previous park was able to finish?

work_pending() implies that we've done at least one cycle while we
waited for the locks and the work is already queued to be rerun.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 06/14] drm/i915: Cancel retire_worker on parking

2019-05-02 Thread Tvrtko Ursulin


On 02/05/2019 14:33, Chris Wilson wrote:

Quoting Tvrtko Ursulin (2019-05-02 14:29:50)


On 01/05/2019 12:45, Chris Wilson wrote:

Replace the racy continuation check within retire_work with a definite
kill-switch on idling. The race was being exposed by gem_concurrent_blit
where the retire_worker would be terminated too early leaving us
spinning in debugfs/i915_drop_caches with nothing flushing the
retirement queue.

Although that the igt is trying to idle from one child while submitting
from another may be a contributing factor as to why  it runs so slowly...

Testcase: igt/gem_concurrent_blit
Fixes: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
---
   drivers/gpu/drm/i915/i915_gem_pm.c | 18 --
   .../gpu/drm/i915/selftests/mock_gem_device.c   |  1 -
   2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_pm.c 
b/drivers/gpu/drm/i915/i915_gem_pm.c
index ae91ad7cb31e..b239b55f84cd 100644
--- a/drivers/gpu/drm/i915/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/i915_gem_pm.c
@@ -30,15 +30,23 @@ static void idle_work_handler(struct work_struct *work)
   {
   struct drm_i915_private *i915 =
   container_of(work, typeof(*i915), gem.idle_work);
+ bool restart = true;
   
+ cancel_delayed_work_sync(>gem.retire_work);

   mutex_lock(>drm.struct_mutex);
   


You don't want to run another retire here? Since the retire worker might
have just been canceled I thought you should.


Why though? If there are retires outstanding, we won't sleep and want to
defer parking until after the next cycle.


In this case what is the point of cancel_delayed_work_*sync* and not 
just the async cancel?


Regards,

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

Re: [Intel-gfx] [PATCH 03/14] drm/i915/execlists: Flush the tasklet on parking

2019-05-02 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-05-02 15:14:08)
> 
> On 02/05/2019 14:53, Chris Wilson wrote:
> > Quoting Tvrtko Ursulin (2019-05-02 14:48:18)
> >>
> >> On 01/05/2019 12:45, Chris Wilson wrote:
> >>> Tidy up the cleanup sequence by always ensure that the tasklet is
> >>> flushed on parking (before we cleanup). The parking provides a
> >>> convenient point to ensure that the backend is truly idle.
> >>>
> >>> Signed-off-by: Chris Wilson 
> >>> ---
> >>>drivers/gpu/drm/i915/gt/intel_lrc.c | 7 ++-
> >>>drivers/gpu/drm/i915/intel_guc_submission.c | 1 +
> >>>2 files changed, 7 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c 
> >>> b/drivers/gpu/drm/i915/gt/intel_lrc.c
> >>> index 851e62ddcb87..7be54b868d8e 100644
> >>> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> >>> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> >>> @@ -2331,6 +2331,11 @@ static int gen8_init_rcs_context(struct 
> >>> i915_request *rq)
> >>>return i915_gem_render_state_emit(rq);
> >>>}
> >>>
> >>> +static void execlists_park(struct intel_engine_cs *engine)
> >>> +{
> >>> + tasklet_kill(>execlists.tasklet);
> >>
> >> Isn't it actually a problem if tasklet is scheduled and unstarted, or
> >> even in progress at the point of engine getting parked?
> > 
> > That would be a broken driver. :|
> > 
> > We must be quite sure that engine isn't going to send an interrupt as we
> > are just about to drop the wakeref we need to service that interrupt.
> > 
> > tasklet_kill()
> > GEM_BUG_ON(engine->execlists.active);
> 
> Or instead of both:
> 
> /* Tasklet must not be running or scheduled at this point. */
> GEM_BUG_ON(engine->execlists.tasklet.state);

There's the dilemma that we start parking based on retirement not
final CS event.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  1   2   >