[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with locking/lockdep: restore cross-release checks (rev3)

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with locking/lockdep: restore cross-release checks 
(rev3)
URL   : https://patchwork.freedesktop.org/series/51923/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5095 -> Patchwork_10738 =

== Summary - FAILURE ==

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

== Possible new issues ==

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

  === IGT changes ===

 Possible regressions 

igt@gem_tiled_fence_blits@basic:
  fi-skl-gvtdvm:  PASS -> DMESG-WARN
  fi-bdw-gvtdvm:  PASS -> DMESG-WARN


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@amdgpu/amd_basic@cs-compute:
  fi-kbl-8809g:   NOTRUN -> FAIL (fdo#108094)

igt@amdgpu/amd_prime@amd-to-i915:
  fi-kbl-8809g:   NOTRUN -> FAIL (fdo#107341)

igt@drv_selftest@live_contexts:
  fi-icl-u:   NOTRUN -> DMESG-FAIL (fdo#108569)

igt@gem_exec_suspend@basic-s3:
  fi-kbl-soraka:  NOTRUN -> INCOMPLETE (fdo#107556, fdo#107859, 
fdo#107774)
  fi-blb-e6850:   PASS -> INCOMPLETE (fdo#107718)

igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
  fi-snb-2520m:   PASS -> DMESG-FAIL (fdo#103713)

igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
  fi-snb-2520m:   PASS -> INCOMPLETE (fdo#103713)


 Possible fixes 

igt@drv_selftest@live_contexts:
  fi-bsw-kefka:   DMESG-FAIL (fdo#108656) -> PASS

igt@gem_ctx_switch@basic-default:
  fi-icl-u:   INCOMPLETE (fdo#108535, fdo#108315) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-c:
  fi-skl-guc: FAIL (fdo#103191, fdo#107362) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS +1


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#107341 https://bugs.freedesktop.org/show_bug.cgi?id=107341
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107556 https://bugs.freedesktop.org/show_bug.cgi?id=107556
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107774 https://bugs.freedesktop.org/show_bug.cgi?id=107774
  fdo#107859 https://bugs.freedesktop.org/show_bug.cgi?id=107859
  fdo#108094 https://bugs.freedesktop.org/show_bug.cgi?id=108094
  fdo#108315 https://bugs.freedesktop.org/show_bug.cgi?id=108315
  fdo#108535 https://bugs.freedesktop.org/show_bug.cgi?id=108535
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108656 https://bugs.freedesktop.org/show_bug.cgi?id=108656


== Participating hosts (52 -> 48) ==

  Additional (1): fi-kbl-soraka 
  Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5095 -> Patchwork_10738

  CI_DRM_5095: 69a3d10e9a8e4733b81ab69cbeac1f0edd3b9e9d @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4710: 431f0cfa1475dcaa475d6c30610317b3467bd4e4 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10738: 0913556fbd7aeb8ed24a352e2fb6307192b45773 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0913556fbd7a HAX FOR CI: Enable cross-release
e29afdbed41f drm/i915: annotate intel_atomic_commit_fence_wait
f2202d11beed drm/i915: Annotate dma_fence waits
0ac294b32321 reservation: Annotate dma_fence waits
8900507a5a3c dma-fence: cross-release annotations
c83af5577f98 mm, notifier: Add a lockdep map for invalidate_range_start
a156b1095372 mm, notifier: Catch sleeping/blocking for !blockable
f346774550fb mm: Check if mmu notifier callbacks are allowed to fail
1e6a69b82bb7 kernel/lockdep: Make cross-release a config option
f22f9b50acb9 lockdep: Remove GFP_NOLOCKDEP annotation
afcdf6b27fd4 kthread: finer-grained lockdep/cross-release completion
8236b690a94e locking/lockdep: restore cross-release checks

== Logs ==

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


Re: [Intel-gfx] [PATCH v2 0/7] Make GEN macros more similar

2018-11-07 Thread Tvrtko Ursulin


On 06/11/2018 21:51, Lucas De Marchi wrote:

This is the second version of the series trying to make GEN checks
more similar. These or roughly the changes from v1:

- We don't have a single macro receiving 2 or 3 parameters. Now there
   is GT_GEN_RANGE(), and GT_GEN(). The firs is the conversion from
   IS_GEN() while the second is the conversion from IS_GEN()
- Bring GEN_FOREVER back to be used with above macros
- Patch converting <, <=, ==, >, >=  checks using INTEL_GEN() to
   use the macros above was added
- INTEL_GEN() is removed to avoid it being used when we should prefer
   the new macros

The idea of the names is to pave the way for checks of the display version,
which would be named DISPLAY_GEN(), DISPLAY_GEN_RANGE().

In the commit messages we have the scripts to regenerate the patch to make
it easier to apply after the discussions and also to be able to convert
inflight patches.

Sorry in advance for the noise this causes in the codebase, but hopefully
it is for the greater good.


Lucas De Marchi (6):
   Revert "drm/i915: Kill GEN_FOREVER"
   drm/i915: replace IS_GEN with GT_GEN(..., N)
   drm/i915: rename IS_GEN9_* to GT_GEN9_*
   drm/i915: replace gen checks using operators by GT_GEN/GT_GEN_RANGE


I have reservations about this patch, where I think forcing only one 
flavour maybe is not the best thing. Because for plain if-ladder cases 
it feels more readable to stick with the current scheme of arithmetic 
comparisons. And it is more efficient in code as well.


Range checks are on the other hand useful either when combined in the 
same conditional as some other bitmask based test, or when both ends of 
the comparison edge are bound.



   drm/i915: merge gen checks to use range
   drm/i915: remove INTEL_GEN macro


I have reservations about this as as well, especially considering the 
previous paragraph. But even on it's own I am not sure we want to go 
back to more verbose.


Perhaps in the new scheme of things it should be renamed to 
INTEL_GT_GEN? I know it doesn't fit nicely with the naming scheme of 
GT/DISPLAY_GEN.. so maybe:


GT_GEN -> IS_GT_GEN
GT_GEN_RANGE -> IS_GT_GEN_RANGE
INTEL_GEN -> GT_GEN (but churn!?)

This leaves GT and DISPLAY namespaces completely parallel in syntax and 
semantics.


Regards,

Tvrtko





Rodrigo Vivi (1):
   drm/i915: Rename IS_GEN to GT_RANGE

  drivers/gpu/drm/i915/gvt/gtt.c|   4 +-
  drivers/gpu/drm/i915/gvt/handlers.c   |   2 +-
  drivers/gpu/drm/i915/gvt/vgpu.c   |   4 +-
  drivers/gpu/drm/i915/i915_cmd_parser.c|   2 +-
  drivers/gpu/drm/i915/i915_debugfs.c   | 145 +
  drivers/gpu/drm/i915/i915_drv.c   |  50 +--
  drivers/gpu/drm/i915/i915_drv.h   |  67 ++--
  drivers/gpu/drm/i915/i915_gem.c   |  30 +-
  drivers/gpu/drm/i915/i915_gem_context.c   |   4 +-
  drivers/gpu/drm/i915/i915_gem_execbuffer.c|  10 +-
  drivers/gpu/drm/i915/i915_gem_fence_reg.c |  16 +-
  drivers/gpu/drm/i915/i915_gem_gtt.c   |  36 +-
  drivers/gpu/drm/i915/i915_gem_render_state.c  |   2 +-
  drivers/gpu/drm/i915/i915_gem_stolen.c|  15 +-
  drivers/gpu/drm/i915/i915_gem_tiling.c|  12 +-
  drivers/gpu/drm/i915/i915_gpu_error.c |  62 ++--
  drivers/gpu/drm/i915/i915_irq.c   | 120 +++
  drivers/gpu/drm/i915/i915_perf.c  |  14 +-
  drivers/gpu/drm/i915/i915_pmu.c   |   6 +-
  drivers/gpu/drm/i915/i915_reg.h   |   8 +-
  drivers/gpu/drm/i915/i915_suspend.c   |  24 +-
  drivers/gpu/drm/i915/i915_sysfs.c |   2 +-
  drivers/gpu/drm/i915/intel_atomic.c   |   4 +-
  drivers/gpu/drm/i915/intel_audio.c|   4 +-
  drivers/gpu/drm/i915/intel_bios.c |  12 +-
  drivers/gpu/drm/i915/intel_cdclk.c|  28 +-
  drivers/gpu/drm/i915/intel_color.c|   6 +-
  drivers/gpu/drm/i915/intel_crt.c  |  12 +-
  drivers/gpu/drm/i915/intel_csr.c  |   2 +-
  drivers/gpu/drm/i915/intel_ddi.c  |  58 ++--
  drivers/gpu/drm/i915/intel_device_info.c  |  46 +--
  drivers/gpu/drm/i915/intel_display.c  | 308 +-
  drivers/gpu/drm/i915/intel_dp.c   |  82 ++---
  drivers/gpu/drm/i915/intel_dp_mst.c   |   2 +-
  drivers/gpu/drm/i915/intel_dpll_mgr.c |  10 +-
  drivers/gpu/drm/i915/intel_drv.h  |   2 +-
  drivers/gpu/drm/i915/intel_engine_cs.c|  44 +--
  drivers/gpu/drm/i915/intel_fbc.c  |  52 +--
  drivers/gpu/drm/i915/intel_fifo_underrun.c|   8 +-
  drivers/gpu/drm/i915/intel_guc_fw.c   |   4 +-
  drivers/gpu/drm/i915/intel_hangcheck.c|   6 +-
  drivers/gpu/drm/i915/intel_hdcp.c |   2 +-
  drivers/gpu/drm/i915/intel_hdmi.c |  18 +-
  drivers/gpu/drm/i915/intel_i2c.c  |  14 +-
  drivers/gpu/drm/i915/intel_lrc.c  |  32 +-
  drivers/gpu/drm/i915/intel_lvds.c | 

[Intel-gfx] [PATCH][drm-next] drm/i915/csr: fix spelling mistake "firmare" -> "firmware"

2018-11-07 Thread Colin King
From: Colin Ian King 

Trivial fix to spelling mistake in DRM_INFO message

Signed-off-by: Colin Ian King 
---
 drivers/gpu/drm/i915/intel_csr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index fc7bd21fa586..c1ca6596ff5c 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -499,7 +499,7 @@ void intel_csr_ucode_init(struct drm_i915_private *dev_priv)
if (i915_modparams.dmc_firmware_path) {
if (strlen(i915_modparams.dmc_firmware_path) == 0) {
csr->fw_path = NULL;
-   DRM_INFO("Disabling CSR firmare and runtime PM\n");
+   DRM_INFO("Disabling CSR firmware and runtime PM\n");
return;
}
 
-- 
2.19.1

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


Re: [Intel-gfx] [PATCH v2 0/4] Dynamic EU configuration of Slice/Subslice/EU.

2018-11-07 Thread Tvrtko Ursulin


On 06/11/2018 04:13, Ankit Navik wrote:

drm/i915: Context aware user agnostic EU/Slice/Sub-slice control within kernel

Current GPU configuration code for i915 does not allow us to change
EU/Slice/Sub-slice configuration dynamically. Its done only once while context
is created.

While particular graphics application is running, if we examine the command
requests from user space, we observe that command density is not consistent.
It means there is scope to change the graphics configuration dynamically even
while context is running actively. This patch series proposes the solution to
find the active pending load for all active context at given time and based on
that, dynamically perform graphics configuration for each context.

We use a hr (high resolution) timer with i915 driver in kernel to get a
callback every few milliseconds (this timer value can be configured through
debugfs, default is '0' indicating timer is in disabled state i.e. original
system without any intervention).In the timer callback, we examine pending
commands for a context in the queue, essentially, we intercept them before
they are executed by GPU and we update context with required number of EUs.

Two questions, how did we arrive at right timer value? and what's the right
number of EUs? For the prior one, empirical data to achieve best performance
in least power was considered. For the later one, we roughly categorized number
of EUs logically based on platform. Now we compare number of pending commands
with a particular threshold and then set number of EUs accordingly with update
context. That threshold is also based on experiments & findings. If GPU is able
to catch up with CPU, typically there are no pending commands, the EU config
would remain unchanged there. In case there are more pending commands we
reprogram context with higher number of EUs. Please note, here we are changing
EUs even while context is running by examining pending commands every 'x'
milliseconds.

With this solution in place, on KBL-GT3 + Android we saw following pnp
benefits, power numbers mentioned here are system power.

App /KPI   | % Power |
| Benefit |
|  (mW)   |
-|
3D Mark (Ice storm)| 2.30%   |
TRex On screen | 2.49%   |
TRex Off screen| 1.32%   |
ManhattanOn screen | 3.11%   |
Manhattan Off screen   | 0.89%   |
AnTuTu  6.1.4  | 3.42%   |


Were you able to find some benchmarks which regress? Maybe try Synmark2 
and more from gfxbench? Not all benchmarks there are equally important, 
and regressions on some are fine, but I think a fuller set would be 
interesting to see.


Regards,

Tvrtko



Note - For KBL (GEN9) we cannot control at sub-slice level, it was always  a
constraint.
We always controlled number of EUs rather than sub-slices/slices.

Praveen Diwakar (4):
   drm/i915: Get active pending request for given context
   drm/i915: Update render power clock state configuration for given
 context
   drm/i915: set optimum eu/slice/sub-slice configuration based on load
 type
   drm/i915: Predictive governor to control eu/slice/subslice

  drivers/gpu/drm/i915/i915_debugfs.c| 88 +-
  drivers/gpu/drm/i915/i915_drv.c|  1 +
  drivers/gpu/drm/i915/i915_drv.h| 10 
  drivers/gpu/drm/i915/i915_gem_context.c| 26 +
  drivers/gpu/drm/i915/i915_gem_context.h| 45 +++
  drivers/gpu/drm/i915/i915_gem_execbuffer.c |  5 ++
  drivers/gpu/drm/i915/intel_device_info.c   | 44 ++-
  drivers/gpu/drm/i915/intel_lrc.c   | 20 ++-
  8 files changed, 235 insertions(+), 4 deletions(-)


___
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/icl: Fix combo PHY HW context loss (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Fix combo PHY HW context loss (rev2)
URL   : https://patchwork.freedesktop.org/series/51970/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
8da27d26559f drm/i915/icl: Fix combo PHY uninit
-:19: ERROR:BAD_SIGN_OFF: Unrecognized email address: 'Rodrigo Vivi 
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/icl: Fix combo PHY HW context loss (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Fix combo PHY HW context loss (rev2)
URL   : https://patchwork.freedesktop.org/series/51970/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915/icl: Fix combo PHY uninit
Okay!

Commit: drm/i915/cnl+: Move the combo PHY init/uninit code to a new file
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3705:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3711:16: warning: expression 
using sizeof(void)
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)

Commit: drm/i915/cnl+: Verify combo PHY HW state during PHY uninit
Okay!

Commit: drm/i915/icl: Skip init for an already enabled combo PHY
Okay!

Commit: drm/i915/icl: Fix port B combo PHY context loss after DC transitions
Okay!

___
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/icl: Fix combo PHY HW context loss (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Fix combo PHY HW context loss (rev2)
URL   : https://patchwork.freedesktop.org/series/51970/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10739 =

== Summary - FAILURE ==

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

== Possible new issues ==

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

  === IGT changes ===

 Possible regressions 

igt@drv_module_reload@basic-no-display:
  fi-byt-clapper: PASS -> WARN


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_module_reload@basic-reload:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)

igt@drv_module_reload@basic-reload-inject:
  fi-glk-j4005:   PASS -> DMESG-WARN (fdo#106000)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-skl-6600u:   PASS -> INCOMPLETE (fdo#104108)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106248, fdo#106725) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Missing(6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10739

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10739: b07aa5a2f1dde979ce2efcad860219eacff17618 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b07aa5a2f1dd drm/i915/icl: Fix port B combo PHY context loss after DC 
transitions
f8a27234d85e drm/i915/icl: Skip init for an already enabled combo PHY
63f195491d16 drm/i915/cnl+: Verify combo PHY HW state during PHY uninit
8994b0680dd9 drm/i915/cnl+: Move the combo PHY init/uninit code to a new file
8da27d26559f drm/i915/icl: Fix combo PHY uninit

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10739/issues.html
___
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/icl: Fix combo PHY HW context loss (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Fix combo PHY HW context loss (rev2)
URL   : https://patchwork.freedesktop.org/series/51970/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10739 =

== Summary - FAILURE ==

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

== Possible new issues ==

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

  === IGT changes ===

 Possible regressions 

igt@drv_module_reload@basic-no-display:
  fi-byt-clapper: PASS -> WARN


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_module_reload@basic-reload:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)

igt@drv_module_reload@basic-reload-inject:
  fi-glk-j4005:   PASS -> DMESG-WARN (fdo#106000)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-skl-6600u:   PASS -> INCOMPLETE (fdo#104108)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106725, fdo#106248) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Missing(6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10739

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10739: b07aa5a2f1dde979ce2efcad860219eacff17618 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b07aa5a2f1dd drm/i915/icl: Fix port B combo PHY context loss after DC 
transitions
f8a27234d85e drm/i915/icl: Skip init for an already enabled combo PHY
63f195491d16 drm/i915/cnl+: Verify combo PHY HW state during PHY uninit
8994b0680dd9 drm/i915/cnl+: Move the combo PHY init/uninit code to a new file
8da27d26559f drm/i915/icl: Fix combo PHY uninit

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Fix combo PHY HW context loss (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Fix combo PHY HW context loss (rev2)
URL   : https://patchwork.freedesktop.org/series/51970/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10739 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_module_reload@basic-no-display:
  fi-byt-clapper: PASS -> WARN (fdo#108688)

igt@drv_module_reload@basic-reload:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)

igt@drv_module_reload@basic-reload-inject:
  fi-glk-j4005:   PASS -> DMESG-WARN (fdo#106000)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-skl-6600u:   PASS -> INCOMPLETE (fdo#104108)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106725, fdo#106248) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Missing(6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10739

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10739: b07aa5a2f1dde979ce2efcad860219eacff17618 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b07aa5a2f1dd drm/i915/icl: Fix port B combo PHY context loss after DC 
transitions
f8a27234d85e drm/i915/icl: Skip init for an already enabled combo PHY
63f195491d16 drm/i915/cnl+: Verify combo PHY HW state during PHY uninit
8994b0680dd9 drm/i915/cnl+: Move the combo PHY init/uninit code to a new file
8da27d26559f drm/i915/icl: Fix combo PHY uninit

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Fix combo PHY HW context loss (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Fix combo PHY HW context loss (rev2)
URL   : https://patchwork.freedesktop.org/series/51970/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10739 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_module_reload@basic-no-display:
  fi-byt-clapper: PASS -> WARN (fdo#108688)

igt@drv_module_reload@basic-reload:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)

igt@drv_module_reload@basic-reload-inject:
  fi-glk-j4005:   PASS -> DMESG-WARN (fdo#106000)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-skl-6600u:   PASS -> INCOMPLETE (fdo#104108)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106248, fdo#106725) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Missing(6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10739

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10739: b07aa5a2f1dde979ce2efcad860219eacff17618 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b07aa5a2f1dd drm/i915/icl: Fix port B combo PHY context loss after DC 
transitions
f8a27234d85e drm/i915/icl: Skip init for an already enabled combo PHY
63f195491d16 drm/i915/cnl+: Verify combo PHY HW state during PHY uninit
8994b0680dd9 drm/i915/cnl+: Move the combo PHY init/uninit code to a new file
8da27d26559f drm/i915/icl: Fix combo PHY uninit

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10739/issues.html
___
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/2] drm/i915/skl: Rework MOCS tables to keep common part in a define

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [v5,1/2] drm/i915/skl: Rework MOCS tables to keep 
common part in a define
URL   : https://patchwork.freedesktop.org/series/52108/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10740 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106248, fdo#106725) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Missing(6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10740

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10740: 3ffac1d9dea70d87022ac4099aa0527be0827cb8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

3ffac1d9dea7 drm/i915/icl: Define MOCS table for Icelake
53cfc8f22cc8 drm/i915/skl: Rework MOCS tables to keep common part in a define

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for mm, drm/i915: Mark pinned shmemfs pages as unevictable (rev7)

2018-11-07 Thread Patchwork
== Series Details ==

Series: mm, drm/i915: Mark pinned shmemfs pages as unevictable (rev7)
URL   : https://patchwork.freedesktop.org/series/25337/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
cbea68073add mm, drm/i915: mark pinned shmemfs pages as unevictable
-:161: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#161: FILE: include/linux/swap.h:374:
+extern void check_move_unevictable_pages(struct pagevec *pvec);

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

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


[Intel-gfx] [PULL] drm-misc-next

2018-11-07 Thread Maarten Lankhorst
Hey Dave,

First pull for drm-next this cycle. There's been a lot of changes, so I
hope I recorded everything from the changelog correctly.

drm-misc-next-2018-11-07:
drm-misc-next for v4.21, part 1:

UAPI Changes:
- Add syncobj timeline support to drm.

Cross-subsystem Changes:
- Remove shared fence staging in dma-buf's fence object, and allow
  reserving more than 1 fence and add more paranoia when debugging.
- Constify infoframe functions in video/hdmi.

Core Changes:
- Add vkms todo, and a lot of assorted doc fixes.
- Drop transitional helpers and convert drivers to use 
drm_atomic_helper_shutdown().
- Move atomic state helper functions to drm_atomic_state_helper.[ch]
- Refactor drm selftests, and add new tests.
- DP MST atomic state cleanups.
- Drop EXPORT_SYMBOL from drm leases.
- Lease cleanups and fixes.
- Create render node for vgem.

Driver Changes:
- Fix build failure in imx without fbdev emulation.
- Add rotation quirk for GPD win2 panel.
- Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
  Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
  Himax HX8357D, simulated RTSM AEMv8.
- Add dw_hdmi support to rockchip driver.
- Fix YUV support in vc4.
- Fix resource id handling in virtio.
- Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
- Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
- Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup().
- Add Mali linear tiled formats, and enable them in the Mali-DP driver.
- Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
- Assorted driver cleanups and fixes.

The following changes since commit f2bfc71aee75feff33ca659322b72ffeed5a243d:

  Merge tag 'drm-intel-next-fixes-2018-10-18' of 
git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-10-19 14:28:11 
+1000)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-11-07

for you to fetch changes up to e7afb623b4fb82089c9a50c733c740522b8220bc:

  drm: Add drm_any_plane_has_format() (2018-11-06 21:34:22 +0200)


drm-misc-next for v4.21, part 1:

UAPI Changes:
- Add syncobj timeline support to drm.

Cross-subsystem Changes:
- Remove shared fence staging in dma-buf's fence object, and allow
  reserving more than 1 fence and add more paranoia when debugging.
- Constify infoframe functions in video/hdmi.

Core Changes:
- Add vkms todo, and a lot of assorted doc fixes.
- Drop transitional helpers and convert drivers to use 
drm_atomic_helper_shutdown().
- Move atomic state helper functions to drm_atomic_state_helper.[ch]
- Refactor drm selftests, and add new tests.
- DP MST atomic state cleanups.
- Drop EXPORT_SYMBOL from drm leases.
- Lease cleanups and fixes.
- Create render node for vgem.

Driver Changes:
- Fix build failure in imx without fbdev emulation.
- Add rotation quirk for GPD win2 panel.
- Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
  Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
  Himax HX8357D, simulated RTSM AEMv8.
- Add dw_hdmi support to rockchip driver.
- Fix YUV support in vc4.
- Fix resource id handling in virtio.
- Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
- Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
- Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup().
- Add Mali linear tiled formats, and enable them in the Mali-DP driver.
- Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
- Assorted driver cleanups and fixes.


Aaron Ma (2):
  vgaarb: Add support for 64-bit frame buffer address
  vgaarb: Keep adding VGA device in queue

Abhinav Kumar (2):
  drm/panel: Add support for Truly NT35597 panel driver
  dt-bindings: Add Truly NT35597 panel driver bindings

Alexandru Gheorghe (9):
  drm: fourcc: Convert drm_format_info kerneldoc to in-line member 
documentation
  drm/selftest: Refactor test-drm_plane_helper
  drm/fourcc: Add char_per_block, block_w and block_h in drm_format_info
  drm/fourcc: Add fourcc for Mali linear tiled formats
  drm: mali-dp: Enable Mali-DP tiled buffer formats
  drm: Extend framebuffer_check to handle formats with cpp/char_per_block 0
  drm/selftests: Add tests for drm_format_info* helpers
  drm: Add macro to export functions only when CONFIG_DRM_DEBUG_SELFTEST is 
enabled
  drm/selftests: Add tests for drm_internal_framebuffer_create

Alexandru-Cosmin Gheorghe (1):
  drm/selftests: Fix build warning -Wframe-larger-than

Andrzej Hajda (1):
  drm/panel: simple: fix BOE/HV070WSA-100 timings

Arnd Bergmann (1):
  drm/imx: fix build failure without CONFIG_DRM_FBDEV_EMULATION

Benjamin Gaignard (2):
  drm: stm: implement get_scanout_position function
  drm/sti: make crct disable atomic

Boris Brezillon (

[Intel-gfx] ✓ Fi.CI.BAT: success for mm, drm/i915: Mark pinned shmemfs pages as unevictable (rev7)

2018-11-07 Thread Patchwork
== Series Details ==

Series: mm, drm/i915: Mark pinned shmemfs pages as unevictable (rev7)
URL   : https://patchwork.freedesktop.org/series/25337/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10741 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/25337/revisions/7/mbox/

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u2:  NOTRUN -> DMESG-FAIL (fdo#108569)

igt@drv_selftest@live_execlists:
  fi-apl-guc: PASS -> INCOMPLETE (fdo#106693, fdo#103927)

igt@gem_ctx_create@basic-files:
  fi-icl-u2:  NOTRUN -> DMESG-WARN (fdo#107724)

igt@gem_exec_suspend@basic-s4-devices:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)

igt@kms_flip@basic-flip-vs-modeset:
  fi-hsw-4770r:   PASS -> DMESG-WARN (fdo#105602)

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
  fi-byt-clapper: PASS -> FAIL (fdo#107362, fdo#103191)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106248, fdo#106725) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106693 https://bugs.freedesktop.org/show_bug.cgi?id=106693
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 46) ==

  Additional (1): fi-icl-u2 
  Missing(6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10741

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10741: cbea68073addc0619910c68dcd4c11edeb1c0a10 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

cbea68073add mm, drm/i915: mark pinned shmemfs pages as unevictable

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10741/issues.html
___
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: fix subslice mask array size

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: fix subslice mask array size
URL   : https://patchwork.freedesktop.org/series/52110/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10742 =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10742 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10742, 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/52110/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

 Warnings 

igt@drv_selftest@live_guc:
  fi-skl-iommu:   PASS -> SKIP +1


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u2:  NOTRUN -> DMESG-FAIL (fdo#108569)

igt@drv_selftest@live_hangcheck:
  fi-skl-iommu:   PASS -> INCOMPLETE (fdo#108602)

igt@gem_exec_suspend@basic-s3:
  fi-cfl-8109u:   PASS -> INCOMPLETE (fdo#107187, fdo#108126)

igt@kms_frontbuffer_tracking@basic:
  fi-icl-u2:  NOTRUN -> FAIL (fdo#103167)

igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
  fi-byt-clapper: PASS -> FAIL (fdo#107362, fdo#103191)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106248, fdo#106725) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108602 https://bugs.freedesktop.org/show_bug.cgi?id=108602
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Additional (1): fi-icl-u2 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10742

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10742: 89ede27c7244afba92bd286660421ef0ec0e4d8a @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

89ede27c7244 drm/i915: fix subslice mask array size

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10742/issues.html
___
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: Rename full ppgtt configuration to be more generic (rev6)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: Rename full ppgtt configuration to be more generic (rev6)
URL   : https://patchwork.freedesktop.org/series/49021/
State : failure

== Summary ==

Applying: drm/i915: Make 48bit full ppgtt configuration generic (v7)
Using index info to reconstruct a base tree...
M   drivers/gpu/drm/i915/i915_drv.c
M   drivers/gpu/drm/i915/i915_drv.h
M   drivers/gpu/drm/i915/i915_gem_context.c
M   drivers/gpu/drm/i915/i915_gem_gtt.c
M   drivers/gpu/drm/i915/i915_gem_gtt.h
M   drivers/gpu/drm/i915/i915_pci.c
M   drivers/gpu/drm/i915/intel_device_info.h
M   drivers/gpu/drm/i915/intel_lrc.c
M   drivers/gpu/drm/i915/selftests/huge_pages.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/selftests/huge_pages.c
Auto-merging drivers/gpu/drm/i915/intel_lrc.c
Auto-merging drivers/gpu/drm/i915/intel_device_info.h
Auto-merging drivers/gpu/drm/i915/i915_pci.c
Auto-merging drivers/gpu/drm/i915/i915_gem_gtt.h
Auto-merging drivers/gpu/drm/i915/i915_gem_gtt.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem_gtt.c
Auto-merging drivers/gpu/drm/i915/i915_gem_context.c
Auto-merging drivers/gpu/drm/i915/i915_drv.h
Auto-merging drivers/gpu/drm/i915/i915_drv.c
error: Failed to merge in the changes.
Patch failed at 0001 drm/i915: Make 48bit full ppgtt configuration generic (v7)
Use 'git am --show-current-patch' to see the failed patch
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".

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10391/issues.html
___
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 [v4,1/4] drm/i915/psr: Use intel_psr_exit() in intel_psr_disable_source()

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [v4,1/4] drm/i915/psr: Use intel_psr_exit() in 
intel_psr_disable_source()
URL   : https://patchwork.freedesktop.org/series/52113/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10743 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u2:  NOTRUN -> DMESG-FAIL (fdo#108569)

igt@gem_exec_suspend@basic-s4-devices:
  fi-blb-e6850:   NOTRUN -> INCOMPLETE (fdo#107718)

igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
  fi-skl-guc: PASS -> FAIL (fdo#107362, fdo#103191)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-byt-clapper: PASS -> FAIL (fdo#107362, fdo#103191)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106725, fdo#106248) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 44) ==

  Additional (1): fi-icl-u2 
  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 fi-gdg-551 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10743

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10743: 97a2d767b57222e9b40a1445ec02fafe7fb34e0a @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

97a2d767b572 drm/i915/psr: Move intel_psr_disable_source() code to 
intel_psr_disable_locked()
378e7ab1a7f5 drm/i915/icl: Reset PSR interruptions
008bfe179d1e drm/i915/psr: Always wait for idle state when disabling PSR
1c6d6a54255f drm/i915/psr: Use intel_psr_exit() in intel_psr_disable_source()

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] drm/atomic: Use explicit old crtc state in drm_atomic_add_affected_planes() (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [1/3] drm/atomic: Use explicit old crtc state in 
drm_atomic_add_affected_planes() (rev2)
URL   : https://patchwork.freedesktop.org/series/51894/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
e5ec4f59a037 drm/atomic: Use explicit old crtc state in 
drm_atomic_add_affected_planes()
1bfa9185dee8 drm/atomic: Use explicit old/new state in drm_atomic_crtc_check()
f6d1a322301f drm/atomic: Use explicit old/new state in drm_atomic_plane_check()
-:118: CHECK:SPACING: No space is necessary after a cast
#118: FILE: drivers/gpu/drm/drm_atomic.c:574:
+   new_plane_state->crtc_x > INT_MAX - (int32_t) 
new_plane_state->crtc_w ||

-:120: CHECK:SPACING: No space is necessary after a cast
#120: FILE: drivers/gpu/drm/drm_atomic.c:576:
+   new_plane_state->crtc_y > INT_MAX - (int32_t) 
new_plane_state->crtc_h) {

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

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


[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] drm/atomic: Use explicit old crtc state in drm_atomic_add_affected_planes() (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [1/3] drm/atomic: Use explicit old crtc state in 
drm_atomic_add_affected_planes() (rev2)
URL   : https://patchwork.freedesktop.org/series/51894/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10745 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_coherency:
  fi-gdg-551: PASS -> DMESG-FAIL (fdo#107164)

igt@drv_selftest@live_contexts:
  fi-icl-u2:  NOTRUN -> DMESG-FAIL (fdo#108569)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   PASS -> INCOMPLETE (fdo#106070, fdo#108126)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106725, fdo#106248) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#106070 https://bugs.freedesktop.org/show_bug.cgi?id=106070
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107164 https://bugs.freedesktop.org/show_bug.cgi?id=107164
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 45) ==

  Additional (1): fi-icl-u2 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10745

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10745: f6d1a322301fb41cf1850279091178a5fef8ebaf @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

f6d1a322301f drm/atomic: Use explicit old/new state in drm_atomic_plane_check()
1bfa9185dee8 drm/atomic: Use explicit old/new state in drm_atomic_crtc_check()
e5ec4f59a037 drm/atomic: Use explicit old crtc state in 
drm_atomic_add_affected_planes()

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10745/issues.html
___
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: HPD IRQ storm detection fixes (rev5)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: HPD IRQ storm detection fixes (rev5)
URL   : https://patchwork.freedesktop.org/series/51556/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: Fix possible race in intel_dp_add_mst_connector()
Okay!

Commit: drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST
Okay!

Commit: drm/i915: Fix threshold check in intel_hpd_irq_storm_detect()
Okay!

Commit: drm/i915: Clarify flow for disabling IRQs on storms
Okay!

Commit: drm/i915: Add short HPD IRQ storm detection for non-MST systems
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3705:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3708: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.BAT: success for drm/i915: HPD IRQ storm detection fixes (rev5)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: HPD IRQ storm detection fixes (rev5)
URL   : https://patchwork.freedesktop.org/series/51556/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096 -> Patchwork_10746 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/51556/revisions/5/mbox/

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u2:  NOTRUN -> DMESG-FAIL (fdo#108569)

igt@gem_ctx_create@basic-files:
  fi-icl-u2:  NOTRUN -> DMESG-WARN (fdo#107724)

igt@kms_frontbuffer_tracking@basic:
  fi-icl-u2:  NOTRUN -> FAIL (fdo#103167)

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
  fi-byt-clapper: PASS -> FAIL (fdo#103191, fdo#107362)


 Possible fixes 

igt@drv_module_reload@basic-reload:
  fi-glk-j4005:   DMESG-WARN (fdo#106725, fdo#106248) -> PASS

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: WARN (fdo#108688) -> PASS

igt@drv_selftest@live_contexts:
  fi-bsw-n3050:   DMESG-FAIL (fdo#108626) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@pm_rpm@module-reload:
  fi-byt-clapper: FAIL (fdo#108675) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108626 https://bugs.freedesktop.org/show_bug.cgi?id=108626
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (51 -> 46) ==

  Additional (1): fi-icl-u2 
  Missing(6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10746

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10746: 88f61dce77998ed6434f7a9039feeaf09c5c39ec @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

88f61dce7799 drm/i915: Add short HPD IRQ storm detection for non-MST systems
2c47a05ef666 drm/i915: Clarify flow for disabling IRQs on storms
5891cdd7cd87 drm/i915: Fix threshold check in intel_hpd_irq_storm_detect()
987fe23ad9db drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with 
MST
4c43f533ca82 drm/i915: Fix possible race in intel_dp_add_mst_connector()

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Make GEN macros more similar (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: Make GEN macros more similar (rev2)
URL   : https://patchwork.freedesktop.org/series/51860/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
d15504ef1f13 Revert "drm/i915: Kill GEN_FOREVER"
322b4c9622f1 drm/i915: Rename IS_GEN to GT_RANGE
0bbf4afc4405 drm/i915: replace IS_GEN with GT_GEN(..., N)
-:263: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#263: FILE: drivers/gpu/drm/i915/i915_drv.h:2536:
+#define IS_GEN9_LP(dev_priv)   (GT_GEN(dev_priv, 9) && IS_LP(dev_priv))

-:264: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#264: FILE: drivers/gpu/drm/i915/i915_drv.h:2537:
+#define IS_GEN9_BC(dev_priv)   (GT_GEN(dev_priv, 9) && !IS_LP(dev_priv))

-:282: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#282: FILE: drivers/gpu/drm/i915/i915_drv.h:2610:
+#define HAS_128_BYTE_Y_TILING(dev_priv) (!GT_GEN(dev_priv, 2) && \
 !(IS_I915G(dev_priv) || \
 IS_I915GM(dev_priv)))

-:442: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "!r"
#442: FILE: drivers/gpu/drm/i915/i915_gem_stolen.c:159:
+   if (r == NULL && !GT_GEN(dev_priv, 3)) {

-:1127: CHECK:CAMELCASE: Avoid CamelCase: 
#1127: FILE: drivers/gpu/drm/i915/intel_display.c:14047:
+   if (GT_GEN(dev_priv, 5) && (I915_READ(FUSE_STRAP) & ILK_eDP_A_DISABLE))

total: 0 errors, 0 warnings, 5 checks, 1787 lines checked
36dad133f489 drm/i915: rename IS_GEN9_* to GT_GEN9_*
-:169: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#169: FILE: drivers/gpu/drm/i915/i915_drv.h:2386:
+#define GT_GEN9_LP(dev_priv)   (GT_GEN(dev_priv, 9) && IS_LP(dev_priv))

-:170: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#170: FILE: drivers/gpu/drm/i915/i915_drv.h:2387:
+#define GT_GEN9_BC(dev_priv)   (GT_GEN(dev_priv, 9) && !IS_LP(dev_priv))

-:293: ERROR:CODE_INDENT: code indent should use tabs where possible
#293: FILE: drivers/gpu/drm/i915/i915_reg.h:3826:
+   (GT_GEN9_LP(dev_priv) ? \$

-:293: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#293: FILE: drivers/gpu/drm/i915/i915_reg.h:3826:
+   (GT_GEN9_LP(dev_priv) ? \$

-:1311: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 
'!intel_dsi->dual_link'
#1311: FILE: drivers/gpu/drm/i915/vlv_dsi.c:1444:
+   if (GT_GEN9_LP(dev_priv) && (!intel_dsi->dual_link)) {

total: 1 errors, 1 warnings, 3 checks, 1093 lines checked
8d54865b9953 drm/i915: replace gen checks using operators by GT_GEN/GT_GEN_RANGE
-:179: WARNING:LONG_LINE: line over 100 characters
#179: FILE: drivers/gpu/drm/i915/i915_debugfs.c:1204:
+  (gt_perf_status & (GT_GEN_RANGE(dev_priv, 9, 
GEN_FOREVER) ? 0x1ff00 : 0xff00)) >> 8);

-:321: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional 
statements (8, 63)
#321: FILE: drivers/gpu/drm/i915/i915_debugfs.c:1759:
+   if (GT_GEN_RANGE(dev_priv, 9, GEN_FOREVER))
/* no global SR status; inspect per-plane WM */;

-:674: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#674: FILE: drivers/gpu/drm/i915/i915_drv.h:2604:
+#define HAS_GMBUS_BURST_READ(dev_priv) (GT_GEN_RANGE(dev_priv, 10, 
GEN_FOREVER) || \
IS_GEMINILAKE(dev_priv) || \
IS_KABYLAKE(dev_priv))

-:683: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#683: FILE: drivers/gpu/drm/i915/i915_drv.h:2617:
+#define HAS_FW_BLC(dev_priv) ^I(GT_GEN_RANGE(dev_priv, 3, GEN_FOREVER))$

-:686: WARNING:LONG_LINE: line over 100 characters
#686: FILE: drivers/gpu/drm/i915/i915_drv.h:2619:
+#define HAS_CUR_FBC(dev_priv)  (!HAS_GMCH_DISPLAY(dev_priv) && 
GT_GEN_RANGE(dev_priv, 7, GEN_FOREVER))

-:686: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#686: FILE: drivers/gpu/drm/i915/i915_drv.h:2619:
+#define HAS_CUR_FBC(dev_priv)  (!HAS_GMCH_DISPLAY(dev_priv) && 
GT_GEN_RANGE(dev_priv, 7, GEN_FOREVER))

-:1609: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in 
parentheses
#1609: FILE: drivers/gpu/drm/i915/i915_reg.h:3816:
+#define GT_INTERVAL_FROM_US(dev_priv, us) (GT_GEN_RANGE(dev_priv, 9, 
GEN_FOREVER) ? \
(GT_GEN9_LP(dev_priv) ? \
INTERVAL_0_833_US(us) : \
INTERVAL_1_33_US(us)) : \

-:1609: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#1609: FILE: drivers/gpu/drm/i915/i915_reg.h:3816:
+#define GT_INTERVAL_FROM_US(dev_priv, us) (GT_GEN_RANGE(dev_priv, 9, 
GEN_FOREVER) ? \
(GT_GEN9_LP(dev_priv) ? \
INTERVAL_0_833_US(us) : \
INTERVAL_1_33_US(us))

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for Make GEN macros more similar (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: Make GEN macros more similar (rev2)
URL   : https://patchwork.freedesktop.org/series/51860/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: Revert "drm/i915: Kill GEN_FOREVER"
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3705:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3713:16: warning: expression 
using sizeof(void)

Commit: drm/i915: Rename IS_GEN to GT_RANGE
Okay!

Commit: drm/i915: replace IS_GEN with GT_GEN(..., N)
-O:drivers/gpu/drm/i915/intel_cdclk.c:2178:37: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/intel_cdclk.c:2181:37: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_cdclk.c:2178:37: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_cdclk.c:2181:37: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/intel_fbc.c:88:25: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/intel_fbc.c:90:25: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_fbc.c:88:25: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/intel_fbc.c:90:25: warning: expression using sizeof(void)
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3713:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3700:16: warning: expression 
using sizeof(void)

Commit: drm/i915: rename IS_GEN9_* to GT_GEN9_*
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3700:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3701:16: warning: expression 
using sizeof(void)

Commit: drm/i915: replace gen checks using operators by GT_GEN/GT_GEN_RANGE
-O:drivers/gpu/drm/i915/intel_cdclk.c:2201:29: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_cdclk.c:2201:29: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/intel_fbc.c:88:25: warning: expression using 
sizeof(void)
-O:drivers/gpu/drm/i915/intel_fbc.c:90:25: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/intel_fbc.c:88:25: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/intel_fbc.c:90:25: warning: expression using sizeof(void)

Commit: drm/i915: merge gen checks to use range
Okay!

Commit: drm/i915: remove INTEL_GEN macro
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3701:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3700: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.BAT: failure for Forward Error Correction (rev7)

2018-11-07 Thread Patchwork
== Series Details ==

Series: Forward Error Correction (rev7)
URL   : https://patchwork.freedesktop.org/series/47848/
State : failure

== Summary ==

Applying: i915/dp/fec: Add fec_enable to the crtc state.
error: sha1 information is lacking or useless (drivers/gpu/drm/i915/intel_dp.c).
error: could not build fake ancestor
Patch failed at 0001 i915/dp/fec: Add fec_enable to the crtc state.
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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


[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/dp_mst: Add some atomic state iterator macros

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/dp_mst: Add some atomic state iterator macros
URL   : https://patchwork.freedesktop.org/series/52130/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
f9a06ea3b5c0 drm/dp_mst: Add some atomic state iterator macros
-:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one

-:55: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__state' - possible 
side-effects?
#55: FILE: include/drm/drm_dp_mst_helper.h:669:
+#define for_each_oldnew_mst_mgr_in_state(__state, mgr, old_state, new_state, 
__i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), &(new_state), (__i)))

-:55: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#55: FILE: include/drm/drm_dp_mst_helper.h:669:
+#define for_each_oldnew_mst_mgr_in_state(__state, mgr, old_state, new_state, 
__i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), &(new_state), (__i)))

-:57: WARNING:LONG_LINE: line over 100 characters
#57: FILE: include/drm/drm_dp_mst_helper.h:671:
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), &(new_state), (__i)))

-:72: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__state' - possible 
side-effects?
#72: FILE: include/drm/drm_dp_mst_helper.h:686:
+#define for_each_old_mst_mgr_in_state(__state, mgr, old_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), NULL, (__i)))

-:72: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#72: FILE: include/drm/drm_dp_mst_helper.h:686:
+#define for_each_old_mst_mgr_in_state(__state, mgr, old_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), NULL, (__i)))

-:74: WARNING:LONG_LINE: line over 100 characters
#74: FILE: include/drm/drm_dp_mst_helper.h:688:
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), NULL, (__i)))

-:90: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__state' - possible 
side-effects?
#90: FILE: include/drm/drm_dp_mst_helper.h:704:
+#define for_each_new_mst_mgr_in_state(__state, mgr, new_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
NULL, &(new_state), (__i)))

-:90: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#90: FILE: include/drm/drm_dp_mst_helper.h:704:
+#define for_each_new_mst_mgr_in_state(__state, mgr, new_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
NULL, &(new_state), (__i)))

-:92: WARNING:LONG_LINE: line over 100 characters
#92: FILE: include/drm/drm_dp_mst_helper.h:706:
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
NULL, &(new_state), (__i)))

total: 0 errors, 4 warnings, 6 checks, 81 lines checked
2f6f91409c1d drm/dp_mst: Start tracking per-port VCPI allocations
3595cf182bc3 drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
65ad86529a15 drm/nouveau: Use atomic VCPI helpers for MST
b58c9476ea09 drm/dp_mst: Stop unsetting mstc->port, check connector registration

___
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/dp_mst: Add some atomic state iterator macros

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/dp_mst: Add some atomic state iterator macros
URL   : https://patchwork.freedesktop.org/series/52130/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/dp_mst: Add some atomic state iterator macros
Okay!

Commit: drm/dp_mst: Start tracking per-port VCPI allocations
+./include/linux/slab.h:332:43: warning: dubious: x & !y

Commit: drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
Okay!

Commit: drm/nouveau: Use atomic VCPI helpers for MST
Okay!

Commit: drm/dp_mst: Stop unsetting mstc->port, check connector registration
Okay!

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


[Intel-gfx] ✓ Fi.CI.BAT: success for Make GEN macros more similar (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: Make GEN macros more similar (rev2)
URL   : https://patchwork.freedesktop.org/series/51860/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5097 -> Patchwork_10747 =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10747 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10747, 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/51860/revisions/2/mbox/

== Possible new issues ==

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

  === IGT changes ===

 Warnings 

igt@gem_exec_basic@basic-render:
  fi-bsw-n3050:   PASS -> SKIP +85


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_module_reload@basic-reload-inject:
  fi-byt-clapper: PASS -> WARN (fdo#108688)

igt@gem_ctx_create@basic-files:
  fi-bsw-n3050:   PASS -> DMESG-FAIL (fdo#108656)
  fi-icl-u2:  PASS -> DMESG-WARN (fdo#107724)

igt@gem_exec_suspend@basic-s3:
  fi-ctg-p8600:   PASS -> INCOMPLETE (fdo#102997)

igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size:
  fi-bsw-n3050:   PASS -> DMESG-WARN (fdo#108656) +82

igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
  fi-byt-squawks: PASS -> FAIL (fdo#103191, fdo#107362, fdo#107119)

igt@pm_rpm@module-reload:
  fi-byt-clapper: PASS -> FAIL (fdo#108675)


 Possible fixes 

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   DMESG-WARN (fdo#107345) -> PASS +2


  fdo#102997 https://bugs.freedesktop.org/show_bug.cgi?id=102997
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#107119 https://bugs.freedesktop.org/show_bug.cgi?id=107119
  fdo#107345 https://bugs.freedesktop.org/show_bug.cgi?id=107345
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
  fdo#108656 https://bugs.freedesktop.org/show_bug.cgi?id=108656
  fdo#108675 https://bugs.freedesktop.org/show_bug.cgi?id=108675
  fdo#108688 https://bugs.freedesktop.org/show_bug.cgi?id=108688


== Participating hosts (52 -> 52) ==

  No changes in participating hosts


== Build changes ==

* Linux: CI_DRM_5097 -> Patchwork_10747

  CI_DRM_5097: c20dfc4f015dfd41246beb7d72338aa50543a5ef @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10747: 73c65e0e7e5f8582a24bd4d3e11501dee33453ef @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

73c65e0e7e5f drm/i915: remove INTEL_GEN macro
90392f31f7da drm/i915: merge gen checks to use range
8d54865b9953 drm/i915: replace gen checks using operators by GT_GEN/GT_GEN_RANGE
36dad133f489 drm/i915: rename IS_GEN9_* to GT_GEN9_*
0bbf4afc4405 drm/i915: replace IS_GEN with GT_GEN(..., N)
322b4c9622f1 drm/i915: Rename IS_GEN to GT_RANGE
d15504ef1f13 Revert "drm/i915: Kill GEN_FOREVER"

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/dp_mst: Improve VCPI helpers, use in nouveau (rev3)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/dp_mst: Improve VCPI helpers, use in nouveau (rev3)
URL   : https://patchwork.freedesktop.org/series/51412/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
fefd28281a84 drm/dp_mst: Add some atomic state iterator macros
-:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one

-:55: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__state' - possible 
side-effects?
#55: FILE: include/drm/drm_dp_mst_helper.h:669:
+#define for_each_oldnew_mst_mgr_in_state(__state, mgr, old_state, new_state, 
__i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), &(new_state), (__i)))

-:55: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#55: FILE: include/drm/drm_dp_mst_helper.h:669:
+#define for_each_oldnew_mst_mgr_in_state(__state, mgr, old_state, new_state, 
__i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), &(new_state), (__i)))

-:57: WARNING:LONG_LINE: line over 100 characters
#57: FILE: include/drm/drm_dp_mst_helper.h:671:
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), &(new_state), (__i)))

-:72: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__state' - possible 
side-effects?
#72: FILE: include/drm/drm_dp_mst_helper.h:686:
+#define for_each_old_mst_mgr_in_state(__state, mgr, old_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), NULL, (__i)))

-:72: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#72: FILE: include/drm/drm_dp_mst_helper.h:686:
+#define for_each_old_mst_mgr_in_state(__state, mgr, old_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), NULL, (__i)))

-:74: WARNING:LONG_LINE: line over 100 characters
#74: FILE: include/drm/drm_dp_mst_helper.h:688:
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
&(old_state), NULL, (__i)))

-:90: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__state' - possible 
side-effects?
#90: FILE: include/drm/drm_dp_mst_helper.h:704:
+#define for_each_new_mst_mgr_in_state(__state, mgr, new_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
NULL, &(new_state), (__i)))

-:90: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#90: FILE: include/drm/drm_dp_mst_helper.h:704:
+#define for_each_new_mst_mgr_in_state(__state, mgr, new_state, __i) \
+   for ((__i) = 0; (__i) < (__state)->num_private_objs; (__i)++) \
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
NULL, &(new_state), (__i)))

-:92: WARNING:LONG_LINE: line over 100 characters
#92: FILE: include/drm/drm_dp_mst_helper.h:706:
+   for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), 
NULL, &(new_state), (__i)))

total: 0 errors, 4 warnings, 6 checks, 81 lines checked
a03e2638e777 drm/dp_mst: Start tracking per-port VCPI allocations
7a9736d43368 drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
9707b725e868 drm/nouveau: Use atomic VCPI helpers for MST
0a4548df6646 drm/dp_mst: Stop unsetting mstc->port, check connector registration

___
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/dp_mst: Improve VCPI helpers, use in nouveau (rev3)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/dp_mst: Improve VCPI helpers, use in nouveau (rev3)
URL   : https://patchwork.freedesktop.org/series/51412/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/dp_mst: Add some atomic state iterator macros
Okay!

Commit: drm/dp_mst: Start tracking per-port VCPI allocations
+./include/linux/slab.h:332:43: warning: dubious: x & !y

Commit: drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
Okay!

Commit: drm/nouveau: Use atomic VCPI helpers for MST
Okay!

Commit: drm/dp_mst: Stop unsetting mstc->port, check connector registration
Okay!

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


[Intel-gfx] ✓ Fi.CI.BAT: success for drm/dp_mst: Add some atomic state iterator macros

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/dp_mst: Add some atomic state iterator macros
URL   : https://patchwork.freedesktop.org/series/52130/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5097 -> Patchwork_10749 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_coherency:
  fi-gdg-551: PASS -> DMESG-FAIL (fdo#107164)


 Possible fixes 

igt@drv_selftest@live_hangcheck:
  fi-cfl-8109u:   INCOMPLETE (fdo#106070) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   DMESG-WARN (fdo#107345) -> PASS +2


  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106070 https://bugs.freedesktop.org/show_bug.cgi?id=106070
  fdo#107164 https://bugs.freedesktop.org/show_bug.cgi?id=107164
  fdo#107345 https://bugs.freedesktop.org/show_bug.cgi?id=107345
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718


== Participating hosts (52 -> 46) ==

  Missing(6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5097 -> Patchwork_10749

  CI_DRM_5097: c20dfc4f015dfd41246beb7d72338aa50543a5ef @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10749: b58c9476ea09620366de5a2ba7ecbcd01a5a8962 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b58c9476ea09 drm/dp_mst: Stop unsetting mstc->port, check connector registration
65ad86529a15 drm/nouveau: Use atomic VCPI helpers for MST
3595cf182bc3 drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
2f6f91409c1d drm/dp_mst: Start tracking per-port VCPI allocations
f9a06ea3b5c0 drm/dp_mst: Add some atomic state iterator macros

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10749/issues.html
___
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/dp_mst: Improve VCPI helpers, use in nouveau (rev3)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/dp_mst: Improve VCPI helpers, use in nouveau (rev3)
URL   : https://patchwork.freedesktop.org/series/51412/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5097 -> Patchwork_10750 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u:   NOTRUN -> DMESG-FAIL (fdo#108569)

igt@drv_selftest@live_evict:
  fi-bsw-kefka:   PASS -> DMESG-WARN (fdo#107709)

igt@drv_selftest@live_hangcheck:
  fi-kbl-7560u:   PASS -> INCOMPLETE (fdo#108044)

igt@gem_ctx_create@basic-files:
  fi-icl-u2:  PASS -> DMESG-WARN (fdo#107724)

igt@kms_chamelium@common-hpd-after-suspend:
  fi-skl-6700k2:  PASS -> WARN (fdo#108680)

igt@kms_frontbuffer_tracking@basic:
  fi-icl-u2:  PASS -> FAIL (fdo#103167)

igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
  fi-byt-clapper: PASS -> FAIL (fdo#107362, fdo#103191)


 Possible fixes 

igt@drv_selftest@live_hangcheck:
  fi-cfl-8109u:   INCOMPLETE (fdo#106070) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: FAIL (fdo#107362, fdo#103191) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   DMESG-WARN (fdo#107345) -> PASS +2


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106070 https://bugs.freedesktop.org/show_bug.cgi?id=106070
  fdo#107345 https://bugs.freedesktop.org/show_bug.cgi?id=107345
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107709 https://bugs.freedesktop.org/show_bug.cgi?id=107709
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
  fdo#108044 https://bugs.freedesktop.org/show_bug.cgi?id=108044
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108680 https://bugs.freedesktop.org/show_bug.cgi?id=108680


== Participating hosts (52 -> 46) ==

  Additional (1): fi-icl-u 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5097 -> Patchwork_10750

  CI_DRM_5097: c20dfc4f015dfd41246beb7d72338aa50543a5ef @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10750: 0a4548df6646bd98a3f8e175d8d7d68eb2fc8e57 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0a4548df6646 drm/dp_mst: Stop unsetting mstc->port, check connector registration
9707b725e868 drm/nouveau: Use atomic VCPI helpers for MST
7a9736d43368 drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
a03e2638e777 drm/dp_mst: Start tracking per-port VCPI allocations
fefd28281a84 drm/dp_mst: Add some atomic state iterator macros

== Logs ==

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


Re: [Intel-gfx] [PULL] gvt-fixes for 4.20-rc2

2018-11-07 Thread Joonas Lahtinen
Quoting Zhenyu Wang (2018-11-07 04:31:37)
> 
> Hi,
> 
> Here's re-generated -fixes pull for 4.20. Mostly on fixing
> possible guest arbitrary update of GGTT entries, with one mask
> fix for chicken register, and with one to fix eDP warning in guest.
> 
> Thanks.

Pulled. Thanks for re-spinning.

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


Re: [Intel-gfx] [PATCH] drm/i915/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5

2018-11-07 Thread Ville Syrjälä
On Mon, Nov 05, 2018 at 09:43:05AM +, Chris Wilson wrote:
> Exercising the gpu reloc path strenuously revealed an issue where the
> updated relocations (from MI_STORE_DWORD_IMM) were not being observed
> upon execution. After some experiments with adding pipecontrols (a lot
> of pipecontrols (32) as gen4/5 do not have a bit to wait on earlier pipe
> controls or even the current on), it was discovered that we merely
> needed to delay the EMIT_INVALIDATE by several flushes. It is important
> to note that it is the EMIT_INVALIDATE as opposed to the EMIT_FLUSH that
> needs the delay as opposed to what one might first expect -- that the
> delay is required for the TLB invalidation to take effect (one presumes
> to purge any CS buffers) as opposed to a delay after flushing to ensure
> the writes have landed before triggering invalidation.
> 
> Testcase: igt/gem_tiled_fence_blits
> Signed-off-by: Chris Wilson 
> Cc: sta...@vger.kernel.org
> ---
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 38 +++--
>  1 file changed, 36 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c 
> b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index b8a7a014d46d..87eebc13c0d8 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -91,6 +91,7 @@ static int
>  gen4_render_ring_flush(struct i915_request *rq, u32 mode)
>  {
>   u32 cmd, *cs;
> + int i;
>  
>   /*
>* read/write caches:
> @@ -127,12 +128,45 @@ gen4_render_ring_flush(struct i915_request *rq, u32 
> mode)
>   cmd |= MI_INVALIDATE_ISP;
>   }
>  
> - cs = intel_ring_begin(rq, 2);
> + i = 2;
> + if (mode & EMIT_INVALIDATE)
> + i += 20;
> +
> + cs = intel_ring_begin(rq, i);
>   if (IS_ERR(cs))
>   return PTR_ERR(cs);
>  
>   *cs++ = cmd;
> - *cs++ = MI_NOOP;
> +
> + /*
> +  * A random delay to let the CS invalidate take effect? Without this
> +  * delay, the GPU relocation path fails as the CS does not see
> +  * the updated contents. Just as important, if we apply the flushes
> +  * to the EMIT_FLUSH branch (i.e. immediately after the relocation
> +  * write and before the invalidate on the next batch), the relocations
> +  * still fail. This implies that is a delay following invalidation
> +  * that is required to reset the caches as opposed to a delay to
> +  * ensure the memory is written.
> +  */
> + if (mode & EMIT_INVALIDATE) {
> + *cs++ = GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE;
> + *cs++ = i915_ggtt_offset(rq->engine->scratch) |
> + PIPE_CONTROL_GLOBAL_GTT;
> + *cs++ = 0;
> + *cs++ = 0;
> +
> + for (i = 0; i < 12; i++)
> + *cs++ = MI_FLUSH;
> +
> + *cs++ = GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE;
> + *cs++ = i915_ggtt_offset(rq->engine->scratch) |
> + PIPE_CONTROL_GLOBAL_GTT;
> + *cs++ = 0;
> + *cs++ = 0;
> + }

This smells a lot like the snb a/b w/a, except there the spec says to
use 8 STORE_DWORDS. I suppose the choice of a specific command isn't
critical, and it's just a matter of stuffing the pipeline with something
that's takes long enough to let the TLB invalidate finish?

Anyways, patch itself seems as reasonable as one might expect for an
issue like this.

Reviewed-by: Ville Syrjälä 

> +
> + *cs++ = cmd;
> +
>   intel_ring_advance(rq, cs);
>  
>   return 0;
> -- 
> 2.19.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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


[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/csr: fix spelling mistake "firmare" -> "firmware"

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915/csr: fix spelling mistake "firmare" -> "firmware"
URL   : https://patchwork.freedesktop.org/series/52153/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5097 -> Patchwork_10751 =

== Summary - FAILURE ==

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

== Possible new issues ==

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

  === IGT changes ===

 Possible regressions 

igt@gem_mmap_gtt@basic:
  fi-bsw-kefka:   PASS -> INCOMPLETE


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u:   NOTRUN -> DMESG-FAIL (fdo#108569)

igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
  fi-byt-clapper: PASS -> FAIL (fdo#103191, fdo#107362)


 Possible fixes 

igt@drv_selftest@live_hangcheck:
  fi-cfl-8109u:   INCOMPLETE (fdo#106070) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   DMESG-WARN (fdo#107345) -> PASS +2


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106070 https://bugs.freedesktop.org/show_bug.cgi?id=106070
  fdo#107345 https://bugs.freedesktop.org/show_bug.cgi?id=107345
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569


== Participating hosts (52 -> 43) ==

  Additional (1): fi-icl-u 
  Missing(10): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 
fi-byt-squawks fi-icl-u2 fi-bsw-cyan fi-ctg-p8600 fi-glk-j4005 fi-gdg-551 


== Build changes ==

* Linux: CI_DRM_5097 -> Patchwork_10751

  CI_DRM_5097: c20dfc4f015dfd41246beb7d72338aa50543a5ef @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10751: 9575ab92ff18ad1be5660854d6caf46e8e77a516 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

9575ab92ff18 drm/i915/csr: fix spelling mistake "firmare" -> "firmware"

== Logs ==

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


Re: [Intel-gfx] [PATCH] drm/i915/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5

2018-11-07 Thread Chris Wilson
Quoting Ville Syrjälä (2018-11-07 15:04:24)
> On Mon, Nov 05, 2018 at 09:43:05AM +, Chris Wilson wrote:
> > Exercising the gpu reloc path strenuously revealed an issue where the
> > updated relocations (from MI_STORE_DWORD_IMM) were not being observed
> > upon execution. After some experiments with adding pipecontrols (a lot
> > of pipecontrols (32) as gen4/5 do not have a bit to wait on earlier pipe
> > controls or even the current on), it was discovered that we merely
> > needed to delay the EMIT_INVALIDATE by several flushes. It is important
> > to note that it is the EMIT_INVALIDATE as opposed to the EMIT_FLUSH that
> > needs the delay as opposed to what one might first expect -- that the
> > delay is required for the TLB invalidation to take effect (one presumes
> > to purge any CS buffers) as opposed to a delay after flushing to ensure
> > the writes have landed before triggering invalidation.
> > 
> > Testcase: igt/gem_tiled_fence_blits
> > Signed-off-by: Chris Wilson 
> > Cc: sta...@vger.kernel.org
> > ---
> >  drivers/gpu/drm/i915/intel_ringbuffer.c | 38 +++--
> >  1 file changed, 36 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c 
> > b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > index b8a7a014d46d..87eebc13c0d8 100644
> > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > @@ -91,6 +91,7 @@ static int
> >  gen4_render_ring_flush(struct i915_request *rq, u32 mode)
> >  {
> >   u32 cmd, *cs;
> > + int i;
> >  
> >   /*
> >* read/write caches:
> > @@ -127,12 +128,45 @@ gen4_render_ring_flush(struct i915_request *rq, u32 
> > mode)
> >   cmd |= MI_INVALIDATE_ISP;
> >   }
> >  
> > - cs = intel_ring_begin(rq, 2);
> > + i = 2;
> > + if (mode & EMIT_INVALIDATE)
> > + i += 20;
> > +
> > + cs = intel_ring_begin(rq, i);
> >   if (IS_ERR(cs))
> >   return PTR_ERR(cs);
> >  
> >   *cs++ = cmd;
> > - *cs++ = MI_NOOP;
> > +
> > + /*
> > +  * A random delay to let the CS invalidate take effect? Without this
> > +  * delay, the GPU relocation path fails as the CS does not see
> > +  * the updated contents. Just as important, if we apply the flushes
> > +  * to the EMIT_FLUSH branch (i.e. immediately after the relocation
> > +  * write and before the invalidate on the next batch), the relocations
> > +  * still fail. This implies that is a delay following invalidation
> > +  * that is required to reset the caches as opposed to a delay to
> > +  * ensure the memory is written.
> > +  */
> > + if (mode & EMIT_INVALIDATE) {
> > + *cs++ = GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE;
> > + *cs++ = i915_ggtt_offset(rq->engine->scratch) |
> > + PIPE_CONTROL_GLOBAL_GTT;
> > + *cs++ = 0;
> > + *cs++ = 0;
> > +
> > + for (i = 0; i < 12; i++)
> > + *cs++ = MI_FLUSH;
> > +
> > + *cs++ = GFX_OP_PIPE_CONTROL(4) | PIPE_CONTROL_QW_WRITE;
> > + *cs++ = i915_ggtt_offset(rq->engine->scratch) |
> > + PIPE_CONTROL_GLOBAL_GTT;
> > + *cs++ = 0;
> > + *cs++ = 0;
> > + }
> 
> This smells a lot like the snb a/b w/a, except there the spec says to
> use 8 STORE_DWORDS.

Yeah, the similarity wasn't lost, except that w/a is to cover the
coherency aspect of the writes not being flushed. This feels a bit
fishier in that the experiments indicate it's an issue on the
invalidation path as opposed to flushing the writes.

And the other w/a to use umpteen pipecontrols to get around the lack of
PIPE_CONTROL_FLUSH.

> I suppose the choice of a specific command isn't
> critical, and it's just a matter of stuffing the pipeline with something
> that's takes long enough to let the TLB invalidate finish?

Except the MI_FLUSH are more effective in fewer number than
PIPE_CONTROLs. Probably because each one translates to a few pipe
controls or something, quite heavy.

> Anyways, patch itself seems as reasonable as one might expect for an
> issue like this.

As nasty as one would expect.

For the record, we are not entirely out of danger. gem_exec_whisper
continues to indicate a problem, but one step at a time. (I haven't yet
found quite what's upsetting it yet, except if we do each batch
synchronously and verify each one, it's happy.)
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] ✗ Fi.CI.IGT: failure for mm, drm/i915: Mark pinned shmemfs pages as unevictable (rev7)

2018-11-07 Thread Patchwork
== Series Details ==

Series: mm, drm/i915: Mark pinned shmemfs pages as unevictable (rev7)
URL   : https://patchwork.freedesktop.org/series/25337/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5096_full -> Patchwork_10741_full =

== Summary - FAILURE ==

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

  === IGT changes ===

 Possible regressions 

igt@gem_cpu_reloc@full:
  shard-apl:  PASS -> DMESG-WARN


 Warnings 

igt@kms_properties@plane-properties-atomic:
  shard-snb:  PASS -> SKIP

igt@pm_rc6_residency@rc6-accuracy:
  shard-kbl:  SKIP -> PASS


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@mock_sanitycheck:
  shard-apl:  PASS -> INCOMPLETE (fdo#103927)

igt@gem_cpu_reloc@full:
  shard-skl:  PASS -> INCOMPLETE (fdo#108073)

igt@kms_busy@extended-modeset-hang-newfb-render-b:
  shard-skl:  NOTRUN -> DMESG-WARN (fdo#107956)

igt@kms_cursor_crc@cursor-256x256-suspend:
  shard-skl:  PASS -> INCOMPLETE (fdo#104108)

igt@kms_cursor_crc@cursor-256x85-sliding:
  shard-apl:  PASS -> FAIL (fdo#103232) +2

igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
  shard-glk:  PASS -> DMESG-WARN (fdo#105763, fdo#106538)

igt@kms_flip@flip-vs-expired-vblank-interruptible:
  shard-skl:  NOTRUN -> FAIL (fdo#105363)

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
  shard-glk:  PASS -> FAIL (fdo#103167) +3

igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render:
  shard-skl:  NOTRUN -> FAIL (fdo#103167)

igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
  shard-skl:  NOTRUN -> FAIL (fdo#108145, fdo#107815)

igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
  shard-skl:  NOTRUN -> FAIL (fdo#108145) +1

igt@pm_rpm@cursor:
  shard-skl:  PASS -> INCOMPLETE (fdo#107807)

igt@pm_rpm@gem-execbuf:
  shard-skl:  PASS -> INCOMPLETE (fdo#107803, fdo#107807)

igt@pm_rpm@pc8-residency:
  shard-skl:  SKIP -> INCOMPLETE (fdo#107807) +1


 Possible fixes 

igt@drv_suspend@shrink:
  shard-skl:  INCOMPLETE (fdo#106886) -> PASS
  shard-glk:  INCOMPLETE (fdo#103359, fdo#106886, k.org#198133) -> 
PASS

igt@drv_suspend@sysfs-reader:
  shard-kbl:  INCOMPLETE (fdo#103665) -> PASS

igt@gem_ctx_isolation@vcs0-s3:
  shard-skl:  INCOMPLETE (fdo#104108, fdo#107773) -> PASS

igt@kms_color@pipe-a-ctm-max:
  shard-apl:  FAIL (fdo#108147) -> PASS

igt@kms_cursor_crc@cursor-64x21-onscreen:
  shard-apl:  FAIL (fdo#103232) -> PASS +1

igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled:
  shard-skl:  FAIL (fdo#103184) -> PASS

igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
  shard-skl:  FAIL (fdo#103232, fdo#103184) -> PASS

igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
  shard-hsw:  FAIL (fdo#102887) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render:
  shard-skl:  FAIL (fdo#105682) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
  shard-apl:  FAIL (fdo#103167) -> PASS +2

igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-pwrite:
  shard-skl:  FAIL (fdo#103167) -> PASS +1

igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
  shard-skl:  FAIL (fdo#107815) -> PASS +1

igt@kms_setmode@basic:
  shard-kbl:  FAIL (fdo#99912) -> PASS

igt@pm_rpm@dpms-lpsp:
  shard-skl:  INCOMPLETE (fdo#107807) -> PASS +2

igt@prime_busy@after-vebox:
  shard-snb:  INCOMPLETE (fdo#105411) -> SKIP


  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363

[Intel-gfx] [PATCH v6 1/2] drm/i915/skl: Rework MOCS tables to keep common part in a define

2018-11-07 Thread Tomasz Lis
The MOCS tables are going to be very similar across platforms.

To reduce the amount of copied code, this patch rips the common part and
puts it into a definition valid for all gen9 platforms.

v2: Made defines for or-ing flags. Renamed macros from MOCS_TABLE
to MOCS_ENTRIES. (Joonas)

Signed-off-by: Tomasz Lis 
Suggested-by: Lucas De Marchi 
Reviewed-by: Lucas De Marchi  (v1)
Cc: Joonas Lahtinen 
Cc: Chris Wilson 
Cc: Daniele Ceraolo Spurio 
Cc: Lucas De Marchi 
---
 drivers/gpu/drm/i915/intel_mocs.c | 86 ---
 1 file changed, 36 insertions(+), 50 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_mocs.c 
b/drivers/gpu/drm/i915/intel_mocs.c
index 77e9871..8d08a7b 100644
--- a/drivers/gpu/drm/i915/intel_mocs.c
+++ b/drivers/gpu/drm/i915/intel_mocs.c
@@ -96,71 +96,57 @@ struct drm_i915_mocs_table {
  *   may only be updated incrementally by adding entries at the
  *   end.
  */
-static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
-   [I915_MOCS_UNCACHED] = {
- /* 0x0009 */
- .control_value = LE_CACHEABILITY(LE_UC) |
-  LE_TGT_CACHE(LE_TC_LLC_ELLC) |
-  LE_LRUM(0) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
-  LE_PFM(0) | LE_SCF(0),
-
- /* 0x0010 */
- .l3cc_value =L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC),
-   },
-   [I915_MOCS_PTE] = {
- /* 0x0038 */
- .control_value = LE_CACHEABILITY(LE_PAGETABLE) |
-  LE_TGT_CACHE(LE_TC_LLC_ELLC) |
-  LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
-  LE_PFM(0) | LE_SCF(0),
- /* 0x0030 */
- .l3cc_value =L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
+
+#define MOCS_CONTROL_VALUE(lecc, tc, lrum, daom, ersc, scc, pfm, scf) \
+   (LE_CACHEABILITY(lecc) | LE_TGT_CACHE(tc) | \
+   LE_LRUM(lrum) | LE_AOM(daom) | LE_RSC(ersc) | LE_SCC(scc) | \
+   LE_PFM(pfm) | LE_SCF(scf))
+
+#define MOCS_L3CC_VALUE(esc, scc, l3cc) \
+   (L3_ESC(esc) | L3_SCC(scc) | L3_CACHEABILITY(l3cc))
+
+#define GEN9_MOCS_ENTRIES \
+   [I915_MOCS_UNCACHED] = { \
+ /* 0x0009 */ \
+ .control_value = MOCS_CONTROL_VALUE(LE_UC, LE_TC_LLC_ELLC, \
+ 0, 0, 0, 0, 0, 0), \
+ /* 0x0010 */ \
+ .l3cc_value = MOCS_L3CC_VALUE(0, 0, L3_UC), \
+   }, \
+   [I915_MOCS_PTE] = { \
+ /* 0x0038 */ \
+ .control_value = MOCS_CONTROL_VALUE(LE_PAGETABLE, LE_TC_LLC_ELLC, \
+ 3, 0, 0, 0, 0, 0), \
+ /* 0x0030 */ \
+ .l3cc_value = MOCS_L3CC_VALUE(0, 0, L3_WB), \
},
+
+static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
+   GEN9_MOCS_ENTRIES
[I915_MOCS_CACHED] = {
  /* 0x003b */
- .control_value = LE_CACHEABILITY(LE_WB) |
-  LE_TGT_CACHE(LE_TC_LLC_ELLC) |
-  LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
-  LE_PFM(0) | LE_SCF(0),
+ .control_value = MOCS_CONTROL_VALUE(LE_WB, LE_TC_LLC_ELLC,
+ 3, 0, 0, 0, 0, 0),
  /* 0x0030 */
- .l3cc_value =   L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
+ .l3cc_value = MOCS_L3CC_VALUE(0, 0, L3_WB),
},
 };
 
 /* NOTE: the LE_TGT_CACHE is not used on Broxton */
 static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
-   [I915_MOCS_UNCACHED] = {
- /* 0x0009 */
- .control_value = LE_CACHEABILITY(LE_UC) |
-  LE_TGT_CACHE(LE_TC_LLC_ELLC) |
-  LE_LRUM(0) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
-  LE_PFM(0) | LE_SCF(0),
-
- /* 0x0010 */
- .l3cc_value =L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC),
-   },
-   [I915_MOCS_PTE] = {
- /* 0x0038 */
- .control_value = LE_CACHEABILITY(LE_PAGETABLE) |
-  LE_TGT_CACHE(LE_TC_LLC_ELLC) |
-  LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
-  LE_PFM(0) | LE_SCF(0),
-
- /* 0x0030 */
- .l3cc_value =L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
-   },
+   GEN9_MOCS_ENTRIES
[I915_MOCS_CACHED] = {
  /* 0x0039 */
- .control_value = LE_CACHEABILITY(LE_UC) |
-  LE_TGT_CACHE(LE_TC_LLC_ELLC) |
-  LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
-  LE_PFM(0) | LE_SCF(0),
-
+ .control_value = MOCS_CONTROL_VALUE(LE_UC, LE_TC_LLC_ELLC,
+ 3, 0, 0, 0, 0, 0),
  /* 0x0030 */
- .l3cc_value =L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
+ .l3cc_value = MOCS_L3CC_VALUE(0, 0, L3_

[Intel-gfx] [PATCH v6 2/2] drm/i915/icl: Define MOCS table for Icelake

2018-11-07 Thread Tomasz Lis
The table has been unified across OSes to minimize virtualization overhead.

The MOCS table is now published as part of bspec, and versioned. Entries
are supposed to never be modified, but new ones can be added. Adding
entries increases table version. The patch includes version 1 entries.

Meaning of each entry is now explained in bspec, and user mode clients
are expected to know what each entry means. The 3 entries used for previous
platforms are still compatible with their legacy definitions, but that is
not guaranteed to be true for future platforms.

v2: Fixed SCC values, improved commit comment (Daniele)
v3: Improved MOCS table comment (Daniele)
v4: Moved new entries below gen9 ones. Put common entries into
definition to be used in multiple arrays. (Lucas)
v5: Made defines for or-ing flags. Renamed macros from MOCS_TABLE
to MOCS_ENTRIES. Switched LE_CoS to upper case. (Joonas)
v6: Removed definitions of reserved entries. (Michal)
Increased limit of entries sent to the hardware on gen11+.

BSpec: 34007
BSpec: 560
Signed-off-by: Tomasz Lis 
Reviewed-by: Daniele Ceraolo Spurio  (v4)
Cc: Joonas Lahtinen 
Cc: Chris Wilson 
Cc: Mika Kuoppala 
Cc: Daniele Ceraolo Spurio 
Cc: Zhenyu Wang 
Cc: Zhi A Wang 
Cc: Anuj Phogat 
Cc: Adam Cetnerowski 
Cc: Piotr Rozenfeld 
Cc: Lucas De Marchi 
---
 drivers/gpu/drm/i915/intel_mocs.c | 222 +-
 1 file changed, 197 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_mocs.c 
b/drivers/gpu/drm/i915/intel_mocs.c
index 8d08a7b..4eb05c6 100644
--- a/drivers/gpu/drm/i915/intel_mocs.c
+++ b/drivers/gpu/drm/i915/intel_mocs.c
@@ -44,6 +44,8 @@ struct drm_i915_mocs_table {
 #define LE_SCC(value)  ((value) << 8)
 #define LE_PFM(value)  ((value) << 11)
 #define LE_SCF(value)  ((value) << 14)
+#define LE_COS(value)  ((value) << 15)
+#define LE_SSE(value)  ((value) << 17)
 
 /* Defines for the tables (LNCFMOCS0 - LNCFMOCS31) - two entries per word */
 #define L3_ESC(value)  ((value) << 0)
@@ -52,6 +54,10 @@ struct drm_i915_mocs_table {
 
 /* Helper defines */
 #define GEN9_NUM_MOCS_ENTRIES  62  /* 62 out of 64 - 63 & 64 are reserved. */
+#define GEN11_NUM_MOCS_ENTRIES 64  /* 63-64 are reserved, but configured. */
+
+#define NUM_MOCS_ENTRIES(i915) \
+   (INTEL_GEN(i915) < 11 ? GEN9_NUM_MOCS_ENTRIES : GEN11_NUM_MOCS_ENTRIES)
 
 /* (e)LLC caching options */
 #define LE_PAGETABLE   0
@@ -80,21 +86,21 @@ struct drm_i915_mocs_table {
  * LNCFCMOCS0 - LNCFCMOCS32 registers.
  *
  * These tables are intended to be kept reasonably consistent across
- * platforms. However some of the fields are not applicable to all of
- * them.
+ * HW platforms, and for ICL+, be identical across OSes. To achieve
+ * that, for Icelake and above, list of entries is published as part
+ * of bspec.
  *
  * Entries not part of the following tables are undefined as far as
- * userspace is concerned and shouldn't be relied upon.  For the time
- * being they will be implicitly initialized to the strictest caching
- * configuration (uncached) to guarantee forwards compatibility with
- * userspace programs written against more recent kernels providing
- * additional MOCS entries.
+ * userspace is concerned and shouldn't be relied upon.
+ *
+ * The last two entries are reserved by the hardware. For ICL+ they
+ * should be initialized according to bspec and never used, for older
+ * platforms they should never be written to.
  *
- * NOTE: These tables MUST start with being uncached and the length
- *   MUST be less than 63 as the last two registers are reserved
- *   by the hardware.  These tables are part of the kernel ABI and
- *   may only be updated incrementally by adding entries at the
- *   end.
+ * NOTE: These tables are part of bspec and defined as part of hardware
+ *   interface for ICL+. For older platforms, they are part of kernel
+ *   ABI. It is expected that existing entries will remain constant
+ *   and the tables will only be updated by adding new entries.
  */
 
 #define MOCS_CONTROL_VALUE(lecc, tc, lrum, daom, ersc, scc, pfm, scf) \
@@ -147,6 +153,167 @@ static const struct drm_i915_mocs_entry 
broxton_mocs_table[] = {
 #undef MOCS_CONTROL_VALUE
 #undef MOCS_L3CC_VALUE
 
+#define MOCS_CONTROL_VALUE(lecc, tc, lrum, daom, ersc, scc, pfm, scf, cos, 
sse) \
+   (LE_CACHEABILITY(lecc) | LE_TGT_CACHE(tc) | \
+   LE_LRUM(lrum) | LE_AOM(daom) | LE_RSC(ersc) | LE_SCC(scc) | \
+   LE_PFM(pfm) | LE_SCF(scf) | LE_COS(cos) | LE_SSE(sse))
+
+#define MOCS_L3CC_VALUE(esc, scc, l3cc) \
+   (L3_ESC(esc) | L3_SCC(scc) | L3_CACHEABILITY(l3cc))
+
+#define GEN11_MOCS_ENTRIES \
+   [0] = { \
+ /* Base - Uncached (Deprecated) */ \
+ .control_value = MOCS_CONTROL_VALUE(LE_UC, LE_TC_LLC, \
+ 0, 0, 0, 0, 0, 0, 0, 0), \
+ .l3cc_value = MOCS_L3CC_VALUE(0, 0, L3_UC), \
+   }, \
+   [1]

[Intel-gfx] [PATCH 02/13] kthread: finer-grained lockdep/cross-release completion

2018-11-07 Thread Daniel Vetter
When cross release was originally merged we've hit a bunch of lockdep
splats around the 2 kthread completions. In all cases they are because
totally independent uses of kthread are mixed up by lockdep into the
same locking class, creating artificial deadlocks.

Fix this by converting kthread code in the same way as e.g.
alloc_workqueue already works: Use macros for the public api so we can
have a callsite specific lockdep key, then pass that through the
entire callchain. Due to the many entry points this is slightly
tedious.

Cc: Tvrtko Ursulin 
Cc: Marta Lofstedt 
Cc: Byungchul Park 
Cc: Ingo Molnar 
Cc: Peter Zijlstra 
Cc: Tejun Heo 
Cc: Kees Cook 
Cc: Thomas Gleixner 
Cc: Shaohua Li 
Cc: Andrew Morton 
Cc: Jens Axboe 
Cc: Daniel Vetter 
Cc: Greg Kroah-Hartman 
Cc: Jonathan Corbet 
Cc: Oleg Nesterov 
Cc: "Steven Rostedt (VMware)" 
Cc: Snild Dolkow 
References: https://bugs.freedesktop.org/show_bug.cgi?id=103950
Signed-off-by: Daniel Vetter 
--
Peter acked the original patch but then cross-release got removed
before this one here landed.
-Daniel
---
 include/linux/kthread.h | 48 -
 kernel/kthread.c| 68 -
 2 files changed, 88 insertions(+), 28 deletions(-)

diff --git a/include/linux/kthread.h b/include/linux/kthread.h
index c1961761311d..7a9463f0be5c 100644
--- a/include/linux/kthread.h
+++ b/include/linux/kthread.h
@@ -6,10 +6,12 @@
 #include 
 #include 
 
-__printf(4, 5)
-struct task_struct *kthread_create_on_node(int (*threadfn)(void *data),
+__printf(6, 7)
+struct task_struct *_kthread_create_on_node(int (*threadfn)(void *data),
   void *data,
   int node,
+  struct lock_class_key *exited_key,
+  struct lock_class_key *parked_key,
   const char namefmt[], ...);
 
 /**
@@ -25,12 +27,27 @@ struct task_struct *kthread_create_on_node(int 
(*threadfn)(void *data),
  */
 #define kthread_create(threadfn, data, namefmt, arg...) \
kthread_create_on_node(threadfn, data, NUMA_NO_NODE, namefmt, ##arg)
+#define kthread_create_on_node(threadfn, data, node, namefmt, arg...)  \
+({ \
+   static struct lock_class_key __exited_key, __parked_key;\
+   _kthread_create_on_node(threadfn, data, node, &__exited_key,\
+  &__parked_key, namefmt, ##arg);  \
+})
 
 
-struct task_struct *kthread_create_on_cpu(int (*threadfn)(void *data),
+struct task_struct *_kthread_create_on_cpu(int (*threadfn)(void *data),
  void *data,
  unsigned int cpu,
+ struct lock_class_key *exited_key,
+ struct lock_class_key *parked_key,
  const char *namefmt);
+#define kthread_create_on_cpu(threadfn, data, cpu, namefmt)\
+({ \
+   static struct lock_class_key __exited_key, __parked_key;\
+   _kthread_create_on_cpu(threadfn, data, cpu, &__exited_key,\
+  &__parked_key, namefmt); \
+})
+
 
 /**
  * kthread_run - create and wake a thread.
@@ -171,13 +188,30 @@ extern void __kthread_init_worker(struct kthread_worker 
*worker,
 
 int kthread_worker_fn(void *worker_ptr);
 
-__printf(2, 3)
+__printf(4, 5)
 struct kthread_worker *
-kthread_create_worker(unsigned int flags, const char namefmt[], ...);
+_kthread_create_worker(unsigned int flags,
+  struct lock_class_key *exited_key,
+  struct lock_class_key *parked_key,
+  const char namefmt[], ...);
+#define kthread_create_worker(flags, namefmt...)   
\
+({ \
+   static struct lock_class_key __exited_key, __parked_key;\
+   _kthread_create_worker(flags, &__exited_key, &__parked_key, \
+  ##namefmt);  \
+})
 
-__printf(3, 4) struct kthread_worker *
-kthread_create_worker_on_cpu(int cpu, unsigned int flags,
+__printf(5, 6) struct kthread_worker *
+_kthread_create_worker_on_cpu(int cpu, unsigned int flags,
+  struct lock_class_key *exited_key,
+  struct lock_class_key *parked_key,
 const char namefmt[], ...);
+#define kthread_create_worker_on_cpu(cpu, flags, namefmt...)   \
+({ \
+   static struct lock_class_key __exited_key, __parked_key;\
+   _kthread_create_worker_on_cpu(cpu, flags, &__exited_key, &_

[Intel-gfx] [PATCH 01/13] locking/lockdep: restore cross-release checks

2018-11-07 Thread Daniel Vetter
This reverts the following commits:

commit 527187d28569 ("locking/lockdep: Remove cross-release leftovers")
commit dba04eb76df9 ("locking/Documentation: Remove stale 
crossrelease_fullstack parameter")
commit e966eaeeb623 ("locking/lockdep: Remove the cross-release locking checks")
commit 44318d5b07be ("locking/lockdep: Remove add_chain_cache_classes()")

Since the first two are just fixups for the cross-release removal I
figured I'll squash them all into one.

v2: Revert more cleanup patches.

Cc: Byungchul Park 
Cc: Linus Torvalds 
Cc: Peter Zijlstra 
Cc: Thomas Gleixner 
Cc: linux-ker...@vger.kernel.org
Cc: Ingo Molnar 
Cc: Will Deacon 
Cc: Jonathan Corbet 
Cc: Bjorn Helgaas 
Cc: Greg Kroah-Hartman 
Cc: Marc Zyngier 
Cc: Kai-Heng Feng 
Cc: Thymo van Beers 
Cc: Jiri Kosina 
Cc: Konrad Rzeszutek Wilk 
Cc: Logan Gunthorpe 
Cc: David Rientjes 
Cc: Kate Stewart 
Cc: Philippe Ombredanne 
Cc: Daniel Vetter 
Cc: "Joel Fernandes (Google)" 
Cc: "Steven Rostedt (VMware)" 
Cc: David Howells 
Cc: Namhyung Kim 
Cc: Andrew Morton 
Cc: Masahiro Yamada 
Cc: Randy Dunlap 
Cc: Arnd Bergmann 
Cc: Waiman Long 
Cc: Masami Hiramatsu 
Cc: Yury Norov 
Cc: Mikulas Patocka 
Cc: Robin Murphy 
Cc: Andy Shevchenko 
Signed-off-by: Daniel Vetter 
---
 .../admin-guide/kernel-parameters.txt |   3 +
 Documentation/locking/crossrelease.txt| 874 ++
 include/linux/completion.h|  46 +
 include/linux/irqflags.h  |   4 +
 include/linux/lockdep.h   | 127 +++
 include/linux/sched.h |  11 +
 kernel/locking/lockdep.c  | 722 ++-
 kernel/sched/completion.c |   5 +
 lib/Kconfig.debug |  33 +
 9 files changed, 1790 insertions(+), 35 deletions(-)
 create mode 100644 Documentation/locking/crossrelease.txt

diff --git a/Documentation/admin-guide/kernel-parameters.txt 
b/Documentation/admin-guide/kernel-parameters.txt
index 81d1d5a74728..4c85bd20ac5e 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -724,6 +724,9 @@
It will be ignored when crashkernel=X,high is not used
or memory reserved is below 4G.
 
+   crossrelease_fullstack
+   [KNL] Allow to record full stack trace in cross-release
+
cryptomgr.notests
[KNL] Disable crypto self-tests
 
diff --git a/Documentation/locking/crossrelease.txt 
b/Documentation/locking/crossrelease.txt
new file mode 100644
index ..bdf1423d5f99
--- /dev/null
+++ b/Documentation/locking/crossrelease.txt
@@ -0,0 +1,874 @@
+Crossrelease
+
+
+Started by Byungchul Park 
+
+Contents:
+
+ (*) Background
+
+ - What causes deadlock
+ - How lockdep works
+
+ (*) Limitation
+
+ - Limit lockdep
+ - Pros from the limitation
+ - Cons from the limitation
+ - Relax the limitation
+
+ (*) Crossrelease
+
+ - Introduce crossrelease
+ - Introduce commit
+
+ (*) Implementation
+
+ - Data structures
+ - How crossrelease works
+
+ (*) Optimizations
+
+ - Avoid duplication
+ - Lockless for hot paths
+
+ (*) APPENDIX A: What lockdep does to work aggresively
+
+ (*) APPENDIX B: How to avoid adding false dependencies
+
+
+==
+Background
+==
+
+What causes deadlock
+
+
+A deadlock occurs when a context is waiting for an event to happen,
+which is impossible because another (or the) context who can trigger the
+event is also waiting for another (or the) event to happen, which is
+also impossible due to the same reason.
+
+For example:
+
+   A context going to trigger event C is waiting for event A to happen.
+   A context going to trigger event A is waiting for event B to happen.
+   A context going to trigger event B is waiting for event C to happen.
+
+A deadlock occurs when these three wait operations run at the same time,
+because event C cannot be triggered if event A does not happen, which in
+turn cannot be triggered if event B does not happen, which in turn
+cannot be triggered if event C does not happen. After all, no event can
+be triggered since any of them never meets its condition to wake up.
+
+A dependency might exist between two waiters and a deadlock might happen
+due to an incorrect releationship between dependencies. Thus, we must
+define what a dependency is first. A dependency exists between them if:
+
+   1. There are two waiters waiting for each event at a given time.
+   2. The only way to wake up each waiter is to trigger its event.
+   3. Whether one can be woken up depends on whether the other can.
+
+Each wait in the example creates its dependency like:
+
+   Event C depends on event A.
+   Event A depends on event B.
+   Event B depends on event C.
+
+   NOTE: Precisely speaking, a dependency is one between whether a
+   waiter for an event can be woken up 

[Intel-gfx] [PATCH 08/13] dma-fence: cross-release annotations

2018-11-07 Thread Daniel Vetter
dma-fence is a completion on steriods, which also allows hardware to
directly sync work among each another. It's supposed to be deadlock
free, so let's try to make sure that holds at least for the cpu-only
interactions and waits.

It's a bit much #ifdef, but I figured for the single case it's not
worth it to pull it all out.

Also, the single global lockdep map is intentional: dma_fences are
supposed to be shared, we need all drivers to be compatible to each
another in their locking hierarchy.

v2:
- handle #idef mess cleaner
- also annotate dma_fence_signal()

v3:
- Add a dma_fence_might_wait() function to annotate fastpaths
- Put it all into headers for other code to use

Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: linux-me...@vger.kernel.org
Cc: linaro-mm-...@lists.linaro.org
Signed-off-by: Daniel Vetter 
---
 drivers/dma-buf/dma-fence.c | 14 ++
 include/linux/dma-fence.h   | 28 
 2 files changed, 42 insertions(+)

diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index 1551ca7df394..7d56d8b48624 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -30,6 +30,13 @@
 EXPORT_TRACEPOINT_SYMBOL(dma_fence_emit);
 EXPORT_TRACEPOINT_SYMBOL(dma_fence_enable_signal);
 
+
+#ifdef CONFIG_LOCKDEP_CROSSRELEASE
+struct lockdep_map_cross dma_fence_wait_map =
+   STATIC_CROSS_LOCKDEP_MAP_INIT("dma_fence_signal", &dma_fence_wait_map);
+EXPORT_SYMBOL(dma_fence_wait_map);
+#endif
+
 /*
  * fence context counter: each execution context should have its own
  * fence context, this allows checking if fences belong to the same
@@ -106,6 +113,8 @@ int dma_fence_signal_locked(struct dma_fence *fence)
 
lockdep_assert_held(fence->lock);
 
+   dma_fence_wait_release_commit();
+
if (WARN_ON(!fence))
return -EINVAL;
 
@@ -153,6 +162,8 @@ int dma_fence_signal(struct dma_fence *fence)
if (test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
return -EINVAL;
 
+   dma_fence_wait_release_commit();
+
fence->timestamp = ktime_get();
set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
trace_dma_fence_signaled(fence);
@@ -197,12 +208,15 @@ dma_fence_wait_timeout(struct dma_fence *fence, bool 
intr, signed long timeout)
if (WARN_ON(timeout < 0))
return -EINVAL;
 
+   dma_fence_wait_acquire();
trace_dma_fence_wait_start(fence);
if (fence->ops->wait)
ret = fence->ops->wait(fence, intr, timeout);
else
ret = dma_fence_default_wait(fence, intr, timeout);
trace_dma_fence_wait_end(fence);
+   dma_fence_wait_release();
+
return ret;
 }
 EXPORT_SYMBOL(dma_fence_wait_timeout);
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 02dba8cd033d..8a045334a207 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -34,6 +34,34 @@ struct dma_fence;
 struct dma_fence_ops;
 struct dma_fence_cb;
 
+#ifdef CONFIG_LOCKDEP_CROSSRELEASE
+#include 
+extern struct lockdep_map_cross dma_fence_wait_map;
+
+static inline void dma_fence_wait_acquire(void)
+{
+   lock_acquire_exclusive(&dma_fence_wait_map.map, 0, 0, NULL, _RET_IP_);
+}
+static inline void dma_fence_wait_release(void)
+{
+   lock_release(&dma_fence_wait_map.map, 0, _RET_IP_);
+}
+static inline void dma_fence_wait_release_commit(void)
+{
+   lock_commit_crosslock(&dma_fence_wait_map.map);
+}
+#else
+static inline void dma_fence_wait_acquire(void) {}
+static inline void dma_fence_wait_release(void) {}
+static inline void dma_fence_wait_release_commit(void) {}
+#endif
+
+static inline void dma_fence_might_wait(void)
+{
+   dma_fence_wait_acquire();
+   dma_fence_wait_release();
+}
+
 /**
  * struct dma_fence - software synchronization primitive
  * @refcount: refcount for this fence
-- 
2.19.1

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


[Intel-gfx] [PATCH 04/13] kernel/lockdep: Make cross-release a config option

2018-11-07 Thread Daniel Vetter
cross-release annotations will need some serious amounts of vetting
before they can be enabled by default, or we'll just annoy everyone.

Instead split it into a separate option, which for now stays disabled
by default even if you enable overall lockdep.

Cc: Andrew Morton 
Cc: Ingo Molnar 
Cc: Masahiro Yamada 
Cc: Arnd Bergmann 
Cc: Randy Dunlap 
Cc: Daniel Vetter 
Cc: Waiman Long 
Cc: Masami Hiramatsu 
Cc: Yury Norov 
Cc: Mikulas Patocka 
Cc: Robin Murphy 
Cc: Andy Shevchenko 
Signed-off-by: Daniel Vetter 
---
 lib/Kconfig.debug | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index f3d7bff6fa3c..6074fa3463ac 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1055,8 +1055,6 @@ config PROVE_LOCKING
select DEBUG_RWSEMS if RWSEM_SPIN_ON_OWNER
select DEBUG_WW_MUTEX_SLOWPATH
select DEBUG_LOCK_ALLOC
-   select LOCKDEP_CROSSRELEASE
-   select LOCKDEP_COMPLETIONS
select TRACE_IRQFLAGS
default n
help
@@ -1093,6 +1091,18 @@ config PROVE_LOCKING
 
 For more details, see Documentation/locking/lockdep-design.txt.
 
+config LOCKDEP_CROSSRELEASE
+   bool "Enable cross-release checking"
+   depends on PROVE_LOCKING
+   select LOCKDEP_COMPLETIONS
+   help
+This makes lockdep work for crosslock which is a lock allowed to
+be released in a different context from the acquisition context.
+Normally a lock must be released in the context acquiring the lock.
+However, relexing this constraint helps synchronization primitives
+such as page locks or completions can use the lock correctness
+detector, lockdep.
+
 config LOCK_STAT
bool "Lock usage statistics"
depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
@@ -1189,16 +1199,6 @@ config LOCKDEP
 config LOCKDEP_SMALL
bool
 
-config LOCKDEP_CROSSRELEASE
-   bool
-   help
-This makes lockdep work for crosslock which is a lock allowed to
-be released in a different context from the acquisition context.
-Normally a lock must be released in the context acquiring the lock.
-However, relexing this constraint helps synchronization primitives
-such as page locks or completions can use the lock correctness
-detector, lockdep.
-
 config LOCKDEP_COMPLETIONS
bool
help
-- 
2.19.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: Annotate dma_fence waits

2018-11-07 Thread Daniel Vetter
i915_request_wait is simply our i915-optimized version of
dma_fence_wait. They both use the exact same code. To help lockdep
discovering all the dependencies, annotate it.

v2: We do opportunistic retiring of dma-fences while holding
struct_mutex. The recursion this causes is intentional, and we do have
other paths which (hopefully) do depend upon the struct_mutex. 2nd
option to fix these annotations (and probably even better) would be
creating a dma_fence_signal_opportunistic, which doesnt have the
lockdep annotations. But that also doesn't guarantee that we'll
actually manage to signal fences without depending upon struct_mutex
somewhere, so might as well go with this trick here.

Aside, for non-i915 people: struct_mutex is our bkl. The locking rules
are ... complicated.

Cc: Jani Nikula 
Cc: Joonas Lahtinen 
Cc: Rodrigo Vivi 
Cc: intel-gfx@lists.freedesktop.org
Signed-off-by: Daniel Vetter 
---
 drivers/gpu/drm/i915/i915_request.c | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_request.c 
b/drivers/gpu/drm/i915/i915_request.c
index 71107540581d..0f800b8967a4 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -30,6 +30,10 @@
 
 #include "i915_drv.h"
 
+static long __i915_request_wait(struct i915_request *rq,
+   unsigned int flags,
+   long timeout);
+
 static const char *i915_fence_get_driver_name(struct dma_fence *fence)
 {
return "i915";
@@ -66,7 +70,7 @@ static signed long i915_fence_wait(struct dma_fence *fence,
   bool interruptible,
   signed long timeout)
 {
-   return i915_request_wait(to_request(fence), interruptible, timeout);
+   return __i915_request_wait(to_request(fence), interruptible, timeout);
 }
 
 static void i915_fence_release(struct dma_fence *fence)
@@ -1201,6 +1205,21 @@ static bool __i915_wait_request_check_and_reset(struct 
i915_request *request)
 long i915_request_wait(struct i915_request *rq,
   unsigned int flags,
   long timeout)
+{
+   long ret;
+
+   if (!lockdep_is_held(&rq->i915->drm.struct_mutex))
+   dma_fence_wait_acquire();
+   ret = __i915_request_wait(rq, flags, timeout);
+   if (!lockdep_is_held(&rq->i915->drm.struct_mutex))
+   dma_fence_wait_release();
+
+   return ret;
+}
+
+static long __i915_request_wait(struct i915_request *rq,
+   unsigned int flags,
+   long timeout)
 {
const int state = flags & I915_WAIT_INTERRUPTIBLE ?
TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE;
-- 
2.19.1

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


[Intel-gfx] [PATCH 06/13] mm, notifier: Catch sleeping/blocking for !blockable

2018-11-07 Thread Daniel Vetter
We need to make sure implementations don't cheat and don't have a
possible schedule/blocking point deeply burried where review can't
catch it.

I'm not sure whether this is the best way to make sure all the
might_sleep() callsites trigger, and it's a bit ugly in the code flow.
But it gets the job done.

Cc: Andrew Morton 
Cc: Michal Hocko 
Cc: David Rientjes 
Cc: "Christian König" 
Cc: Daniel Vetter 
Cc: "Jérôme Glisse" 
Cc: linux...@kvack.org
Signed-off-by: Daniel Vetter 
---
 mm/mmu_notifier.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index 59e102589a25..4d282cfb296e 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -185,7 +185,13 @@ int __mmu_notifier_invalidate_range_start(struct mm_struct 
*mm,
id = srcu_read_lock(&srcu);
hlist_for_each_entry_rcu(mn, &mm->mmu_notifier_mm->list, hlist) {
if (mn->ops->invalidate_range_start) {
-   int _ret = mn->ops->invalidate_range_start(mn, mm, 
start, end, blockable);
+   int _ret;
+
+   if (IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP) && !blockable)
+   preempt_disable();
+   _ret = mn->ops->invalidate_range_start(mn, mm, start, 
end, blockable);
+   if (IS_ENABLED(CONFIG_DEBUG_ATOMIC_SLEEP) && !blockable)
+   preempt_enable();
if (_ret) {
pr_info("%pS callback failed with %d in 
%sblockable context.\n",

mn->ops->invalidate_range_start, _ret,
-- 
2.19.1

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


[Intel-gfx] [PATCH 09/13] reservation: Annotate dma_fence waits

2018-11-07 Thread Daniel Vetter
reservations have an optimized fastpath that bypasses dma_fence_wait(),
make sure we still catch all dependencies in lockdep.

To avoid lockdep complaining about recursion on the fake
dma_fence_wait lock we use the dma_fence_might_sleep annotation.

Cc: Sumit Semwal 
Cc: linux-me...@vger.kernel.org
Cc: linaro-mm-...@lists.linaro.org
Signed-off-by: Daniel Vetter 
---
 drivers/dma-buf/reservation.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/dma-buf/reservation.c b/drivers/dma-buf/reservation.c
index c1618335ca99..599b88c75cd5 100644
--- a/drivers/dma-buf/reservation.c
+++ b/drivers/dma-buf/reservation.c
@@ -429,6 +429,8 @@ long reservation_object_wait_timeout_rcu(struct 
reservation_object *obj,
long ret = timeout ? timeout : 1;
int i;
 
+   dma_fence_might_wait();
+
 retry:
shared_count = 0;
seq = read_seqcount_begin(&obj->seq);
-- 
2.19.1

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


[Intel-gfx] [PATCH 12/13] HAX FOR CI: Enable cross-release

2018-11-07 Thread Daniel Vetter
Only way to convince our CI to enable stuff that's new and defaulting
to off. Obviously not for merging.

Signed-off-by: Daniel Vetter 
---
 lib/Kconfig.debug | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 6074fa3463ac..deba9af0f418 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1095,6 +1095,7 @@ config LOCKDEP_CROSSRELEASE
bool "Enable cross-release checking"
depends on PROVE_LOCKING
select LOCKDEP_COMPLETIONS
+   default y
help
 This makes lockdep work for crosslock which is a lock allowed to
 be released in a different context from the acquisition context.
-- 
2.19.1

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


[Intel-gfx] [PATCH 05/13] mm: Check if mmu notifier callbacks are allowed to fail

2018-11-07 Thread Daniel Vetter
Just a bit of paranoia, since if we start pushing this deep into
callchains it's hard to spot all places where an mmu notifier
implementation might fail when it's not allowed to.

Cc: Andrew Morton 
Cc: Michal Hocko 
Cc: "Christian König" 
Cc: David Rientjes 
Cc: Daniel Vetter 
Cc: "Jérôme Glisse" 
Cc: linux...@kvack.org
Cc: Paolo Bonzini 
Signed-off-by: Daniel Vetter 
---
 mm/mmu_notifier.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index 5119ff846769..59e102589a25 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -190,6 +190,8 @@ int __mmu_notifier_invalidate_range_start(struct mm_struct 
*mm,
pr_info("%pS callback failed with %d in 
%sblockable context.\n",

mn->ops->invalidate_range_start, _ret,
!blockable ? "non-" : "");
+   WARN(blockable,"%pS callback failure not 
allowed\n",
+mn->ops->invalidate_range_start);
ret = _ret;
}
}
-- 
2.19.1

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


[Intel-gfx] [PATCH 07/13] mm, notifier: Add a lockdep map for invalidate_range_start

2018-11-07 Thread Daniel Vetter
This is a similar idea to the fs_reclaim fake lockdep lock. It's
fairly easy to provoke a specific notifier to be run on a specific
range: Just prep it, and then munmap() it.

A bit harder, but still doable, is to provoke the mmu notifiers for
all the various callchains that might lead to them. But both at the
same time is really hard to reliable hit, especially when you want to
exercise paths like direct reclaim or compaction, where it's not
easy to control what exactly will be unmapped.

By introducing a lockdep map to tie them all together we allow lockdep
to see a lot more dependencies, without having to actually hit them
in a single challchain while testing.

Aside: Since I typed this to test i915 mmu notifiers I've only rolled
this out for the invaliate_range_start callback. If there's
interest, we should probably roll this out to all of them. But my
undestanding of core mm is seriously lacking, and I'm not clear on
whether we need a lockdep map for each callback, or whether some can
be shared.

Cc: Andrew Morton 
Cc: David Rientjes 
Cc: "Jérôme Glisse" 
Cc: Michal Hocko 
Cc: "Christian König" 
Cc: Greg Kroah-Hartman 
Cc: Daniel Vetter 
Cc: Mike Rapoport 
Cc: linux...@kvack.org
Signed-off-by: Daniel Vetter 
---
 include/linux/mmu_notifier.h | 7 +++
 mm/mmu_notifier.c| 7 +++
 2 files changed, 14 insertions(+)

diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
index 9893a6432adf..a39ba218dbbe 100644
--- a/include/linux/mmu_notifier.h
+++ b/include/linux/mmu_notifier.h
@@ -12,6 +12,10 @@ struct mmu_notifier_ops;
 
 #ifdef CONFIG_MMU_NOTIFIER
 
+#ifdef CONFIG_LOCKDEP
+extern struct lockdep_map __mmu_notifier_invalidate_range_start_map;
+#endif
+
 /*
  * The mmu notifier_mm structure is allocated and installed in
  * mm->mmu_notifier_mm inside the mm_take_all_locks() protected
@@ -267,8 +271,11 @@ static inline void mmu_notifier_change_pte(struct 
mm_struct *mm,
 static inline void mmu_notifier_invalidate_range_start(struct mm_struct *mm,
  unsigned long start, unsigned long end)
 {
+   mutex_acquire(&__mmu_notifier_invalidate_range_start_map, 0, 0,
+ _RET_IP_);
if (mm_has_notifiers(mm))
__mmu_notifier_invalidate_range_start(mm, start, end, true);
+   mutex_release(&__mmu_notifier_invalidate_range_start_map, 1, _RET_IP_);
 }
 
 static inline int mmu_notifier_invalidate_range_start_nonblock(struct 
mm_struct *mm,
diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index 4d282cfb296e..c6e797927376 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -23,6 +23,13 @@
 /* global SRCU for all MMs */
 DEFINE_STATIC_SRCU(srcu);
 
+#ifdef CONFIG_LOCKDEP
+struct lockdep_map __mmu_notifier_invalidate_range_start_map = {
+   .name = "mmu_notifier_invalidate_range_start"
+};
+EXPORT_SYMBOL_GPL(__mmu_notifier_invalidate_range_start_map);
+#endif
+
 /*
  * This function allows mmu_notifier::release callback to delay a call to
  * a function that will free appropriate resources. The function must be
-- 
2.19.1

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


[Intel-gfx] [PATCH 13/13] Revert "locking/lockdep, cpu/hotplug: Annotate AP thread"

2018-11-07 Thread Daniel Vetter
This reverts commit cb92173d1f0474784c6171a9d3fdbbca0ee53554.

This commit tries to shut up lockdep complaining about a
lockdep_assert_held check in the AP cpuhp bringup threads, while the
lock is actually held by the BP thread. Which is all kinda correct,
since BP does wait for all the AP threads to finish before it releases
the cpuhp locks, through a completion.

The only problem with this somewhat fake annotion is that
cross-release sees through the fog, and rightly complains that doing
this for real would totally deadlock.

One way to fix this would be to check that anyone is currently holding
the lock, and not just the current thread. But I'm not sure that's a
good option really. Hence just revert for now, which will result in a
lockdep_assert_held splat per non-boot cpu at boot-up (and anytime you
hotplug a cpu), but at least lockdep keeps working.

Signed-off-by: Daniel Vetter 
Cc: Thomas Gleixner 
Cc: Ingo Molnar 
Cc: Konrad Rzeszutek Wilk 
Cc: Josh Poimboeuf 
Cc: "Peter Zijlstra (Intel)" 
Cc: Mukesh Ojha 
Cc: Jiri Kosina 
Cc: Peter Zijlstra 
Cc: Lai Jiangshan 
Cc: Daniel Vetter 
Cc: Arnd Bergmann 
---
 kernel/cpu.c | 28 
 1 file changed, 28 deletions(-)

diff --git a/kernel/cpu.c b/kernel/cpu.c
index 3c7f3b4c453c..5ff05c284425 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -315,16 +315,6 @@ void lockdep_assert_cpus_held(void)
percpu_rwsem_assert_held(&cpu_hotplug_lock);
 }
 
-static void lockdep_acquire_cpus_lock(void)
-{
-   rwsem_acquire(&cpu_hotplug_lock.rw_sem.dep_map, 0, 0, _THIS_IP_);
-}
-
-static void lockdep_release_cpus_lock(void)
-{
-   rwsem_release(&cpu_hotplug_lock.rw_sem.dep_map, 1, _THIS_IP_);
-}
-
 /*
  * Wait for currently running CPU hotplug operations to complete (if any) and
  * disable future CPU hotplug (from sysfs). The 'cpu_add_remove_lock' protects
@@ -354,17 +344,6 @@ void cpu_hotplug_enable(void)
cpu_maps_update_done();
 }
 EXPORT_SYMBOL_GPL(cpu_hotplug_enable);
-
-#else
-
-static void lockdep_acquire_cpus_lock(void)
-{
-}
-
-static void lockdep_release_cpus_lock(void)
-{
-}
-
 #endif /* CONFIG_HOTPLUG_CPU */
 
 #ifdef CONFIG_HOTPLUG_SMT
@@ -638,12 +617,6 @@ static void cpuhp_thread_fun(unsigned int cpu)
 */
smp_mb();
 
-   /*
-* The BP holds the hotplug lock, but we're now running on the AP,
-* ensure that anybody asserting the lock is held, will actually find
-* it so.
-*/
-   lockdep_acquire_cpus_lock();
cpuhp_lock_acquire(bringup);
 
if (st->single) {
@@ -689,7 +662,6 @@ static void cpuhp_thread_fun(unsigned int cpu)
}
 
cpuhp_lock_release(bringup);
-   lockdep_release_cpus_lock();
 
if (!st->should_run)
complete_ap_thread(st, bringup);
-- 
2.19.1

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


[Intel-gfx] [PATCH 11/13] drm/i915: annotate intel_atomic_commit_fence_wait

2018-11-07 Thread Daniel Vetter
In i915 we also have i915_sw_fence, as some kind of super fence. Since
those include dma-fences (it's the main use really, aside from
chaining them for the scheduler) they're relevant for any lockdep
cycles involving dma_fence.

But i915_sw_fence is also really tough to properly annonate:
- Most of the use (all of it in the scheduler) is entirely driven by
  callbacks. That creates dependency chains, but for all practical
  purposes we could treat that as part of the hw magic that executes
  requests for us. Eventually a dma_fence_signal() comes out of that,
  which we do annotate.

- For dma-fences we only annotate cpu waits, and don't follow any of
  the chains going through the hardware. Since dma_fence are supposed
  to be ordered an always complete that should be good enough, as long
  as we don't accidentally deadlock on the cpu side. So treating
  i915_sw_fence as part of the hw magic shouldn't reduce our deadlock
  coverage, as long as i915_sw_fence itself doesn't deadlock. And
  there's lots of debug checks for that already.

- There's one exception: intel_atomic_commit_fence_wait() is the only
  cpu wait on a i915_sw_fence we have. That one we should annotate,
  and annotate should be able to teach lockdep about our gpu reset vs
  modeset locking inversion. But in reality this is a dma-fence wait,
  and it using i915_sw_fence is really just an implementation detail.
  All other kms drivers use drm_atomic_helper_wait_for_fences()
  instead.

- There is a i915_sw_fence_wait for normal cpu waits (the one in the
  modeset code is open-coded because it also waits for gpu reset
  wakups), but that's only used for selftests.

So the simplest solution for annotating i915_sw_fence is therefore to
annotate intel_atomic_commit_fence() as a dma_fence wait.

Cc: Jani Nikula 
Cc: Joonas Lahtinen 
Cc: Rodrigo Vivi 
Cc: intel-gfx@lists.freedesktop.org
Signed-off-by: Daniel Vetter 
---
 drivers/gpu/drm/i915/intel_display.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index bbf8ca21a7a2..cf9240625ae3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12747,6 +12747,7 @@ static void intel_atomic_commit_fence_wait(struct 
intel_atomic_state *intel_stat
struct wait_queue_entry wait_fence, wait_reset;
struct drm_i915_private *dev_priv = to_i915(intel_state->base.dev);
 
+   dma_fence_wait_acquire();
init_wait_entry(&wait_fence, 0);
init_wait_entry(&wait_reset, 0);
for (;;) {
@@ -12764,6 +12765,7 @@ static void intel_atomic_commit_fence_wait(struct 
intel_atomic_state *intel_stat
}
finish_wait(&intel_state->commit_ready.wait, &wait_fence);
finish_wait(&dev_priv->gpu_error.wait_queue, &wait_reset);
+   dma_fence_wait_release();
 }
 
 static void intel_atomic_cleanup_work(struct work_struct *work)
-- 
2.19.1

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


[Intel-gfx] [PATCH 03/13] lockdep: Remove GFP_NOLOCKDEP annotation

2018-11-07 Thread Daniel Vetter
This was originally added in 7e7844226f10 ("lockdep: allow to disable
reclaim lockup detection") but a git log -G "GFP_NOLOCKDEP" indicates
it was never used.

Cc: Andrew Morton 
Cc: Vlastimil Babka 
Cc: Michal Hocko 
Cc: Mel Gorman 
Cc: Daniel Vetter 
Cc: "Levin, Alexander (Sasha Levin)" 
Cc: Mike Rapoport 
Cc: Huaisheng Ye 
Cc: Pavel Tatashin 
Cc: Aaron Lu 
Cc: Oscar Salvador 
Cc: Joonsoo Kim 
Cc: linux...@kvack.org
Cc: Dave Chinner 
Cc: Peter Zijlstra 
Cc: Shakeel Butt 
Signed-off-by: Daniel Vetter 
---
 include/linux/gfp.h | 10 +-
 mm/page_alloc.c |  3 ---
 2 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 76f8db0b0e71..ea76fcf320ec 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -39,11 +39,6 @@ struct vm_area_struct;
 #define ___GFP_ACCOUNT 0x10u
 #define ___GFP_DIRECT_RECLAIM  0x20u
 #define ___GFP_KSWAPD_RECLAIM  0x40u
-#ifdef CONFIG_LOCKDEP
-#define ___GFP_NOLOCKDEP   0x80u
-#else
-#define ___GFP_NOLOCKDEP   0
-#endif
 /* If the above are modified, __GFP_BITS_SHIFT may need updating */
 
 /*
@@ -213,11 +208,8 @@ struct vm_area_struct;
 #define __GFP_COMP ((__force gfp_t)___GFP_COMP)
 #define __GFP_ZERO ((__force gfp_t)___GFP_ZERO)
 
-/* Disable lockdep for GFP context tracking */
-#define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP)
-
 /* Room for N __GFP_FOO bits */
-#define __GFP_BITS_SHIFT (23 + IS_ENABLED(CONFIG_LOCKDEP))
+#define __GFP_BITS_SHIFT 23
 #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1))
 
 /**
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index a919ba5cb3c8..62c9cd7eae1a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3719,9 +3719,6 @@ static bool __need_fs_reclaim(gfp_t gfp_mask)
if (!(gfp_mask & __GFP_FS))
return false;
 
-   if (gfp_mask & __GFP_NOLOCKDEP)
-   return false;
-
return true;
 }
 
-- 
2.19.1

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


Re: [Intel-gfx] [PATCH][drm-next] drm/i915/csr: fix spelling mistake "firmare" -> "firmware"

2018-11-07 Thread Chris Wilson
Quoting Colin King (2018-11-07 10:22:11)
> From: Colin Ian King 
> 
> Trivial fix to spelling mistake in DRM_INFO message
> 
> Signed-off-by: Colin Ian King 

Thank you for the spelling correction, applied.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH v7] mm, drm/i915: mark pinned shmemfs pages as unevictable

2018-11-07 Thread Chris Wilson
Quoting Andrew Morton (2018-11-06 18:12:11)
> On Tue,  6 Nov 2018 13:23:24 + Chris Wilson  
> wrote:
> 
> > From: Kuo-Hsin Yang 
> > 
> > The i915 driver uses shmemfs to allocate backing storage for gem
> > objects. These shmemfs pages can be pinned (increased ref count) by
> > shmem_read_mapping_page_gfp(). When a lot of pages are pinned, vmscan
> > wastes a lot of time scanning these pinned pages. In some extreme case,
> > all pages in the inactive anon lru are pinned, and only the inactive
> > anon lru is scanned due to inactive_ratio, the system cannot swap and
> > invokes the oom-killer. Mark these pinned pages as unevictable to speed
> > up vmscan.
> > 
> > Export pagevec API check_move_unevictable_pages().
> > 
> > This patch was inspired by Chris Wilson's change [1].
> > 
> > [1]: https://patchwork.kernel.org/patch/9768741/
> > 
> > ...
> >
> > --- a/drivers/gpu/drm/i915/i915_gem.c
> > +++ b/drivers/gpu/drm/i915/i915_gem.c
> > @@ -2382,12 +2382,26 @@ void __i915_gem_object_invalidate(struct 
> > drm_i915_gem_object *obj)
> >   invalidate_mapping_pages(mapping, 0, (loff_t)-1);
> >  }
> >  
> > +/**
> 
> This token is used to introduce a kerneldoc comment.
> 
> > + * Move pages to appropriate lru and release the pagevec. Decrement the ref
> > + * count of these pages.
> > + */
> 
> But this isn't a kerneldoc comment.
> 
> At least, I don't think it is.  Maybe the parser got smarter when I
> wasn't looking.
> 
> > +static inline void check_release_pagevec(struct pagevec *pvec)
> > +{
> > + if (pagevec_count(pvec)) {
> > + check_move_unevictable_pages(pvec);
> > + __pagevec_release(pvec);
> > + cond_resched();
> > + }
> > +}
> 
> This looks too large to be inlined and the compiler will ignore the
> `inline' anyway.

Applied both corrections.

> Otherwise, Acked-by: Andrew Morton .  Please
> go ahead and merge via the appropriate drm tree.

Thank you, pushed to drm-intel, expected to arrive around 4.21.
-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 series starting with [v5,1/2] drm/i915/skl: Rework MOCS tables to keep common part in a define

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [v5,1/2] drm/i915/skl: Rework MOCS tables to keep 
common part in a define
URL   : https://patchwork.freedesktop.org/series/52108/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5097 -> Patchwork_10752 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@gem_exec_suspend@basic-s3:
  fi-ctg-p8600:   PASS -> INCOMPLETE (fdo#102997)

igt@kms_chamelium@common-hpd-after-suspend:
  fi-skl-6700k2:  PASS -> WARN (fdo#108680)

igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
  fi-byt-squawks: PASS -> FAIL (fdo#107362, fdo#107119, fdo#103191)


 Possible fixes 

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
  fi-byt-squawks: FAIL (fdo#107362, fdo#107119, fdo#103191) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b:
  fi-byt-squawks: FAIL (fdo#107362, fdo#107119) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: FAIL (fdo#107362, fdo#103191) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   DMESG-WARN (fdo#107345) -> PASS +2


  fdo#102997 https://bugs.freedesktop.org/show_bug.cgi?id=102997
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#107119 https://bugs.freedesktop.org/show_bug.cgi?id=107119
  fdo#107345 https://bugs.freedesktop.org/show_bug.cgi?id=107345
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108680 https://bugs.freedesktop.org/show_bug.cgi?id=108680


== Participating hosts (52 -> 50) ==

  Missing(2): fi-byt-j1900 fi-icl-u2 


== Build changes ==

* Linux: CI_DRM_5097 -> Patchwork_10752

  CI_DRM_5097: c20dfc4f015dfd41246beb7d72338aa50543a5ef @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10752: 0ecd8854b2f2c61aaeb7084fe3e912557dc3fb19 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0ecd8854b2f2 drm/i915/icl: Define MOCS table for Icelake
f6ae01ab78e3 drm/i915/skl: Rework MOCS tables to keep common part in a define

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10752/issues.html
___
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 [v6,1/2] drm/i915/skl: Rework MOCS tables to keep common part in a define

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [v6,1/2] drm/i915/skl: Rework MOCS tables to keep 
common part in a define
URL   : https://patchwork.freedesktop.org/series/52165/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5097 -> Patchwork_10753 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@gem_exec_suspend@basic-s3:
  fi-cfl-8109u:   PASS -> DMESG-WARN (fdo#107345)

igt@kms_frontbuffer_tracking@basic:
  fi-icl-u2:  PASS -> FAIL (fdo#103167)

igt@kms_pipe_crc_basic@read-crc-pipe-a:
  fi-byt-clapper: PASS -> FAIL (fdo#107362)


 Possible fixes 

igt@gem_exec_suspend@basic-s3:
  fi-blb-e6850:   INCOMPLETE (fdo#107718) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-byt-clapper: FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS


 Warnings 

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  fi-cfl-8109u:   DMESG-WARN (fdo#107345) -> INCOMPLETE (fdo#108126, 
fdo#106070)


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106070 https://bugs.freedesktop.org/show_bug.cgi?id=106070
  fdo#107345 https://bugs.freedesktop.org/show_bug.cgi?id=107345
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126


== Participating hosts (52 -> 46) ==

  Missing(6): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5097 -> Patchwork_10753

  CI_DRM_5097: c20dfc4f015dfd41246beb7d72338aa50543a5ef @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10753: 6a470e249bc3a98312c2c3bfa0d7b8cc7baa1f38 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

6a470e249bc3 drm/i915/icl: Define MOCS table for Icelake
06a685031088 drm/i915/skl: Rework MOCS tables to keep common part in a define

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: fix subslice mask array size

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: fix subslice mask array size
URL   : https://patchwork.freedesktop.org/series/52110/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096_full -> Patchwork_10742_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10742_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10742_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_10742_full:

  === IGT changes ===

 Warnings 

igt@kms_chv_cursor_fail@pipe-b-64x64-right-edge:
  shard-snb:  PASS -> SKIP +3

igt@pm_rc6_residency@rc6-accuracy:
  shard-kbl:  SKIP -> PASS


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@gem_eio@in-flight-1us:
  shard-glk:  PASS -> INCOMPLETE (fdo#103359, k.org#198133)

igt@gem_exec_schedule@pi-ringfull-vebox:
  shard-skl:  NOTRUN -> FAIL (fdo#103158)

igt@gem_softpin@noreloc-s3:
  shard-skl:  PASS -> INCOMPLETE (fdo#104108, fdo#107773)

igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
  shard-apl:  PASS -> DMESG-WARN (fdo#105602, fdo#103558) +9

igt@kms_busy@extended-modeset-hang-newfb-render-b:
  shard-skl:  NOTRUN -> DMESG-WARN (fdo#107956)

igt@kms_cursor_crc@cursor-128x128-onscreen:
  shard-apl:  PASS -> FAIL (fdo#103232) +2

igt@kms_flip@flip-vs-expired-vblank-interruptible:
  shard-skl:  NOTRUN -> FAIL (fdo#105363)

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu:
  shard-apl:  PASS -> FAIL (fdo#103167) +1

igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
  shard-glk:  PASS -> FAIL (fdo#103167) +2

igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render:
  shard-skl:  NOTRUN -> FAIL (fdo#103167)

igt@kms_pipe_crc_basic@read-crc-pipe-c:
  shard-skl:  PASS -> FAIL (fdo#107362)

igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
  shard-skl:  NOTRUN -> FAIL (fdo#107815, fdo#108145)

igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
  shard-skl:  NOTRUN -> FAIL (fdo#108145) +2

igt@pm_rpm@sysfs-read:
  shard-skl:  PASS -> INCOMPLETE (fdo#107807)


 Possible fixes 

igt@drv_suspend@shrink:
  shard-glk:  INCOMPLETE (fdo#103359, k.org#198133, fdo#106886) -> 
PASS

igt@gem_ctx_isolation@vcs0-s3:
  shard-skl:  INCOMPLETE (fdo#104108, fdo#107773) -> PASS

igt@gem_exec_reuse@baggage:
  shard-apl:  DMESG-WARN (fdo#108690) -> PASS

igt@gem_userptr_blits@readonly-unsync:
  shard-skl:  INCOMPLETE (fdo#108074) -> PASS

igt@kms_color@pipe-a-ctm-max:
  shard-apl:  FAIL (fdo#108147) -> PASS

igt@kms_cursor_crc@cursor-128x128-onscreen:
  shard-glk:  FAIL (fdo#103232) -> PASS

igt@kms_cursor_crc@cursor-128x128-sliding:
  shard-apl:  FAIL (fdo#103232) -> PASS

igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled:
  shard-skl:  FAIL (fdo#103184) -> PASS

igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
  shard-skl:  FAIL (fdo#103232, fdo#103184) -> PASS

igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
  shard-hsw:  FAIL (fdo#102887) -> PASS

igt@kms_flip_tiling@flip-to-yf-tiled:
  shard-skl:  FAIL (fdo#107931) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render:
  shard-skl:  FAIL (fdo#105682) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
  shard-apl:  FAIL (fdo#103167) -> PASS +3

igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
  shard-glk:  FAIL (fdo#103167) -> PASS

igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-pwrite:
  shard-skl:  FAIL (fdo#103167) -> PASS +1

igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
  shard-skl:  FAIL (fdo#107815) -> PASS

igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
  shard-apl:  FAIL (fdo#103166) -> PASS +2

igt@kms_setmode@basic:
  shard-apl:  FAIL (fdo#99912) -> PASS

igt@pm_rpm@dpms-lpsp:
  shard-skl:  INCOMPLETE (fdo#107807) -> PASS +2

igt@prime_busy@after-vebox:
  shard-snb:  INCOMPLETE (fdo#105411) -> SKIP


  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?

[Intel-gfx] [PATCH] drm: Check if primary mst is null

2018-11-07 Thread Stanislav Lisovskiy
Unfortunately drm_dp_get_mst_branch_device which is called from both
drm_dp_mst_handle_down_rep and drm_dp_mst_handle_up_rep seem to rely
on that mgr->mst_primary is not NULL, which seem to be wrong as it can be
cleared with simultaneous mode set, if probing fails or in other case.
mgr->lock mutex doesn't protect against that as it might just get assigned to 
NULL
right before, not simultaneously.
There are currently bugs 107738, 108816 bugs which crash in
drm_dp_get_mst_branch_device, caused by this issue.

Signed-off-by: Stanislav Lisovskiy 
---
 drivers/gpu/drm/drm_dp_mst_topology.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
b/drivers/gpu/drm/drm_dp_mst_topology.c
index 5ff1d79b86c4..fb90ed4cdc3a 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1273,6 +1273,12 @@ static struct drm_dp_mst_branch 
*drm_dp_get_mst_branch_device(struct drm_dp_mst_
/* find the port by iterating down */
 
mutex_lock(&mgr->lock);
+
+   if (!mgr->mst_primary) {
+   mstb = NULL;
+   goto out;
+   }
+
mstb = mgr->mst_primary;
 
for (i = 0; i < lct - 1; i++) {
-- 
2.17.1

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


[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/3] drm/atomic: Use explicit old crtc state in drm_atomic_add_affected_planes() (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [1/3] drm/atomic: Use explicit old crtc state in 
drm_atomic_add_affected_planes() (rev2)
URL   : https://patchwork.freedesktop.org/series/51894/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096_full -> Patchwork_10745_full =

== Summary - SUCCESS ==

  No regressions found.

  

== Known issues ==

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

  === IGT changes ===

 Possible fixes 

igt@prime_busy@after-vebox:
  shard-snb:  INCOMPLETE (fdo#105411) -> SKIP


  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411


== Participating hosts (6 -> 5) ==

  Missing(1): shard-skl 


== Build changes ==

* Linux: CI_DRM_5096 -> Patchwork_10745

  CI_DRM_5096: 9dd45e92a3e9b238d044adde1061a8ee0ce24b73 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4711: cc41f4c921e56c62c85ec5349c47022ae9b5f008 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10745: f6d1a322301fb41cf1850279091178a5fef8ebaf @ 
git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ 
git://anongit.freedesktop.org/piglit

== Logs ==

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


Re: [Intel-gfx] [PATCH 1/2] drm: Add CRTC background color property

2018-11-07 Thread Sean Paul
On Wed, Oct 10, 2018 at 04:50:50PM -0700, Matt Roper wrote:
> Some display controllers can be programmed to present non-black colors
> for pixels not covered by any plane (or pixels covered by the
> transparent regions of higher planes).  Compositors that want a UI with
> a solid color background can potentially save memory bandwidth by
> setting the CRTC background property and using smaller planes to display
> the rest of the content.
> 
> To avoid confusion between different ways of encoding RGB data, we
> define a standard 64-bit format that should be used for this property's
> value.  Helper functions and macros are provided to generate and dissect
> values in this standard format with varying component precision values.
> 
> Cc: dri-de...@lists.freedesktop.org
> Cc: wei.c...@intel.com
> Cc: harish.krupo@intel.com
> Signed-off-by: Matt Roper 
> ---
>  drivers/gpu/drm/drm_atomic_state_helper.c |  1 +
>  drivers/gpu/drm/drm_atomic_uapi.c |  5 +
>  drivers/gpu/drm/drm_mode_config.c |  6 ++
>  include/drm/drm_crtc.h| 17 +
>  include/drm/drm_mode_config.h |  5 +
>  include/uapi/drm/drm_mode.h   | 26 ++
>  6 files changed, 60 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c 
> b/drivers/gpu/drm/drm_atomic_state_helper.c
> index 3ba996069d69..2f8c55668089 100644
> --- a/drivers/gpu/drm/drm_atomic_state_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_state_helper.c
> @@ -101,6 +101,7 @@ void __drm_atomic_helper_crtc_duplicate_state(struct 
> drm_crtc *crtc,
>   state->planes_changed = false;
>   state->connectors_changed = false;
>   state->color_mgmt_changed = false;
> + state->bgcolor_changed = false;
>   state->zpos_changed = false;
>   state->commit = NULL;
>   state->event = NULL;
> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
> b/drivers/gpu/drm/drm_atomic_uapi.c
> index d5b7f315098c..399f0ead5370 100644
> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> @@ -467,6 +467,9 @@ static int drm_atomic_crtc_set_property(struct drm_crtc 
> *crtc,
>   return -EFAULT;
>  
>   set_out_fence_for_crtc(state->state, crtc, fence_ptr);
> + } else if (property == config->bgcolor_property) {
> + state->background_color = val;
> + state->bgcolor_changed = true;
>   } else if (crtc->funcs->atomic_set_property) {
>   return crtc->funcs->atomic_set_property(crtc, state, property, 
> val);
>   } else {
> @@ -499,6 +502,8 @@ drm_atomic_crtc_get_property(struct drm_crtc *crtc,
>   *val = (state->gamma_lut) ? state->gamma_lut->base.id : 0;
>   else if (property == config->prop_out_fence_ptr)
>   *val = 0;
> + else if (property == config->bgcolor_property)
> + *val = state->background_color;
>   else if (crtc->funcs->atomic_get_property)
>   return crtc->funcs->atomic_get_property(crtc, state, property, 
> val);
>   else
> diff --git a/drivers/gpu/drm/drm_mode_config.c 
> b/drivers/gpu/drm/drm_mode_config.c
> index ee80788f2c40..75e376755176 100644
> --- a/drivers/gpu/drm/drm_mode_config.c
> +++ b/drivers/gpu/drm/drm_mode_config.c
> @@ -352,6 +352,12 @@ static int drm_mode_create_standard_properties(struct 
> drm_device *dev)
>   return -ENOMEM;
>   dev->mode_config.modifiers_property = prop;
>  
> + prop = drm_property_create_range(dev, 0, "BACKGROUND_COLOR",

This property should be documented somewhere? Maybe under "Color Management
Properties", since they apply to crtc?


> +  0, GENMASK_ULL(63, 0));
> + if (!prop)
> + return -ENOMEM;
> + dev->mode_config.bgcolor_property = prop;
> +
>   return 0;
>  }
>  
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index b21437bc95bf..ddfdad9ccecb 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -168,6 +168,11 @@ struct drm_crtc_state {
>* drivers to steer the atomic commit control flow.
>*/
>   bool color_mgmt_changed : 1;
> + /**
> +  * @bgcolor_changed: Background color value has changed.  Used by
> +  * drivers to steer the atomic commit control flow.
> +  */
> + bool bgcolor_changed : 1;
>  
>   /**
>* @no_vblank:
> @@ -274,6 +279,18 @@ struct drm_crtc_state {
>*/
>   struct drm_property_blob *gamma_lut;
>  
> + /**
> +  * @background_color:
> +  *
> +  * RGB value representing the pipe's background color.  The background
> +  * color (aka "canvas color") of a pipe is the color that will be used
> +  * for pixels not covered by a plane, or covered by transparent pixels
> +  * of a plane.  The value here should be built via drm_rgba();
> +  * individual color components can be extracted with desired precision
> +  * via the D

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/13] locking/lockdep: restore cross-release checks

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [01/13] locking/lockdep: restore cross-release 
checks
URL   : https://patchwork.freedesktop.org/series/52167/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
a0ec0a02fec5 locking/lockdep: restore cross-release checks
-:9: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#9: 
commit dba04eb76df9 ("locking/Documentation: Remove stale 
crossrelease_fullstack parameter")

-:69: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#69: 
new file mode 100644

-:645: WARNING:TYPO_SPELLING: 'prefered' may be misspelled - perhaps 
'preferred'?
#645: FILE: Documentation/locking/crossrelease.txt:572:
+deadlock or its possibility sooner. So the former way would be prefered

-:817: WARNING:TYPO_SPELLING: 'implmentation' may be misspelled - perhaps 
'implementation'?
#817: FILE: Documentation/locking/crossrelease.txt:744:
+like how lockdep handles held_locks. Lockless implmentation is important

-:840: WARNING:TYPO_SPELLING: 'occured' may be misspelled - perhaps 'occurred'?
#840: FILE: Documentation/locking/crossrelease.txt:767:
+that it has not occured yet, lockdep should consider all possible

-:987: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'x' - possible side-effects?
#987: FILE: include/linux/completion.h:53:
+#define init_completion_map(x, m)  \
+do {   \
+   lockdep_init_map_crosslock((struct lockdep_map *)&(x)->map, \
+   (m)->name, (m)->key, 0);
\
+   __init_completion(x);   \
+} while (0)

-:987: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'm' - possible side-effects?
#987: FILE: include/linux/completion.h:53:
+#define init_completion_map(x, m)  \
+do {   \
+   lockdep_init_map_crosslock((struct lockdep_map *)&(x)->map, \
+   (m)->name, (m)->key, 0);
\
+   __init_completion(x);   \
+} while (0)

-:994: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'x' - possible side-effects?
#994: FILE: include/linux/completion.h:60:
+#define init_completion(x) \
+do {   \
+   static struct lock_class_key __key; \
+   lockdep_init_map_crosslock((struct lockdep_map *)&(x)->map, \
+   "(completion)" #x,  \
+   &__key, 0); \
+   __init_completion(x);   \
+} while (0)

-:1011: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'work' - possible 
side-effects?
#1011: FILE: include/linux/completion.h:77:
+#define COMPLETION_INITIALIZER(work) \
+   { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait), \
+   STATIC_CROSS_LOCKDEP_MAP_INIT("(completion)" #work, &(work)) }

-:1109: WARNING:TYPO_SPELLING: 'Seperate' may be misspelled - perhaps 
'Separate'?
#1109: FILE: include/linux/lockdep.h:305:
+* Seperate stack_trace data. This will be used at commit step.

-:1115: WARNING:TYPO_SPELLING: 'Seperate' may be misspelled - perhaps 
'Separate'?
#1115: FILE: include/linux/lockdep.h:311:
+* Seperate hlock instance. This will be used at commit step.

-:1143: WARNING:TYPO_SPELLING: 'Seperate' may be misspelled - perhaps 
'Separate'?
#1143: FILE: include/linux/lockdep.h:339:
+* Seperate hlock instance. This will be used at commit step.

-:1166: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#1166: FILE: include/linux/lockdep.h:556:
+extern void lockdep_init_map_crosslock(struct lockdep_map *lock,

-:1170: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#1170: FILE: include/linux/lockdep.h:560:
+extern void lock_commit_crosslock(struct lockdep_map *lock);

-:1190: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#1190: FILE: include/linux/lockdep.h:580:
+extern void crossrelease_hist_start(enum xhlock_context_t c);

-:1191: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#1191: FILE: include/linux/lockdep.h:581:
+extern void crossrelease_hist_end(enum xhlock_context_t c);

-:1192: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#1192: FILE: include/linux/lockdep.h:582:
+extern void lockdep_invariant_state(bool force);

-:1193: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#1193: FILE: include/linux/lockdep.h:583:
+extern void lockdep_init_task(struct task_struct *task);

-:1194: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#

Re: [Intel-gfx] [PATCH v14 1/2] drm: Add connector property to limit max bpc

2018-11-07 Thread Kazlauskas, Nicholas
On 10/24/18 6:49 PM, Rodrigo Vivi wrote:
> On Fri, Oct 12, 2018 at 11:42:32AM -0700, Radhakrishna Sripada wrote:
>> At times 12bpc HDMI cannot be driven due to faulty cables, dongles
>> level shifters etc. To workaround them we may need to drive the output
>> at a lower bpc. Currently the user space does not have a way to limit
>> the bpc. The default bpc to be programmed is decided by the driver and
>> is run against connector limitations.
>>
>> Creating a new connector property "max bpc" in order to limit the bpc.
>> xrandr can make use of this connector property to make sure that bpc does
>> not exceed the configured value. This property can be used by userspace to
>> set the bpc.
>>
>> V2: Initialize max_bpc to satisfy kms_properties
>> V3: Move the property to drm_connector
>> V4: Split drm and i915 components(Ville)
>> V5: Make the property per connector(Ville)
>> V6: Compare the requested bpc to connector bpc(Daniel)
>>  Move the attach_property function to core(Ville)
>> V7: Fix checkpatch warnings
>> V8: Simplify the connector check code(Ville)
>> V9: Const display_info(Ville)
>> V10,V11: Fix CI issues.
>> V12: Add the Kernel documentation(Daniel)
>> V14: Crossreference the function name in the doc(Daniel)
>>
>> Cc: Ville Syrjälä 
>> Cc: Daniel Vetter 
>> Cc: Kishore Kadiyala 
>> Cc: Rodrigo Vivi 
>> Cc: Manasi Navare 
>> Cc: Stanislav Lisovskiy 
>> Cc: Sunpeng Li 
>> Acked-by: Daniel Vetter 
>> Signed-off-by: Radhakrishna Sripada 

Reviewed-by: Nicholas Kazlauskas 

Looks good to me. We're seeing similar issues with > 8bpc that this 
would help with.

> 
> This patch looks right to me:
> 
> Reviewed-by: Rodrigo Vivi 
> 
> but we probably need to hold on merge while we wait clarifications
> and final rv-b on igt tests

Any updates on the igt tests?

> 
>> ---
>>   drivers/gpu/drm/drm_atomic.c|  5 +
>>   drivers/gpu/drm/drm_atomic_helper.c |  4 
>>   drivers/gpu/drm/drm_atomic_uapi.c   |  4 
>>   drivers/gpu/drm/drm_connector.c | 41 
>> +
>>   include/drm/drm_connector.h | 20 ++
>>   5 files changed, 74 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
>> index 2870ae205237..cd8362dc4f74 100644
>> --- a/drivers/gpu/drm/drm_atomic.c
>> +++ b/drivers/gpu/drm/drm_atomic.c
>> @@ -390,6 +390,11 @@ static int drm_atomic_connector_check(struct 
>> drm_connector *connector,
>>   {
>>  struct drm_crtc_state *crtc_state;
>>  struct drm_writeback_job *writeback_job = state->writeback_job;
>> +const struct drm_display_info *info = &connector->display_info;
>> +
>> +state->max_bpc = info->bpc ? info->bpc : 8;
>> +if (connector->max_bpc_property)
>> +state->max_bpc = min(state->max_bpc, state->max_requested_bpc);
>>   
>>  if ((connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) || 
>> !writeback_job)
>>  return 0;
>> diff --git a/drivers/gpu/drm/drm_atomic_helper.c 
>> b/drivers/gpu/drm/drm_atomic_helper.c
>> index 6f66777dca4b..d61a74b254f5 100644
>> --- a/drivers/gpu/drm/drm_atomic_helper.c
>> +++ b/drivers/gpu/drm/drm_atomic_helper.c
>> @@ -650,6 +650,10 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
>>  if (old_connector_state->link_status !=
>>  new_connector_state->link_status)
>>  new_crtc_state->connectors_changed = true;
>> +
>> +if (old_connector_state->max_requested_bpc !=
>> +new_connector_state->max_requested_bpc)
>> +new_crtc_state->connectors_changed = true;
>>  }
>>   
>>  if (funcs->atomic_check)
>> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
>> b/drivers/gpu/drm/drm_atomic_uapi.c
>> index a22d6f269b07..7492819c81ce 100644
>> --- a/drivers/gpu/drm/drm_atomic_uapi.c
>> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
>> @@ -761,6 +761,8 @@ static int drm_atomic_connector_set_property(struct 
>> drm_connector *connector,
>>   
>>  return set_out_fence_for_connector(state->state, connector,
>> fence_ptr);
>> +} else if (property == connector->max_bpc_property) {
>> +state->max_requested_bpc = val;
>>  } else if (connector->funcs->atomic_set_property) {
>>  return connector->funcs->atomic_set_property(connector,
>>  state, property, val);
>> @@ -825,6 +827,8 @@ drm_atomic_connector_get_property(struct drm_connector 
>> *connector,
>>  *val = 0;
>>  } else if (property == config->writeback_out_fence_ptr_property) {
>>  *val = 0;
>> +} else if (property == connector->max_bpc_property) {
>> +*val = state->max_requested_bpc;
>>  } else if (connector->funcs->atomic_get_property) {
>>  return connector->funcs->atomic_get_property(connector,
>>   

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [01/13] locking/lockdep: restore cross-release checks

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [01/13] locking/lockdep: restore cross-release 
checks
URL   : https://patchwork.freedesktop.org/series/52167/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: locking/lockdep: restore cross-release checks
+
+Error in reading or end of file.

Commit: kthread: finer-grained lockdep/cross-release completion
Okay!

Commit: lockdep: Remove GFP_NOLOCKDEP annotation
Okay!

Commit: kernel/lockdep: Make cross-release a config option
Okay!

Commit: mm: Check if mmu notifier callbacks are allowed to fail
Okay!

Commit: mm, notifier: Catch sleeping/blocking for !blockable
Okay!

Commit: mm, notifier: Add a lockdep map for invalidate_range_start
Okay!

Commit: dma-fence: cross-release annotations
Okay!

Commit: reservation: Annotate dma_fence waits
Okay!

Commit: drm/i915: Annotate dma_fence waits
Okay!

Commit: drm/i915: annotate intel_atomic_commit_fence_wait
Okay!

Commit: HAX FOR CI: Enable cross-release
Okay!

Commit: Revert "locking/lockdep, cpu/hotplug: Annotate AP thread"
Okay!

___
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 [01/13] locking/lockdep: restore cross-release checks

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [01/13] locking/lockdep: restore cross-release 
checks
URL   : https://patchwork.freedesktop.org/series/52167/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5098 -> Patchwork_10754 =

== Summary - FAILURE ==

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

== Possible new issues ==

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

  === IGT changes ===

 Possible regressions 

igt@drv_selftest@live_hangcheck:
  fi-bwr-2160:PASS -> DMESG-FAIL

igt@gem_sync@basic-each:
  fi-kbl-8809g:   PASS -> DMESG-WARN

igt@gem_tiled_fence_blits@basic:
  fi-apl-guc: PASS -> DMESG-WARN
  fi-elk-e7500:   PASS -> DMESG-WARN
  fi-cfl-guc: PASS -> DMESG-WARN
  fi-skl-6700hq:  PASS -> DMESG-WARN
  fi-hsw-4770r:   PASS -> DMESG-WARN
  fi-skl-gvtdvm:  PASS -> DMESG-WARN
  fi-kbl-x1275:   PASS -> DMESG-WARN
  fi-icl-u:   NOTRUN -> DMESG-WARN
  fi-hsw-peppy:   PASS -> DMESG-WARN
  fi-bdw-5557u:   PASS -> DMESG-WARN
  fi-glk-dsi: PASS -> DMESG-WARN
  fi-glk-j4005:   PASS -> DMESG-WARN
  fi-kbl-7567u:   PASS -> DMESG-WARN
  fi-cnl-u:   PASS -> DMESG-WARN
  fi-bdw-gvtdvm:  PASS -> DMESG-WARN
  fi-hsw-4770:PASS -> DMESG-WARN
  fi-ivb-3520m:   PASS -> DMESG-WARN
  fi-kbl-7500u:   PASS -> DMESG-WARN
  fi-whl-u:   PASS -> DMESG-WARN
  fi-icl-u2:  PASS -> DMESG-WARN
  fi-ivb-3770:PASS -> DMESG-WARN
  fi-bxt-dsi: PASS -> DMESG-WARN
  fi-cfl-s3:  PASS -> DMESG-WARN
  fi-skl-iommu:   PASS -> DMESG-WARN
  fi-bxt-j4205:   PASS -> DMESG-WARN
  fi-skl-6770hq:  PASS -> DMESG-WARN
  fi-ilk-650: PASS -> DMESG-WARN
  fi-snb-2600:PASS -> DMESG-WARN
  fi-skl-6260u:   PASS -> DMESG-WARN
  fi-kbl-r:   PASS -> DMESG-WARN
  fi-skl-guc: PASS -> DMESG-WARN
  fi-kbl-guc: PASS -> DMESG-WARN
  fi-skl-6600u:   PASS -> DMESG-WARN
  fi-kbl-7560u:   PASS -> DMESG-WARN
  fi-cfl-8700k:   PASS -> DMESG-WARN

igt@prime_vgem@basic-fence-flip:
  fi-bwr-2160:PASS -> DMESG-WARN
  fi-blb-e6850:   PASS -> DMESG-WARN


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_contexts:
  fi-icl-u:   NOTRUN -> INCOMPLETE (fdo#108315, fdo#108535)

igt@gem_exec_reloc@basic-write-cpu-active:
  fi-cfl-8109u:   PASS -> DMESG-WARN (fdo#106107)

igt@gem_exec_suspend@basic-s3:
  fi-cfl-8109u:   PASS -> INCOMPLETE (fdo#107187, fdo#108126)

igt@kms_frontbuffer_tracking@basic:
  fi-hsw-peppy:   PASS -> DMESG-WARN (fdo#102614)


 Possible fixes 

igt@gem_ctx_switch@basic-default:
  fi-icl-u:   INCOMPLETE (fdo#108315, fdo#108535) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-icl-u2:  FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
  fi-ilk-650: DMESG-WARN (fdo#106387) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-b:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS


  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#106107 https://bugs.freedesktop.org/show_bug.cgi?id=106107
  fdo#106387 https://bugs.freedesktop.org/show_bug.cgi?id=106387
  fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126
  fdo#108315 https://bugs.freedesktop.org/show_bug.cgi?id=108315
  fdo#108535 https://bugs.freedesktop.org/show_bug.cgi?id=108535


== Participating hosts (52 -> 47) ==

  Additional (1): fi-byt-j1900 
  Missing(6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-snb-2520m fi-ctg-p8600 


== Build changes ==

* Linux: CI_DRM_5098 -> Patchwork_10754

  CI_DRM_5098: a9cbcae14226206fe08f3c1e3f74ad9e357a4384 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4712: a3ede1b535ac8137f6949c468edd7054453d5dae @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10754: 5e9cb1f64702c376e1290b8346fb4b421bb71808 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5e9cb1f64702 Revert "locking/lockdep, cpu/hotplu

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Check if primary mst is null

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm: Check if primary mst is null
URL   : https://patchwork.freedesktop.org/series/52174/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
f8a61b5fe3ea drm: Check if primary mst is null
-:10: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#10: 
mgr->lock mutex doesn't protect against that as it might just get assigned to 
NULL

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

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


Re: [Intel-gfx] [PATCH] drm: Check if primary mst is null

2018-11-07 Thread Ville Syrjälä
On Wed, Nov 07, 2018 at 06:11:30PM +0200, Stanislav Lisovskiy wrote:
> Unfortunately drm_dp_get_mst_branch_device which is called from both
> drm_dp_mst_handle_down_rep and drm_dp_mst_handle_up_rep seem to rely
> on that mgr->mst_primary is not NULL, which seem to be wrong as it can be
> cleared with simultaneous mode set, if probing fails or in other case.
> mgr->lock mutex doesn't protect against that as it might just get assigned to 
> NULL
> right before, not simultaneously.
> There are currently bugs 107738, 108816 bugs which crash in
> drm_dp_get_mst_branch_device, caused by this issue.

Use the proper Bugzilla: tags for those. This also seems like cc:stable
material.

> 
> Signed-off-by: Stanislav Lisovskiy 
> ---
>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
> b/drivers/gpu/drm/drm_dp_mst_topology.c
> index 5ff1d79b86c4..fb90ed4cdc3a 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -1273,6 +1273,12 @@ static struct drm_dp_mst_branch 
> *drm_dp_get_mst_branch_device(struct drm_dp_mst_
>   /* find the port by iterating down */
>  
>   mutex_lock(&mgr->lock);
> +
> + if (!mgr->mst_primary) {
> + mstb = NULL;
> + goto out;
> + }
> +
>   mstb = mgr->mst_primary;
>  

Or a bit simpler:

  mstb = mgr->mst_primary;
+ if (!mstb)
+   goto out;

ccing Lyude as well..

>   for (i = 0; i < lct - 1; i++) {
> -- 
> 2.17.1
> 
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

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


[Intel-gfx] [PATCH] drm/i915: Switch LSPCON to PCON mode if it's in LS mode

2018-11-07 Thread Ville Syrjala
From: Ville Syrjälä 

We no longer change LSPCON into PCON mode if it boots up in
LS mode. This was broken by some code shuffling in
commit 96e35598cead ("drm/i915: Check LSPCON vendor OUI").

I actually can't see a reason why that code shuffling had
to be done. The commit msg notes it but doesn't justify it
in any way. But I guess we'll keep the code in its current
place anyway and just make the "switch to PCON mode" part
effective once again.

Cc: Shashank Sharma 
Cc: Maarten Lankhorst 
Cc: Tvrtko Ursulin 
Tested-by: Tvrtko Ursulin 
Fixes: 96e35598cead ("drm/i915: Check LSPCON vendor OUI")
Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_lspcon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_lspcon.c 
b/drivers/gpu/drm/i915/intel_lspcon.c
index fff32b31c7df..96a8d9524b0c 100644
--- a/drivers/gpu/drm/i915/intel_lspcon.c
+++ b/drivers/gpu/drm/i915/intel_lspcon.c
@@ -230,7 +230,7 @@ static bool lspcon_probe(struct intel_lspcon *lspcon)
 * In this way, it will work with both HDMI 1.4 sinks as well as HDMI
 * 2.0 sinks.
 */
-   if (lspcon->active && lspcon->mode != DRM_LSPCON_MODE_PCON) {
+   if (lspcon->mode != DRM_LSPCON_MODE_PCON) {
if (lspcon_change_mode(lspcon, DRM_LSPCON_MODE_PCON) < 0) {
DRM_ERROR("LSPCON mode change to PCON failed\n");
return false;
-- 
2.18.1

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


[Intel-gfx] ✓ Fi.CI.BAT: success for drm: Check if primary mst is null

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm: Check if primary mst is null
URL   : https://patchwork.freedesktop.org/series/52174/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5098 -> Patchwork_10755 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_module_reload@basic-reload:
  fi-blb-e6850:   PASS -> INCOMPLETE (fdo#107718)

igt@gem_exec_suspend@basic-s3:
  fi-cfl-8109u:   PASS -> INCOMPLETE (fdo#108126, fdo#107187)


 Possible fixes 

igt@kms_frontbuffer_tracking@basic:
  fi-icl-u2:  FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
  fi-ilk-650: DMESG-WARN (fdo#106387) -> PASS

igt@kms_pipe_crc_basic@read-crc-pipe-b:
  fi-byt-clapper: FAIL (fdo#107362) -> PASS


  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#106387 https://bugs.freedesktop.org/show_bug.cgi?id=106387
  fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126


== Participating hosts (52 -> 46) ==

  Additional (1): fi-byt-j1900 
  Missing(7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-snb-2520m fi-ctg-p8600 fi-icl-u 


== Build changes ==

* Linux: CI_DRM_5098 -> Patchwork_10755

  CI_DRM_5098: a9cbcae14226206fe08f3c1e3f74ad9e357a4384 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4712: a3ede1b535ac8137f6949c468edd7054453d5dae @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10755: f8a61b5fe3ea6b61fbd57bf3eaa02a40e1953f5d @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

f8a61b5fe3ea drm: Check if primary mst is null

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/3] drm/atomic: Use explicit old crtc state in drm_atomic_add_affected_planes() (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [1/3] drm/atomic: Use explicit old crtc state in 
drm_atomic_add_affected_planes() (rev2)
URL   : https://patchwork.freedesktop.org/series/51894/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096_full -> Patchwork_10745_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10745_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10745_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_10745_full:

  === IGT changes ===

 Warnings 

igt@pm_rc6_residency@rc6-accuracy:
  shard-kbl:  SKIP -> PASS


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@kms_busy@extended-modeset-hang-newfb-render-b:
  shard-skl:  NOTRUN -> DMESG-WARN (fdo#107956)

igt@kms_cursor_crc@cursor-128x128-onscreen:
  shard-apl:  PASS -> FAIL (fdo#103232) +3

igt@kms_cursor_crc@cursor-128x128-random:
  shard-skl:  PASS -> FAIL (fdo#103232)

igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
  shard-hsw:  PASS -> FAIL (fdo#105767)

igt@kms_draw_crc@draw-method-xrgb2101010-blt-xtiled:
  shard-skl:  PASS -> FAIL (fdo#103184) +2

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu:
  shard-apl:  PASS -> FAIL (fdo#103167) +1

igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
  shard-glk:  PASS -> FAIL (fdo#103167) +2

igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt:
  shard-skl:  PASS -> FAIL (fdo#103167) +2

igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
  shard-skl:  PASS -> INCOMPLETE (fdo#104108, fdo#107773)

igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
  shard-skl:  PASS -> FAIL (fdo#107815, fdo#108145)

igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
  shard-skl:  NOTRUN -> FAIL (fdo#108145)

igt@kms_universal_plane@universal-plane-pipe-a-functional:
  shard-glk:  PASS -> FAIL (fdo#103166)

igt@pm_rpm@universal-planes:
  shard-skl:  PASS -> INCOMPLETE (fdo#107807)


 Possible fixes 

igt@drv_suspend@shrink:
  shard-glk:  INCOMPLETE (fdo#106886, fdo#103359, k.org#198133) -> 
PASS

igt@gem_ctx_isolation@vcs0-s3:
  shard-skl:  INCOMPLETE (fdo#104108, fdo#107773) -> PASS

igt@gem_exec_reuse@baggage:
  shard-apl:  DMESG-WARN (fdo#108690) -> PASS

igt@kms_color@pipe-a-ctm-max:
  shard-apl:  FAIL (fdo#108147) -> PASS

igt@kms_cursor_crc@cursor-64x21-onscreen:
  shard-apl:  FAIL (fdo#103232) -> PASS

igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
  shard-hsw:  FAIL (fdo#102887) -> PASS

igt@kms_flip_tiling@flip-to-yf-tiled:
  shard-skl:  FAIL (fdo#107931) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
  shard-apl:  FAIL (fdo#103167) -> PASS +2

igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
  shard-skl:  FAIL (fdo#107815) -> PASS

igt@kms_plane_multiple@atomic-pipe-a-tiling-yf:
  shard-apl:  FAIL (fdo#103166) -> PASS +1

igt@pm_rpm@dpms-lpsp:
  shard-skl:  INCOMPLETE (fdo#107807) -> PASS +2

igt@prime_busy@after-vebox:
  shard-snb:  INCOMPLETE (fdo#105411) -> SKIP


  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105767 https://bugs.freedesktop.org/show_bug.cgi?id=105767
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
  fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
  fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815
  fdo#107931 https://bugs.freedesktop.org/show_bug.cgi?id=107931
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108147 https://bugs.freedesktop.org/show_bug.cgi?id=108147
  fdo#108690 https://bugs.freedesktop.org/show_bug.cgi?id=108690
  k.org#198133 h

Re: [Intel-gfx] [PATCH v14 1/2] drm: Add connector property to limit max bpc

2018-11-07 Thread Rodrigo Vivi
On Wed, Nov 07, 2018 at 04:56:00PM +, Kazlauskas, Nicholas wrote:
> On 10/24/18 6:49 PM, Rodrigo Vivi wrote:
> > On Fri, Oct 12, 2018 at 11:42:32AM -0700, Radhakrishna Sripada wrote:
> >> At times 12bpc HDMI cannot be driven due to faulty cables, dongles
> >> level shifters etc. To workaround them we may need to drive the output
> >> at a lower bpc. Currently the user space does not have a way to limit
> >> the bpc. The default bpc to be programmed is decided by the driver and
> >> is run against connector limitations.
> >>
> >> Creating a new connector property "max bpc" in order to limit the bpc.
> >> xrandr can make use of this connector property to make sure that bpc does
> >> not exceed the configured value. This property can be used by userspace to
> >> set the bpc.
> >>
> >> V2: Initialize max_bpc to satisfy kms_properties
> >> V3: Move the property to drm_connector
> >> V4: Split drm and i915 components(Ville)
> >> V5: Make the property per connector(Ville)
> >> V6: Compare the requested bpc to connector bpc(Daniel)
> >>  Move the attach_property function to core(Ville)
> >> V7: Fix checkpatch warnings
> >> V8: Simplify the connector check code(Ville)
> >> V9: Const display_info(Ville)
> >> V10,V11: Fix CI issues.
> >> V12: Add the Kernel documentation(Daniel)
> >> V14: Crossreference the function name in the doc(Daniel)
> >>
> >> Cc: Ville Syrjälä 
> >> Cc: Daniel Vetter 
> >> Cc: Kishore Kadiyala 
> >> Cc: Rodrigo Vivi 
> >> Cc: Manasi Navare 
> >> Cc: Stanislav Lisovskiy 
> >> Cc: Sunpeng Li 
> >> Acked-by: Daniel Vetter 
> >> Signed-off-by: Radhakrishna Sripada 
> 
> Reviewed-by: Nicholas Kazlauskas 

Thanks. Although I had pushed through drm-intel-next-queued (dinq) already.

> 
> Looks good to me. We're seeing similar issues with > 8bpc that this 
> would help with.

hm... I hope that pushing to dinq doesn't cause any trouble for you :(

> 
> > 
> > This patch looks right to me:
> > 
> > Reviewed-by: Rodrigo Vivi 
> > 
> > but we probably need to hold on merge while we wait clarifications
> > and final rv-b on igt tests
> 
> Any updates on the igt tests?

yeap, RK added the property tests. got reviewed and
merged to igt already as well

Thanks,
Rodrigo.

> 
> > 
> >> ---
> >>   drivers/gpu/drm/drm_atomic.c|  5 +
> >>   drivers/gpu/drm/drm_atomic_helper.c |  4 
> >>   drivers/gpu/drm/drm_atomic_uapi.c   |  4 
> >>   drivers/gpu/drm/drm_connector.c | 41 
> >> +
> >>   include/drm/drm_connector.h | 20 ++
> >>   5 files changed, 74 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> >> index 2870ae205237..cd8362dc4f74 100644
> >> --- a/drivers/gpu/drm/drm_atomic.c
> >> +++ b/drivers/gpu/drm/drm_atomic.c
> >> @@ -390,6 +390,11 @@ static int drm_atomic_connector_check(struct 
> >> drm_connector *connector,
> >>   {
> >>struct drm_crtc_state *crtc_state;
> >>struct drm_writeback_job *writeback_job = state->writeback_job;
> >> +  const struct drm_display_info *info = &connector->display_info;
> >> +
> >> +  state->max_bpc = info->bpc ? info->bpc : 8;
> >> +  if (connector->max_bpc_property)
> >> +  state->max_bpc = min(state->max_bpc, state->max_requested_bpc);
> >>   
> >>if ((connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) || 
> >> !writeback_job)
> >>return 0;
> >> diff --git a/drivers/gpu/drm/drm_atomic_helper.c 
> >> b/drivers/gpu/drm/drm_atomic_helper.c
> >> index 6f66777dca4b..d61a74b254f5 100644
> >> --- a/drivers/gpu/drm/drm_atomic_helper.c
> >> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> >> @@ -650,6 +650,10 @@ drm_atomic_helper_check_modeset(struct drm_device 
> >> *dev,
> >>if (old_connector_state->link_status !=
> >>new_connector_state->link_status)
> >>new_crtc_state->connectors_changed = true;
> >> +
> >> +  if (old_connector_state->max_requested_bpc !=
> >> +  new_connector_state->max_requested_bpc)
> >> +  new_crtc_state->connectors_changed = true;
> >>}
> >>   
> >>if (funcs->atomic_check)
> >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
> >> b/drivers/gpu/drm/drm_atomic_uapi.c
> >> index a22d6f269b07..7492819c81ce 100644
> >> --- a/drivers/gpu/drm/drm_atomic_uapi.c
> >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
> >> @@ -761,6 +761,8 @@ static int drm_atomic_connector_set_property(struct 
> >> drm_connector *connector,
> >>   
> >>return set_out_fence_for_connector(state->state, connector,
> >>   fence_ptr);
> >> +  } else if (property == connector->max_bpc_property) {
> >> +  state->max_requested_bpc = val;
> >>} else if (connector->funcs->atomic_set_property) {
> >>return connector->funcs->atomic_set_property(connector,
> >>state, proper

Re: [Intel-gfx] [PATCH v14 1/2] drm: Add connector property to limit max bpc

2018-11-07 Thread Kazlauskas, Nicholas
On 11/7/18 1:10 PM, Rodrigo Vivi wrote:
> On Wed, Nov 07, 2018 at 04:56:00PM +, Kazlauskas, Nicholas wrote:
>> On 10/24/18 6:49 PM, Rodrigo Vivi wrote:
>>> On Fri, Oct 12, 2018 at 11:42:32AM -0700, Radhakrishna Sripada wrote:
 At times 12bpc HDMI cannot be driven due to faulty cables, dongles
 level shifters etc. To workaround them we may need to drive the output
 at a lower bpc. Currently the user space does not have a way to limit
 the bpc. The default bpc to be programmed is decided by the driver and
 is run against connector limitations.

 Creating a new connector property "max bpc" in order to limit the bpc.
 xrandr can make use of this connector property to make sure that bpc does
 not exceed the configured value. This property can be used by userspace to
 set the bpc.

 V2: Initialize max_bpc to satisfy kms_properties
 V3: Move the property to drm_connector
 V4: Split drm and i915 components(Ville)
 V5: Make the property per connector(Ville)
 V6: Compare the requested bpc to connector bpc(Daniel)
   Move the attach_property function to core(Ville)
 V7: Fix checkpatch warnings
 V8: Simplify the connector check code(Ville)
 V9: Const display_info(Ville)
 V10,V11: Fix CI issues.
 V12: Add the Kernel documentation(Daniel)
 V14: Crossreference the function name in the doc(Daniel)

 Cc: Ville Syrjälä 
 Cc: Daniel Vetter 
 Cc: Kishore Kadiyala 
 Cc: Rodrigo Vivi 
 Cc: Manasi Navare 
 Cc: Stanislav Lisovskiy 
 Cc: Sunpeng Li 
 Acked-by: Daniel Vetter 
 Signed-off-by: Radhakrishna Sripada 
>>
>> Reviewed-by: Nicholas Kazlauskas 
> 
> Thanks. Although I had pushed through drm-intel-next-queued (dinq) already.
> 
>>
>> Looks good to me. We're seeing similar issues with > 8bpc that this
>> would help with.
> 
> hm... I hope that pushing to dinq doesn't cause any trouble for you :(
> 
>>
>>>
>>> This patch looks right to me:
>>>
>>> Reviewed-by: Rodrigo Vivi 
>>>
>>> but we probably need to hold on merge while we wait clarifications
>>> and final rv-b on igt tests
>>
>> Any updates on the igt tests?
> 
> yeap, RK added the property tests. got reviewed and
> merged to igt already as well
> 
> Thanks,
> Rodrigo.

Thanks for the update.

I think in the meantime while waiting for this to land in drm we'll make 
use of a driver specific property with the same name and swap it out 
later for the common property.

Nicholas Kazlauskas

> 
>>
>>>
 ---
drivers/gpu/drm/drm_atomic.c|  5 +
drivers/gpu/drm/drm_atomic_helper.c |  4 
drivers/gpu/drm/drm_atomic_uapi.c   |  4 
drivers/gpu/drm/drm_connector.c | 41 
 +
include/drm/drm_connector.h | 20 ++
5 files changed, 74 insertions(+)

 diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
 index 2870ae205237..cd8362dc4f74 100644
 --- a/drivers/gpu/drm/drm_atomic.c
 +++ b/drivers/gpu/drm/drm_atomic.c
 @@ -390,6 +390,11 @@ static int drm_atomic_connector_check(struct 
 drm_connector *connector,
{
struct drm_crtc_state *crtc_state;
struct drm_writeback_job *writeback_job = state->writeback_job;
 +  const struct drm_display_info *info = &connector->display_info;
 +
 +  state->max_bpc = info->bpc ? info->bpc : 8;
 +  if (connector->max_bpc_property)
 +  state->max_bpc = min(state->max_bpc, state->max_requested_bpc);

if ((connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) 
 || !writeback_job)
return 0;
 diff --git a/drivers/gpu/drm/drm_atomic_helper.c 
 b/drivers/gpu/drm/drm_atomic_helper.c
 index 6f66777dca4b..d61a74b254f5 100644
 --- a/drivers/gpu/drm/drm_atomic_helper.c
 +++ b/drivers/gpu/drm/drm_atomic_helper.c
 @@ -650,6 +650,10 @@ drm_atomic_helper_check_modeset(struct drm_device 
 *dev,
if (old_connector_state->link_status !=
new_connector_state->link_status)
new_crtc_state->connectors_changed = 
 true;
 +
 +  if (old_connector_state->max_requested_bpc !=
 +  new_connector_state->max_requested_bpc)
 +  new_crtc_state->connectors_changed = true;
}

if (funcs->atomic_check)
 diff --git a/drivers/gpu/drm/drm_atomic_uapi.c 
 b/drivers/gpu/drm/drm_atomic_uapi.c
 index a22d6f269b07..7492819c81ce 100644
 --- a/drivers/gpu/drm/drm_atomic_uapi.c
 +++ b/drivers/gpu/drm/drm_atomic_uapi.c
 @@ -761,6 +761,8 @@ static int drm_atomic_connector_set_property(struct 
 drm_connector *connector,

return set_out_fence_fo

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Switch LSPCON to PCON mode if it's in LS mode

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: Switch LSPCON to PCON mode if it's in LS mode
URL   : https://patchwork.freedesktop.org/series/52178/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5099 -> Patchwork_10756 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@drv_selftest@live_hangcheck:
  fi-kbl-7560u:   PASS -> INCOMPLETE (fdo#108044)

igt@gem_exec_suspend@basic-s4-devices:
  fi-blb-e6850:   PASS -> INCOMPLETE (fdo#107718)

igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
  fi-byt-clapper: PASS -> FAIL (fdo#107362, fdo#103191)

igt@pm_rpm@module-reload:
  fi-skl-6600u:   PASS -> INCOMPLETE (fdo#107807)


 Possible fixes 

igt@gem_close_race@basic-threads:
  fi-bsw-n3050:   FAIL -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-byt-clapper: FAIL (fdo#107362, fdo#103191) -> PASS


  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
  fdo#108044 https://bugs.freedesktop.org/show_bug.cgi?id=108044


== Participating hosts (53 -> 45) ==

  Additional (1): fi-pnv-d510 
  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-icl-u2 fi-bsw-cyan fi-snb-2520m fi-ctg-p8600 fi-icl-u 


== Build changes ==

* Linux: CI_DRM_5099 -> Patchwork_10756

  CI_DRM_5099: 8eca2834ec812679a45d4c4d785448ac0084cee8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4712: a3ede1b535ac8137f6949c468edd7054453d5dae @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10756: 6e05789cc492ace0ec5b29d61be4565228471307 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

6e05789cc492 drm/i915: Switch LSPCON to PCON mode if it's in LS mode

== Logs ==

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


Re: [Intel-gfx] [PATCH v2 02/14] drm/i915: Clean up skl_program_scaler()

2018-11-07 Thread Ville Syrjälä
On Thu, Nov 01, 2018 at 11:13:50AM -0700, Rodrigo Vivi wrote:
> On Thu, Nov 01, 2018 at 05:17:36PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä 
> > 
> > Remove the "sizes are 0 based" stuff that is not even true for the
> > scaler.
> > 
> > v2: Rebase
> > 
> > Signed-off-by: Ville Syrjälä 
> 
> Reviewed-by: Rodrigo Vivi 

Thanks. First two patches pushed.

> 
> > ---
> >  drivers/gpu/drm/i915/intel_sprite.c | 18 +-
> >  1 file changed, 5 insertions(+), 13 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index 30b7485f1992..a77a17fda692 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -310,12 +310,11 @@ skl_plane_max_stride(struct intel_plane *plane,
> >  }
> >  
> >  static void
> > -skl_program_scaler(struct drm_i915_private *dev_priv,
> > -  struct intel_plane *plane,
> > +skl_program_scaler(struct intel_plane *plane,
> >const struct intel_crtc_state *crtc_state,
> >const struct intel_plane_state *plane_state)
> >  {
> > -   enum plane_id plane_id = plane->id;
> > +   struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
> > enum pipe pipe = plane->pipe;
> > int scaler_id = plane_state->scaler_id;
> > const struct intel_scaler *scaler =
> > @@ -327,10 +326,6 @@ skl_program_scaler(struct drm_i915_private *dev_priv,
> > u16 y_hphase, uv_rgb_hphase;
> > u16 y_vphase, uv_rgb_vphase;
> >  
> > -   /* Sizes are 0 based */
> > -   crtc_w--;
> > -   crtc_h--;
> > -
> > /* TODO: handle sub-pixel coordinates */
> > if (plane_state->base.fb->format->format == DRM_FORMAT_NV12 &&
> > !icl_is_hdr_plane(plane)) {
> > @@ -350,15 +345,14 @@ skl_program_scaler(struct drm_i915_private *dev_priv,
> > }
> >  
> > I915_WRITE_FW(SKL_PS_CTRL(pipe, scaler_id),
> > - PS_SCALER_EN | PS_PLANE_SEL(plane_id) | scaler->mode);
> > + PS_SCALER_EN | PS_PLANE_SEL(plane->id) | scaler->mode);
> > I915_WRITE_FW(SKL_PS_PWR_GATE(pipe, scaler_id), 0);
> > I915_WRITE_FW(SKL_PS_VPHASE(pipe, scaler_id),
> >   PS_Y_PHASE(y_vphase) | PS_UV_RGB_PHASE(uv_rgb_vphase));
> > I915_WRITE_FW(SKL_PS_HPHASE(pipe, scaler_id),
> >   PS_Y_PHASE(y_hphase) | PS_UV_RGB_PHASE(uv_rgb_hphase));
> > I915_WRITE_FW(SKL_PS_WIN_POS(pipe, scaler_id), (crtc_x << 16) | crtc_y);
> > -   I915_WRITE_FW(SKL_PS_WIN_SZ(pipe, scaler_id),
> > - ((crtc_w + 1) << 16)|(crtc_h + 1));
> > +   I915_WRITE_FW(SKL_PS_WIN_SZ(pipe, scaler_id), (crtc_w << 16) | crtc_h);
> >  }
> >  
> >  static void
> > @@ -441,11 +435,9 @@ skl_program_plane(struct intel_plane *plane,
> > I915_WRITE_FW(PLANE_CUS_CTL(pipe, plane_id), cus_ctl);
> > }
> >  
> > -   /* program plane scaler */
> > if (plane_state->scaler_id >= 0) {
> > if (!slave)
> > -   skl_program_scaler(dev_priv, plane,
> > -  crtc_state, plane_state);
> > +   skl_program_scaler(plane, crtc_state, plane_state);
> >  
> > I915_WRITE_FW(PLANE_POS(pipe, plane_id), 0);
> > } else {
> > -- 
> > 2.18.1
> > 
> > ___
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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


[Intel-gfx] [PATCH v2 04/14] drm/i915: Polish the skl+ plane keyval/msk/max register setup

2018-11-07 Thread Ville Syrjala
From: Ville Syrjälä 

Due to the constant alpha we're going to have to program two of
the the tree keying registers anyway, so might as well always
program all three.

And parametrize the plane constant alpha define while at it.

v2: Rebase due to input CSC

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/i915_reg.h |  2 +-
 drivers/gpu/drm/i915/intel_sprite.c | 22 +-
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 158cf4716d03..fe4b913e46ac 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6559,7 +6559,7 @@ enum {
 #define  PLANE_KEYMSK_ALPHA_ENABLE (1 << 31)
 #define _PLANE_KEYMAX_1_A  0x701a0
 #define _PLANE_KEYMAX_2_A  0x702a0
-#define  PLANE_KEYMAX_ALPHA_SHIFT  24
+#define  PLANE_KEYMAX_ALPHA(a) ((a) << 24)
 #define _PLANE_AUX_DIST_1_A0x701c0
 #define _PLANE_AUX_DIST_2_A0x702c0
 #define _PLANE_AUX_OFFSET_1_A  0x701c4
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index 287a43524564..6d9f321cdf7b 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -478,13 +478,20 @@ skl_program_plane(struct intel_plane *plane,
uint32_t src_h = drm_rect_height(&plane_state->base.src) >> 16;
struct intel_plane *linked = plane_state->linked_plane;
const struct drm_framebuffer *fb = plane_state->base.fb;
+   u8 alpha = plane_state->base.alpha >> 8;
unsigned long irqflags;
-   u32 keymsk = 0, keymax = 0;
+   u32 keymsk, keymax;
 
/* Sizes are 0 based */
src_w--;
src_h--;
 
+   keymax = (key->max_value & 0xff) | PLANE_KEYMAX_ALPHA(alpha);
+
+   keymsk = key->channel_mask & 0x3ff;
+   if (alpha < 0xff)
+   keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
+
spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
 
if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
@@ -494,18 +501,7 @@ skl_program_plane(struct intel_plane *plane,
if (fb->format->is_yuv && icl_is_hdr_plane(plane))
icl_program_input_csc_coeff(crtc_state, plane_state);
 
-   if (key->flags) {
-   I915_WRITE_FW(PLANE_KEYVAL(pipe, plane_id), key->min_value);
-
-   keymax |= key->max_value & 0xff;
-   keymsk |= key->channel_mask & 0x3ff;
-   }
-
-   keymax |= (plane_state->base.alpha >> 8) << PLANE_KEYMAX_ALPHA_SHIFT;
-
-   if (plane_state->base.alpha < 0xff00)
-   keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
-
+   I915_WRITE_FW(PLANE_KEYVAL(pipe, plane_id), key->min_value);
I915_WRITE_FW(PLANE_KEYMAX(pipe, plane_id), keymax);
I915_WRITE_FW(PLANE_KEYMSK(pipe, plane_id), keymsk);
 
-- 
2.18.1

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


[Intel-gfx] [PATCH v2 06/14] drm/i915: Reorganize plane register writes to make them more atomic

2018-11-07 Thread Ville Syrjala
From: Ville Syrjälä 

Some observations about the plane registers:
- the control register will self-arm if the plane is not already
  enabled, thus we want to write it as close to (or ideally after)
  the surface register
- tileoff/linoff/offset/aux_offset are self-arming as well so we want
  them close to the surface register as well
- color keying registers we maybe self arming before SKL. Not 100%
  sure but we can try to keep them near to the surface register
  as well
- chv pipe b csc register are double buffered but self arming so
  moving them down a bit
- the rest should be mostly armed by the surface register so we can
  safely write them first, and to just for some consistency let's try
  to follow keep them in order based on the register offset

v2: Rebase due to input CSC

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_display.c |  40 +
 drivers/gpu/drm/i915/intel_sprite.c  | 120 +++
 2 files changed, 89 insertions(+), 71 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index ae6d58dbf1ed..ac46497cfc52 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3313,7 +3313,6 @@ static void i9xx_update_plane(struct intel_plane *plane,
enum i9xx_plane_id i9xx_plane = plane->i9xx_plane;
u32 linear_offset;
u32 dspcntr = plane_state->ctl;
-   i915_reg_t reg = DSPCNTR(i9xx_plane);
int x = plane_state->color_plane[0].x;
int y = plane_state->color_plane[0].y;
unsigned long irqflags;
@@ -3328,41 +3327,45 @@ static void i9xx_update_plane(struct intel_plane *plane,
 
spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
 
+   I915_WRITE_FW(DSPSTRIDE(i9xx_plane), 
plane_state->color_plane[0].stride);
+
if (INTEL_GEN(dev_priv) < 4) {
/* pipesrc and dspsize control the size that is scaled from,
 * which should always be the user's requested size.
 */
+   I915_WRITE_FW(DSPPOS(i9xx_plane), 0);
I915_WRITE_FW(DSPSIZE(i9xx_plane),
  ((crtc_state->pipe_src_h - 1) << 16) |
  (crtc_state->pipe_src_w - 1));
-   I915_WRITE_FW(DSPPOS(i9xx_plane), 0);
} else if (IS_CHERRYVIEW(dev_priv) && i9xx_plane == PLANE_B) {
+   I915_WRITE_FW(PRIMPOS(i9xx_plane), 0);
I915_WRITE_FW(PRIMSIZE(i9xx_plane),
  ((crtc_state->pipe_src_h - 1) << 16) |
  (crtc_state->pipe_src_w - 1));
-   I915_WRITE_FW(PRIMPOS(i9xx_plane), 0);
I915_WRITE_FW(PRIMCNSTALPHA(i9xx_plane), 0);
}
 
-   I915_WRITE_FW(reg, dspcntr);
-
-   I915_WRITE_FW(DSPSTRIDE(i9xx_plane), 
plane_state->color_plane[0].stride);
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
-   I915_WRITE_FW(DSPSURF(i9xx_plane),
- intel_plane_ggtt_offset(plane_state) +
- dspaddr_offset);
I915_WRITE_FW(DSPOFFSET(i9xx_plane), (y << 16) | x);
} else if (INTEL_GEN(dev_priv) >= 4) {
+   I915_WRITE_FW(DSPTILEOFF(i9xx_plane), (y << 16) | x);
+   I915_WRITE_FW(DSPLINOFF(i9xx_plane), linear_offset);
+   }
+
+   /*
+* The control register self-arms if the plane was previously
+* disabled. Try to make the plane enable atomic by writing
+* the control register just before the surface register.
+*/
+   I915_WRITE_FW(DSPCNTR(i9xx_plane), dspcntr);
+   if (INTEL_GEN(dev_priv) >= 4)
I915_WRITE_FW(DSPSURF(i9xx_plane),
  intel_plane_ggtt_offset(plane_state) +
  dspaddr_offset);
-   I915_WRITE_FW(DSPTILEOFF(i9xx_plane), (y << 16) | x);
-   I915_WRITE_FW(DSPLINOFF(i9xx_plane), linear_offset);
-   } else {
+   else
I915_WRITE_FW(DSPADDR(i9xx_plane),
  intel_plane_ggtt_offset(plane_state) +
  dspaddr_offset);
-   }
 
spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
 }
@@ -10013,8 +10016,8 @@ static void i9xx_update_cursor(struct intel_plane 
*plane,
 * On some platforms writing CURCNTR first will also
 * cause CURPOS to be armed by the CURBASE write.
 * Without the CURCNTR write the CURPOS write would
-* arm itself. Thus we always start the full update
-* with a CURCNTR write.
+* arm itself. Thus we always update CURCNTR before
+* CURPOS.
 *
 * On other platforms CURPOS always requires the
 * CURBASE write to arm the update. Additonally
@@ -10024,15 +10027,16 @@ static void i9xx_update_cursor(struct intel_plane 
*plane,
 * cursor that doesn't appear to move, or even change
 * 

[Intel-gfx] [PATCH v2 12/14] drm/i915: Remove some useless zeroing on skl+ wm calculations

2018-11-07 Thread Ville Syrjala
From: Ville Syrjälä 

We memset(0) the entire watermark struct the start, so there's no
need to clear things later on.

v2: Rebase due to some stale w/a removal

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_pm.c | 16 
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 791d75322732..749e8d814ce5 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4706,10 +4706,8 @@ static int skl_compute_plane_wm(const struct 
drm_i915_private *dev_priv,
if (latency == 0)
return level == 0 ? -EINVAL : 0;
 
-   if (!intel_wm_plane_visible(cstate, intel_pstate)) {
-   result->plane_en = false;
+   if (!intel_wm_plane_visible(cstate, intel_pstate))
return 0;
-   }
 
/* Display WA #1141: kbl,cfl */
if ((IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv) ||
@@ -4806,8 +4804,6 @@ static int skl_compute_plane_wm(const struct 
drm_i915_private *dev_priv,
if ((level > 0 && res_lines > 31) ||
res_blocks >= ddb_allocation ||
min_disp_buf_needed >= ddb_allocation) {
-   result->plane_en = false;
-
/*
 * If there are no valid level 0 watermarks, then we can't
 * support this display configuration.
@@ -4909,15 +4905,15 @@ static void skl_compute_transition_wm(const struct 
intel_crtc_state *cstate,
uint16_t wm0_sel_res_b, trans_offset_b, res_blocks;
 
if (!cstate->base.active)
-   goto exit;
+   return;
 
/* Transition WM are not recommended by HW team for GEN9 */
if (INTEL_GEN(dev_priv) <= 9)
-   goto exit;
+   return;
 
/* Transition WM don't make any sense if ipc is disabled */
if (!dev_priv->ipc_enabled)
-   goto exit;
+   return;
 
trans_min = 14;
if (INTEL_GEN(dev_priv) >= 11)
@@ -4956,11 +4952,7 @@ static void skl_compute_transition_wm(const struct 
intel_crtc_state *cstate,
if (res_blocks < ddb_allocation) {
trans_wm->plane_res_b = res_blocks;
trans_wm->plane_en = true;
-   return;
}
-
-exit:
-   trans_wm->plane_en = false;
 }
 
 static int __skl_build_plane_wm_single(struct skl_ddb_allocation *ddb,
-- 
2.18.1

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


[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: HPD IRQ storm detection fixes (rev5)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: HPD IRQ storm detection fixes (rev5)
URL   : https://patchwork.freedesktop.org/series/51556/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5096_full -> Patchwork_10746_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10746_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10746_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_10746_full:

  === IGT changes ===

 Warnings 

igt@pm_rc6_residency@rc6-accuracy:
  shard-kbl:  SKIP -> PASS
  shard-snb:  PASS -> SKIP


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@gem_cpu_reloc@full:
  shard-skl:  PASS -> INCOMPLETE (fdo#108073)

igt@gem_ctx_isolation@rcs0-s3:
  shard-skl:  PASS -> INCOMPLETE (fdo#104108, fdo#107773)

igt@kms_busy@extended-modeset-hang-newfb-render-b:
  shard-skl:  NOTRUN -> DMESG-WARN (fdo#107956)

igt@kms_cursor_crc@cursor-256x256-onscreen:
  shard-glk:  PASS -> FAIL (fdo#103232) +1

igt@kms_cursor_crc@cursor-256x256-random:
  shard-apl:  PASS -> FAIL (fdo#103232) +2

igt@kms_cursor_crc@cursor-256x256-suspend:
  shard-skl:  PASS -> INCOMPLETE (fdo#104108)

igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
  shard-glk:  PASS -> FAIL (fdo#103167) +5

igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render:
  shard-skl:  NOTRUN -> FAIL (fdo#103167)

igt@kms_pipe_crc_basic@read-crc-pipe-c:
  shard-skl:  PASS -> FAIL (fdo#107362)

igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
  shard-skl:  NOTRUN -> FAIL (fdo#107815, fdo#108145)

igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
  shard-skl:  NOTRUN -> FAIL (fdo#108145) +1

igt@pm_rpm@universal-planes:
  shard-skl:  PASS -> INCOMPLETE (fdo#107807)


 Possible fixes 

igt@drv_suspend@shrink:
  shard-skl:  INCOMPLETE (fdo#106886) -> PASS
  shard-glk:  INCOMPLETE (fdo#106886, k.org#198133, fdo#103359) -> 
PASS

igt@gem_ctx_isolation@vcs0-s3:
  shard-skl:  INCOMPLETE (fdo#104108, fdo#107773) -> PASS

igt@gem_exec_reuse@baggage:
  shard-apl:  DMESG-WARN (fdo#108690) -> PASS

igt@kms_cursor_crc@cursor-128x42-sliding:
  shard-apl:  FAIL (fdo#103232) -> PASS +1

igt@kms_cursor_crc@cursor-64x64-random:
  shard-glk:  FAIL (fdo#103232) -> PASS

igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled:
  shard-skl:  FAIL (fdo#103184) -> PASS

igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
  shard-skl:  FAIL (fdo#103232, fdo#103184) -> PASS

igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
  shard-hsw:  FAIL (fdo#102887) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render:
  shard-skl:  FAIL (fdo#105682) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
  shard-apl:  FAIL (fdo#103167) -> PASS +1

igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-pwrite:
  shard-skl:  FAIL (fdo#103167) -> PASS +1

igt@kms_plane@plane-position-covered-pipe-b-planes:
  shard-apl:  FAIL (fdo#103166) -> PASS

igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
  shard-skl:  FAIL (fdo#107815) -> PASS

igt@pm_rpm@dpms-lpsp:
  shard-skl:  INCOMPLETE (fdo#107807) -> PASS +2

igt@prime_busy@after-vebox:
  shard-snb:  INCOMPLETE (fdo#105411) -> SKIP


  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
  fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
  fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815
  fdo#107956 https://bugs.freedesktop

[Intel-gfx] [PATCH v2 13/14] drm/i915: Move ddb/wm programming into plane update/disable hooks on skl+

2018-11-07 Thread Ville Syrjala
From: Ville Syrjälä 

On SKL+ the plane WM/BUF_CFG registers are a proper part of each
plane's register set. That means accessing them will cancel any
pending plane update, and we would need a PLANE_SURF register write
to arm the wm/ddb change as well.

To avoid all the problems with that let's just move the wm/ddb
programming into the plane update/disable hooks. Now all plane
registers get written in one (hopefully atomic) operation.

To make that feasible we'll move the plane ddb tracking into
the crtc state. Watermarks were already tracked there.

v2: Rebase due to input CSC

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/i915_debugfs.c  |  21 +-
 drivers/gpu/drm/i915/i915_drv.h  |   3 -
 drivers/gpu/drm/i915/intel_display.c |  16 +-
 drivers/gpu/drm/i915/intel_display.h |  11 +-
 drivers/gpu/drm/i915/intel_drv.h |   9 +
 drivers/gpu/drm/i915/intel_pm.c  | 450 ---
 drivers/gpu/drm/i915/intel_sprite.c  |   4 +
 7 files changed, 250 insertions(+), 264 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index f60485906f7e..3e80a04d2790 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -3437,31 +3437,32 @@ static int i915_ddb_info(struct seq_file *m, void 
*unused)
 {
struct drm_i915_private *dev_priv = node_to_i915(m->private);
struct drm_device *dev = &dev_priv->drm;
-   struct skl_ddb_allocation *ddb;
struct skl_ddb_entry *entry;
-   enum pipe pipe;
-   int plane;
+   struct intel_crtc *crtc;
 
if (INTEL_GEN(dev_priv) < 9)
return -ENODEV;
 
drm_modeset_lock_all(dev);
 
-   ddb = &dev_priv->wm.skl_hw.ddb;
-
seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
 
-   for_each_pipe(dev_priv, pipe) {
+   for_each_intel_crtc(&dev_priv->drm, crtc) {
+   struct intel_crtc_state *crtc_state =
+   to_intel_crtc_state(crtc->base.state);
+   enum pipe pipe = crtc->pipe;
+   enum plane_id plane_id;
+
seq_printf(m, "Pipe %c\n", pipe_name(pipe));
 
-   for_each_universal_plane(dev_priv, pipe, plane) {
-   entry = &ddb->plane[pipe][plane];
-   seq_printf(m, "  Plane%-8d%8u%8u%8u\n", plane + 1,
+   for_each_plane_id_on_crtc(crtc, plane_id) {
+   entry = &crtc_state->wm.skl.plane_ddb_y[plane_id];
+   seq_printf(m, "  Plane%-8d%8u%8u%8u\n", plane_id + 1,
   entry->start, entry->end,
   skl_ddb_entry_size(entry));
}
 
-   entry = &ddb->plane[pipe][PLANE_CURSOR];
+   entry = &crtc_state->wm.skl.plane_ddb_y[PLANE_CURSOR];
seq_printf(m, "  %-13s%8u%8u%8u\n", "Cursor", entry->start,
   entry->end, skl_ddb_entry_size(entry));
}
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 2a88a7eb871b..17023a869091 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1236,9 +1236,6 @@ static inline bool skl_ddb_entry_equal(const struct 
skl_ddb_entry *e1,
 }
 
 struct skl_ddb_allocation {
-   /* packed/y */
-   struct skl_ddb_entry plane[I915_MAX_PIPES][I915_MAX_PLANES];
-   struct skl_ddb_entry uv_plane[I915_MAX_PIPES][I915_MAX_PLANES];
u8 enabled_slices; /* GEN11 has configurable 2 slices */
 };
 
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index ac3687a0245d..f497bb521baf 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10040,6 +10040,10 @@ static void i9xx_update_cursor(struct intel_plane 
*plane,
 * except when the plane is getting enabled at which time
 * the CURCNTR write arms the update.
 */
+
+   if (INTEL_GEN(dev_priv) >= 9)
+   skl_write_cursor_wm(plane, crtc_state);
+
if (plane->cursor.base != base ||
plane->cursor.size != fbc_ctl ||
plane->cursor.cntl != cntl) {
@@ -11829,6 +11833,8 @@ static void verify_wm_state(struct drm_crtc *crtc,
struct skl_pipe_wm hw_wm, *sw_wm;
struct skl_plane_wm *hw_plane_wm, *sw_plane_wm;
struct skl_ddb_entry *hw_ddb_entry, *sw_ddb_entry;
+   struct skl_ddb_entry hw_ddb_y[I915_MAX_PLANES];
+   struct skl_ddb_entry hw_ddb_uv[I915_MAX_PLANES];
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
const enum pipe pipe = intel_crtc->pipe;
int plane, level, max_level = ilk_wm_max_level(dev_priv);
@@ -11839,6 +11845,8 @@ static void verify_wm_state(struct drm_crtc *crtc,
skl_pipe_wm_get_hw_state(crtc, &hw_wm);
sw_wm = &to_intel_crtc_state(new_state)->wm.skl.optimal;
 
+   skl_pipe_ddb_get_hw_state(intel_crtc, hw_ddb_y, hw_dd

Re: [Intel-gfx] [PATCH] drm/i915/icl: Fix power well 2 wrt. DC-off toggling order

2018-11-07 Thread Ville Syrjälä
On Fri, Nov 02, 2018 at 08:22:00PM +0200, Imre Deak wrote:
> To enable DC5/6 power well 2 has to be disabled as for previous
> platforms, so fix things up.
> 
> Bspec: 4234
> Fixes: 67ca07e7ac10 ("drm/i915/icl: Add power well support")
> Cc: Animesh Manna 
> Cc: Paulo Zanoni 
> Cc: Ville Syrjälä 
> Signed-off-by: Imre Deak 

Reviewed-by: Ville Syrjälä 

> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
> b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 763912c0245c..c9c1477e648b 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -2799,6 +2799,12 @@ static const struct i915_power_well_desc 
> icl_power_wells[] = {
>   },
>   },
>   {
> + .name = "DC off",
> + .domains = ICL_DISPLAY_DC_OFF_POWER_DOMAINS,
> + .ops = &gen9_dc_off_power_well_ops,
> + .id = DISP_PW_ID_NONE,
> + },
> + {
>   .name = "power well 2",
>   .domains = ICL_PW_2_POWER_DOMAINS,
>   .ops = &hsw_power_well_ops,
> @@ -2810,12 +2816,6 @@ static const struct i915_power_well_desc 
> icl_power_wells[] = {
>   },
>   },
>   {
> - .name = "DC off",
> - .domains = ICL_DISPLAY_DC_OFF_POWER_DOMAINS,
> - .ops = &gen9_dc_off_power_well_ops,
> - .id = DISP_PW_ID_NONE,
> - },
> - {
>   .name = "power well 3",
>   .domains = ICL_PW_3_POWER_DOMAINS,
>   .ops = &hsw_power_well_ops,
> -- 
> 2.13.2

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


Re: [Intel-gfx] [PATCH v5 5/5] drm/i915: Add short HPD IRQ storm detection for non-MST systems

2018-11-07 Thread Ville Syrjälä
On Tue, Nov 06, 2018 at 04:30:16PM -0500, Lyude Paul wrote:
> Unfortunately, it seems that the HPD IRQ storm problem from the early
> days of Intel GPUs was never entirely solved, only mostly. Within the
> last couple of days, I got a bug report from one of our customers who
> had been having issues with their machine suddenly booting up very
> slowly after having updated. The amount of time it took to boot went
> from around 30 seconds, to over 6 minutes consistently.
> 
> After some investigation, I discovered that i915 was reporting massive
> amounts of short HPD IRQ spam on this system from the DisplayPort port,
> despite there not being anything actually connected. The symptoms would
> start with one "long" HPD IRQ being detected at boot:
> 
> [1.891398] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 
> 0x0044, dig 0x0044, pins 0x00a0
> [1.891436] [drm:intel_hpd_irq_handler [i915]] digital hpd port B - long
> [1.891472] [drm:intel_hpd_irq_handler [i915]] Received HPD interrupt on 
> PIN 5 - cnt: 0
> [1.891508] [drm:intel_hpd_irq_handler [i915]] digital hpd port D - long
> [1.891544] [drm:intel_hpd_irq_handler [i915]] Received HPD interrupt on 
> PIN 7 - cnt: 0
> [1.891592] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port B - long
> [1.891628] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port D - long
> …
> 
> followed by constant short IRQs afterwards:
> 
> [1.895091] [drm:intel_encoder_hotplug [i915]] [CONNECTOR:66:DP-1] status 
> updated from unknown to disconnected
> [1.895129] [drm:i915_hotplug_work_func [i915]] Connector DP-3 (pin 7) 
> received hotplug event.
> [1.895165] [drm:intel_dp_detect [i915]] [CONNECTOR:72:DP-3]
> [1.895275] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 
> 0x0020, dig 0x0020, pins 0x0080
> [1.895312] [drm:intel_hpd_irq_handler [i915]] digital hpd port D - short
> [1.895762] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 
> 0x0020, dig 0x0020, pins 0x0080
> [1.895799] [drm:intel_hpd_irq_handler [i915]] digital hpd port D - short
> [1.896239] [drm:intel_dp_aux_xfer [i915]] dp_aux_ch timeout status 
> 0x71450085
> [1.896293] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 
> 0x0020, dig 0x0020, pins 0x0080
> [1.896330] [drm:intel_hpd_irq_handler [i915]] digital hpd port D - short
> [1.896781] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 
> 0x0020, dig 0x0020, pins 0x0080
> [1.896817] [drm:intel_hpd_irq_handler [i915]] digital hpd port D - short
> [1.897275] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 
> 0x0020, dig 0x0020, pins 0x0080
> 
> The customer's system in question has a GM45 GPU, which is apparently
> well known for hotplugging storms.
> 
> So, workaround this impressively broken hardware by changing the default
> HPD storm threshold from 5 to 50. Then, make long IRQs count for 10, and
> short IRQs count for 1. This makes it so that 5 long IRQs will trigger
> an HPD storm, and on systems with short HPD storm detection 50 short
> IRQs will trigger an HPD storm. 50 short IRQs amounts to 100ms of
> constant pulsing, which seems like a good middleground between being too
> sensitive and not being sensitive enough (which would cause visible
> stutters in userspace every time a storm occurs).
> 
> And just to be extra safe: we don't enable this by default on systems
> with MST support. There's too high of a chance of MST support triggering
> storm detection, and systems that are new enough to support MST are a
> lot less likely to have issues with IRQ storms anyway.
> 
> As a note: this patch was tested using a ThinkPad T450s and a Chamelium
> to simulate the short IRQ storms.
> 
> Changes since v1:
> - Don't use two separate thresholds, just make long IRQs count for 10
>   each and short IRQs count for 1. This simplifies the code a bit
>   - Ville Syrjälä
> Changes since v2:
> - Document @long_hpd in intel_hpd_irq_storm_detect, no functional
>   changes
> Changes since v4:
> - Remove !! in long_hpd assignment - Ville Syrjälä
> - queue_hp = true - Ville Syrjälä
> 
> Signed-off-by: Lyude Paul 
> Cc: Ville Syrjälä 
> Cc: Rodrigo Vivi 

lgtm

Reviewed-by: Ville Syrjälä 

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c  | 74 
>  drivers/gpu/drm/i915/i915_drv.h  |  5 +-
>  drivers/gpu/drm/i915/i915_irq.c  |  7 +++
>  drivers/gpu/drm/i915/intel_hotplug.c | 50 +++
>  4 files changed, 115 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index f60485906f7e..670db5073d70 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -4658,6 +4658,79 @@ static const struct file_operations 
> i915_hpd_storm_ctl_fops = {
>   .write = i915_hpd_storm_ctl_write
>  };
>  
> +stati

Re: [Intel-gfx] [PATCH 03/14] drm/i915: Remove the PS_PWR_GATE write from skl_program_scaler()

2018-11-07 Thread Rodrigo Vivi
On Thu, Nov 01, 2018 at 05:05:54PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> If we don't need the PS_PWR_GATE write when programming the
> pipe scaler I don't see why we'd need it for plane scalers either.
> Just remove it.
> 
> Signed-off-by: Ville Syrjälä 


Reviewed-by: Rodrigo Vivi 

> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
> b/drivers/gpu/drm/i915/intel_sprite.c
> index a1e215636331..399d44c57a7d 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -354,7 +354,6 @@ skl_program_scaler(struct intel_plane *plane,
>  
>   I915_WRITE_FW(SKL_PS_CTRL(pipe, scaler_id),
> PS_SCALER_EN | PS_PLANE_SEL(plane->id) | scaler->mode);
> - I915_WRITE_FW(SKL_PS_PWR_GATE(pipe, scaler_id), 0);
>   I915_WRITE_FW(SKL_PS_VPHASE(pipe, scaler_id),
> PS_Y_PHASE(y_vphase) | PS_UV_RGB_PHASE(uv_rgb_vphase));
>   I915_WRITE_FW(SKL_PS_HPHASE(pipe, scaler_id),
> -- 
> 2.18.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Program SKL+ watermarks/ddb more carefully (rev6)

2018-11-07 Thread Patchwork
== Series Details ==

Series: drm/i915: Program SKL+ watermarks/ddb more carefully (rev6)
URL   : https://patchwork.freedesktop.org/series/51878/
State : failure

== Summary ==

Applying: drm/i915: Nuke posting reads from plane update/disable funcs
error: sha1 information is lacking or useless 
(drivers/gpu/drm/i915/intel_display.c).
error: could not build fake ancestor
Patch failed at 0001 drm/i915: Nuke posting reads from plane update/disable 
funcs
Use 'git am --show-current-patch' to see the failed patch
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 04/14] drm/i915: Polish the skl+ plane keyval/msk/max register setup

2018-11-07 Thread Rodrigo Vivi
On Thu, Nov 01, 2018 at 05:05:55PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> Due to the constant alpha we're going to have to program two of
> the the tree keying registers anyway, so might as well always
> program all three.
> 
> And parametrize the plane constant alpha define while at it.
> 
> Signed-off-by: Ville Syrjälä 

I'm not 100% confident we can just ignore the key->flags,
but I couldn't convince me that we need that either.

And clean-up by itself looks good, so:

Reviewed-by: Rodrigo Vivi 



> ---
>  drivers/gpu/drm/i915/i915_reg.h |  2 +-
>  drivers/gpu/drm/i915/intel_sprite.c | 22 +-
>  2 files changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 8d089ef848b2..b6ee863b5df2 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -6545,7 +6545,7 @@ enum {
>  #define  PLANE_KEYMSK_ALPHA_ENABLE   (1 << 31)
>  #define _PLANE_KEYMAX_1_A0x701a0
>  #define _PLANE_KEYMAX_2_A0x702a0
> -#define  PLANE_KEYMAX_ALPHA_SHIFT24
> +#define  PLANE_KEYMAX_ALPHA(a)   ((a) << 24)
>  #define _PLANE_AUX_DIST_1_A  0x701c0
>  #define _PLANE_AUX_DIST_2_A  0x702c0
>  #define _PLANE_AUX_OFFSET_1_A0x701c4
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
> b/drivers/gpu/drm/i915/intel_sprite.c
> index 399d44c57a7d..b36238282b4e 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -382,31 +382,27 @@ skl_program_plane(struct intel_plane *plane,
>   uint32_t src_w = drm_rect_width(&plane_state->base.src) >> 16;
>   uint32_t src_h = drm_rect_height(&plane_state->base.src) >> 16;
>   struct intel_plane *linked = plane_state->linked_plane;
> + u8 alpha = plane_state->base.alpha >> 8;
>   unsigned long irqflags;
> - u32 keymsk = 0, keymax = 0;
> + u32 keymsk, keymax;
>  
>   /* Sizes are 0 based */
>   src_w--;
>   src_h--;
>  
> + keymax = (key->max_value & 0xff) | PLANE_KEYMAX_ALPHA(alpha);
> +
> + keymsk = key->channel_mask & 0x3ff;
> + if (alpha < 0xff)
> + keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
> +
>   spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
>  
>   if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>   I915_WRITE_FW(PLANE_COLOR_CTL(pipe, plane_id),
> plane_state->color_ctl);
>  
> - if (key->flags) {
> - I915_WRITE_FW(PLANE_KEYVAL(pipe, plane_id), key->min_value);
> -
> - keymax |= key->max_value & 0xff;
> - keymsk |= key->channel_mask & 0x3ff;
> - }
> -
> - keymax |= (plane_state->base.alpha >> 8) << PLANE_KEYMAX_ALPHA_SHIFT;
> -
> - if (plane_state->base.alpha < 0xff00)
> - keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
> -
> + I915_WRITE_FW(PLANE_KEYVAL(pipe, plane_id), key->min_value);
>   I915_WRITE_FW(PLANE_KEYMAX(pipe, plane_id), keymax);
>   I915_WRITE_FW(PLANE_KEYMSK(pipe, plane_id), keymsk);
>  
> -- 
> 2.18.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm: Check if primary mst is null

2018-11-07 Thread Lyude Paul
Thanks for noticing this one! With the changes that Ville mentioned in their
response:

Reviewed-by: Lyude Paul 

If you need me to push this for you; poke me here or on IRC

On Wed, 2018-11-07 at 18:11 +0200, Stanislav Lisovskiy wrote:
> Unfortunately drm_dp_get_mst_branch_device which is called from both
> drm_dp_mst_handle_down_rep and drm_dp_mst_handle_up_rep seem to rely
> on that mgr->mst_primary is not NULL, which seem to be wrong as it can be
> cleared with simultaneous mode set, if probing fails or in other case.
> mgr->lock mutex doesn't protect against that as it might just get assigned
> to NULL
> right before, not simultaneously.
> There are currently bugs 107738, 108816 bugs which crash in
> drm_dp_get_mst_branch_device, caused by this issue.
> 
> Signed-off-by: Stanislav Lisovskiy 
> ---
>  drivers/gpu/drm/drm_dp_mst_topology.c | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c
> b/drivers/gpu/drm/drm_dp_mst_topology.c
> index 5ff1d79b86c4..fb90ed4cdc3a 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -1273,6 +1273,12 @@ static struct drm_dp_mst_branch
> *drm_dp_get_mst_branch_device(struct drm_dp_mst_
>   /* find the port by iterating down */
>  
>   mutex_lock(&mgr->lock);
> +
> + if (!mgr->mst_primary) {
> + mstb = NULL;
> + goto out;
> + }
> +
>   mstb = mgr->mst_primary;
>  
>   for (i = 0; i < lct - 1; i++) {
-- 
Cheers,
Lyude Paul

___
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: Clean up skl+ PLANE_POS vs. scaler handling

2018-11-07 Thread Rodrigo Vivi
On Thu, Nov 01, 2018 at 05:05:56PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä 
> 
> On skl+ the scaler (when enabled) will take care of the plane output
> position. Make the code less ugly by just setting crtc_x/y to 0
> when the scaler is enabled.
> 
> Signed-off-by: Ville Syrjälä 

Reviewed-by: Rodrigo Vivi 

> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 16 +---
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
> b/drivers/gpu/drm/i915/intel_sprite.c
> index b36238282b4e..8a40879abe30 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -396,6 +396,12 @@ skl_program_plane(struct intel_plane *plane,
>   if (alpha < 0xff)
>   keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
>  
> + /* The scaler will handle the output position */
> + if (plane_state->scaler_id >= 0) {
> + crtc_x = 0;
> + crtc_y = 0;
> + }
> +
>   spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
>  
>   if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
> @@ -438,14 +444,10 @@ skl_program_plane(struct intel_plane *plane,
>   I915_WRITE_FW(PLANE_CUS_CTL(pipe, plane_id), cus_ctl);
>   }
>  
> - if (plane_state->scaler_id >= 0) {
> - if (!slave)
> - skl_program_scaler(plane, crtc_state, plane_state);
> + if (!slave && plane_state->scaler_id >= 0)
> + skl_program_scaler(plane, crtc_state, plane_state);
>  
> - I915_WRITE_FW(PLANE_POS(pipe, plane_id), 0);
> - } else {
> - I915_WRITE_FW(PLANE_POS(pipe, plane_id), (crtc_y << 16) | 
> crtc_x);
> - }
> + I915_WRITE_FW(PLANE_POS(pipe, plane_id), (crtc_y << 16) | crtc_x);
>  
>   I915_WRITE_FW(PLANE_CTL(pipe, plane_id), plane_ctl);
>   I915_WRITE_FW(PLANE_SURF(pipe, plane_id),
> -- 
> 2.18.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 2/2] drm/i915/icl: Fix PLL mapping sanitization for DP ports

2018-11-07 Thread Imre Deak
We shouldn't consider an encoder inactive if it doesn't have a CRTC
linked, but has virtual MST encoders with a crtc linked. Fix this.

Also we should not sanitize the mapping for MST encoders, as it's always
their primary encoder (which could be even in SST mode) whose active
state determines if we need the clock being enabled for the
corresponding physical port. Fix this too.

This fixes at least an existing breakage where we incorrectly disabled
the clock for an active DP encoder when sanitizing its MST virtual
encoders. Not sure if there are BIOSes that enable an output in MST
mode, but our HW readout is mostly missing for it anyway, so just warn
for that case.

Fixes: 70332ac539c5 ("drm/i915/icl+: Sanitize port to PLL mapping")
Cc: Antonio Argenziano 
Cc: Paulo Zanoni 
Cc: Ville Syrjälä 
Cc: José Roberto de Souza 
Cc: Rodrigo Vivi 
Reported-by: Antonio Argenziano 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_ddi.c | 27 +--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index abc51693eec9..4913bbdac843 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2853,9 +2853,32 @@ void icl_unmap_plls_to_ports(struct drm_crtc *crtc,
 void icl_sanitize_encoder_pll_mapping(struct intel_encoder *encoder)
 {
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
-   u32 val = I915_READ(DPCLKA_CFGCR0_ICL);
+   u32 val;
enum port port = encoder->port;
-   bool clk_enabled = !(val & icl_dpclka_cfgcr0_clk_off(dev_priv, port));
+   bool clk_enabled;
+
+   /*
+* In case of DP MST, we sanitize the primary encoder only, not the
+* virtual ones.
+*/
+   if (encoder->type == INTEL_OUTPUT_DP_MST)
+   return;
+
+   val = I915_READ(DPCLKA_CFGCR0_ICL);
+   clk_enabled = !(val & icl_dpclka_cfgcr0_clk_off(dev_priv, port));
+
+   if (!encoder->base.crtc && intel_encoder_is_dp(encoder)) {
+   u8 pipe_mask;
+   bool is_mst;
+
+   intel_ddi_get_encoder_pipes(encoder, &pipe_mask, &is_mst);
+   /*
+* In the unlikely case that BIOS enables DP in MST mode, just
+* warn since our MST HW readout is incomplete.
+*/
+   if (WARN_ON(is_mst))
+   return;
+   }
 
if (clk_enabled == !!encoder->base.crtc)
return;
-- 
2.13.2

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


[Intel-gfx] [PATCH 1/2] drm/i915/ddi: Add more sanity check to the encoder HW readout

2018-11-07 Thread Imre Deak
Check for reserved register field values and conflicting
transcoder->port mappings (both MST and non-MST mappings or multiple SST
mappings).

This is also needed for the next patch to determine if a port is in MST
mode during sanitization after HW readout.

Cc: Paulo Zanoni 
Cc: Ville Syrjälä 
Cc: José Roberto de Souza 
Cc: Rodrigo Vivi 
Cc: Antonio Argenziano 
Signed-off-by: Imre Deak 
---
 drivers/gpu/drm/i915/intel_ddi.c | 76 +++-
 1 file changed, 52 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index ab9a36c4ba3b..abc51693eec9 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2005,24 +2005,24 @@ bool intel_ddi_connector_get_hw_state(struct 
intel_connector *intel_connector)
return ret;
 }
 
-bool intel_ddi_get_hw_state(struct intel_encoder *encoder,
-   enum pipe *pipe)
+static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
+   u8 *pipe_mask, bool *is_dp_mst)
 {
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
enum port port = encoder->port;
enum pipe p;
u32 tmp;
-   bool ret;
+   u8 mst_pipe_mask;
+
+   *pipe_mask = 0;
+   *is_dp_mst = false;
 
if (!intel_display_power_get_if_enabled(dev_priv,
encoder->power_domain))
-   return false;
-
-   ret = false;
+   return;
 
tmp = I915_READ(DDI_BUF_CTL(port));
-
if (!(tmp & DDI_BUF_CTL_ENABLE))
goto out;
 
@@ -2030,44 +2030,58 @@ bool intel_ddi_get_hw_state(struct intel_encoder 
*encoder,
tmp = I915_READ(TRANS_DDI_FUNC_CTL(TRANSCODER_EDP));
 
switch (tmp & TRANS_DDI_EDP_INPUT_MASK) {
+   default:
+   MISSING_CASE(tmp & TRANS_DDI_EDP_INPUT_MASK);
+   /* fallthrough */
case TRANS_DDI_EDP_INPUT_A_ON:
case TRANS_DDI_EDP_INPUT_A_ONOFF:
-   *pipe = PIPE_A;
+   *pipe_mask = BIT(PIPE_A);
break;
case TRANS_DDI_EDP_INPUT_B_ONOFF:
-   *pipe = PIPE_B;
+   *pipe_mask = BIT(PIPE_B);
break;
case TRANS_DDI_EDP_INPUT_C_ONOFF:
-   *pipe = PIPE_C;
+   *pipe_mask = BIT(PIPE_C);
break;
}
 
-   ret = true;
-
goto out;
}
 
+   mst_pipe_mask = 0;
for_each_pipe(dev_priv, p) {
-   enum transcoder cpu_transcoder = (enum transcoder) p;
+   enum transcoder cpu_transcoder = (enum transcoder)p;
 
tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
 
-   if ((tmp & TRANS_DDI_PORT_MASK) == TRANS_DDI_SELECT_PORT(port)) 
{
-   if ((tmp & TRANS_DDI_MODE_SELECT_MASK) ==
-   TRANS_DDI_MODE_SELECT_DP_MST)
-   goto out;
+   if ((tmp & TRANS_DDI_PORT_MASK) != TRANS_DDI_SELECT_PORT(port))
+   continue;
 
-   *pipe = p;
-   ret = true;
+   if ((tmp & TRANS_DDI_MODE_SELECT_MASK) ==
+   TRANS_DDI_MODE_SELECT_DP_MST)
+   mst_pipe_mask |= BIT(p);
 
-   goto out;
-   }
+   *pipe_mask |= BIT(p);
}
 
-   DRM_DEBUG_KMS("No pipe for ddi port %c found\n", port_name(port));
+   if (!*pipe_mask)
+   DRM_DEBUG_KMS("No pipe for ddi port %c found\n",
+ port_name(port));
+
+   if (!mst_pipe_mask && hweight8(*pipe_mask) > 1) {
+   DRM_DEBUG_KMS("Multiple pipes for non DP-MST port %c (pipe_mask 
%02x)\n",
+ port_name(port), *pipe_mask);
+   *pipe_mask = BIT(ffs(*pipe_mask) - 1);
+   }
+
+   if (mst_pipe_mask && mst_pipe_mask != *pipe_mask)
+   DRM_DEBUG_KMS("Conflicting MST and non-MST encoders for port %c 
(pipe_mask %02x mst_pipe_mask %02x)\n",
+ port_name(port), *pipe_mask, mst_pipe_mask);
+   else
+   *is_dp_mst = mst_pipe_mask;
 
 out:
-   if (ret && IS_GEN9_LP(dev_priv)) {
+   if (*pipe_mask && IS_GEN9_LP(dev_priv)) {
tmp = I915_READ(BXT_PHY_CTL(port));
if ((tmp & (BXT_PHY_CMNLANE_POWERDOWN_ACK |
BXT_PHY_LANE_POWERDOWN_ACK |
@@ -2077,8 +2091,22 @@ bool intel_ddi_get_hw_state(struct intel_encoder 
*encoder,
}
 
intel_display_power_put(dev_priv, encoder->power_domain);
+}
 
-   return ret;
+bool intel_ddi_get_hw_state(struct intel_encoder *e

Re: [Intel-gfx] [PULL] drm-misc-next

2018-11-07 Thread Daniel Vetter
On Wed, Nov 07, 2018 at 12:58:56PM +0100, Maarten Lankhorst wrote:
> Hey Dave,
> 
> First pull for drm-next this cycle. There's been a lot of changes, so I
> hope I recorded everything from the changelog correctly.
> 
> drm-misc-next-2018-11-07:
> drm-misc-next for v4.21, part 1:
> 
> UAPI Changes:
> - Add syncobj timeline support to drm.

With all the CI breakage this caused I kinda missed that it didn't get
reverted. But afaict this didn't have the ack from anv/radv folks (which I
explicitly asked for as part of what I think should be the merge
criteria), and I'm not sure where the userspace is, and this here isn't
just prep, but already adds new uapi.

The prep work is imo totally ok to keep, but the uapi side seems rather
questionable.
-Daniel

> 
> Cross-subsystem Changes:
> - Remove shared fence staging in dma-buf's fence object, and allow
>   reserving more than 1 fence and add more paranoia when debugging.
> - Constify infoframe functions in video/hdmi.
> 
> Core Changes:
> - Add vkms todo, and a lot of assorted doc fixes.
> - Drop transitional helpers and convert drivers to use 
> drm_atomic_helper_shutdown().
> - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> - Refactor drm selftests, and add new tests.
> - DP MST atomic state cleanups.
> - Drop EXPORT_SYMBOL from drm leases.
> - Lease cleanups and fixes.
> - Create render node for vgem.
> 
> Driver Changes:
> - Fix build failure in imx without fbdev emulation.
> - Add rotation quirk for GPD win2 panel.
> - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
>   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
>   Himax HX8357D, simulated RTSM AEMv8.
> - Add dw_hdmi support to rockchip driver.
> - Fix YUV support in vc4.
> - Fix resource id handling in virtio.
> - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
> - Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup().
> - Add Mali linear tiled formats, and enable them in the Mali-DP driver.
> - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
> - Assorted driver cleanups and fixes.
> 
> The following changes since commit f2bfc71aee75feff33ca659322b72ffeed5a243d:
> 
>   Merge tag 'drm-intel-next-fixes-2018-10-18' of 
> git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-10-19 
> 14:28:11 +1000)
> 
> are available in the Git repository at:
> 
>   git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-11-07
> 
> for you to fetch changes up to e7afb623b4fb82089c9a50c733c740522b8220bc:
> 
>   drm: Add drm_any_plane_has_format() (2018-11-06 21:34:22 +0200)
> 
> 
> drm-misc-next for v4.21, part 1:
> 
> UAPI Changes:
> - Add syncobj timeline support to drm.
> 
> Cross-subsystem Changes:
> - Remove shared fence staging in dma-buf's fence object, and allow
>   reserving more than 1 fence and add more paranoia when debugging.
> - Constify infoframe functions in video/hdmi.
> 
> Core Changes:
> - Add vkms todo, and a lot of assorted doc fixes.
> - Drop transitional helpers and convert drivers to use 
> drm_atomic_helper_shutdown().
> - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> - Refactor drm selftests, and add new tests.
> - DP MST atomic state cleanups.
> - Drop EXPORT_SYMBOL from drm leases.
> - Lease cleanups and fixes.
> - Create render node for vgem.
> 
> Driver Changes:
> - Fix build failure in imx without fbdev emulation.
> - Add rotation quirk for GPD win2 panel.
> - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
>   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
>   Himax HX8357D, simulated RTSM AEMv8.
> - Add dw_hdmi support to rockchip driver.
> - Fix YUV support in vc4.
> - Fix resource id handling in virtio.
> - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
> - Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup().
> - Add Mali linear tiled formats, and enable them in the Mali-DP driver.
> - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
> - Assorted driver cleanups and fixes.
> 
> 
> Aaron Ma (2):
>   vgaarb: Add support for 64-bit frame buffer address
>   vgaarb: Keep adding VGA device in queue
> 
> Abhinav Kumar (2):
>   drm/panel: Add support for Truly NT35597 panel driver
>   dt-bindings: Add Truly NT35597 panel driver bindings
> 
> Alexandru Gheorghe (9):
>   drm: fourcc: Convert drm_format_info kerneldoc to in-line member 
> documentation
>   drm/selftest: Refactor test-drm_plane_helper
>   drm/fourcc: Add char_per_block, block_w and block_h in drm_format_info
>   drm/fourcc: Add fourcc for Mali linear tiled formats
>   drm: mali-dp: Enable Mali-DP t

Re: [Intel-gfx] [PULL] drm-misc-next

2018-11-07 Thread Sean Paul
On Wed, Nov 07, 2018 at 09:18:16PM +0100, Daniel Vetter wrote:
> On Wed, Nov 07, 2018 at 12:58:56PM +0100, Maarten Lankhorst wrote:
> > Hey Dave,
> > 
> > First pull for drm-next this cycle. There's been a lot of changes, so I
> > hope I recorded everything from the changelog correctly.
> > 
> > drm-misc-next-2018-11-07:
> > drm-misc-next for v4.21, part 1:
> > 
> > UAPI Changes:
> > - Add syncobj timeline support to drm.
> 
> With all the CI breakage this caused I kinda missed that it didn't get
> reverted. But afaict this didn't have the ack from anv/radv folks (which I
> explicitly asked for as part of what I think should be the merge
> criteria), and I'm not sure where the userspace is, and this here isn't
> just prep, but already adds new uapi.
> 

+Christian

Can you please land the revert while we get this sorted out?

Sean

> The prep work is imo totally ok to keep, but the uapi side seems rather
> questionable.
> -Daniel
> 
> > 
> > Cross-subsystem Changes:
> > - Remove shared fence staging in dma-buf's fence object, and allow
> >   reserving more than 1 fence and add more paranoia when debugging.
> > - Constify infoframe functions in video/hdmi.
> > 
> > Core Changes:
> > - Add vkms todo, and a lot of assorted doc fixes.
> > - Drop transitional helpers and convert drivers to use 
> > drm_atomic_helper_shutdown().
> > - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> > - Refactor drm selftests, and add new tests.
> > - DP MST atomic state cleanups.
> > - Drop EXPORT_SYMBOL from drm leases.
> > - Lease cleanups and fixes.
> > - Create render node for vgem.
> > 
> > Driver Changes:
> > - Fix build failure in imx without fbdev emulation.
> > - Add rotation quirk for GPD win2 panel.
> > - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
> >   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
> >   Himax HX8357D, simulated RTSM AEMv8.
> > - Add dw_hdmi support to rockchip driver.
> > - Fix YUV support in vc4.
> > - Fix resource id handling in virtio.
> > - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> > - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
> > - Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup().
> > - Add Mali linear tiled formats, and enable them in the Mali-DP driver.
> > - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
> > - Assorted driver cleanups and fixes.
> > 
> > The following changes since commit f2bfc71aee75feff33ca659322b72ffeed5a243d:
> > 
> >   Merge tag 'drm-intel-next-fixes-2018-10-18' of 
> > git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-10-19 
> > 14:28:11 +1000)
> > 
> > are available in the Git repository at:
> > 
> >   git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-11-07
> > 
> > for you to fetch changes up to e7afb623b4fb82089c9a50c733c740522b8220bc:
> > 
> >   drm: Add drm_any_plane_has_format() (2018-11-06 21:34:22 +0200)
> > 
> > 
> > drm-misc-next for v4.21, part 1:
> > 
> > UAPI Changes:
> > - Add syncobj timeline support to drm.
> > 
> > Cross-subsystem Changes:
> > - Remove shared fence staging in dma-buf's fence object, and allow
> >   reserving more than 1 fence and add more paranoia when debugging.
> > - Constify infoframe functions in video/hdmi.
> > 
> > Core Changes:
> > - Add vkms todo, and a lot of assorted doc fixes.
> > - Drop transitional helpers and convert drivers to use 
> > drm_atomic_helper_shutdown().
> > - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> > - Refactor drm selftests, and add new tests.
> > - DP MST atomic state cleanups.
> > - Drop EXPORT_SYMBOL from drm leases.
> > - Lease cleanups and fixes.
> > - Create render node for vgem.
> > 
> > Driver Changes:
> > - Fix build failure in imx without fbdev emulation.
> > - Add rotation quirk for GPD win2 panel.
> > - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
> >   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
> >   Himax HX8357D, simulated RTSM AEMv8.
> > - Add dw_hdmi support to rockchip driver.
> > - Fix YUV support in vc4.
> > - Fix resource id handling in virtio.
> > - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> > - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
> > - Convert many drivers to use atomic helpers, and drm_fbdev_generic_setup().
> > - Add Mali linear tiled formats, and enable them in the Mali-DP driver.
> > - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
> > - Assorted driver cleanups and fixes.
> > 
> > 
> > Aaron Ma (2):
> >   vgaarb: Add support for 64-bit frame buffer address
> >   vgaarb: Keep adding VGA device in queue
> > 
> > Abhinav Kumar (2):
> >   drm/panel: Add support for Truly NT35597 panel driver
> >   dt-bindings: Add Truly NT3559

Re: [Intel-gfx] [PULL] drm-misc-next

2018-11-07 Thread Daniel Vetter
On Wed, Nov 7, 2018 at 9:29 PM Sean Paul  wrote:
>
> On Wed, Nov 07, 2018 at 09:18:16PM +0100, Daniel Vetter wrote:
> > On Wed, Nov 07, 2018 at 12:58:56PM +0100, Maarten Lankhorst wrote:
> > > Hey Dave,
> > >
> > > First pull for drm-next this cycle. There's been a lot of changes, so I
> > > hope I recorded everything from the changelog correctly.
> > >
> > > drm-misc-next-2018-11-07:
> > > drm-misc-next for v4.21, part 1:
> > >
> > > UAPI Changes:
> > > - Add syncobj timeline support to drm.
> >
> > With all the CI breakage this caused I kinda missed that it didn't get
> > reverted. But afaict this didn't have the ack from anv/radv folks (which I
> > explicitly asked for as part of what I think should be the merge
> > criteria), and I'm not sure where the userspace is, and this here isn't
> > just prep, but already adds new uapi.
> >
>
> +Christian
>
> Can you please land the revert while we get this sorted out?

The revert was for the CI breakage, which is sorted out differently
already. That was kinda just my excuse for not being in the loop. For
just the uapi disallowing timeline obj creation and moving the #define
away from the uapi include is all that's really needed.

Assuming of course that I'm not again having my stuff all mixed up :-)
-Daniel

>
> Sean
>
> > The prep work is imo totally ok to keep, but the uapi side seems rather
> > questionable.
> > -Daniel
> >
> > >
> > > Cross-subsystem Changes:
> > > - Remove shared fence staging in dma-buf's fence object, and allow
> > >   reserving more than 1 fence and add more paranoia when debugging.
> > > - Constify infoframe functions in video/hdmi.
> > >
> > > Core Changes:
> > > - Add vkms todo, and a lot of assorted doc fixes.
> > > - Drop transitional helpers and convert drivers to use 
> > > drm_atomic_helper_shutdown().
> > > - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> > > - Refactor drm selftests, and add new tests.
> > > - DP MST atomic state cleanups.
> > > - Drop EXPORT_SYMBOL from drm leases.
> > > - Lease cleanups and fixes.
> > > - Create render node for vgem.
> > >
> > > Driver Changes:
> > > - Fix build failure in imx without fbdev emulation.
> > > - Add rotation quirk for GPD win2 panel.
> > > - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
> > >   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
> > >   Himax HX8357D, simulated RTSM AEMv8.
> > > - Add dw_hdmi support to rockchip driver.
> > > - Fix YUV support in vc4.
> > > - Fix resource id handling in virtio.
> > > - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> > > - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
> > > - Convert many drivers to use atomic helpers, and 
> > > drm_fbdev_generic_setup().
> > > - Add Mali linear tiled formats, and enable them in the Mali-DP driver.
> > > - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
> > > - Assorted driver cleanups and fixes.
> > >
> > > The following changes since commit 
> > > f2bfc71aee75feff33ca659322b72ffeed5a243d:
> > >
> > >   Merge tag 'drm-intel-next-fixes-2018-10-18' of 
> > > git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-10-19 
> > > 14:28:11 +1000)
> > >
> > > are available in the Git repository at:
> > >
> > >   git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-11-07
> > >
> > > for you to fetch changes up to e7afb623b4fb82089c9a50c733c740522b8220bc:
> > >
> > >   drm: Add drm_any_plane_has_format() (2018-11-06 21:34:22 +0200)
> > >
> > > 
> > > drm-misc-next for v4.21, part 1:
> > >
> > > UAPI Changes:
> > > - Add syncobj timeline support to drm.
> > >
> > > Cross-subsystem Changes:
> > > - Remove shared fence staging in dma-buf's fence object, and allow
> > >   reserving more than 1 fence and add more paranoia when debugging.
> > > - Constify infoframe functions in video/hdmi.
> > >
> > > Core Changes:
> > > - Add vkms todo, and a lot of assorted doc fixes.
> > > - Drop transitional helpers and convert drivers to use 
> > > drm_atomic_helper_shutdown().
> > > - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> > > - Refactor drm selftests, and add new tests.
> > > - DP MST atomic state cleanups.
> > > - Drop EXPORT_SYMBOL from drm leases.
> > > - Lease cleanups and fixes.
> > > - Create render node for vgem.
> > >
> > > Driver Changes:
> > > - Fix build failure in imx without fbdev emulation.
> > > - Add rotation quirk for GPD win2 panel.
> > > - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
> > >   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
> > >   Himax HX8357D, simulated RTSM AEMv8.
> > > - Add dw_hdmi support to rockchip driver.
> > > - Fix YUV support in vc4.
> > > - Fix resource id handling in virtio.
> > > - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> > > - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINE

Re: [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: Fix power well 2 wrt. DC-off toggling order

2018-11-07 Thread Imre Deak
On Fri, Nov 02, 2018 at 11:54:51PM +, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/icl: Fix power well 2 wrt. DC-off toggling order
> URL   : https://patchwork.freedesktop.org/series/51971/
> State : success

Thanks for the review, pushed to -dinq.

> 
> == Summary ==
> 
> = CI Bug Log - changes from CI_DRM_5081_full -> Patchwork_10715_full =
> 
> == Summary - WARNING ==
> 
>   Minor unknown changes coming with Patchwork_10715_full need to be verified
>   manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_10715_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_10715_full:
> 
>   === IGT changes ===
> 
>  Warnings 
> 
> igt@kms_cursor_legacy@flip-vs-cursor-crc-legacy:
>   shard-snb:  SKIP -> PASS +3
> 
> igt@perf_pmu@rc6:
>   shard-kbl:  PASS -> SKIP
> 
> 
> == Known issues ==
> 
>   Here are the changes found in Patchwork_10715_full that come from known 
> issues:
> 
>   === IGT changes ===
> 
>  Issues hit 
> 
> igt@gem_exec_schedule@preempt-contexts-render:
>   shard-glk:  PASS -> DMESG-WARN (fdo#106538, fdo#105763) +1
> 
> igt@gem_exec_whisper@normal:
>   shard-skl:  PASS -> TIMEOUT (fdo#108592)
> 
> igt@gem_ppgtt@blt-vs-render-ctxn:
>   shard-kbl:  PASS -> INCOMPLETE (fdo#106887, fdo#103665, 
> fdo#106023)
> 
> igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
>   shard-skl:  NOTRUN -> DMESG-WARN (fdo#107956)
> 
> igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
>   shard-glk:  PASS -> DMESG-WARN (fdo#107956)
> 
> igt@kms_color@pipe-b-ctm-0-75:
>   shard-apl:  PASS -> DMESG-WARN (fdo#103558, fdo#105602) +6
> 
> igt@kms_color@pipe-c-ctm-negative:
>   shard-skl:  PASS -> FAIL (fdo#107361)
> 
> igt@kms_cursor_crc@cursor-64x64-onscreen:
>   shard-glk:  PASS -> FAIL (fdo#103232) +1
> 
> igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
>   shard-glk:  PASS -> FAIL (fdo#105454)
> 
> igt@kms_flip@basic-flip-vs-dpms:
>   shard-kbl:  PASS -> DMESG-WARN (fdo#103313, fdo#105345)
> 
> igt@kms_flip@flip-vs-expired-vblank:
>   shard-glk:  PASS -> FAIL (fdo#105363)
> 
> igt@kms_flip@modeset-vs-vblank-race:
>   shard-glk:  PASS -> FAIL (fdo#103060)
> 
> igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
>   shard-apl:  PASS -> FAIL (fdo#103167)
> 
> igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
>   shard-glk:  PASS -> FAIL (fdo#103167)
> 
> igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
>   shard-glk:  PASS -> DMESG-FAIL (fdo#106538)
> 
> igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
>   shard-skl:  NOTRUN -> FAIL (fdo#108145, fdo#107815)
> 
> igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
>   shard-apl:  PASS -> FAIL (fdo#103166)
> 
> igt@kms_setmode@basic:
>   shard-kbl:  PASS -> FAIL (fdo#99912)
> 
> igt@kms_vblank@pipe-a-wait-idle-hang:
>   shard-glk:  PASS -> INCOMPLETE (fdo#103359, k.org#198133)
> 
> 
>  Possible fixes 
> 
> igt@kms_cursor_crc@cursor-128x128-suspend:
>   shard-skl:  INCOMPLETE (fdo#104108) -> PASS
> 
> igt@kms_cursor_crc@cursor-256x256-sliding:
>   shard-glk:  FAIL (fdo#103232) -> PASS
> 
> igt@kms_cursor_crc@cursor-256x85-random:
>   shard-apl:  FAIL (fdo#103232) -> PASS
> 
> igt@kms_flip@flip-vs-expired-vblank:
>   shard-skl:  FAIL (fdo#105363) -> PASS
> 
> igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
>   shard-glk:  FAIL (fdo#103167) -> PASS
> 
> igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
>   shard-glk:  FAIL (fdo#103166) -> PASS
> 
> igt@pm_rpm@legacy-planes-dpms:
>   shard-skl:  INCOMPLETE (fdo#105959, fdo#107807) -> PASS
> 
> 
>   fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
>   fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
>   fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
>   fdo#103313 https://bugs.freedesktop.org/show_bug.cgi?id=103313
>   fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
>   fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
>   fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
>   fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
>   fdo#105345 https://bugs.freedesktop.org/show_bug.cgi?id=105345
>   fd

Re: [Intel-gfx] [PATCH v2 1/5] drm/i915/icl: Fix combo PHY uninit

2018-11-07 Thread Souza, Jose
On Tue, 2018-11-06 at 18:06 +0200, Imre Deak wrote:
> BSpec says to clear the comp init HW flag too during combo PHY
> uninit,
> so do that. The lack of this could badly interact with the PHY reinit
> after a DC6/9 transition at least, where (after a follow-up patch
> fixing
> the init code) we'd skip the initialization incorrectly due to this
> flag
> being set.
> 
> BSpec: 21257
> Cc: Paulo Zanoni 
> Cc: Ville Syrjälä 

Reviewed-by: José Roberto de Souza 

> Cc: José Roberto de Souza 
> Cc: Rodrigo Vivi  Signed-off-by: Imre Deak 
> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 6c453366cd24..a7eea8423580 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -3668,6 +3668,10 @@ void icl_display_core_uninit(struct
> drm_i915_private *dev_priv)
>   val = I915_READ(ICL_PHY_MISC(port));
>   val |= ICL_PHY_MISC_DE_IO_COMP_PWR_DOWN;
>   I915_WRITE(ICL_PHY_MISC(port), val);
> +
> + val = I915_READ(ICL_PORT_COMP_DW0(port));
> + val &= ~COMP_INIT;
> + I915_WRITE(ICL_PORT_COMP_DW0(port), val);
>   }
>  }
>  


signature.asc
Description: This is a digitally signed message part
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/ddi: Add more sanity check to the encoder HW readout

2018-11-07 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915/ddi: Add more sanity check to the 
encoder HW readout
URL   : https://patchwork.freedesktop.org/series/52187/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5100 -> Patchwork_10758 =

== Summary - FAILURE ==

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

== Possible new issues ==

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

  === IGT changes ===

 Possible regressions 

igt@gem_exec_nop@basic-parallel:
  fi-icl-u:   PASS -> INCOMPLETE


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@gem_ctx_create@basic-files:
  fi-bsw-kefka:   PASS -> FAIL (fdo#108656)

igt@gem_mmap_gtt@basic-small-bo-tiledx:
  fi-glk-dsi: PASS -> INCOMPLETE (fdo#103359, k.org#198133)

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
  fi-byt-clapper: PASS -> FAIL (fdo#103191, fdo#107362)


 Possible fixes 

igt@drv_getparams_basic@basic-subslice-total:
  fi-cfl-8109u:   DMESG-WARN (fdo#106107) -> PASS

igt@drv_selftest@live_coherency:
  fi-gdg-551: DMESG-FAIL (fdo#107164) -> PASS

igt@gem_exec_suspend@basic-s3:
  fi-cfl-8109u:   INCOMPLETE (fdo#108126, fdo#107187) -> PASS

igt@kms_chamelium@common-hpd-after-suspend:
  fi-skl-6700k2:  WARN (fdo#108680) -> PASS

igt@kms_frontbuffer_tracking@basic:
  fi-hsw-peppy:   DMESG-WARN (fdo#102614) -> PASS
  fi-byt-clapper: FAIL (fdo#103167) -> PASS


 Warnings 

igt@drv_selftest@live_contexts:
  fi-icl-u2:  DMESG-FAIL (fdo#108569) -> INCOMPLETE (fdo#108315)


  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#106107 https://bugs.freedesktop.org/show_bug.cgi?id=106107
  fdo#107164 https://bugs.freedesktop.org/show_bug.cgi?id=107164
  fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126
  fdo#108315 https://bugs.freedesktop.org/show_bug.cgi?id=108315
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569
  fdo#108656 https://bugs.freedesktop.org/show_bug.cgi?id=108656
  fdo#108680 https://bugs.freedesktop.org/show_bug.cgi?id=108680
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (54 -> 46) ==

  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-snb-2520m fi-ctg-p8600 fi-pnv-d510 


== Build changes ==

* Linux: CI_DRM_5100 -> Patchwork_10758

  CI_DRM_5100: c5f9a3064d90c86dab99d5aef011b87f6f8921dc @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4712: a3ede1b535ac8137f6949c468edd7054453d5dae @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10758: 60ace73cb0f8e814e6a6e34d6c9775d5fcf077a8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

60ace73cb0f8 drm/i915/icl: Fix PLL mapping sanitization for DP ports
ee7b2ea5708d drm/i915/ddi: Add more sanity check to the encoder HW readout

== Logs ==

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


Re: [Intel-gfx] [PATCH v2 2/5] drm/i915/cnl+: Move the combo PHY init/uninit code to a new file

2018-11-07 Thread Souza, Jose
On Tue, 2018-11-06 at 18:06 +0200, Imre Deak wrote:
> Similarly to the GEN9_LP DPIO PHY code keep the CNL+ combo PHY code
> in a
> separate file.
> 
> No functional change.
> 
> v2:
> - Use SPDX license tag instead of boilerplate. (Rodrigo)
> 
> Suggested-by: Ville Syrjälä 
> Cc: Paulo Zanoni 
> Cc: Ville Syrjälä 

Reviewed-by: José Roberto de Souza 

> Cc: José Roberto de Souza 
> Cc: Rodrigo Vivi 
> Signed-off-by: Imre Deak 
> Reviewed-by: Rodrigo Vivi 
> ---
>  drivers/gpu/drm/i915/Makefile   |   1 +
>  drivers/gpu/drm/i915/i915_drv.h |   6 ++
>  drivers/gpu/drm/i915/intel_combo_phy.c  | 141
> 
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 127 ++--
> 
>  4 files changed, 156 insertions(+), 119 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/intel_combo_phy.c
> 
> diff --git a/drivers/gpu/drm/i915/Makefile
> b/drivers/gpu/drm/i915/Makefile
> index 6fbda5977658..0ff878c994e2 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -113,6 +113,7 @@ i915-y += intel_audio.o \
> intel_bios.o \
> intel_cdclk.o \
> intel_color.o \
> +   intel_combo_phy.o \
> intel_connector.o \
> intel_display.o \
> intel_dpio_phy.o \
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h
> index 2a88a7eb871b..ef47cae13573 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -3571,6 +3571,12 @@ void vlv_phy_pre_encoder_enable(struct
> intel_encoder *encoder,
>  void vlv_phy_reset_lanes(struct intel_encoder *encoder,
>const struct intel_crtc_state
> *old_crtc_state);
>  
> +/* intel_combo_phy.c */
> +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);
> +
>  int intel_gpu_freq(struct drm_i915_private *dev_priv, int val);
>  int intel_freq_opcode(struct drm_i915_private *dev_priv, int val);
>  u64 intel_rc6_residency_ns(struct drm_i915_private *dev_priv,
> diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c
> b/drivers/gpu/drm/i915/intel_combo_phy.c
> new file mode 100644
> index ..8dd0a3c68f01
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_combo_phy.c
> @@ -0,0 +1,141 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright © 2018 Intel Corporation
> + */
> +
> +#include "intel_drv.h"
> +
> +enum {
> + PROCMON_0_85V_DOT_0,
> + PROCMON_0_95V_DOT_0,
> + PROCMON_0_95V_DOT_1,
> + PROCMON_1_05V_DOT_0,
> + PROCMON_1_05V_DOT_1,
> +};
> +
> +static const struct cnl_procmon {
> + u32 dw1, dw9, dw10;
> +} cnl_procmon_values[] = {
> + [PROCMON_0_85V_DOT_0] =
> + { .dw1 = 0x, .dw9 = 0x62AB67BB, .dw10 =
> 0x51914F96, },
> + [PROCMON_0_95V_DOT_0] =
> + { .dw1 = 0x, .dw9 = 0x86E172C7, .dw10 =
> 0x77CA5EAB, },
> + [PROCMON_0_95V_DOT_1] =
> + { .dw1 = 0x, .dw9 = 0x93F87FE1, .dw10 =
> 0x8AE871C5, },
> + [PROCMON_1_05V_DOT_0] =
> + { .dw1 = 0x, .dw9 = 0x98FA82DD, .dw10 =
> 0x89E46DC1, },
> + [PROCMON_1_05V_DOT_1] =
> + { .dw1 = 0x0044, .dw9 = 0x9A00AB25, .dw10 =
> 0x8AE38FF1, },
> +};
> +
> +/*
> + * CNL has just one set of registers, while ICL has two sets: one
> for port A and
> + * the other for port B. The CNL registers are equivalent to the ICL
> port A
> + * registers, that's why we call the ICL macros even though the
> function has CNL
> + * on its name.
> + */
> +static void cnl_set_procmon_ref_values(struct drm_i915_private
> *dev_priv,
> +enum port port)
> +{
> + const struct cnl_procmon *procmon;
> + u32 val;
> +
> + val = I915_READ(ICL_PORT_COMP_DW3(port));
> + switch (val & (PROCESS_INFO_MASK | VOLTAGE_INFO_MASK)) {
> + default:
> + MISSING_CASE(val);
> + /* fall through */
> + case VOLTAGE_INFO_0_85V | PROCESS_INFO_DOT_0:
> + procmon = &cnl_procmon_values[PROCMON_0_85V_DOT_0];
> + break;
> + case VOLTAGE_INFO_0_95V | PROCESS_INFO_DOT_0:
> + procmon = &cnl_procmon_values[PROCMON_0_95V_DOT_0];
> + break;
> + case VOLTAGE_INFO_0_95V | PROCESS_INFO_DOT_1:
> + procmon = &cnl_procmon_values[PROCMON_0_95V_DOT_1];
> + break;
> + case VOLTAGE_INFO_1_05V | PROCESS_INFO_DOT_0:
> + procmon = &cnl_procmon_values[PROCMON_1_05V_DOT_0];
> + break;
> + case VOLTAGE_INFO_1_05V | PROCESS_INFO_DOT_1:
> + procmon = &cnl_procmon_values[PROCMON_1_05V_DOT_1];
> + break;
> + }
> +
> + val = I915_READ(ICL_PORT_COMP_DW1(port));
> + val &= ~((0xff << 16) | 0xff);
> + val |= procmon->dw1;
> + I915_WRITE(ICL_PORT_COMP_

Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/cnl+: Verify combo PHY HW state during PHY uninit

2018-11-07 Thread Souza, Jose
On Tue, 2018-11-06 at 18:06 +0200, Imre Deak wrote:
> Verify on CNL, ICL that the combo PHY HW state stayed intact after
> PHY
> initialization.
> 
> v2:
> - Print 'Port X' as we do elsewhere instead of 'Port-X'. (Jose)
> 
> Cc: Paulo Zanoni 
> Cc: Ville Syrjälä 

Reviewed-by: José Roberto de Souza 

> Cc: José Roberto de Souza 
> Cc: Rodrigo Vivi 
> Signed-off-by: Imre Deak 
> ---
>  drivers/gpu/drm/i915/intel_combo_phy.c | 103
> -
>  1 file changed, 101 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c
> b/drivers/gpu/drm/i915/intel_combo_phy.c
> index 8dd0a3c68f01..83132d763e34 100644
> --- a/drivers/gpu/drm/i915/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/intel_combo_phy.c
> @@ -34,8 +34,8 @@ static const struct cnl_procmon {
>   * registers, that's why we call the ICL macros even though the
> function has CNL
>   * on its name.
>   */
> -static void cnl_set_procmon_ref_values(struct drm_i915_private
> *dev_priv,
> -enum port port)
> +static const struct cnl_procmon *
> +cnl_get_procmon_ref_values(struct drm_i915_private *dev_priv, enum
> port port)
>  {
>   const struct cnl_procmon *procmon;
>   u32 val;
> @@ -62,6 +62,17 @@ static void cnl_set_procmon_ref_values(struct
> drm_i915_private *dev_priv,
>   break;
>   }
>  
> + return procmon;
> +}
> +
> +static void cnl_set_procmon_ref_values(struct drm_i915_private
> *dev_priv,
> +enum port port)
> +{
> + const struct cnl_procmon *procmon;
> + u32 val;
> +
> + procmon = cnl_get_procmon_ref_values(dev_priv, port);
> +
>   val = I915_READ(ICL_PORT_COMP_DW1(port));
>   val &= ~((0xff << 16) | 0xff);
>   val |= procmon->dw1;
> @@ -71,6 +82,63 @@ static void cnl_set_procmon_ref_values(struct
> drm_i915_private *dev_priv,
>   I915_WRITE(ICL_PORT_COMP_DW10(port), procmon->dw10);
>  }
>  
> +static bool check_phy_reg(struct drm_i915_private *dev_priv,
> +   enum port port, i915_reg_t reg, u32 mask,
> +   u32 expected_val)
> +{
> + u32 val = I915_READ(reg);
> +
> + if ((val & mask) != expected_val) {
> + DRM_DEBUG_DRIVER("Port %c combo PHY reg %08x state
> mismatch: "
> +  "current %08x mask %08x expected
> %08x\n",
> +  port_name(port),
> +  reg.reg, val, mask, expected_val);
> + return false;
> + }
> +
> + return true;
> +}
> +
> +static bool cnl_verify_procmon_ref_values(struct drm_i915_private
> *dev_priv,
> +   enum port port)
> +{
> + const struct cnl_procmon *procmon;
> + bool ret;
> +
> + procmon = cnl_get_procmon_ref_values(dev_priv, port);
> +
> + ret = check_phy_reg(dev_priv, port, ICL_PORT_COMP_DW1(port),
> + (0xff << 16) | 0xff, procmon->dw1);
> + ret &= check_phy_reg(dev_priv, port, ICL_PORT_COMP_DW9(port),
> +  -1U, procmon->dw9);
> + ret &= check_phy_reg(dev_priv, port, ICL_PORT_COMP_DW10(port),
> +  -1U, procmon->dw10);
> +
> + return ret;
> +}
> +
> +static bool cnl_combo_phy_enabled(struct drm_i915_private *dev_priv)
> +{
> + return !(I915_READ(CHICKEN_MISC_2) & CNL_COMP_PWR_DOWN) &&
> + (I915_READ(CNL_PORT_COMP_DW0) & COMP_INIT);
> +}
> +
> +static bool cnl_combo_phy_verify_state(struct drm_i915_private
> *dev_priv)
> +{
> + enum port port = PORT_A;
> + bool ret;
> +
> + if (!cnl_combo_phy_enabled(dev_priv))
> + return false;
> +
> + ret = cnl_verify_procmon_ref_values(dev_priv, port);
> +
> + ret &= check_phy_reg(dev_priv, port, CNL_PORT_CL1CM_DW5,
> +  CL_POWER_DOWN_ENABLE,
> CL_POWER_DOWN_ENABLE);
> +
> + return ret;
> +}
> +
>  void cnl_combo_phys_init(struct drm_i915_private *dev_priv)
>  {
>   u32 val;
> @@ -95,11 +163,38 @@ void cnl_combo_phys_uninit(struct
> drm_i915_private *dev_priv)
>  {
>   u32 val;
>  
> + if (!cnl_combo_phy_verify_state(dev_priv))
> + DRM_WARN("Combo PHY HW state changed unexpectedly.\n");
> +
>   val = I915_READ(CHICKEN_MISC_2);
>   val |= CNL_COMP_PWR_DOWN;
>   I915_WRITE(CHICKEN_MISC_2, val);
>  }
>  
> +static bool icl_combo_phy_enabled(struct drm_i915_private *dev_priv,
> +   enum port port)
> +{
> + return !(I915_READ(ICL_PHY_MISC(port)) &
> +  ICL_PHY_MISC_DE_IO_COMP_PWR_DOWN) &&
> + (I915_READ(ICL_PORT_COMP_DW0(port)) & COMP_INIT);
> +}
> +
> +static bool icl_combo_phy_verify_state(struct drm_i915_private
> *dev_priv,
> +enum port port)
> +{
> + bool ret;
> +
> + if (!icl_combo_phy_enabled(dev_priv, port))
> + return false;
> +
> + ret = cnl_verify_procmon_ref_values(dev_priv, port);
> +
> 

Re: [Intel-gfx] [PATCH v2 5/5] drm/i915/icl: Fix port B combo PHY context loss after DC transitions

2018-11-07 Thread Souza, Jose
On Tue, 2018-11-06 at 18:06 +0200, Imre Deak wrote:
> On ICL DMC/PCODE retains the HW context only for port A across DC
> transitions, for the other port B combo PHY, it doesn't. So we need
> to
> do this manually after exiting from DC6. Do the reinit even after
> exiting from DC5, it won't hurt since we only reinit the PHY in case
> it's needed (in case it was disabled to begin with).
> 
> As can be guessed from the bugzilla report leaving the PHY uninited
> will
> lead to a later timeout during the port B specific AUX and DDI_IO
> power
> well enabling.
> 
> v2:
> - Apply the fix on all GEN>=11 platforms. (Rodrigo)
> 
> Bspec: 21257
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108070
> Cc: Paulo Zanoni 
> Cc: Ville Syrjälä 

Reviewed-by: José Roberto de Souza 

> Cc: José Roberto de Souza 
> Cc: Rodrigo Vivi 
> Signed-off-by: Imre Deak 
> Reviewed-by: Rodrigo Vivi 
> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 8 
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index f8da471e81aa..c20f25d6964a 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -843,6 +843,14 @@ static void gen9_dc_off_power_well_enable(struct
> drm_i915_private *dev_priv,
>  
>   if (IS_GEN9_LP(dev_priv))
>   bxt_verify_ddi_phy_power_wells(dev_priv);
> +
> + if (INTEL_GEN(dev_priv) >= 11)
> + /*
> +  * DMC retains HW context only for port A, the other
> combo
> +  * 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);
>  }
>  
>  static void gen9_dc_off_power_well_disable(struct drm_i915_private
> *dev_priv,


signature.asc
Description: This is a digitally signed message part
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PULL] drm-misc-next

2018-11-07 Thread Sean Paul
On Wed, Nov 07, 2018 at 09:31:51PM +0100, Daniel Vetter wrote:
> On Wed, Nov 7, 2018 at 9:29 PM Sean Paul  wrote:
> >
> > On Wed, Nov 07, 2018 at 09:18:16PM +0100, Daniel Vetter wrote:
> > > On Wed, Nov 07, 2018 at 12:58:56PM +0100, Maarten Lankhorst wrote:
> > > > Hey Dave,
> > > >
> > > > First pull for drm-next this cycle. There's been a lot of changes, so I
> > > > hope I recorded everything from the changelog correctly.
> > > >
> > > > drm-misc-next-2018-11-07:
> > > > drm-misc-next for v4.21, part 1:
> > > >
> > > > UAPI Changes:
> > > > - Add syncobj timeline support to drm.
> > >
> > > With all the CI breakage this caused I kinda missed that it didn't get
> > > reverted. But afaict this didn't have the ack from anv/radv folks (which I
> > > explicitly asked for as part of what I think should be the merge
> > > criteria), and I'm not sure where the userspace is, and this here isn't
> > > just prep, but already adds new uapi.
> > >
> >
> > +Christian
> >
> > Can you please land the revert while we get this sorted out?
> 
> The revert was for the CI breakage, which is sorted out differently
> already. That was kinda just my excuse for not being in the loop. For
> just the uapi disallowing timeline obj creation and moving the #define
> away from the uapi include is all that's really needed.

Yeah, the uapi #define looked simple enough to back out. Whatever unblocks us
from moving forward is good with me.

That said, reading through the review thread, this doesn't seem like something
that should have been applied in the first place.

Sean

> 
> Assuming of course that I'm not again having my stuff all mixed up :-)
> -Daniel
> 
> >
> > Sean
> >
> > > The prep work is imo totally ok to keep, but the uapi side seems rather
> > > questionable.
> > > -Daniel
> > >
> > > >
> > > > Cross-subsystem Changes:
> > > > - Remove shared fence staging in dma-buf's fence object, and allow
> > > >   reserving more than 1 fence and add more paranoia when debugging.
> > > > - Constify infoframe functions in video/hdmi.
> > > >
> > > > Core Changes:
> > > > - Add vkms todo, and a lot of assorted doc fixes.
> > > > - Drop transitional helpers and convert drivers to use 
> > > > drm_atomic_helper_shutdown().
> > > > - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> > > > - Refactor drm selftests, and add new tests.
> > > > - DP MST atomic state cleanups.
> > > > - Drop EXPORT_SYMBOL from drm leases.
> > > > - Lease cleanups and fixes.
> > > > - Create render node for vgem.
> > > >
> > > > Driver Changes:
> > > > - Fix build failure in imx without fbdev emulation.
> > > > - Add rotation quirk for GPD win2 panel.
> > > > - Add support for various CDTech panels, Banana Pi Panel, DLC1010GIG,
> > > >   Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA,
> > > >   Himax HX8357D, simulated RTSM AEMv8.
> > > > - Add dw_hdmi support to rockchip driver.
> > > > - Fix YUV support in vc4.
> > > > - Fix resource id handling in virtio.
> > > > - Make rockchip use dw-mipi-dsi bridge driver, and add dual dsi support.
> > > > - Advertise that tinydrm only supports DRM_FORMAT_MOD_LINEAR.
> > > > - Convert many drivers to use atomic helpers, and 
> > > > drm_fbdev_generic_setup().
> > > > - Add Mali linear tiled formats, and enable them in the Mali-DP driver.
> > > > - Add support for H6 DE3 mixer 0, DW HDMI, HDMI PHY and TCON TOP.
> > > > - Assorted driver cleanups and fixes.
> > > >
> > > > The following changes since commit 
> > > > f2bfc71aee75feff33ca659322b72ffeed5a243d:
> > > >
> > > >   Merge tag 'drm-intel-next-fixes-2018-10-18' of 
> > > > git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-10-19 
> > > > 14:28:11 +1000)
> > > >
> > > > are available in the Git repository at:
> > > >
> > > >   git://anongit.freedesktop.org/drm/drm-misc 
> > > > tags/drm-misc-next-2018-11-07
> > > >
> > > > for you to fetch changes up to e7afb623b4fb82089c9a50c733c740522b8220bc:
> > > >
> > > >   drm: Add drm_any_plane_has_format() (2018-11-06 21:34:22 +0200)
> > > >
> > > > 
> > > > drm-misc-next for v4.21, part 1:
> > > >
> > > > UAPI Changes:
> > > > - Add syncobj timeline support to drm.
> > > >
> > > > Cross-subsystem Changes:
> > > > - Remove shared fence staging in dma-buf's fence object, and allow
> > > >   reserving more than 1 fence and add more paranoia when debugging.
> > > > - Constify infoframe functions in video/hdmi.
> > > >
> > > > Core Changes:
> > > > - Add vkms todo, and a lot of assorted doc fixes.
> > > > - Drop transitional helpers and convert drivers to use 
> > > > drm_atomic_helper_shutdown().
> > > > - Move atomic state helper functions to drm_atomic_state_helper.[ch]
> > > > - Refactor drm selftests, and add new tests.
> > > > - DP MST atomic state cleanups.
> > > > - Drop EXPORT_SYMBOL from drm leases.
> > > > - Lease cleanups and fixes.
> > > > - Create render node for vgem.
> > > >
> > > > Driver Changes:
> > > > - F

[Intel-gfx] [PULL] drm-misc-fixes

2018-11-07 Thread Sean Paul

Hi Dave,
First fixes pull for 4.20, some NULL protection for sun4i.


drm-misc-fixes-2018-11-07:
- sun4i: tcon->panel NULL deref protections (Giulio)

Cc: Giulio Benetti 

Cheers, Sean


The following changes since commit 651022382c7f8da46cb4872a545ee1da6d097d2a:

  Linux 4.20-rc1 (2018-11-04 15:37:52 -0800)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2018-11-07

for you to fetch changes up to a8939766c75c06b5a0ab691ecbba9347e4e520cf:

  drm/sun4i: tcon: prevent tcon->panel dereference if NULL (2018-11-06 16:55:29 
+0100)


- sun4i: tcon->panel NULL deref protections (Giulio)

Cc: Giulio Benetti 


Giulio Benetti (2):
  drm/sun4i: tcon: fix check of tcon->panel null pointer
  drm/sun4i: tcon: prevent tcon->panel dereference if NULL

 drivers/gpu/drm/sun4i/sun4i_lvds.c | 4 ++--
 drivers/gpu/drm/sun4i/sun4i_rgb.c  | 4 ++--
 drivers/gpu/drm/sun4i/sun4i_tcon.c | 5 +++--
 3 files changed, 7 insertions(+), 6 deletions(-)

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH 04/14] drm/i915: Polish the skl+ plane keyval/msk/max register setup

2018-11-07 Thread Ville Syrjälä
On Wed, Nov 07, 2018 at 11:55:27AM -0800, Rodrigo Vivi wrote:
> On Thu, Nov 01, 2018 at 05:05:55PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä 
> > 
> > Due to the constant alpha we're going to have to program two of
> > the the tree keying registers anyway, so might as well always
> > program all three.
> > 
> > And parametrize the plane constant alpha define while at it.
> > 
> > Signed-off-by: Ville Syrjälä 
> 
> I'm not 100% confident we can just ignore the key->flags,
> but I couldn't convince me that we need that either.

The colorkey registers should be nops unless we enable the relevant bits
in the control register (skl_plane_ctl()). If not we'd already have a
bug because we were leaving stale values in those registers when
colorkeying was not enabled.

> 
> And clean-up by itself looks good, so:
> 
> Reviewed-by: Rodrigo Vivi 
> 
> 
> 
> > ---
> >  drivers/gpu/drm/i915/i915_reg.h |  2 +-
> >  drivers/gpu/drm/i915/intel_sprite.c | 22 +-
> >  2 files changed, 10 insertions(+), 14 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h 
> > b/drivers/gpu/drm/i915/i915_reg.h
> > index 8d089ef848b2..b6ee863b5df2 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -6545,7 +6545,7 @@ enum {
> >  #define  PLANE_KEYMSK_ALPHA_ENABLE (1 << 31)
> >  #define _PLANE_KEYMAX_1_A  0x701a0
> >  #define _PLANE_KEYMAX_2_A  0x702a0
> > -#define  PLANE_KEYMAX_ALPHA_SHIFT  24
> > +#define  PLANE_KEYMAX_ALPHA(a) ((a) << 24)
> >  #define _PLANE_AUX_DIST_1_A0x701c0
> >  #define _PLANE_AUX_DIST_2_A0x702c0
> >  #define _PLANE_AUX_OFFSET_1_A  0x701c4
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index 399d44c57a7d..b36238282b4e 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -382,31 +382,27 @@ skl_program_plane(struct intel_plane *plane,
> > uint32_t src_w = drm_rect_width(&plane_state->base.src) >> 16;
> > uint32_t src_h = drm_rect_height(&plane_state->base.src) >> 16;
> > struct intel_plane *linked = plane_state->linked_plane;
> > +   u8 alpha = plane_state->base.alpha >> 8;
> > unsigned long irqflags;
> > -   u32 keymsk = 0, keymax = 0;
> > +   u32 keymsk, keymax;
> >  
> > /* Sizes are 0 based */
> > src_w--;
> > src_h--;
> >  
> > +   keymax = (key->max_value & 0xff) | PLANE_KEYMAX_ALPHA(alpha);
> > +
> > +   keymsk = key->channel_mask & 0x3ff;
> > +   if (alpha < 0xff)
> > +   keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
> > +
> > spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
> >  
> > if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
> > I915_WRITE_FW(PLANE_COLOR_CTL(pipe, plane_id),
> >   plane_state->color_ctl);
> >  
> > -   if (key->flags) {
> > -   I915_WRITE_FW(PLANE_KEYVAL(pipe, plane_id), key->min_value);
> > -
> > -   keymax |= key->max_value & 0xff;
> > -   keymsk |= key->channel_mask & 0x3ff;
> > -   }
> > -
> > -   keymax |= (plane_state->base.alpha >> 8) << PLANE_KEYMAX_ALPHA_SHIFT;
> > -
> > -   if (plane_state->base.alpha < 0xff00)
> > -   keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
> > -
> > +   I915_WRITE_FW(PLANE_KEYVAL(pipe, plane_id), key->min_value);
> > I915_WRITE_FW(PLANE_KEYMAX(pipe, plane_id), keymax);
> > I915_WRITE_FW(PLANE_KEYMSK(pipe, plane_id), keymsk);
> >  
> > -- 
> > 2.18.1
> > 
> > ___
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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


Re: [Intel-gfx] [PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations

2018-11-07 Thread Daniel Vetter
On Tue, Nov 06, 2018 at 08:21:14PM -0500, Lyude Paul wrote:
> There has been a TODO waiting for quite a long time in
> drm_dp_mst_topology.c:
> 
>   /* We cannot rely on port->vcpi.num_slots to update
>* topology_state->avail_slots as the port may not exist if the parent
>* branch device was unplugged. This should be fixed by tracking
>* per-port slot allocation in drm_dp_mst_topology_state instead of
>* depending on the caller to tell us how many slots to release.
>*/
> 
> That's not the only reason we should fix this: forcing the driver to
> track the VCPI allocations throughout a state's atomic check is
> error prone, because it means that extra care has to be taken with the
> order that drm_dp_atomic_find_vcpi_slots() and
> drm_dp_atomic_release_vcpi_slots() are called in in order to ensure
> idempotency. Currently the only driver actually using these helpers,
> i915, doesn't even do this correctly: multiple ->best_encoder() checks
> with i915's current implementation would not be idempotent and would
> over-allocate VCPI slots, something I learned trying to implement
> fallback retraining in MST.
> 
> So: simplify this whole mess, and teach drm_dp_atomic_find_vcpi_slots()
> and drm_dp_atomic_release_vcpi_slots() to track the VCPI allocations for
> each port. This allows us to ensure idempotency without having to rely
> on the driver as much. Additionally: the driver doesn't need to do any
> kind of VCPI slot tracking anymore if it doesn't need it for it's own
> internal state.
> 
> Additionally; this adds a new drm_dp_mst_atomic_check() helper which
> must be used by atomic drivers to perform validity checks for the new
> VCPI allocations incurred by a state.
> 
> Also: update the documentation and make it more obvious that these
> /must/ be called by /all/ atomic drivers supporting MST.
> 
> Changes since v2:
>  - Use kmemdup() for duplicating MST state - danvet
>  - Move port validation out of duplicate state callback - danvet
>  - Handle looping through MST topology states in
>drm_dp_mst_atomic_check() so the driver doesn't have to do it
>  - Fix documentation in drm_dp_atomic_find_vcpi_slots()
>  - Move the atomic check for each individual topology state into it's
>own function, reduces indenting
>  - Don't consider "stale" MST ports when calculating the bandwidth
>requirements. This is needed because originally we relied on the
>state duplication functions to prune any stale ports from the new
>state, which would prevent us from incorrectly considering their
>bandwidth requirements alongside legitimate new payloads.
>  - Add function references in drm_dp_atomic_release_vcpi_slots() - danvet
>  - Annotate atomic VCPI and atomic check functions with __must_check
>- danvet
> 
> Changes since v1:
>  - Don't use the now-removed ->atomic_check() for private objects hook,
>just give drivers a function to call themselves
> 
> Signed-off-by: Lyude Paul 
> Cc: Daniel Vetter 
> ---
>  drivers/gpu/drm/drm_dp_mst_topology.c | 222 ++
>  drivers/gpu/drm/i915/intel_display.c  |   4 +
>  drivers/gpu/drm/i915/intel_dp_mst.c   |  31 ++--
>  include/drm/drm_dp_mst_helper.h   |  23 ++-
>  4 files changed, 225 insertions(+), 55 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
> b/drivers/gpu/drm/drm_dp_mst_topology.c
> index 8c3cfac437f4..74823afb262e 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -2614,21 +2614,34 @@ static int drm_dp_init_vcpi(struct 
> drm_dp_mst_topology_mgr *mgr,
>  }
>  
>  /**
> - * drm_dp_atomic_find_vcpi_slots() - Find and add vcpi slots to the state
> + * drm_dp_atomic_find_vcpi_slots() - Find and add VCPI slots to the state
>   * @state: global atomic state
>   * @mgr: MST topology manager for the port
>   * @port: port to find vcpi slots for
>   * @pbn: bandwidth required for the mode in PBN
>   *
> - * RETURNS:
> - * Total slots in the atomic state assigned for this port or error
> + * Allocates VCPI slots to @port, replacing any previous VCPI allocations it
> + * may have had. Any atomic drivers which support MST must call this function
> + * in their &drm_encoder_helper_funcs.atomic_check() callback to change the
> + * current VCPI allocation for the new state. The allocations are not checked
> + * against the bandwidth restraints of @mgr until the driver calls
> + * drm_dp_mst_atomic_check().
> + *
> + * See also:
> + * drm_dp_atomic_release_vcpi_slots()
> + * drm_dp_mst_atomic_check()
> + *
> + * Returns:
> + * Total slots in the atomic state assigned for this port, or a negative 
> error
> + * code if the port no longer exists
>   */
>  int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
> struct drm_dp_mst_topology_mgr *mgr,
> struct drm_dp_mst_port *port, int pbn)
>  {
>   struct drm_dp_mst_topology_state *topology_state;

[Intel-gfx] ✓ Fi.CI.IGT: success for Make GEN macros more similar (rev2)

2018-11-07 Thread Patchwork
== Series Details ==

Series: Make GEN macros more similar (rev2)
URL   : https://patchwork.freedesktop.org/series/51860/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5097_full -> Patchwork_10747_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10747_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10747_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_10747_full:

  === IGT changes ===

 Warnings 

igt@pm_rc6_residency@rc6-accuracy:
  shard-snb:  PASS -> SKIP


== Known issues ==

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

  === IGT changes ===

 Issues hit 

igt@gem_eio@reset-stress:
  shard-apl:  PASS -> INCOMPLETE (fdo#103927) +1

igt@gem_exec_create@madvise:
  shard-apl:  PASS -> DMESG-WARN (fdo#108673)

igt@kms_busy@extended-modeset-hang-newfb-render-a:
  shard-skl:  NOTRUN -> DMESG-WARN (fdo#107956) +1

igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
  shard-apl:  NOTRUN -> DMESG-WARN (fdo#107956)

igt@kms_color@pipe-c-legacy-gamma:
  shard-apl:  PASS -> FAIL (fdo#104782)

igt@kms_cursor_crc@cursor-128x128-onscreen:
  shard-apl:  PASS -> FAIL (fdo#103232)

igt@kms_cursor_crc@cursor-128x128-random:
  shard-skl:  PASS -> FAIL (fdo#103232)

igt@kms_cursor_crc@cursor-64x64-dpms:
  shard-kbl:  PASS -> DMESG-WARN (fdo#105602, fdo#103558) +2

igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
  shard-hsw:  PASS -> FAIL (fdo#105767)

igt@kms_draw_crc@draw-method-xrgb2101010-blt-untiled:
  shard-skl:  PASS -> FAIL (fdo#103184) +1

igt@kms_flip@flip-vs-expired-vblank:
  shard-skl:  PASS -> FAIL (fdo#102887)

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

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
  shard-apl:  PASS -> FAIL (fdo#103167) +2

igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
  shard-glk:  PASS -> FAIL (fdo#103167)

igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt:
  shard-skl:  PASS -> FAIL (fdo#103167) +2

igt@kms_plane@plane-position-covered-pipe-b-planes:
  shard-apl:  PASS -> FAIL (fdo#103166)

igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
  shard-skl:  PASS -> FAIL (fdo#108145, fdo#107815)

igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb:
  shard-skl:  NOTRUN -> FAIL (fdo#108145) +1

igt@kms_properties@connector-properties-atomic:
  shard-skl:  NOTRUN -> FAIL (fdo#108642)

igt@kms_setmode@basic:
  shard-kbl:  PASS -> FAIL (fdo#99912)

igt@pm_rpm@modeset-non-lpsp:
  shard-skl:  NOTRUN -> INCOMPLETE (fdo#107807)

igt@pm_rpm@pc8-residency:
  shard-skl:  SKIP -> INCOMPLETE (fdo#107807)

igt@prime_busy@after-vebox:
  shard-snb:  SKIP -> INCOMPLETE (fdo#105411)


 Possible fixes 

igt@gem_ctx_isolation@vecs0-s3:
  shard-skl:  INCOMPLETE (fdo#107773, fdo#104108) -> PASS

igt@gem_userptr_blits@stress-mm-invalidate-close-overlap:
  shard-apl:  DMESG-WARN -> PASS

igt@kms_available_modes_crc@available_mode_test_crc:
  shard-apl:  FAIL (fdo#106641) -> PASS

igt@kms_color@pipe-a-ctm-max:
  shard-apl:  FAIL (fdo#108147) -> PASS

igt@kms_cursor_crc@cursor-256x256-random:
  shard-apl:  FAIL (fdo#103232) -> PASS +4

igt@kms_flip@flip-vs-expired-vblank-interruptible:
  shard-skl:  FAIL (fdo#105363) -> PASS

igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
  shard-apl:  FAIL (fdo#103167) -> PASS +3

igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
  shard-glk:  FAIL (fdo#103167) -> PASS

igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
  shard-apl:  INCOMPLETE (fdo#103927) -> PASS +1

igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
  shard-skl:  FAIL (fdo#107815) -> PASS

igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
  shard-apl:  FAIL (fdo#103166) -> PASS

igt@kms_plane_multiple@atomic-pipe-a-tiling-yf:
  shard-glk:  FAIL (fdo#103166) -> PASS

igt@kms_vblank@pipe-a-accuracy-idle:
  shard-skl:  FAIL (fdo#102583) -> PASS

igt@pm_rpm@dpms-lpsp:
  shard-skl:  INCOMPLETE (fdo#107807) -> PASS


  fdo#100368 https://bugs.freedesktop.org/show_bug.cg

  1   2   >