Re: [Intel-gfx] [PATCH v4] drm/i915/gvt: Change KVMGT as self load module

2018-12-05 Thread Yuan, Hang
> -Original Message-
> From: intel-gvt-dev [mailto:intel-gvt-dev-boun...@lists.freedesktop.org] On
> Behalf Of Zhenyu Wang
> Sent: Tuesday, December 4, 2018 10:40 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Alex Williamson ; intel-gvt-
> d...@lists.freedesktop.org
> Subject: [PATCH v4] drm/i915/gvt: Change KVMGT as self load module
> 
> This trys to make 'kvmgt' module as self loadable instead of loading by
> i915/gvt device model. So hypervisor specific module could be stand-alone,
> e.g only after loading hypervisor specific module, GVT feature could be
> enabled via specific hypervisor interface, e.g VFIO/mdev.
> 
> So this trys to use hypervisor module register/unregister interface for that.
> Hypervisor module needs to take care of module reference itself when
> working for hypervisor interface, e.g for VFIO/mdev, hypervisor module
> would reference counting mdev when open and release.
> 
> This makes 'kvmgt' module really split from GVT device model. User needs to
> load 'kvmgt' to enable VFIO/mdev interface.
> 
> v4:
> - fix checkpatch warning
> 
> v3:
> - Fix module reference handling for device open and release. Unused
>   mdev devices would be cleaned up in device unregister when module
> unload.
> 
> v2:
> - Fix kvmgt order after i915 for built-in case
> 
> Cc: Alex Williamson 
> Signed-off-by: Zhenyu Wang 
> ---
>  drivers/gpu/drm/i915/Makefile|   1 +
>  drivers/gpu/drm/i915/gvt/Makefile|   1 -
>  drivers/gpu/drm/i915/gvt/gvt.c   | 107 +++
>  drivers/gpu/drm/i915/gvt/gvt.h   |   6 +-
>  drivers/gpu/drm/i915/gvt/hypercall.h |   7 +-
>  drivers/gpu/drm/i915/gvt/kvmgt.c |  21 +-
>  drivers/gpu/drm/i915/gvt/mpt.h   |   3 +
>  drivers/gpu/drm/i915/intel_gvt.c |   9 ---
>  8 files changed, 72 insertions(+), 83 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 0ff878c994e2..ae0d975a6f34 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -195,3 +195,4 @@ endif
>  i915-y += intel_lpe_audio.o
> 
>  obj-$(CONFIG_DRM_I915) += i915.o
> +obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
> diff --git a/drivers/gpu/drm/i915/gvt/Makefile
> b/drivers/gpu/drm/i915/gvt/Makefile
> index b016dc753db9..271fb46d4dd0 100644
> --- a/drivers/gpu/drm/i915/gvt/Makefile
> +++ b/drivers/gpu/drm/i915/gvt/Makefile
> @@ -7,4 +7,3 @@ GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o
> trace_points.o firmware.o \
> 
>  ccflags-y+= -I$(src) -I$(src)/$(GVT_DIR)
>  i915-y   += $(addprefix $(GVT_DIR)/,
> $(GVT_SOURCE))
> -obj-$(CONFIG_DRM_I915_GVT_KVMGT) += $(GVT_DIR)/kvmgt.o
> diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
> index a5b760b7bc10..e1c9c20918af 100644
> --- a/drivers/gpu/drm/i915/gvt/gvt.c
> +++ b/drivers/gpu/drm/i915/gvt/gvt.c
> @@ -187,52 +187,6 @@ static const struct intel_gvt_ops intel_gvt_ops = {
>   .write_protect_handler = intel_vgpu_page_track_handler,  };
> 
> -/**
> - * intel_gvt_init_host - Load MPT modules and detect if we're running in
> host
> - *
> - * This function is called at the driver loading stage. If failed to find a
> - * loadable MPT module or detect currently we're running in a VM, then
> GVT-g
> - * will be disabled
> - *
> - * Returns:
> - * Zero on success, negative error code if failed.
> - *
> - */
> -int intel_gvt_init_host(void)
> -{
> - if (intel_gvt_host.initialized)
> - return 0;
> -
> - /* Xen DOM U */
> - if (xen_domain() && !xen_initial_domain())
> - return -ENODEV;
> -
> - /* Try to load MPT modules for hypervisors */
> - if (xen_initial_domain()) {
> - /* In Xen dom0 */
> - intel_gvt_host.mpt = try_then_request_module(
> - symbol_get(xengt_mpt), "xengt");
> - intel_gvt_host.hypervisor_type =
> INTEL_GVT_HYPERVISOR_XEN;
> - } else {
> -#if IS_ENABLED(CONFIG_DRM_I915_GVT_KVMGT)
> - /* not in Xen. Try KVMGT */
> - intel_gvt_host.mpt = try_then_request_module(
> - symbol_get(kvmgt_mpt), "kvmgt");
> - intel_gvt_host.hypervisor_type =
> INTEL_GVT_HYPERVISOR_KVM;
> -#endif
> - }
> -
> - /* Fail to load MPT modules - bail out */
> - if (!intel_gvt_host.mpt)
> - return -EINVAL;
> -
> - gvt_dbg_core("Running with hypervisor %s in host mode\n",
> -
>   supported_hypervisors[intel_gvt_host.hypervisor_type]);
> -
> - intel_gvt_host.initialized = true;
> - return 0;
> -}
> -
>  static void init_device_info(struct intel_gvt *gvt)  {
>   struct intel_gvt_device_info *info = >device_info; @@ -316,7
> +270,6 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv)
>   return;
> 
>   intel_gvt_destroy_idle_vgpu(gvt->idle_vgpu);
> - intel_gvt_hypervisor_host_exit(_priv->drm.pdev->dev);
>   

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

2018-12-05 Thread Patchwork
== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_5272 -> Patchwork_11029


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Possible fixes 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

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


Participating hosts (48 -> 45)
--

  Additional (1): fi-skl-guc 
  Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


Build changes
-

* Linux: CI_DRM_5272 -> Patchwork_11029

  CI_DRM_5272: 4bb8baa3a7b836ce18e1b27ba12bae2130ee38cc @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11029: 89f3e86e75ec3dec085906163f19e5fdc33546a9 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

89f3e86e75ec drm/i915: merge gen checks to use range
80cf0c99318d drm/i915: replace IS_GEN with IS_GEN(..., N)
9a668a8393e8 drm/i915: Rename IS_GEN to IS_GEN_RANGE

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.IGT: success for ACPI-PMIC + i915: Add support for PMIC MIPI sequences

2018-12-05 Thread Patchwork
== Series Details ==

Series: ACPI-PMIC + i915: Add support for PMIC MIPI sequences
URL   : https://patchwork.freedesktop.org/series/53594/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5267_full -> Patchwork_11025_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-bsd:
- shard-skl:  NOTRUN -> FAIL [fdo#103158]

  * igt@i915_suspend@debugfs-reader:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@kms_available_modes_crc@available_mode_test_crc:
- shard-skl:  NOTRUN -> FAIL [fdo#106641]

  * igt@kms_busy@extended-modeset-hang-newfb-render-a:
- shard-apl:  NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-hang-newfb-render-b:
- shard-apl:  PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-hsw:  PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_chv_cursor_fail@pipe-c-128x128-left-edge:
- shard-skl:  NOTRUN -> FAIL [fdo#104671]

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-skl:  NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-128x128-sliding:
- shard-apl:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x256-dpms:
- shard-glk:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x256-random:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_draw_crc@draw-method-rgb565-mmap-wc-ytiled:
- shard-skl:  PASS -> FAIL [fdo#103184]

  * igt@kms_draw_crc@draw-method-xrgb-mmap-wc-ytiled:
- shard-skl:  NOTRUN -> FAIL [fdo#103184]

  * igt@kms_draw_crc@draw-method-xrgb-pwrite-untiled:
- shard-skl:  PASS -> FAIL [fdo#108472]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
- shard-glk:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite:
- shard-skl:  PASS -> FAIL [fdo#103167] / [fdo#105682]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu:
- shard-skl:  NOTRUN -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render:
- shard-skl:  PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +1

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +1

  * igt@kms_plane@pixel-format-pipe-a-planes:
- shard-skl:  NOTRUN -> FAIL [fdo#103166]

  * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885]

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#104108]

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
- shard-skl:  NOTRUN -> FAIL [fdo#108145] +3

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815] / [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
- shard-apl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-yf:
- shard-glk:  PASS -> FAIL [fdo#103166]

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +3

  * igt@kms_properties@connector-properties-atomic:
- shard-skl:  NOTRUN -> FAIL [fdo#108642]

  * igt@kms_rmfb@rmfb-ioctl:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724]

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724]
- shard-glk:  PASS -> DMESG-WARN [fdo#105763] / [fdo#106538]

  * igt@kms_setmode@basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#99912]

  * igt@pm_backlight@fade_with_dpms:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#107820]

  * igt@pm_rpm@debugfs-read:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * 

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

2018-12-05 Thread Patchwork
== Series Details ==

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

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: Rename IS_GEN to IS_GEN_RANGE
Okay!

Commit: drm/i915: replace IS_GEN with IS_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:3563:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3550:16: warning: expression 
using sizeof(void)

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

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


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

2018-12-05 Thread Patchwork
== Series Details ==

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

== Summary ==

$ dim checkpatch origin/drm-tip
9a668a8393e8 drm/i915: Rename IS_GEN to IS_GEN_RANGE
80cf0c99318d drm/i915: replace IS_GEN with IS_GEN(..., N)
-:7: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#7: 
gen_mask to do the comparison. Now callers can pass then gen as a parameter,

-:265: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'dev_priv' - possible 
side-effects?
#265: FILE: drivers/gpu/drm/i915/i915_drv.h:2375:
+#define IS_GEN9_LP(dev_priv)   (IS_GEN(dev_priv, 9) && IS_LP(dev_priv))

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

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

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

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

total: 0 errors, 1 warnings, 5 checks, 1819 lines checked
89f3e86e75ec drm/i915: merge gen checks to use range

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


[Intel-gfx] [PATCH v3 3/3] drm/i915: merge gen checks to use range

2018-12-05 Thread Lucas De Marchi
Instead of using IS_GEN() for consecutive gen checks, let's pass the
range to IS_GEN_RANGE(). By code inspection these were the ranges deemed
necessary for spatch:

@@
expression e;
@@
(
- IS_GEN(e, 3) || IS_GEN(e, 2)
+ IS_GEN_RANGE(e, 2, 3)
|
- IS_GEN(e, 3) || IS_GEN(e, 4)
+ IS_GEN_RANGE(e, 3, 4)
|
- IS_GEN(e, 5) || IS_GEN(e, 6)
+ IS_GEN_RANGE(e, 5, 6)
|
- IS_GEN(e, 6) || IS_GEN(e, 7)
+ IS_GEN_RANGE(e, 6, 7)
|
- IS_GEN(e, 7) || IS_GEN(e, 8)
+ IS_GEN_RANGE(e, 7, 8)
|
- IS_GEN(e, 8) || IS_GEN(e, 9)
+ IS_GEN_RANGE(e, 8, 9)
|
- IS_GEN(e, 10) || IS_GEN(e, 9)
+ IS_GEN_RANGE(e, 9, 10)
|
- IS_GEN(e, 9) || IS_GEN(e, 10)
+ IS_GEN_RANGE(e, 9, 10)
)

After conversion, checking we don't have any missing IS_GEN_RANGE() ||
IS_GEN() was also done.

Signed-off-by: Lucas De Marchi 
---
 drivers/gpu/drm/i915/i915_debugfs.c| 6 +++---
 drivers/gpu/drm/i915/i915_gpu_error.c  | 2 +-
 drivers/gpu/drm/i915/i915_perf.c   | 2 +-
 drivers/gpu/drm/i915/intel_crt.c   | 2 +-
 drivers/gpu/drm/i915/intel_device_info.c   | 2 +-
 drivers/gpu/drm/i915/intel_display.c   | 2 +-
 drivers/gpu/drm/i915/intel_engine_cs.c | 2 +-
 drivers/gpu/drm/i915/intel_fifo_underrun.c | 2 +-
 drivers/gpu/drm/i915/intel_pipe_crc.c  | 4 ++--
 drivers/gpu/drm/i915/intel_uncore.c| 6 +++---
 10 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 53e3f57a13f3..33ff75c6a4a3 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2034,7 +2034,7 @@ static int i915_swizzle_info(struct seq_file *m, void 
*data)
seq_printf(m, "bit6 swizzle for Y-tiling = %s\n",
   swizzle_string(dev_priv->mm.bit_6_swizzle_y));
 
-   if (IS_GEN(dev_priv, 3) || IS_GEN(dev_priv, 4)) {
+   if (IS_GEN_RANGE(dev_priv, 3, 4)) {
seq_printf(m, "DDC = 0x%08x\n",
   I915_READ(DCC));
seq_printf(m, "DDC2 = 0x%08x\n",
@@ -4268,7 +4268,7 @@ i915_cache_sharing_get(void *data, u64 *val)
struct drm_i915_private *dev_priv = data;
u32 snpcr;
 
-   if (!(IS_GEN(dev_priv, 6) || IS_GEN(dev_priv, 7)))
+   if (!(IS_GEN_RANGE(dev_priv, 6, 7)))
return -ENODEV;
 
intel_runtime_pm_get(dev_priv);
@@ -4288,7 +4288,7 @@ i915_cache_sharing_set(void *data, u64 val)
struct drm_i915_private *dev_priv = data;
u32 snpcr;
 
-   if (!(IS_GEN(dev_priv, 6) || IS_GEN(dev_priv, 7)))
+   if (!(IS_GEN_RANGE(dev_priv, 6, 7)))
return -ENODEV;
 
if (val > 3)
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c 
b/drivers/gpu/drm/i915/i915_gpu_error.c
index ccfd91c72477..581a40ac3591 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -1753,7 +1753,7 @@ static void capture_reg_state(struct i915_gpu_state 
*error)
error->ccid = I915_READ(CCID);
 
/* 3: Feature specific registers */
-   if (IS_GEN(dev_priv, 6) || IS_GEN(dev_priv, 7)) {
+   if (IS_GEN_RANGE(dev_priv, 6, 7)) {
error->gam_ecochk = I915_READ(GAM_ECOCHK);
error->gac_eco = I915_READ(GAC_ECO_BITS);
}
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 6c7992320443..4288c0e02f0c 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -3415,7 +3415,7 @@ void i915_perf_init(struct drm_i915_private *dev_priv)
dev_priv->perf.oa.ops.read = gen8_oa_read;
dev_priv->perf.oa.ops.oa_hw_tail_read = gen8_oa_hw_tail_read;
 
-   if (IS_GEN(dev_priv, 8) || IS_GEN(dev_priv, 9)) {
+   if (IS_GEN_RANGE(dev_priv, 8, 9)) {
dev_priv->perf.oa.ops.is_valid_b_counter_reg =
gen7_is_valid_b_counter_addr;
dev_priv->perf.oa.ops.is_valid_mux_reg =
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index bf4fd739b68c..0a41e58d61de 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -322,7 +322,7 @@ intel_crt_mode_valid(struct drm_connector *connector,
 * DAC limit supposedly 355 MHz.
 */
max_clock = 27;
-   else if (IS_GEN(dev_priv, 3) || IS_GEN(dev_priv, 4))
+   else if (IS_GEN_RANGE(dev_priv, 3, 4))
max_clock = 40;
else
max_clock = 35;
diff --git a/drivers/gpu/drm/i915/intel_device_info.c 
b/drivers/gpu/drm/i915/intel_device_info.c
index 332790279e1d..dc4fa83e26ef 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -787,7 +787,7 @@ void intel_device_info_runtime_init(struct 
intel_device_info *info)
DRM_INFO("Display disabled (module parameter)\n");
info->num_pipes = 0;
} else 

[Intel-gfx] [PATCH v3 0/3] Make GEN macros more similar

2018-12-05 Thread Lucas De Marchi
Third version of the series trying to make GEN checks more similar. It's
basically a dial down from what was done in v2 to get the points we have
rough consensus that should be done. Hopefully.

Changes from v2:
  - Don't use GT, but continue with IS_ prefix. If we ever add a check
for display version (which we are uncertain is actually necessary),
we can document the convention of using IS_GEN for GT and
IS_DISPLAY_GEN for display

  - Don't port comparisons using >, >=, <, <=, == over to the macro:
minimize code churn and in most cases it makes the code more
difficult to read

  - Don't bring GEN_FOREVER back since we are not covering unbound
checks anymore with the macros

  - Don't remove INTEL_GEN

Lucas De Marchi (3):
  drm/i915: Rename IS_GEN to IS_GEN_RANGE
  drm/i915: replace IS_GEN with IS_GEN(..., N)
  drm/i915: merge gen checks to use range

 drivers/gpu/drm/i915/gvt/vgpu.c|  4 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c |  2 +-
 drivers/gpu/drm/i915/i915_debugfs.c| 16 ++---
 drivers/gpu/drm/i915/i915_drv.c| 18 +++---
 drivers/gpu/drm/i915/i915_drv.h| 31 +++--
 drivers/gpu/drm/i915/i915_gem.c| 14 ++--
 drivers/gpu/drm/i915/i915_gem_context.c|  2 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  4 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.c  | 10 +--
 drivers/gpu/drm/i915/i915_gem_gtt.c|  6 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c |  7 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c |  4 +-
 drivers/gpu/drm/i915/i915_gpu_error.c  | 18 +++---
 drivers/gpu/drm/i915/i915_irq.c| 24 +++
 drivers/gpu/drm/i915/i915_perf.c   |  8 +--
 drivers/gpu/drm/i915/i915_suspend.c| 12 ++--
 drivers/gpu/drm/i915/intel_atomic.c|  2 +-
 drivers/gpu/drm/i915/intel_audio.c |  2 +-
 drivers/gpu/drm/i915/intel_bios.c  |  2 +-
 drivers/gpu/drm/i915/intel_cdclk.c | 10 +--
 drivers/gpu/drm/i915/intel_crt.c   |  6 +-
 drivers/gpu/drm/i915/intel_device_info.c   | 16 ++---
 drivers/gpu/drm/i915/intel_display.c   | 74 +++---
 drivers/gpu/drm/i915/intel_dp.c| 24 +++
 drivers/gpu/drm/i915/intel_engine_cs.c |  6 +-
 drivers/gpu/drm/i915/intel_fbc.c   | 24 +++
 drivers/gpu/drm/i915/intel_fifo_underrun.c |  6 +-
 drivers/gpu/drm/i915/intel_guc_fw.c|  2 +-
 drivers/gpu/drm/i915/intel_hangcheck.c |  4 +-
 drivers/gpu/drm/i915/intel_lrc.c   |  4 +-
 drivers/gpu/drm/i915/intel_lvds.c  |  4 +-
 drivers/gpu/drm/i915/intel_mocs.c  |  2 +-
 drivers/gpu/drm/i915/intel_overlay.c   | 10 +--
 drivers/gpu/drm/i915/intel_panel.c |  8 +--
 drivers/gpu/drm/i915/intel_pipe_crc.c  |  8 +--
 drivers/gpu/drm/i915/intel_pm.c| 60 +-
 drivers/gpu/drm/i915/intel_psr.c   |  4 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c| 36 +--
 drivers/gpu/drm/i915/intel_ringbuffer.h|  4 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c|  4 +-
 drivers/gpu/drm/i915/intel_sprite.c|  6 +-
 drivers/gpu/drm/i915/intel_uc.c|  2 +-
 drivers/gpu/drm/i915/intel_uncore.c| 30 -
 drivers/gpu/drm/i915/intel_wopcm.c |  4 +-
 drivers/gpu/drm/i915/intel_workarounds.c   |  4 +-
 45 files changed, 268 insertions(+), 280 deletions(-)

-- 
2.19.1.1.g56c4683e68

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


[Intel-gfx] [PATCH v3 2/3] drm/i915: replace IS_GEN with IS_GEN(..., N)

2018-12-05 Thread Lucas De Marchi
Define IS_GEN() similarly to our IS_GEN_RANGE(). but use gen instead of
gen_mask to do the comparison. Now callers can pass then gen as a parameter,
so we don't require one macro for each gen.

The following spatch was used to convert the users of these macros:

@@
expression e;
@@
(
- IS_GEN2(e)
+ IS_GEN(e, 2)
|
- IS_GEN3(e)
+ IS_GEN(e, 3)
|
- IS_GEN4(e)
+ IS_GEN(e, 4)
|
- IS_GEN5(e)
+ IS_GEN(e, 5)
|
- IS_GEN6(e)
+ IS_GEN(e, 6)
|
- IS_GEN7(e)
+ IS_GEN(e, 7)
|
- IS_GEN8(e)
+ IS_GEN(e, 8)
|
- IS_GEN9(e)
+ IS_GEN(e, 9)
|
- IS_GEN10(e)
+ IS_GEN(e, 10)
|
- IS_GEN11(e)
+ IS_GEN(e, 11)
)

v2: use IS_GEN rather than GT_GEN and compare to info.gen rather than
using the bitmask

Signed-off-by: Lucas De Marchi 
---
 drivers/gpu/drm/i915/gvt/vgpu.c|  4 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c |  2 +-
 drivers/gpu/drm/i915/i915_debugfs.c| 16 ++---
 drivers/gpu/drm/i915/i915_drv.c| 18 +++---
 drivers/gpu/drm/i915/i915_drv.h| 29 +++--
 drivers/gpu/drm/i915/i915_gem.c| 14 ++--
 drivers/gpu/drm/i915/i915_gem_context.c|  2 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  4 +-
 drivers/gpu/drm/i915/i915_gem_fence_reg.c  | 10 +--
 drivers/gpu/drm/i915/i915_gem_gtt.c|  6 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c |  7 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c |  4 +-
 drivers/gpu/drm/i915/i915_gpu_error.c  | 18 +++---
 drivers/gpu/drm/i915/i915_irq.c| 24 +++
 drivers/gpu/drm/i915/i915_perf.c   |  4 +-
 drivers/gpu/drm/i915/i915_suspend.c| 12 ++--
 drivers/gpu/drm/i915/intel_atomic.c|  2 +-
 drivers/gpu/drm/i915/intel_audio.c |  2 +-
 drivers/gpu/drm/i915/intel_cdclk.c | 10 +--
 drivers/gpu/drm/i915/intel_crt.c   |  6 +-
 drivers/gpu/drm/i915/intel_device_info.c   | 16 ++---
 drivers/gpu/drm/i915/intel_display.c   | 74 +++---
 drivers/gpu/drm/i915/intel_dp.c| 24 +++
 drivers/gpu/drm/i915/intel_engine_cs.c |  4 +-
 drivers/gpu/drm/i915/intel_fbc.c   | 22 +++
 drivers/gpu/drm/i915/intel_fifo_underrun.c |  6 +-
 drivers/gpu/drm/i915/intel_guc_fw.c|  2 +-
 drivers/gpu/drm/i915/intel_hangcheck.c |  2 +-
 drivers/gpu/drm/i915/intel_lrc.c   |  4 +-
 drivers/gpu/drm/i915/intel_lvds.c  |  4 +-
 drivers/gpu/drm/i915/intel_mocs.c  |  2 +-
 drivers/gpu/drm/i915/intel_overlay.c   | 10 +--
 drivers/gpu/drm/i915/intel_panel.c |  8 +--
 drivers/gpu/drm/i915/intel_pipe_crc.c  |  8 +--
 drivers/gpu/drm/i915/intel_pm.c| 60 +-
 drivers/gpu/drm/i915/intel_psr.c   |  4 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c| 28 
 drivers/gpu/drm/i915/intel_ringbuffer.h|  4 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c|  4 +-
 drivers/gpu/drm/i915/intel_sprite.c|  6 +-
 drivers/gpu/drm/i915/intel_uc.c|  2 +-
 drivers/gpu/drm/i915/intel_uncore.c| 18 +++---
 drivers/gpu/drm/i915/intel_wopcm.c |  4 +-
 drivers/gpu/drm/i915/intel_workarounds.c   |  4 +-
 44 files changed, 251 insertions(+), 263 deletions(-)

diff --git a/drivers/gpu/drm/i915/gvt/vgpu.c b/drivers/gpu/drm/i915/gvt/vgpu.c
index c628be05fbfe..e1c860f80eb0 100644
--- a/drivers/gpu/drm/i915/gvt/vgpu.c
+++ b/drivers/gpu/drm/i915/gvt/vgpu.c
@@ -148,10 +148,10 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
gvt->types[i].avail_instance = min(low_avail / 
vgpu_types[i].low_mm,
   high_avail / 
vgpu_types[i].high_mm);
 
-   if (IS_GEN8(gvt->dev_priv))
+   if (IS_GEN(gvt->dev_priv, 8))
sprintf(gvt->types[i].name, "GVTg_V4_%s",
vgpu_types[i].name);
-   else if (IS_GEN9(gvt->dev_priv))
+   else if (IS_GEN(gvt->dev_priv, 9))
sprintf(gvt->types[i].name, "GVTg_V5_%s",
vgpu_types[i].name);
 
diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c 
b/drivers/gpu/drm/i915/i915_cmd_parser.c
index 95478db9998b..33e8eed64423 100644
--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
+++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
@@ -865,7 +865,7 @@ void intel_engine_init_cmd_parser(struct intel_engine_cs 
*engine)
int cmd_table_count;
int ret;
 
-   if (!IS_GEN7(engine->i915))
+   if (!IS_GEN(engine->i915, 7))
return;
 
switch (engine->id) {
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 38dcee1ca062..53e3f57a13f3 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1064,7 +1064,7 @@ static int i915_frequency_info(struct seq_file *m, void 
*unused)
 
intel_runtime_pm_get(dev_priv);
 
-   if (IS_GEN5(dev_priv)) {
+   if (IS_GEN(dev_priv, 5)) {
u16 rgvswctl = 

[Intel-gfx] [PATCH v3 1/3] drm/i915: Rename IS_GEN to IS_GEN_RANGE

2018-12-05 Thread Lucas De Marchi
RANGE makes it longer, but clearer. We are also going to add a macro to
check an individual gen, so add the _RANGE prefix here.

Diff generated with:

sed 's/IS_GEN(/IS_GEN_RANGE(/g' drivers/gpu/drm/i915/{*/,}*.{c,h} -i

v2: use IS_GEN rather than GT_GEN

Signed-off-by: Lucas De Marchi 
---
 drivers/gpu/drm/i915/i915_drv.h |  2 +-
 drivers/gpu/drm/i915/i915_perf.c|  4 ++--
 drivers/gpu/drm/i915/intel_bios.c   |  2 +-
 drivers/gpu/drm/i915/intel_engine_cs.c  |  2 +-
 drivers/gpu/drm/i915/intel_fbc.c|  2 +-
 drivers/gpu/drm/i915/intel_hangcheck.c  |  2 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c |  8 
 drivers/gpu/drm/i915/intel_uncore.c | 12 ++--
 8 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0689e67c966e..affcb028ff8d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2213,7 +2213,7 @@ intel_info(const struct drm_i915_private *dev_priv)
GENMASK((e) - 1, (s) - 1))
 
 /* Returns true if Gen is in inclusive range [Start, End] */
-#define IS_GEN(dev_priv, s, e) \
+#define IS_GEN_RANGE(dev_priv, s, e) \
(!!((dev_priv)->info.gen_mask & INTEL_GEN_MASK((s), (e
 
 /*
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 4529edfdcfc8..ad0095be435d 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -1796,7 +1796,7 @@ static int gen8_enable_metric_set(struct i915_perf_stream 
*stream)
 * be read back from automatically triggered reports, as part of the
 * RPT_ID field.
 */
-   if (IS_GEN(dev_priv, 9, 11)) {
+   if (IS_GEN_RANGE(dev_priv, 9, 11)) {
I915_WRITE(GEN8_OA_DEBUG,
   
_MASKED_BIT_ENABLE(GEN9_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS |
  GEN9_OA_DEBUG_INCLUDE_CLK_RATIO));
@@ -3442,7 +3442,7 @@ void i915_perf_init(struct drm_i915_private *dev_priv)
 
dev_priv->perf.oa.gen8_valid_ctx_bit = (1<<16);
}
-   } else if (IS_GEN(dev_priv, 10, 11)) {
+   } else if (IS_GEN_RANGE(dev_priv, 10, 11)) {
dev_priv->perf.oa.ops.is_valid_b_counter_reg =
gen7_is_valid_b_counter_addr;
dev_priv->perf.oa.ops.is_valid_mux_reg =
diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 6d3e0260d49c..7b7e7abfa259 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -453,7 +453,7 @@ parse_sdvo_device_mapping(struct drm_i915_private 
*dev_priv, u8 bdb_version)
 * Only parse SDVO mappings on gens that could have SDVO. This isn't
 * accurate and doesn't have to be, as long as it's not too strict.
 */
-   if (!IS_GEN(dev_priv, 3, 7)) {
+   if (!IS_GEN_RANGE(dev_priv, 3, 7)) {
DRM_DEBUG_KMS("Skipping SDVO device mapping\n");
return;
}
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c 
b/drivers/gpu/drm/i915/intel_engine_cs.c
index af2873403009..fe5e87b6e1af 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1248,7 +1248,7 @@ static void intel_engine_print_registers(const struct 
intel_engine_cs *engine,
>execlists;
u64 addr;
 
-   if (engine->id == RCS && IS_GEN(dev_priv, 4, 7))
+   if (engine->id == RCS && IS_GEN_RANGE(dev_priv, 4, 7))
drm_printf(m, "\tCCID: 0x%08x\n", I915_READ(CCID));
drm_printf(m, "\tRING_START: 0x%08x\n",
   I915_READ(RING_START(engine->mmio_base)));
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index 78dbacdeaece..b57e31fc0f1e 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -787,7 +787,7 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)
 * having a Y offset that isn't divisible by 4 causes FIFO underrun
 * and screen flicker.
 */
-   if (IS_GEN(dev_priv, 9, 10) &&
+   if (IS_GEN_RANGE(dev_priv, 9, 10) &&
(fbc->state_cache.plane.adjusted_y & 3)) {
fbc->no_fbc_reason = "plane Y offset is misaligned";
return false;
diff --git a/drivers/gpu/drm/i915/intel_hangcheck.c 
b/drivers/gpu/drm/i915/intel_hangcheck.c
index e26d05a46451..41921a843d42 100644
--- a/drivers/gpu/drm/i915/intel_hangcheck.c
+++ b/drivers/gpu/drm/i915/intel_hangcheck.c
@@ -252,7 +252,7 @@ engine_stuck(struct intel_engine_cs *engine, u64 acthd)
return ENGINE_WAIT_KICK;
}
 
-   if (IS_GEN(dev_priv, 6, 7) && tmp & RING_WAIT_SEMAPHORE) {
+   if (IS_GEN_RANGE(dev_priv, 6, 7) && tmp & RING_WAIT_SEMAPHORE) {
switch (semaphore_passed(engine)) {
default:
   

Re: [Intel-gfx] [PATCH v4] drm/i915/gvt: Change KVMGT as self load module

2018-12-05 Thread Zhenyu Wang

Ping for any more comments? Or ack?

Adding Min, for head-up notify, I've moved 'kvmgt' into self load
module instead of loaded by i915/gvt, in order to clean up the
dependence, so need to load 'kvmgt.ko' to enable GVT through
VFIO/mdev. Hypervisor module needs to call new register/unregister
function to initialize hypervisor specific interface for GVT. If
AcrnGT rebase on this, it may need to change initial setup too, so
could you double check?

thanks

On 2018.12.04 10:40:28 +0800, Zhenyu Wang wrote:
> This trys to make 'kvmgt' module as self loadable instead of loading
> by i915/gvt device model. So hypervisor specific module could be
> stand-alone, e.g only after loading hypervisor specific module, GVT
> feature could be enabled via specific hypervisor interface, e.g VFIO/mdev.
> 
> So this trys to use hypervisor module register/unregister interface
> for that. Hypervisor module needs to take care of module reference
> itself when working for hypervisor interface, e.g for VFIO/mdev,
> hypervisor module would reference counting mdev when open and release.
> 
> This makes 'kvmgt' module really split from GVT device model. User
> needs to load 'kvmgt' to enable VFIO/mdev interface.
> 
> v4:
> - fix checkpatch warning
> 
> v3:
> - Fix module reference handling for device open and release. Unused
>   mdev devices would be cleaned up in device unregister when module unload.
> 
> v2:
> - Fix kvmgt order after i915 for built-in case
> 
> Cc: Alex Williamson 
> Signed-off-by: Zhenyu Wang 
> ---
>  drivers/gpu/drm/i915/Makefile|   1 +
>  drivers/gpu/drm/i915/gvt/Makefile|   1 -
>  drivers/gpu/drm/i915/gvt/gvt.c   | 107 +++
>  drivers/gpu/drm/i915/gvt/gvt.h   |   6 +-
>  drivers/gpu/drm/i915/gvt/hypercall.h |   7 +-
>  drivers/gpu/drm/i915/gvt/kvmgt.c |  21 +-
>  drivers/gpu/drm/i915/gvt/mpt.h   |   3 +
>  drivers/gpu/drm/i915/intel_gvt.c |   9 ---
>  8 files changed, 72 insertions(+), 83 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 0ff878c994e2..ae0d975a6f34 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -195,3 +195,4 @@ endif
>  i915-y += intel_lpe_audio.o
>  
>  obj-$(CONFIG_DRM_I915) += i915.o
> +obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
> diff --git a/drivers/gpu/drm/i915/gvt/Makefile 
> b/drivers/gpu/drm/i915/gvt/Makefile
> index b016dc753db9..271fb46d4dd0 100644
> --- a/drivers/gpu/drm/i915/gvt/Makefile
> +++ b/drivers/gpu/drm/i915/gvt/Makefile
> @@ -7,4 +7,3 @@ GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o 
> trace_points.o firmware.o \
>  
>  ccflags-y+= -I$(src) -I$(src)/$(GVT_DIR)
>  i915-y   += $(addprefix $(GVT_DIR)/, 
> $(GVT_SOURCE))
> -obj-$(CONFIG_DRM_I915_GVT_KVMGT) += $(GVT_DIR)/kvmgt.o
> diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
> index a5b760b7bc10..e1c9c20918af 100644
> --- a/drivers/gpu/drm/i915/gvt/gvt.c
> +++ b/drivers/gpu/drm/i915/gvt/gvt.c
> @@ -187,52 +187,6 @@ static const struct intel_gvt_ops intel_gvt_ops = {
>   .write_protect_handler = intel_vgpu_page_track_handler,
>  };
>  
> -/**
> - * intel_gvt_init_host - Load MPT modules and detect if we're running in host
> - *
> - * This function is called at the driver loading stage. If failed to find a
> - * loadable MPT module or detect currently we're running in a VM, then GVT-g
> - * will be disabled
> - *
> - * Returns:
> - * Zero on success, negative error code if failed.
> - *
> - */
> -int intel_gvt_init_host(void)
> -{
> - if (intel_gvt_host.initialized)
> - return 0;
> -
> - /* Xen DOM U */
> - if (xen_domain() && !xen_initial_domain())
> - return -ENODEV;
> -
> - /* Try to load MPT modules for hypervisors */
> - if (xen_initial_domain()) {
> - /* In Xen dom0 */
> - intel_gvt_host.mpt = try_then_request_module(
> - symbol_get(xengt_mpt), "xengt");
> - intel_gvt_host.hypervisor_type = INTEL_GVT_HYPERVISOR_XEN;
> - } else {
> -#if IS_ENABLED(CONFIG_DRM_I915_GVT_KVMGT)
> - /* not in Xen. Try KVMGT */
> - intel_gvt_host.mpt = try_then_request_module(
> - symbol_get(kvmgt_mpt), "kvmgt");
> - intel_gvt_host.hypervisor_type = INTEL_GVT_HYPERVISOR_KVM;
> -#endif
> - }
> -
> - /* Fail to load MPT modules - bail out */
> - if (!intel_gvt_host.mpt)
> - return -EINVAL;
> -
> - gvt_dbg_core("Running with hypervisor %s in host mode\n",
> - supported_hypervisors[intel_gvt_host.hypervisor_type]);
> -
> - intel_gvt_host.initialized = true;
> - return 0;
> -}
> -
>  static void init_device_info(struct intel_gvt *gvt)
>  {
>   struct intel_gvt_device_info *info = >device_info;
> @@ -316,7 +270,6 @@ void intel_gvt_clean_device(struct 

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Clear bogus DMC BIOS/debug power well requests

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915: Clear bogus DMC BIOS/debug power well requests
URL   : https://patchwork.freedesktop.org/series/53591/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11023_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_exec_schedule@pi-ringfull-render:
- shard-skl:  NOTRUN -> FAIL [fdo#103158]

  * igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-skl:  PASS -> TIMEOUT [fdo#108039]

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-skl:  NOTRUN -> TIMEOUT [fdo#108039]

  * igt@i915_suspend@forcewake:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@kms_atomic@plane_cursor_legacy:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +18

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725]

  * igt@kms_cursor_crc@cursor-128x42-onscreen:
- shard-apl:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- shard-skl:  NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +6

  * igt@kms_draw_crc@draw-method-xrgb-render-ytiled:
- {shard-iclb}:   PASS -> WARN [fdo#108336] +4

  * igt@kms_fbcon_fbt@psr-suspend:
- shard-skl:  NOTRUN -> FAIL [fdo#107882]

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu:
- {shard-iclb}:   NOTRUN -> DMESG-FAIL [fdo#107724]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
- shard-skl:  NOTRUN -> FAIL [fdo#105682]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-apl:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
- shard-glk:  PASS -> FAIL [fdo#103167] +3

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc:
- shard-skl:  NOTRUN -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724] +5

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
- {shard-iclb}:   PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-skl:  NOTRUN -> FAIL [fdo#105683]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +9

  * igt@kms_plane@pixel-format-pipe-a-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885]

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-glk:  PASS -> INCOMPLETE [fdo#103359] / [k.org#198133]

  * igt@kms_plane@plane-panning-top-left-pipe-a-planes:
- shard-apl:  PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724] +1

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-kbl:  PASS -> DMESG-FAIL [fdo#108950]

  * igt@pm_rpm@fences-dpms:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#108840]

  * igt@pm_rpm@modeset-non-lpsp:
- {shard-iclb}:   SKIP -> INCOMPLETE [fdo#108840]

  * igt@pm_rpm@system-suspend:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107807]

  
 Possible fixes 

  * igt@gem_userptr_blits@readonly-unsync:
- shard-skl:  TIMEOUT [fdo#108887] -> PASS

  * igt@i915_suspend@debugfs-reader:
- shard-skl:  INCOMPLETE [fdo#104108] -> PASS

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-hsw:  DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
- shard-apl:  FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-apl:  FAIL [fdo#103232] -> PASS
- shard-glk:  FAIL [fdo#103232] -> PASS +1

  * 

[Intel-gfx] linux-next: build failure after merge of the drm-misc tree

2018-12-05 Thread Stephen Rothwell
Hi all,

After merging the drm-misc tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpu/drm/v3d/v3d_gem.c: In function 'v3d_submit_tfu_ioctl':
drivers/gpu/drm/v3d/v3d_gem.c:719:3: error: too many arguments to function 
'drm_syncobj_replace_fence'
   drm_syncobj_replace_fence(sync_out, 0, sched_done_fence);
   ^
In file included from drivers/gpu/drm/v3d/v3d_gem.c:5:
include/drm/drm_syncobj.h:134:6: note: declared here
 void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
  ^

Caused by commit

  0b258ed1a219 ("drm: revert "expand replace_fence to support timeline point 
v2"")

interacting with commit

  1584f16ca96e ("drm/v3d: Add support for submitting jobs to the TFU")

I have used the drm-misc tree from next-20181205 for today.

-- 
Cheers,
Stephen Rothwell


pgpmHXGJ5NpjN.pgp
Description: OpenPGP digital signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] drm tip conflict in intel_workarounds.c

2018-12-05 Thread Dave Airlie
I merged the i915 tree into drm-next this morning, but got a major
conflict on the drm-tip rebuild in intel_workarounds.c.

I'm not sure if I did wrong thing, but there were a couple of places
where the code seemed inconsistent and I couldn't track down what was
actually wanted. I'd appreciate someone checking my work on what is in
current drm-tip,

/* Wa_1604302699:icl */
+   wa_write_or(wal,
+   GEN10_L3_CHICKEN_MODE_REGISTER,
+   GEN11_I2M_WRITE_DISABLE);

and

-
-   /* Wa_1406609255:icl (pre-prod) */
-   if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0))
-   wa_write_or(wal,
-   GEN7_SARCHKMD,
-   GEN7_DISABLE_DEMAND_PREFETCH |
-   GEN7_DISABLE_SAMPLER_PREFETCH);

were the two problems I was seeing.

Dave.
___
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/dsc: Add Per connector debugfs node for DSC support/enable (rev4)

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable 
(rev4)
URL   : https://patchwork.freedesktop.org/series/53449/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5269 -> Patchwork_11028


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/53449/revisions/4/mbox/

Possible new issues
---

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

### IGT changes ###

 Warnings 

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
- {fi-kbl-7567u}: PASS -> SKIP +33

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:PASS -> DMESG-FAIL [fdo#108735]

  * igt@prime_vgem@basic-fence-flip:
- fi-bdw-gvtdvm:  PASS -> FAIL [fdo#103182]

  
 Possible fixes 

  * igt@i915_selftest@live_coherency:
- fi-gdg-551: DMESG-FAIL [fdo#107164] -> PASS

  * igt@i915_selftest@live_execlists:
- fi-apl-guc: DMESG-WARN [fdo#108622] -> PASS

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

  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#107164]: https://bugs.freedesktop.org/show_bug.cgi?id=107164
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735


Participating hosts (49 -> 45)
--

  Additional (1): fi-kbl-7560u 
  Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5269 -> Patchwork_11028

  CI_DRM_5269: 4a90a5940e2c7c3fba7af5529e693ba32ccb6d43 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11028: 00393ec00edf942b5cda8f7315c8af5487ae7092 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

00393ec00edf drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: Document Wa_1606682166

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Document Wa_1606682166
URL   : https://patchwork.freedesktop.org/series/53584/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11022_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_exec_schedule@pi-ringfull-render:
- shard-skl:  NOTRUN -> FAIL [fdo#103158]

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725]

  * igt@kms_chv_cursor_fail@pipe-b-128x128-right-edge:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336]

  * igt@kms_cursor_crc@cursor-128x128-dpms:
- shard-apl:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x256-random:
- shard-glk:  PASS -> FAIL [fdo#103232] +2

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- shard-skl:  NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +6

  * igt@kms_cursor_crc@cursor-size-change:
- shard-skl:  PASS -> FAIL [fdo#103232]

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk:  PASS -> FAIL [fdo#105363]

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  PASS -> FAIL [fdo#105363]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-glk:  PASS -> FAIL [fdo#103167] +2
- shard-apl:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc:
- shard-skl:  NOTRUN -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724]

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-skl:  NOTRUN -> FAIL [fdo#105683]

  * igt@kms_plane@pixel-format-pipe-a-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885]
- shard-glk:  PASS -> FAIL [fdo#108948]

  * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-apl:  PASS -> FAIL [fdo#108948]

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
- {shard-iclb}:   PASS -> FAIL [fdo#103166]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724]

  * igt@kms_plane_scaling@pipe-c-scaler-with-pixel-format:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +1

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-kbl:  PASS -> DMESG-FAIL [fdo#108950]

  * igt@kms_rotation_crc@primary-rotation-180:
- shard-skl:  PASS -> FAIL [fdo#103925] / [fdo#107815]

  * igt@kms_setmode@basic:
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-hsw:  PASS -> FAIL [fdo#104894]

  * igt@pm_rpm@i2c:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#108840]

  
 Possible fixes 

  * igt@i915_suspend@debugfs-reader:
- shard-skl:  INCOMPLETE [fdo#104108] -> PASS

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-kbl:  DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
- shard-apl:  FAIL [fdo#104782] -> PASS +1

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-apl:  FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-64x64-sliding:
- shard-glk:  FAIL [fdo#103232] -> PASS +2

  * igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic:
- {shard-iclb}:   INCOMPLETE -> PASS

  * igt@kms_draw_crc@draw-method-xrgb-mmap-gtt-ytiled:
- {shard-iclb}:   WARN [fdo#108336] -> PASS

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-skl:  FAIL [fdo#105363] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-apl:  FAIL [fdo#103167] -> 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev4)

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable 
(rev4)
URL   : https://patchwork.freedesktop.org/series/53449/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
00393ec00edf drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
-:171: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not 
preferred. Consider using octal permissions '0444'.
#171: FILE: drivers/gpu/drm/i915/i915_debugfs.c:5230:
+   debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,

-:200: CHECK:BOOL_MEMBER: Avoid using bool structure members because of 
possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384
#200: FILE: drivers/gpu/drm/i915/intel_drv.h:1214:
+   bool force_dsc_en;

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

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


Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area

2018-12-05 Thread Souza, Jose
On Wed, 2018-12-05 at 12:30 +, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area
> URL   : https://patchwork.freedesktop.org/series/53515/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_5263_full -> Patchwork_11016_full
> 
> 
> Summary
> ---
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with Patchwork_11016_full absolutely
> need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the
> changes
>   introduced in Patchwork_11016_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_11016_full:
> 
> ### IGT changes ###
> 
>  Possible regressions 
> 
>   * igt@kms_cursor_legacy@pipe-a-torture-bo:
> - shard-skl:  PASS -> INCOMPLETE
> 
>   
>  Warnings 
> 
>   * igt@kms
> _frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-cpu:
> - shard-hsw:  PASS -> SKIP +1
> 

This change only affects GLK and GEN10+ so this incomplete and skips
are comming from other changes.

Thanks for the review DK, patch merged to dinq.

>   
> Known issues
> 
> 
>   Here are the changes found in Patchwork_11016_full that come from
> known issues:
> 
> ### IGT changes ###
> 
>  Issues hit 
> 
>   * igt@gem_exec_schedule@pi-ringfull-blt:
> - {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]
> 
>   * igt@gem_exec_schedule@pi-ringfull-render:
> - shard-skl:  NOTRUN -> FAIL [fdo#103158] +1
> 
>   * igt@gem_exec_schedule@smoketest-all:
> - shard-glk:  PASS -> INCOMPLETE [fdo#103359] /
> [k.org#198133]
> 
>   * igt@gem_ppgtt@blt-vs-render-ctxn:
> - shard-skl:  NOTRUN -> TIMEOUT [fdo#108039]
> 
>   * igt@gem_userptr_blits@readonly-unsync:
> - shard-skl:  NOTRUN -> TIMEOUT [fdo#108887]
> 
>   * igt@i915_suspend@shrink:
> - shard-skl:  NOTRUN -> DMESG-WARN [fdo#108784]
> 
>   * 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-b:
> - {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107956] +1
> 
>   * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
> - shard-glk:  PASS -> FAIL [fdo#108145]
> 
>   * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
> - {shard-iclb}:   NOTRUN -> FAIL [fdo#107725] +1
> 
>   * igt@kms_color@pipe-c-ctm-max:
> - shard-apl:  PASS -> FAIL [fdo#108147]
> 
>   * igt@kms_cursor_crc@cursor-128x42-offscreen:
> - shard-skl:  PASS -> FAIL [fdo#103232]
> 
>   * igt@kms_cursor_crc@cursor-256x85-onscreen:
> - shard-glk:  PASS -> FAIL [fdo#103232] +2
> 
>   * igt@kms_cursor_crc@cursor-256x85-sliding:
> - {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +2
> 
>   * igt@kms_cursor_crc@cursor-64x21-random:
> - shard-apl:  PASS -> FAIL [fdo#103232] +3
> 
>   * igt@kms_cursor_crc@cursor-64x64-suspend:
> - shard-apl:  PASS -> FAIL [fdo#103191] / [fdo#103232] +1
> 
>   * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled:
> - shard-skl:  PASS -> FAIL [fdo#103184]
> 
>   * igt@kms_fbcon_fbt@psr:
> - shard-skl:  NOTRUN -> FAIL [fdo#107882]
> 
>   * igt@kms_flip@flip-vs-expired-vblank:
> - shard-glk:  PASS -> FAIL [fdo#102887] / [fdo#105363]
> 
>   * igt@kms_flip_tiling@flip-to-y-tiled:
> - shard-skl:  PASS -> FAIL [fdo#107931]
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
> - {shard-iclb}:   PASS -> FAIL [fdo#103167] +3
> 
>   * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
> - shard-glk:  PASS -> FAIL [fdo#103167] +1
> 
>   * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff:
> - shard-hsw:  PASS -> INCOMPLETE [fdo#103540]
> 
>   * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
> - {shard-iclb}:   PASS -> FAIL [fdo#105683]
> 
>   * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
> - shard-skl:  NOTRUN -> FAIL [fdo#103167]
> 
>   * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
> - shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885] +1
> 
>   * igt@kms_plane@pixel-format-pipe-b-planes:
> - {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]
> 
>   * {igt@kms_plane@pixel-format-pipe-b-planes-source-clamping}:
> - shard-apl:  PASS -> FAIL [fdo#108948]
> 
>   * igt@kms_plane@plane-position-covered-pipe-b-planes:
> - shard-apl:  PASS -> FAIL [fdo#103166]
> 
>   * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
> - shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145]
> 
>   * 

Re: [Intel-gfx] [PATCH] drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR

2018-12-05 Thread Souza, Jose
On Wed, 2018-12-05 at 12:30 -0800, Dhinakaran Pandiyan wrote:
> On Wed, 2018-12-05 at 10:48 -0800, José Roberto de Souza wrote:
> > The DP_DPCD_QUIRK_NO_PSR comment is missing colon causing this
> > warning when generating kernel documentation.
> > 
> > ./include/drm/drm_dp_helper.h:1374: warning: Incorrect use of
> > kernel-
> > doc format:  * @DP_DPCD_QUIRK_NO_PSR
> > 
> Cc: dri-de...@lists.freedesktop.org
> Reviewed-by: Dhinakaran Pandiyan 

Thanks for the review, merged.

> > Fixes: 7c5c641a930e (drm/i915: Disable PSR in Apple panels)
> > Cc: Dhinakaran Pandiyan 
> > Signed-off-by: José Roberto de Souza 
> > ---
> >  include/drm/drm_dp_helper.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/include/drm/drm_dp_helper.h
> > b/include/drm/drm_dp_helper.h
> > index 18cfde45b8ed..c223c87ef119 100644
> > --- a/include/drm/drm_dp_helper.h
> > +++ b/include/drm/drm_dp_helper.h
> > @@ -1370,7 +1370,7 @@ enum drm_dp_quirk {
> >  */
> > DP_DPCD_QUIRK_CONSTANT_N,
> > /**
> > -* @DP_DPCD_QUIRK_NO_PSR
> > +* @DP_DPCD_QUIRK_NO_PSR:
> >  *
> >  * The device does not support PSR even if reports that it
> > supports or
> >  * driver still need to implement proper handling for such
> > device.


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.IGT: success for drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
URL   : https://patchwork.freedesktop.org/series/53582/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11021_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_exec_schedule@pi-ringfull-render:
- shard-skl:  NOTRUN -> FAIL [fdo#103158]

  * igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-skl:  PASS -> TIMEOUT [fdo#108039]

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-skl:  NOTRUN -> TIMEOUT [fdo#108039]

  * igt@gem_workarounds@suspend-resume-fd:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#107713]

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +11

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725]

  * igt@kms_color@pipe-a-ctm-max:
- shard-apl:  PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-128x128-dpms:
- shard-apl:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- shard-skl:  NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +6

  * igt@kms_cursor_crc@cursor-64x64-random:
- shard-glk:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-size-change:
- shard-skl:  PASS -> FAIL [fdo#103232]

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-ytiled:
- {shard-iclb}:   PASS -> WARN [fdo#108336]

  * igt@kms_fbcon_fbt@psr-suspend:
- shard-skl:  NOTRUN -> FAIL [fdo#107882]

  * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
- shard-glk:  PASS -> FAIL [fdo#103060]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
- shard-apl:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-glk:  PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff:
- shard-skl:  NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-skl:  NOTRUN -> FAIL [fdo#105683]

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#106978]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +4

  * igt@kms_plane@pixel-format-pipe-a-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885]

  * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-apl:  PASS -> FAIL [fdo#108948]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724]

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-kbl:  PASS -> DMESG-WARN [fdo#105604]

  * igt@kms_rotation_crc@primary-rotation-180:
- shard-skl:  PASS -> FAIL [fdo#103925] / [fdo#107815]

  * igt@kms_setmode@basic:
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@pm_rpm@dpms-mode-unset-non-lpsp:
- shard-skl:  SKIP -> INCOMPLETE [fdo#107807]

  * igt@pm_rpm@i2c:
- {shard-iclb}:   PASS -> FAIL [fdo#104097]

  * igt@pm_rpm@system-suspend-modeset:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#107713] / [fdo#108840]

  * igt@pm_rpm@universal-planes:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#108654] / [fdo#108756]

  * {igt@runner@aborted}:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#108654] / [fdo#108756]

  
 Possible fixes 

  * igt@gem_userptr_blits@readonly-unsync:
- shard-skl:  TIMEOUT [fdo#108887] -> PASS

  * 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/cnl: Fix the formulae for register offsets (rev3)

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/cnl: Fix the formulae for register offsets (rev3)
URL   : https://patchwork.freedesktop.org/series/52960/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5267 -> Patchwork_11027


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@prime_vgem@basic-fence-flip:
- fi-gdg-551: PASS -> FAIL [fdo#103182]

  * {igt@runner@aborted}:
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

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

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


Participating hosts (49 -> 45)
--

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


Build changes
-

* Linux: CI_DRM_5267 -> Patchwork_11027

  CI_DRM_5267: 680d161b3cf77a94e05dfdedcdeed4f38e4b7fd8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11027: 733ee99ec81a0bac9e5972a5126b8a731651cd1a @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

733ee99ec81a drm/i915/cnl: Fix the formulae for register offsets

== Logs ==

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


[Intel-gfx] [PATCH v8] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Manasi Navare
DSC can be supported per DP connector. This patch adds a per connector
debugfs node to expose DSC support capability by the kernel.
The same node can be used from userspace to force DSC enable.

force_dsc_en written through this debugfs node is used to force
DSC even for lower resolutions.

Credits to Ville Syrjala for suggesting the proper locks to be used
and to Lyude Paul for explaining how to use them in this context

v8:
* Add else if (ret) for drm_modeset_lock (Lyude)
v7:
* Get crtc, crtc_state from connector atomic state
and add proper locks and backoff (Ville, Chris Wilson, Lyude)
(Suggested-by: Ville Syrjala )
* Use %zu for printing size_t variable (Lyude)
v6:
* Read fec_capable only for non edp (Manasi)
v5:
* Name it dsc sink support and also add
fec support in the same node (Ville)
v4:
* Add missed connector_status check (Manasi)
* Create i915_dsc_support node only for Gen >=10 (manasi)
* Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
v3:
* Combine Force_dsc_en with this patch (Ville)
v2:
* Use kstrtobool_from_user to avoid explicit error checking (Lyude)
* Rebase on drm-tip (Manasi)

Cc: Rodrigo Vivi 
Cc: Ville Syrjala 
Cc: Anusha Srivatsa 
Cc: Lyude Paul 
Signed-off-by: Manasi Navare 
Reviewed-by: Lyude Paul 
---
 drivers/gpu/drm/i915/i915_debugfs.c | 106 
 drivers/gpu/drm/i915/intel_dp.c |   3 +-
 drivers/gpu/drm/i915/intel_drv.h|   3 +
 3 files changed, 111 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 38dcee1ca062..5fe1f44e9bc0 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -5088,6 +5088,105 @@ static int i915_hdcp_sink_capability_show(struct 
seq_file *m, void *data)
 }
 DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
 
+static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
+{
+   struct drm_connector *connector = m->private;
+   struct drm_device *dev = connector->dev;
+   struct drm_crtc *crtc;
+   struct intel_dp *intel_dp;
+   struct drm_modeset_acquire_ctx ctx;
+   struct intel_crtc_state *crtc_state = NULL;
+   int ret = 0;
+   bool try_again = false;
+
+   drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
+
+   do {
+   ret = drm_modeset_lock(>mode_config.connection_mutex,
+  );
+   if (ret) {
+   ret = -EINTR;
+   break;
+   }
+   crtc = connector->state->crtc;
+   if (connector->status != connector_status_connected || !crtc) {
+   ret = -ENODEV;
+   break;
+   }
+   ret = drm_modeset_lock(>mutex, );
+   if (ret == -EDEADLK) {
+   ret = drm_modeset_backoff();
+   if (!ret) {
+   try_again = true;
+   continue;
+   }
+   break;
+   } else if (ret) {
+   break;
+   }
+   intel_dp = 
enc_to_intel_dp(_attached_encoder(connector)->base);
+   crtc_state = to_intel_crtc_state(crtc->state);
+   seq_printf(m, "DSC_Enabled: %s\n",
+  yesno(crtc_state->dsc_params.compression_enable));
+   if (intel_dp->dsc_dpcd)
+   seq_printf(m, "DSC_Sink_Support: %s\n",
+  
yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
+   if (!intel_dp_is_edp(intel_dp))
+   seq_printf(m, "FEC_Sink_Support: %s\n",
+  
yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
+   } while (try_again);
+
+   drm_modeset_drop_locks();
+   drm_modeset_acquire_fini();
+
+   return ret;
+}
+
+static ssize_t i915_dsc_fec_support_write(struct file *file,
+ const char __user *ubuf,
+ size_t len, loff_t *offp)
+{
+   bool dsc_enable = false;
+   int ret;
+   struct drm_connector *connector =
+   ((struct seq_file *)file->private_data)->private;
+   struct intel_encoder *encoder = intel_attached_encoder(connector);
+   struct intel_dp *intel_dp = enc_to_intel_dp(>base);
+
+   if (len == 0)
+   return 0;
+
+   DRM_DEBUG_DRIVER("Copied %zu bytes from user to force DSC\n",
+len);
+
+   ret = kstrtobool_from_user(ubuf, len, _enable);
+   if (ret < 0)
+   return ret;
+
+   DRM_DEBUG_DRIVER("Got %s for DSC Enable\n",
+(dsc_enable) ? "true" : "false");
+   intel_dp->force_dsc_en = dsc_enable;
+
+   *offp += len;
+   return len;
+}
+
+static int i915_dsc_fec_support_open(struct inode *inode,
+

[Intel-gfx] ✓ Fi.CI.IGT: success for Makefile: fix mixed tab and spaces (rev2)

2018-12-05 Thread Patchwork
== Series Details ==

Series: Makefile: fix mixed tab and spaces (rev2)
URL   : https://patchwork.freedesktop.org/series/53550/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11020_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-skl:  PASS -> TIMEOUT [fdo#108039]

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +10

  * igt@kms_available_modes_crc@available_mode_test_crc:
- shard-apl:  PASS -> FAIL [fdo#106641]

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725]

  * igt@kms_color@pipe-a-ctm-max:
- shard-apl:  PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-128x128-dpms:
- shard-apl:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- shard-skl:  NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +6

  * igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@kms_cursor_crc@cursor-size-change:
- shard-skl:  PASS -> FAIL [fdo#103232]

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-ytiled:
- {shard-iclb}:   PASS -> WARN [fdo#108336]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
- shard-apl:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-glk:  PASS -> FAIL [fdo#103167] +3

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#104108] / [fdo#105959] / 
[fdo#107773]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff:
- shard-skl:  NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-skl:  NOTRUN -> FAIL [fdo#105683]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +4

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-gtt:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +1

  * igt@kms_plane@pixel-format-pipe-a-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#107713] +1

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
- shard-apl:  PASS -> FAIL [fdo#103166] +1
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724]

  * igt@kms_rotation_crc@primary-rotation-180:
- shard-skl:  PASS -> FAIL [fdo#103925] / [fdo#107815]

  * igt@kms_setmode@basic:
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@pm_rpm@basic-pci-d3-state:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * igt@pm_rpm@cursor:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#108654]

  
 Possible fixes 

  * igt@gem_userptr_blits@readonly-unsync:
- shard-skl:  TIMEOUT [fdo#108887] -> PASS

  * igt@i915_suspend@debugfs-reader:
- shard-skl:  INCOMPLETE [fdo#104108] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
- shard-apl:  FAIL [fdo#104782] -> PASS +1

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-glk:  FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-apl:  FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic:
- {shard-iclb}:   INCOMPLETE -> PASS

  * igt@kms_draw_crc@draw-method-xrgb-mmap-gtt-ytiled:
- {shard-iclb}:   WARN [fdo#108336] -> PASS +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-apl:  FAIL [fdo#103167] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
- shard-skl:  FAIL 

[Intel-gfx] [PATCH v3] drm/i915/cnl: Fix the formulae for register offsets

2018-12-05 Thread Radhakrishna Sripada
For gen10+ the offsets for Slice PG cntl/ EU PG cntl donot scale well
for higher slices.

v2: Use _PICK instead of formulae(Jani)
v3: Remove superfluous newlines(Jani)

Cc: Rodrigo Vivi 
Cc: Lucs De Marchi 
Cc: Daniele Ceraolo Spurio 
Reviewed-by: Jani Nikula 
Signed-off-by: Radhakrishna Sripada 
---
 drivers/gpu/drm/i915/i915_reg.h | 51 +
 1 file changed, 45 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 0a7d60509ca7..a7f9f8da8e88 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -8675,18 +8675,57 @@ enum {
 #define   CHV_EU311_PG_ENABLE  (1 << 1)
 
 #define GEN9_SLICE_PGCTL_ACK(slice)_MMIO(0x804c + (slice) * 0x4)
-#define GEN10_SLICE_PGCTL_ACK(slice)   _MMIO(0x804c + ((slice) / 3) * 0x34 + \
- ((slice) % 3) * 0x4)
+
+#define _CNL_SLICE0_PGCTL_ACK  0x804c
+#define _CNL_SLICE1_PGCTL_ACK  0x8050
+#define _CNL_SLICE2_PGCTL_ACK  0x8054
+#define _CNL_SLICE3_PGCTL_ACK  0x8080
+#define _CNL_SLICE4_PGCTL_ACK  0x8084
+#define _CNL_SLICE5_PGCTL_ACK  0x8088
+#define GEN10_SLICE_PGCTL_ACK(slice)   _MMIO(_PICK(slice, \
+   _CNL_SLICE0_PGCTL_ACK, \
+   _CNL_SLICE1_PGCTL_ACK, \
+   _CNL_SLICE2_PGCTL_ACK, \
+   _CNL_SLICE3_PGCTL_ACK, \
+   _CNL_SLICE4_PGCTL_ACK, \
+   _CNL_SLICE5_PGCTL_ACK))
+
 #define   GEN9_PGCTL_SLICE_ACK (1 << 0)
 #define   GEN9_PGCTL_SS_ACK(subslice)  (1 << (2 + (subslice) * 2))
 #define   GEN10_PGCTL_VALID_SS_MASK(slice) ((slice) == 0 ? 0x7F : 0x1F)
 
 #define GEN9_SS01_EU_PGCTL_ACK(slice)  _MMIO(0x805c + (slice) * 0x8)
-#define GEN10_SS01_EU_PGCTL_ACK(slice) _MMIO(0x805c + ((slice) / 3) * 0x30 + \
- ((slice) % 3) * 0x8)
+
+#define _CNL_SLICE0_SS01_EU_PGCTL_ACK  0x805c
+#define _CNL_SLICE1_SS01_EU_PGCTL_ACK  0x8064
+#define _CNL_SLICE2_SS01_EU_PGCTL_ACK  0x806c
+#define _CNL_SLICE3_SS01_EU_PGCTL_ACK  0x808c
+#define _CNL_SLICE4_SS01_EU_PGCTL_ACK  0x8094
+#define _CNL_SLICE5_SS01_EU_PGCTL_ACK  0x809c
+#define GEN10_SS01_EU_PGCTL_ACK(slice) _MMIO(_PICK(slice, \
+   
_CNL_SLICE0_SS01_EU_PGCTL_ACK, \
+   
_CNL_SLICE1_SS01_EU_PGCTL_ACK, \
+   
_CNL_SLICE2_SS01_EU_PGCTL_ACK, \
+   
_CNL_SLICE3_SS01_EU_PGCTL_ACK, \
+   
_CNL_SLICE4_SS01_EU_PGCTL_ACK, \
+   
_CNL_SLICE5_SS01_EU_PGCTL_ACK))
+
 #define GEN9_SS23_EU_PGCTL_ACK(slice)  _MMIO(0x8060 + (slice) * 0x8)
-#define GEN10_SS23_EU_PGCTL_ACK(slice) _MMIO(0x8060 + ((slice) / 3) * 0x30 + \
- ((slice) % 3) * 0x8)
+
+#define _CNL_SLICE0_SS23_EU_PGCTL_ACK  0x8060
+#define _CNL_SLICE1_SS23_EU_PGCTL_ACK  0x8068
+#define _CNL_SLICE2_SS23_EU_PGCTL_ACK  0x8070
+#define _CNL_SLICE3_SS23_EU_PGCTL_ACK  0x8090
+#define _CNL_SLICE4_SS23_EU_PGCTL_ACK  0x8098
+#define _CNL_SLICE5_SS23_EU_PGCTL_ACK  0x80a0
+#define GEN10_SS23_EU_PGCTL_ACK(slice) _MMIO(_PICK(slice, \
+   
_CNL_SLICE0_SS23_EU_PGCTL_ACK, \
+   
_CNL_SLICE1_SS23_EU_PGCTL_ACK, \
+   
_CNL_SLICE2_SS23_EU_PGCTL_ACK, \
+   
_CNL_SLICE3_SS23_EU_PGCTL_ACK, \
+   
_CNL_SLICE4_SS23_EU_PGCTL_ACK, \
+   
_CNL_SLICE5_SS23_EU_PGCTL_ACK))
+
 #define   GEN9_PGCTL_SSA_EU08_ACK  (1 << 0)
 #define   GEN9_PGCTL_SSA_EU19_ACK  (1 << 2)
 #define   GEN9_PGCTL_SSA_EU210_ACK (1 << 4)
-- 
2.17.1

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


[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/dsc: Add Per connector debugfs node for DSC support/enable (rev3)

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable 
(rev3)
URL   : https://patchwork.freedesktop.org/series/53449/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5267 -> Patchwork_11026


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-ivb-3520m:   PASS -> FAIL [fdo#108880]

  * igt@pm_rpm@basic-rte:
- {fi-icl-u3}:PASS -> DMESG-WARN [fdo#108654]

  * {igt@runner@aborted}:
- {fi-icl-u3}:NOTRUN -> FAIL [fdo#108654] / [fdo#108756]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy:   DMESG-WARN [fdo#102614] -> PASS

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108654]: https://bugs.freedesktop.org/show_bug.cgi?id=108654
  [fdo#108756]: https://bugs.freedesktop.org/show_bug.cgi?id=108756
  [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880


Participating hosts (49 -> 45)
--

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


Build changes
-

* Linux: CI_DRM_5267 -> Patchwork_11026

  CI_DRM_5267: 680d161b3cf77a94e05dfdedcdeed4f38e4b7fd8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11026: 0f0985d49a1e6a169aa8516418b64d6cf386e540 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0f0985d49a1e drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11026/
___
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/dsc: Add Per connector debugfs node for DSC support/enable (rev3)

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/dsc: Add Per connector debugfs node for DSC support/enable 
(rev3)
URL   : https://patchwork.freedesktop.org/series/53449/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
0f0985d49a1e drm/i915/dsc: Add Per connector debugfs node for DSC support/enable
-:170: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not 
preferred. Consider using octal permissions '0444'.
#170: FILE: drivers/gpu/drm/i915/i915_debugfs.c:5231:
+   debugfs_create_file("i915_dsc_fec_support", S_IRUGO, root,

-:199: CHECK:BOOL_MEMBER: Avoid using bool structure members because of 
possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384
#199: FILE: drivers/gpu/drm/i915/intel_drv.h:1214:
+   bool force_dsc_en;

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

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


Re: [Intel-gfx] [PATCH v7] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Manasi Navare
On Wed, Dec 05, 2018 at 06:03:08PM -0500, Lyude Paul wrote:
> On Wed, 2018-12-05 at 14:57 -0800, Manasi Navare wrote:
> > DSC can be supported per DP connector. This patch adds a per connector
> > debugfs node to expose DSC support capability by the kernel.
> > The same node can be used from userspace to force DSC enable.
> > 
> > force_dsc_en written through this debugfs node is used to force
> > DSC even for lower resolutions.
> > 
> > Credits to Ville Syrjala for suggesting the proper locks to be used
> > and to Lyude Paul for explaining how to use them in this context
> > 
> > v7:
> > * Get crtc, crtc_state from connector atomic state
> > and add proper locks and backoff (Ville, Chris Wilson, Lyude)
> > (Suggested-by: Ville Syrjala )
> > * Use %zu for printing size_t variable (Lyude)
> > v6:
> > * Read fec_capable only for non edp (Manasi)
> > v5:
> > * Name it dsc sink support and also add
> > fec support in the same node (Ville)
> > v4:
> > * Add missed connector_status check (Manasi)
> > * Create i915_dsc_support node only for Gen >=10 (manasi)
> > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
> > v3:
> > * Combine Force_dsc_en with this patch (Ville)
> > v2:
> > * Use kstrtobool_from_user to avoid explicit error checking (Lyude)
> > * Rebase on drm-tip (Manasi)
> > 
> > Cc: Rodrigo Vivi 
> > Cc: Ville Syrjala 
> > Cc: Anusha Srivatsa 
> > Cc: Lyude Paul 
> > Signed-off-by: Manasi Navare 
> > ---
> >  drivers/gpu/drm/i915/i915_debugfs.c | 107 
> >  drivers/gpu/drm/i915/intel_dp.c |   3 +-
> >  drivers/gpu/drm/i915/intel_drv.h|   3 +
> >  3 files changed, 112 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> > b/drivers/gpu/drm/i915/i915_debugfs.c
> > index 129b9a6f8309..58f6636fffea 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -5086,6 +5086,106 @@ static int i915_hdcp_sink_capability_show(struct
> > seq_file *m, void *data)
> >  }
> >  DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
> >  
> > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> > +{
> > +   struct drm_connector *connector = m->private;
> > +   struct drm_device *dev = connector->dev;
> > +   struct drm_crtc *crtc;
> > +   struct intel_dp *intel_dp;
> > +   struct drm_modeset_acquire_ctx ctx;
> > +   struct intel_crtc_state *crtc_state = NULL;
> > +   int ret = 0;
> > +   bool try_again = false;
> > +
> > +   drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
> > +
> > +   do {
> > +   ret = drm_modeset_lock(>mode_config.connection_mutex,
> > +  );
> > +   if (ret) {
> > +   ret = -EINTR;
> > +   break;
> > +   }
> > +   crtc = connector->state->crtc;
> > +   if (connector->status != connector_status_connected || !crtc)
> > {
> > +   ret = -ENODEV;
> > +   break;
> > +   }
> > +   ret = drm_modeset_lock(>mutex, );
> > +   if (ret == -EDEADLK) {
> > +   ret = drm_modeset_backoff();
> > +   if (!ret) {
> > +   try_again = true;
> > +   continue;
> > +   }
> > +   break;
> > +   }
> > +   if (ret)
> > +   break;
> Maybe maybe make this:

Cool will do and add your r-b
Thanks for the reviews!

Manasi

> 
> } else if (ret) {
>   break;
> }
> 
> Just for clarity. With that change:
> 
> Reviewed-by: Lyude Paul 
> > +
> > +   intel_dp = enc_to_intel_dp(_attached_encoder(connector)-
> > >base);
> > +   crtc_state = to_intel_crtc_state(crtc->state);
> > +   seq_printf(m, "DSC_Enabled: %s\n",
> > +  yesno(crtc_state->dsc_params.compression_enable));
> > +   if (intel_dp->dsc_dpcd)
> > +   seq_printf(m, "DSC_Sink_Support: %s\n",
> > +  yesno(drm_dp_sink_supports_dsc(intel_dp-
> > >dsc_dpcd)));
> > +   if (!intel_dp_is_edp(intel_dp))
> > +   seq_printf(m, "FEC_Sink_Support: %s\n",
> > +  yesno(drm_dp_sink_supports_fec(intel_dp-
> > >fec_capable)));
> > +   } while (try_again);
> > +
> > +   drm_modeset_drop_locks();
> > +   drm_modeset_acquire_fini();
> > +
> > +   return ret;
> > +}
> > +
> > +static ssize_t i915_dsc_fec_support_write(struct file *file,
> > + const char __user *ubuf,
> > + size_t len, loff_t *offp)
> > +{
> > +   bool dsc_enable = false;
> > +   int ret;
> > +   struct drm_connector *connector =
> > +   ((struct seq_file *)file->private_data)->private;
> > +   struct intel_encoder *encoder = intel_attached_encoder(connector);
> > +   struct intel_dp *intel_dp = enc_to_intel_dp(>base);
> > +
> > +   if (len == 0)
> > + 

Re: [Intel-gfx] [PATCH v7] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Lyude Paul
On Wed, 2018-12-05 at 14:57 -0800, Manasi Navare wrote:
> DSC can be supported per DP connector. This patch adds a per connector
> debugfs node to expose DSC support capability by the kernel.
> The same node can be used from userspace to force DSC enable.
> 
> force_dsc_en written through this debugfs node is used to force
> DSC even for lower resolutions.
> 
> Credits to Ville Syrjala for suggesting the proper locks to be used
> and to Lyude Paul for explaining how to use them in this context
> 
> v7:
> * Get crtc, crtc_state from connector atomic state
> and add proper locks and backoff (Ville, Chris Wilson, Lyude)
> (Suggested-by: Ville Syrjala )
> * Use %zu for printing size_t variable (Lyude)
> v6:
> * Read fec_capable only for non edp (Manasi)
> v5:
> * Name it dsc sink support and also add
> fec support in the same node (Ville)
> v4:
> * Add missed connector_status check (Manasi)
> * Create i915_dsc_support node only for Gen >=10 (manasi)
> * Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
> v3:
> * Combine Force_dsc_en with this patch (Ville)
> v2:
> * Use kstrtobool_from_user to avoid explicit error checking (Lyude)
> * Rebase on drm-tip (Manasi)
> 
> Cc: Rodrigo Vivi 
> Cc: Ville Syrjala 
> Cc: Anusha Srivatsa 
> Cc: Lyude Paul 
> Signed-off-by: Manasi Navare 
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 107 
>  drivers/gpu/drm/i915/intel_dp.c |   3 +-
>  drivers/gpu/drm/i915/intel_drv.h|   3 +
>  3 files changed, 112 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 129b9a6f8309..58f6636fffea 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -5086,6 +5086,106 @@ static int i915_hdcp_sink_capability_show(struct
> seq_file *m, void *data)
>  }
>  DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
>  
> +static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> +{
> + struct drm_connector *connector = m->private;
> + struct drm_device *dev = connector->dev;
> + struct drm_crtc *crtc;
> + struct intel_dp *intel_dp;
> + struct drm_modeset_acquire_ctx ctx;
> + struct intel_crtc_state *crtc_state = NULL;
> + int ret = 0;
> + bool try_again = false;
> +
> + drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
> +
> + do {
> + ret = drm_modeset_lock(>mode_config.connection_mutex,
> +);
> + if (ret) {
> + ret = -EINTR;
> + break;
> + }
> + crtc = connector->state->crtc;
> + if (connector->status != connector_status_connected || !crtc)
> {
> + ret = -ENODEV;
> + break;
> + }
> + ret = drm_modeset_lock(>mutex, );
> + if (ret == -EDEADLK) {
> + ret = drm_modeset_backoff();
> + if (!ret) {
> + try_again = true;
> + continue;
> + }
> + break;
> + }
> + if (ret)
> + break;
Maybe maybe make this:

} else if (ret) {
break;
}

Just for clarity. With that change:

Reviewed-by: Lyude Paul 
> +
> + intel_dp = enc_to_intel_dp(_attached_encoder(connector)-
> >base);
> + crtc_state = to_intel_crtc_state(crtc->state);
> + seq_printf(m, "DSC_Enabled: %s\n",
> +yesno(crtc_state->dsc_params.compression_enable));
> + if (intel_dp->dsc_dpcd)
> + seq_printf(m, "DSC_Sink_Support: %s\n",
> +yesno(drm_dp_sink_supports_dsc(intel_dp-
> >dsc_dpcd)));
> + if (!intel_dp_is_edp(intel_dp))
> + seq_printf(m, "FEC_Sink_Support: %s\n",
> +yesno(drm_dp_sink_supports_fec(intel_dp-
> >fec_capable)));
> + } while (try_again);
> +
> + drm_modeset_drop_locks();
> + drm_modeset_acquire_fini();
> +
> + return ret;
> +}
> +
> +static ssize_t i915_dsc_fec_support_write(struct file *file,
> +   const char __user *ubuf,
> +   size_t len, loff_t *offp)
> +{
> + bool dsc_enable = false;
> + int ret;
> + struct drm_connector *connector =
> + ((struct seq_file *)file->private_data)->private;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> + struct intel_dp *intel_dp = enc_to_intel_dp(>base);
> +
> + if (len == 0)
> + return 0;
> +
> + DRM_DEBUG_DRIVER("Copied %zu bytes from user to force DSC\n",
> +  len);
> +
> + ret = kstrtobool_from_user(ubuf, len, _enable);
> + if (ret < 0)
> + return ret;
> +
> + DRM_DEBUG_DRIVER("Got %s for DSC 

[Intel-gfx] [PATCH v7] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Manasi Navare
DSC can be supported per DP connector. This patch adds a per connector
debugfs node to expose DSC support capability by the kernel.
The same node can be used from userspace to force DSC enable.

force_dsc_en written through this debugfs node is used to force
DSC even for lower resolutions.

Credits to Ville Syrjala for suggesting the proper locks to be used
and to Lyude Paul for explaining how to use them in this context

v7:
* Get crtc, crtc_state from connector atomic state
and add proper locks and backoff (Ville, Chris Wilson, Lyude)
(Suggested-by: Ville Syrjala )
* Use %zu for printing size_t variable (Lyude)
v6:
* Read fec_capable only for non edp (Manasi)
v5:
* Name it dsc sink support and also add
fec support in the same node (Ville)
v4:
* Add missed connector_status check (Manasi)
* Create i915_dsc_support node only for Gen >=10 (manasi)
* Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
v3:
* Combine Force_dsc_en with this patch (Ville)
v2:
* Use kstrtobool_from_user to avoid explicit error checking (Lyude)
* Rebase on drm-tip (Manasi)

Cc: Rodrigo Vivi 
Cc: Ville Syrjala 
Cc: Anusha Srivatsa 
Cc: Lyude Paul 
Signed-off-by: Manasi Navare 
---
 drivers/gpu/drm/i915/i915_debugfs.c | 107 
 drivers/gpu/drm/i915/intel_dp.c |   3 +-
 drivers/gpu/drm/i915/intel_drv.h|   3 +
 3 files changed, 112 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 129b9a6f8309..58f6636fffea 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -5086,6 +5086,106 @@ static int i915_hdcp_sink_capability_show(struct 
seq_file *m, void *data)
 }
 DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
 
+static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
+{
+   struct drm_connector *connector = m->private;
+   struct drm_device *dev = connector->dev;
+   struct drm_crtc *crtc;
+   struct intel_dp *intel_dp;
+   struct drm_modeset_acquire_ctx ctx;
+   struct intel_crtc_state *crtc_state = NULL;
+   int ret = 0;
+   bool try_again = false;
+
+   drm_modeset_acquire_init(, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
+
+   do {
+   ret = drm_modeset_lock(>mode_config.connection_mutex,
+  );
+   if (ret) {
+   ret = -EINTR;
+   break;
+   }
+   crtc = connector->state->crtc;
+   if (connector->status != connector_status_connected || !crtc) {
+   ret = -ENODEV;
+   break;
+   }
+   ret = drm_modeset_lock(>mutex, );
+   if (ret == -EDEADLK) {
+   ret = drm_modeset_backoff();
+   if (!ret) {
+   try_again = true;
+   continue;
+   }
+   break;
+   }
+   if (ret)
+   break;
+
+   intel_dp = 
enc_to_intel_dp(_attached_encoder(connector)->base);
+   crtc_state = to_intel_crtc_state(crtc->state);
+   seq_printf(m, "DSC_Enabled: %s\n",
+  yesno(crtc_state->dsc_params.compression_enable));
+   if (intel_dp->dsc_dpcd)
+   seq_printf(m, "DSC_Sink_Support: %s\n",
+  
yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
+   if (!intel_dp_is_edp(intel_dp))
+   seq_printf(m, "FEC_Sink_Support: %s\n",
+  
yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
+   } while (try_again);
+
+   drm_modeset_drop_locks();
+   drm_modeset_acquire_fini();
+
+   return ret;
+}
+
+static ssize_t i915_dsc_fec_support_write(struct file *file,
+ const char __user *ubuf,
+ size_t len, loff_t *offp)
+{
+   bool dsc_enable = false;
+   int ret;
+   struct drm_connector *connector =
+   ((struct seq_file *)file->private_data)->private;
+   struct intel_encoder *encoder = intel_attached_encoder(connector);
+   struct intel_dp *intel_dp = enc_to_intel_dp(>base);
+
+   if (len == 0)
+   return 0;
+
+   DRM_DEBUG_DRIVER("Copied %zu bytes from user to force DSC\n",
+len);
+
+   ret = kstrtobool_from_user(ubuf, len, _enable);
+   if (ret < 0)
+   return ret;
+
+   DRM_DEBUG_DRIVER("Got %s for DSC Enable\n",
+(dsc_enable) ? "true" : "false");
+   intel_dp->force_dsc_en = dsc_enable;
+
+   *offp += len;
+   return len;
+}
+
+static int i915_dsc_fec_support_open(struct inode *inode,
+struct file *file)
+{
+   return single_open(file, 

[Intel-gfx] ✓ Fi.CI.BAT: success for ACPI-PMIC + i915: Add support for PMIC MIPI sequences

2018-12-05 Thread Patchwork
== Series Details ==

Series: ACPI-PMIC + i915: Add support for PMIC MIPI sequences
URL   : https://patchwork.freedesktop.org/series/53594/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5267 -> Patchwork_11025


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_contexts:
- fi-bsw-kefka:   PASS -> DMESG-FAIL [fdo#108626]

  * {igt@runner@aborted}:
- {fi-icl-u3}:NOTRUN -> FAIL [fdo#108866]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315]

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

  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108626]: https://bugs.freedesktop.org/show_bug.cgi?id=108626
  [fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866


Participating hosts (49 -> 45)
--

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


Build changes
-

* Linux: CI_DRM_5267 -> Patchwork_11025

  CI_DRM_5267: 680d161b3cf77a94e05dfdedcdeed4f38e4b7fd8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11025: 069ab7eb308298f19c1f008d4c7e9d70c4001d61 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

069ab7eb3082 drm/i915/intel_dsi_vbt: Add support for PMIC mipi sequences
4ae5f23cfdb6 ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey 
Cove PMIC
cbc57114716d ACPI / PMIC: Add support for executing PMIC MIPI sequence elements

== Logs ==

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


Re: [Intel-gfx] [PATCH] drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area

2018-12-05 Thread Dhinakaran Pandiyan
On Tue, 2018-12-04 at 16:48 -0800, José Roberto de Souza wrote:
> GLK and CNL+ supports a bigger FBC tracking area.
> 
> Signed-off-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/intel_fbc.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c
> b/drivers/gpu/drm/i915/intel_fbc.c
> index f23570c44323..78dbacdeaece 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -626,7 +626,10 @@ static bool
> intel_fbc_hw_tracking_covers_screen(struct intel_crtc *crtc)
>   struct intel_fbc *fbc = _priv->fbc;
>   unsigned int effective_w, effective_h, max_w, max_h;
>  
> - if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) {
> + if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) {
> + max_w = 5120;
> + max_h = 4096;
Verified against bspec.
Reviewed-by: Dhinakaran Pandiyan 

> + } else if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) {
>   max_w = 4096;
>   max_h = 4096;
>   } else if (IS_G4X(dev_priv) || INTEL_GEN(dev_priv) >= 5) {

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


Re: [Intel-gfx] [PATCH 2/3] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC

2018-12-05 Thread Ville Syrjälä
On Wed, Dec 05, 2018 at 10:03:09PM +0100, Hans de Goede wrote:
> Implement the exec_mipi_pmic_seq_element callback for the CHT Whiskey Cove
> PMIC.
> 
> On some CHT devices this fixes the LCD panel not lighting up when it was
> not initialized by the GOP, because an external monitor was plugged in and
> the GOP initialized only the external monitor.
> 
> Signed-off-by: Hans de Goede 
> ---
>  drivers/acpi/pmic/intel_pmic_chtwc.c | 23 +++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/drivers/acpi/pmic/intel_pmic_chtwc.c 
> b/drivers/acpi/pmic/intel_pmic_chtwc.c
> index 078b0448f30a..d035541f0ed2 100644
> --- a/drivers/acpi/pmic/intel_pmic_chtwc.c
> +++ b/drivers/acpi/pmic/intel_pmic_chtwc.c
> @@ -12,6 +12,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include "intel_pmic.h"
>  
>  #define CHT_WC_V1P05A_CTRL   0x6e3b
> @@ -231,6 +232,27 @@ static int intel_cht_wc_pmic_update_power(struct regmap 
> *regmap, int reg,
>   return regmap_update_bits(regmap, reg, bitmask, on ? 1 : 0);
>  }
>  
> +static void intel_cht_wc_exec_mipi_pmic_seq_element(struct regmap *regmap,
> + const u8 *data)
> +{
> + u16 i2c_client_address, reg_address, address;
> + u32 value, mask;
> +
> + i2c_client_address  = get_unaligned_be16(data);
> + reg_address = get_unaligned_be16(data + 2);
> + value   = get_unaligned_be32(data + 4);
> + mask= get_unaligned_be32(data + 8);

This doesn't match the docs:

"Byte0 – PMIC Flag
 Bits 7:0 = Reserved for future use

 Byte2,1 – PMIC Slave Address
 Bits 15:0 = Slave address for PMIC access
 Each slave can address 256byte register space in general

 Bytes 6,5,4,3 – DWORD 0
 Bits 31:0 = PMIC Register Address

 Bytes 10,9,8,7 – DWORD 1
 Bits 31:0 = PMIC Register Data

 Bytes 14,13,12,11 – DWORD 2
 Bits 31:0 = PMIC Register DataMask"

Though I wouldn't be entirely surprised if the docs are simply
wrong. There is at least one bug in the docs where it claims
the size to be 14 bytes. Another place in the docs says 15 bytes.
I'll need to file a bug for that at least.

> +
> + if ((i2c_client_address & 0xff00) || (reg_address & 0xff00)) {
> + pr_warn("%s warning addresses too big client 0x%x reg 0x%x\n",
> + __func__, i2c_client_address, reg_address);
> + return;
> + }
> +
> + address = (i2c_client_address << 8) | reg_address;
> + regmap_update_bits(regmap, address, mask, value);
> +}
> +
>  /*
>   * The thermal table and ops are empty, we do not support the Thermal 
> opregion
>   * (DPTF) due to lacking documentation.
> @@ -238,6 +260,7 @@ static int intel_cht_wc_pmic_update_power(struct regmap 
> *regmap, int reg,
>  static struct intel_pmic_opregion_data intel_cht_wc_pmic_opregion_data = {
>   .get_power  = intel_cht_wc_pmic_get_power,
>   .update_power   = intel_cht_wc_pmic_update_power,
> + .exec_mipi_pmic_seq_element = intel_cht_wc_exec_mipi_pmic_seq_element,
>   .power_table= power_table,
>   .power_table_count  = ARRAY_SIZE(power_table),
>  };
> -- 
> 2.19.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 v6] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Lyude Paul
On Wed, 2018-12-05 at 11:29 -0800, Manasi Navare wrote:
> On Wed, Dec 05, 2018 at 02:00:39PM -0500, Lyude Paul wrote:
> > Looks good, some small nitpicks
> > 
> > On Tue, 2018-12-04 at 11:55 -0800, Manasi Navare wrote:
> > > DSC can be supported per DP connector. This patch adds a per connector
> > > debugfs node to expose DSC support capability by the kernel.
> > > The same node can be used from userspace to force DSC enable.
> > > 
> > > force_dsc_en written through this debugfs node is used to force
> > > DSC even for lower resolutions.
> > > 
> > > v6:
> > > * Read fec_capable only for non edp (Manasi)
> > > v5:
> > > * Name it dsc sink support and also add
> > > fec support in the same node (Ville)
> > > v4:
> > > * Add missed connector_status check (Manasi)
> > > * Create i915_dsc_support node only for Gen >=10 (manasi)
> > > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
> > > v3:
> > > * Combine Force_dsc_en with this patch (Ville)
> > > v2:
> > > * Use kstrtobool_from_user to avoid explicit error checking (Lyude)
> > > * Rebase on drm-tip (Manasi)
> > > 
> > > Cc: Rodrigo Vivi 
> > > Cc: Ville Syrjala 
> > > Cc: Anusha Srivatsa 
> > > Cc: Lyude Paul 
> > > Signed-off-by: Manasi Navare 
> > > ---
> > >  drivers/gpu/drm/i915/i915_debugfs.c | 80 +
> > >  drivers/gpu/drm/i915/intel_dp.c |  3 +-
> > >  drivers/gpu/drm/i915/intel_drv.h|  3 ++
> > >  3 files changed, 85 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> > > b/drivers/gpu/drm/i915/i915_debugfs.c
> > > index 129b9a6f8309..ec10ab027d18 100644
> > > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > > @@ -5086,6 +5086,79 @@ static int i915_hdcp_sink_capability_show(struct
> > > seq_file *m, void *data)
> > >  }
> > >  DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
> > >  
> > > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> > > +{
> > > + struct drm_connector *connector = m->private;
> > > + struct intel_encoder *encoder = intel_attached_encoder(connector);
> > > + struct intel_dp *intel_dp =
> > > + enc_to_intel_dp(>base);
> > > + struct intel_crtc *crtc;
> > > + struct intel_crtc_state *crtc_state;
> > > +
> > > + if (connector->status != connector_status_connected)
> > > + return -ENODEV;
> > > +
> > > + crtc = to_intel_crtc(encoder->base.crtc);
> > > + crtc_state = to_intel_crtc_state(crtc->base.state);
> 
> I am seeing a kernel NULl pointer dereferencing here in CI possibly because
> the crtc is NULL and as per Ville and Danvet I should be grabbing both
> connection mutex
> and crtc mutex and use the acquire ctx and backoff stuff so I am trying to
> understand that part
> and seeing how I can use that.
> 
> Let me know if you have any inputs/examples on that too..

Mhm, so here's why they are asking for each lock:

connection_mutex: Protects any connector->state, and connector->status.

(As an extra note: ignore connector->mutex for modesetting purposes, only
 dev->mode_config.connection_mutex is important.)

crtc->mutex: Anything in crtc->state for the given crtc

In order to avoid to avoid a NULL dereference due to connector->crtc->state
changing, you'd start grabbing locks with something like this:


  /* pretend we have 'connector' already set to the drm_connector */
  /* also pretend we have 'dev' set to the struct drm_device* */
  struct drm_crtc *crtc;
  struct drm_modeset_acquire_ctx ctx;
  bool try_again = false;
  int ret = 0;

  drm_modeset_acquire_init(, 0);

  do {
/* We don't check the return code here because since this is
 * our first lock, so there isn't any chance of us deadlocking
 * yet.
 */
drm_modeset_lock(>mode_config.connection_mutex, );

/* Cool! Now that we're holding connection_mutex, we can start
 * reading from the connector struct and friends
 */
crtc = connector->state->crtc;
if (connector->status != connector_status_connected || !crtc) {
  ret = -ENODEV;
  break;
}

/* Now we need to check the return code from
 * drm_modeset_lock(), because...
 */
ret = drm_modeset_lock(>mutex, );
if (ret == -EDEADLK) {
  /* We could deadlock! If we're here, then this is
   * probably what happened:
   *
   *  (us) 
   * modeset_lock(_mutex);  modeset_lock(>mutex);
   * modeset_lock(>mutex); modeset_lock(_mutex);
   *
   * CPU1 is waiting for crtc->mutex which is held by CPU2, but
   * CPU2 is waiting for conn_mutex, which is held by CPU1
   *
   * Normally the kernel doesn't run into this issue
   * because a lot of care has been put into ordering
   * mutex_lock() calls correctly. But, with modesetting
   * we don't have the benefit of knowing what order these
   * locks will be acquired in. Since drm_modeset_lock()
   * has informed us of this scenario however, we can
   * avoid hanging 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Forcibly evict stale csb entries (rev2)

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Forcibly evict stale csb entries (rev2)
URL   : https://patchwork.freedesktop.org/series/53560/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11024


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / 
[fdo#108070] / [fdo#108924]

  * igt@prime_self_import@basic-with_two_bos:
- fi-cfl-8109u:   PASS -> DMESG-WARN [fdo#106107]

  * {igt@runner@aborted}:
- fi-icl-u2:  NOTRUN -> FAIL [fdo#108070]
- {fi-icl-u3}:NOTRUN -> FAIL [fdo#108866]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-ivb-3520m:   FAIL [fdo#108880] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315]

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866
  [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924


Participating hosts (47 -> 45)
--

  Additional (2): fi-icl-y fi-icl-u2 
  Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


Build changes
-

* Linux: CI_DRM_5266 -> Patchwork_11024

  CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11024: 17da1424ccbdd807dfc3508f071d72424425a82f @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

17da1424ccbd drm/i915/icl: Forcibly evict stale csb entries

== Logs ==

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


[Intel-gfx] [PATCH 1/3] ACPI / PMIC: Add support for executing PMIC MIPI sequence elements

2018-12-05 Thread Hans de Goede
DSI LCD panels describe an initialization sequence in the Video BIOS
Tables using so called MIPI sequences. One possible element in these
sequences is a PMIC specific element of 15 bytes.

Although this is not really an ACPI opregion, the ACPI opregion code is the
closest thing we have. We need to have support for these PMIC specific MIPI
sequence elements somwhere. Since we already instantiate a special platform
device for Intel PMICs for the ACPI PMIC OpRegion handler to bind to,
with PMIC specific implementations of the OpRegion, the handling of MIPI
sequence PMIC elements fits very well in the ACPI PMIC OpRegion code.

This commit adds a new intel_soc_pmic_exec_mipi_pmic_seq_element()
function, which is to be backed by a PMIC specific
exec_mipi_pmic_seq_element callback. This function will be called by the
i915 code to execture MIPI sequence PMIC elements.

Signed-off-by: Hans de Goede 
---
 drivers/acpi/pmic/intel_pmic.c | 25 +
 drivers/acpi/pmic/intel_pmic.h |  1 +
 include/linux/mfd/intel_soc_pmic.h |  2 ++
 3 files changed, 28 insertions(+)

diff --git a/drivers/acpi/pmic/intel_pmic.c b/drivers/acpi/pmic/intel_pmic.c
index ca18e0d23df9..0d96ca08bb79 100644
--- a/drivers/acpi/pmic/intel_pmic.c
+++ b/drivers/acpi/pmic/intel_pmic.c
@@ -15,6 +15,7 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include "intel_pmic.h"
@@ -36,6 +37,8 @@ struct intel_pmic_opregion {
struct intel_pmic_regs_handler_ctx ctx;
 };
 
+static struct intel_pmic_opregion *intel_pmic_opregion;
+
 static int pmic_get_reg_bit(int address, struct pmic_table *table,
int count, int *reg, int *bit)
 {
@@ -304,6 +307,7 @@ int intel_pmic_install_opregion_handler(struct device *dev, 
acpi_handle handle,
}
 
opregion->data = d;
+   intel_pmic_opregion = opregion;
return 0;
 
 out_remove_thermal_handler:
@@ -319,3 +323,24 @@ int intel_pmic_install_opregion_handler(struct device 
*dev, acpi_handle handle,
return ret;
 }
 EXPORT_SYMBOL_GPL(intel_pmic_install_opregion_handler);
+
+void intel_soc_pmic_exec_mipi_pmic_seq_element(const u8 *data)
+{
+   struct intel_pmic_opregion_data *d;
+
+   if (!intel_pmic_opregion) {
+   pr_warn("%s: No PMIC registered\n", __func__);
+   return;
+   }
+
+   d = intel_pmic_opregion->data;
+   if (!d->exec_mipi_pmic_seq_element) {
+   pr_warn("%s: Not implemented\n", __func__);
+   return;
+   }
+
+   mutex_lock(_pmic_opregion->lock);
+   d->exec_mipi_pmic_seq_element(intel_pmic_opregion->regmap, data);
+   mutex_unlock(_pmic_opregion->lock);
+}
+EXPORT_SYMBOL_GPL(intel_soc_pmic_exec_mipi_pmic_seq_element);
diff --git a/drivers/acpi/pmic/intel_pmic.h b/drivers/acpi/pmic/intel_pmic.h
index 095afc96952e..5a7bb33d046a 100644
--- a/drivers/acpi/pmic/intel_pmic.h
+++ b/drivers/acpi/pmic/intel_pmic.h
@@ -15,6 +15,7 @@ struct intel_pmic_opregion_data {
int (*update_aux)(struct regmap *r, int reg, int raw_temp);
int (*get_policy)(struct regmap *r, int reg, int bit, u64 *value);
int (*update_policy)(struct regmap *r, int reg, int bit, int enable);
+   void (*exec_mipi_pmic_seq_element)(struct regmap *r, const u8 *data);
struct pmic_table *power_table;
int power_table_count;
struct pmic_table *thermal_table;
diff --git a/include/linux/mfd/intel_soc_pmic.h 
b/include/linux/mfd/intel_soc_pmic.h
index ed1dfba5e5f9..ce04ad7d4b6c 100644
--- a/include/linux/mfd/intel_soc_pmic.h
+++ b/include/linux/mfd/intel_soc_pmic.h
@@ -26,4 +26,6 @@ struct intel_soc_pmic {
struct device *dev;
 };
 
+void intel_soc_pmic_exec_mipi_pmic_seq_element(const u8 *data);
+
 #endif /* __INTEL_SOC_PMIC_H__ */
-- 
2.19.2

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


[Intel-gfx] [PATCH 2/3] ACPI / PMIC: Implement exec_mipi_pmic_seq_element for CHT Whiskey Cove PMIC

2018-12-05 Thread Hans de Goede
Implement the exec_mipi_pmic_seq_element callback for the CHT Whiskey Cove
PMIC.

On some CHT devices this fixes the LCD panel not lighting up when it was
not initialized by the GOP, because an external monitor was plugged in and
the GOP initialized only the external monitor.

Signed-off-by: Hans de Goede 
---
 drivers/acpi/pmic/intel_pmic_chtwc.c | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/drivers/acpi/pmic/intel_pmic_chtwc.c 
b/drivers/acpi/pmic/intel_pmic_chtwc.c
index 078b0448f30a..d035541f0ed2 100644
--- a/drivers/acpi/pmic/intel_pmic_chtwc.c
+++ b/drivers/acpi/pmic/intel_pmic_chtwc.c
@@ -12,6 +12,7 @@
 #include 
 #include 
 #include 
+#include 
 #include "intel_pmic.h"
 
 #define CHT_WC_V1P05A_CTRL 0x6e3b
@@ -231,6 +232,27 @@ static int intel_cht_wc_pmic_update_power(struct regmap 
*regmap, int reg,
return regmap_update_bits(regmap, reg, bitmask, on ? 1 : 0);
 }
 
+static void intel_cht_wc_exec_mipi_pmic_seq_element(struct regmap *regmap,
+   const u8 *data)
+{
+   u16 i2c_client_address, reg_address, address;
+   u32 value, mask;
+
+   i2c_client_address  = get_unaligned_be16(data);
+   reg_address = get_unaligned_be16(data + 2);
+   value   = get_unaligned_be32(data + 4);
+   mask= get_unaligned_be32(data + 8);
+
+   if ((i2c_client_address & 0xff00) || (reg_address & 0xff00)) {
+   pr_warn("%s warning addresses too big client 0x%x reg 0x%x\n",
+   __func__, i2c_client_address, reg_address);
+   return;
+   }
+
+   address = (i2c_client_address << 8) | reg_address;
+   regmap_update_bits(regmap, address, mask, value);
+}
+
 /*
  * The thermal table and ops are empty, we do not support the Thermal opregion
  * (DPTF) due to lacking documentation.
@@ -238,6 +260,7 @@ static int intel_cht_wc_pmic_update_power(struct regmap 
*regmap, int reg,
 static struct intel_pmic_opregion_data intel_cht_wc_pmic_opregion_data = {
.get_power  = intel_cht_wc_pmic_get_power,
.update_power   = intel_cht_wc_pmic_update_power,
+   .exec_mipi_pmic_seq_element = intel_cht_wc_exec_mipi_pmic_seq_element,
.power_table= power_table,
.power_table_count  = ARRAY_SIZE(power_table),
 };
-- 
2.19.2

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


[Intel-gfx] [PATCH 3/3] drm/i915/intel_dsi_vbt: Add support for PMIC mipi sequences

2018-12-05 Thread Hans de Goede
Add support for PMIC mipi sequences using the new
intel_soc_pmic_exec_mipi_pmic_seq_element function.

Signed-off-by: Hans de Goede 
---
 drivers/gpu/drm/i915/intel_dsi_vbt.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_dsi_vbt.c 
b/drivers/gpu/drm/i915/intel_dsi_vbt.c
index f27af47c6e49..6a2ed1ca72e0 100644
--- a/drivers/gpu/drm/i915/intel_dsi_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_vbt.c
@@ -29,6 +29,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -371,7 +372,11 @@ static const u8 *mipi_exec_spi(struct intel_dsi 
*intel_dsi, const u8 *data)
 
 static const u8 *mipi_exec_pmic(struct intel_dsi *intel_dsi, const u8 *data)
 {
+#ifdef CONFIG_PMIC_OPREGION
+   intel_soc_pmic_exec_mipi_pmic_seq_element(data);
+#else
DRM_DEBUG_KMS("Skipping PMIC element execution\n");
+#endif
 
return data + 15;
 }
-- 
2.19.2

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


[Intel-gfx] [PATCH 0/3] ACPI-PMIC + i915: Add support for PMIC MIPI sequences

2018-12-05 Thread Hans de Goede
Hi All,

This series is the result of me debugging and fixing the LCD panel not
lighting up on some CHT devices when they are booted with an external
monitor connected and the GOP only initializes the external monitor,
leaving the LCD uninitialized.

This is caused by the lack of support for executing PMIC MIPI sequences
in drivers/gpu/drm/i915/intel_dsi_vbt.c. Specifically the VBT on these
devices uses a PMIC MIPI sequence to toggle a GPIO on the PMIC.

Besides fixing the LCD panel not working at all when an external monitor
is used, this should also save some power when the panel is off.

This series touches some files under drivers/acpi/pmic as well as some
i915 code. Since the code under drivers/acpi/pmic does not change that
often, I believe it would be best to merge this entire series through
intel-drm-next-queued, with acks from the ACPI maintainers.

Regards,

Hans

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


Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces

2018-12-05 Thread Chris Wilson
Quoting Chris Wilson (2018-12-05 15:01:03)
> Quoting Pedro Tammela (2018-12-05 11:06:08)
> > Fixes a comestic issue where spaces were being used
> > instead of mixed tab and spaces.
> > 
> > Signed-off-by: Pedro Tammela 
> 
> Consistency good and removes a spurious line from one of patches,
> Reviewed-by: Chris Wilson 

And pushed, thanks for the patch.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Clear bogus DMC BIOS/debug power well requests

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915: Clear bogus DMC BIOS/debug power well requests
URL   : https://patchwork.freedesktop.org/series/53591/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11023


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / 
[fdo#108070] / [fdo#108924]

  * {igt@runner@aborted}:
- fi-icl-u2:  NOTRUN -> FAIL [fdo#108070]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924


Participating hosts (47 -> 45)
--

  Additional (2): fi-icl-y fi-icl-u2 
  Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


Build changes
-

* Linux: CI_DRM_5266 -> Patchwork_11023

  CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11023: 4e695c5989bb2889e4c0ef05f3b87d48c302f4d2 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

4e695c5989bb drm/i915: Clear bogus DMC BIOS/debug power well requests

== Logs ==

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


Re: [Intel-gfx] [PATCH] drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR

2018-12-05 Thread Dhinakaran Pandiyan
On Wed, 2018-12-05 at 10:48 -0800, José Roberto de Souza wrote:
> The DP_DPCD_QUIRK_NO_PSR comment is missing colon causing this
> warning when generating kernel documentation.
> 
> ./include/drm/drm_dp_helper.h:1374: warning: Incorrect use of kernel-
> doc format:  * @DP_DPCD_QUIRK_NO_PSR
> 
Cc: dri-de...@lists.freedesktop.org
Reviewed-by: Dhinakaran Pandiyan 
> Fixes: 7c5c641a930e (drm/i915: Disable PSR in Apple panels)
> Cc: Dhinakaran Pandiyan 
> Signed-off-by: José Roberto de Souza 
> ---
>  include/drm/drm_dp_helper.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/drm/drm_dp_helper.h
> b/include/drm/drm_dp_helper.h
> index 18cfde45b8ed..c223c87ef119 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -1370,7 +1370,7 @@ enum drm_dp_quirk {
>*/
>   DP_DPCD_QUIRK_CONSTANT_N,
>   /**
> -  * @DP_DPCD_QUIRK_NO_PSR
> +  * @DP_DPCD_QUIRK_NO_PSR:
>*
>* The device does not support PSR even if reports that it
> supports or
>* driver still need to implement proper handling for such
> device.

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


[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/icl: Forcibly evict stale csb entries

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Forcibly evict stale csb entries
URL   : https://patchwork.freedesktop.org/series/53560/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5266_full -> Patchwork_11019_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@kms_cursor_legacy@pipe-c-torture-bo:
- shard-skl:  PASS -> INCOMPLETE

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- {shard-iclb}:   PASS -> INCOMPLETE

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-skl:  PASS -> TIMEOUT [fdo#108039]

  * igt@kms_available_modes_crc@available_mode_test_crc:
- shard-apl:  PASS -> FAIL [fdo#106641]

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725]

  * igt@kms_chv_cursor_fail@pipe-c-128x128-top-edge:
- shard-skl:  PASS -> FAIL [fdo#104671]

  * igt@kms_cursor_crc@cursor-128x128-dpms:
- shard-apl:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x256-onscreen:
- shard-glk:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x85-random:
- shard-skl:  NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +6

  * igt@kms_draw_crc@draw-method-xrgb-render-ytiled:
- {shard-iclb}:   PASS -> WARN [fdo#108336] +2

  * igt@kms_flip@flip-vs-panning-vs-hang-interruptible:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +7

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu:
- {shard-iclb}:   NOTRUN -> DMESG-FAIL [fdo#107724]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
- shard-apl:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-glk:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-tilingchange:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724] +3

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff:
- shard-skl:  NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-skl:  NOTRUN -> FAIL [fdo#105683]

  * igt@kms_plane@pixel-format-pipe-a-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
- shard-apl:  PASS -> FAIL [fdo#103166]
- {shard-iclb}:   PASS -> FAIL [fdo#103166]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724]

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-kbl:  PASS -> DMESG-FAIL [fdo#108950]

  * igt@kms_setmode@basic:
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@perf@polling:
- shard-hsw:  PASS -> FAIL [fdo#102252]

  * igt@pm_rpm@i2c:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#108840]

  
 Possible fixes 

  * igt@kms_color@pipe-b-legacy-gamma:
- shard-apl:  FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
- shard-apl:  FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-64x64-sliding:
- shard-glk:  FAIL [fdo#103232] -> PASS

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-skl:  FAIL [fdo#105363] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-apl:  FAIL [fdo#103167] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc:
- {shard-iclb}:   DMESG-FAIL [fdo#107724] -> PASS +1

  * 

[Intel-gfx] [PATCH] drm/i915: Clear bogus DMC BIOS/debug power well requests

2018-12-05 Thread Ville Syrjala
From: Ville Syrjälä 

The DMC firmware is confused and forces on the BIOS and debug
power well requests for PW1 and MISC IO on some platforms. On
BXT I measured this to waste about 10mW in the freeze system
suspend state with the SoC in s0. I didn't get conclusive
numbers for s0ix on account of the power consumption being
much more noisy than in s0.

This is pretty much undoing part of commit 42d9366d41a9
("drm/i915/gen9+: Don't remove secondary power well requests")
where we stopped sanitizing the DMCs bogus request bits.

Cc: Imre Deak 
Cc: Rodrigo Vivi 
Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/intel_runtime_pm.c | 35 +++--
 1 file changed, 33 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 4350a5270423..6e349181dd1c 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -336,10 +336,17 @@ static void hsw_wait_for_power_well_disable(struct 
drm_i915_private *dev_priv,
 * Bspec doesn't require waiting for PWs to get disabled, but still do
 * this for paranoia. The known cases where a PW will be forced on:
 * - a KVMR request on any power well via the KVMR request register
-* - a DMC request on PW1 and MISC_IO power wells via the BIOS and
-*   DEBUG request registers
+* - a debug request on any power well via the DEBUG request register
 * Skip the wait in case any of the request bits are set and print a
 * diagnostic message.
+*
+* Note that DMC firmware will also force on the PW1 BIOS request
+* on SKL-CNL, MISC_IO BIOS request on SKL-GLK (although MISC_IO
+* does not even exits on BXT/GLK so the bit doesn't stick),
+* and the PW1/MISC_IO debug request on BXT. We simply clear
+* those spurious requests in hsw_power_well_disable() to make
+* sure they don't waste power. Starting from ICL the DMC firmware
+* has been fixed to only force on the PW1 driver request bit.
 */
wait_for((disabled = !(I915_READ(regs->driver) &
   HSW_PWR_WELL_CTL_STATE(pw_idx))) ||
@@ -347,6 +354,11 @@ static void hsw_wait_for_power_well_disable(struct 
drm_i915_private *dev_priv,
if (disabled)
return;
 
+   WARN(reqs & 3,
+"%s left on (bios:%d driver:%d kvmr:%d debug:%d)\n",
+power_well->desc->name,
+!!(reqs & 1), !!(reqs & 2), !!(reqs & 4), !!(reqs & 8));
+
DRM_DEBUG_KMS("%s forced on (bios:%d driver:%d kvmr:%d debug:%d)\n",
  power_well->desc->name,
  !!(reqs & 1), !!(reqs & 2), !!(reqs & 4), !!(reqs & 8));
@@ -409,6 +421,7 @@ static void hsw_power_well_disable(struct drm_i915_private 
*dev_priv,
   struct i915_power_well *power_well)
 {
const struct i915_power_well_regs *regs = power_well->desc->hsw.regs;
+   enum i915_power_well_id id = power_well->desc->id;
int pw_idx = power_well->desc->hsw.idx;
u32 val;
 
@@ -417,6 +430,24 @@ static void hsw_power_well_disable(struct drm_i915_private 
*dev_priv,
 
val = I915_READ(regs->driver);
I915_WRITE(regs->driver, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx));
+   /*
+* On SKL-CNL DMC firmware forces on the BIOS request.
+* This wastes a bit of power so clear it.
+*/
+   if (INTEL_GEN(dev_priv) < 11 &&
+   (id == SKL_DISP_PW_1 || id == SKL_DISP_PW_MISC_IO)) {
+   val = I915_READ(regs->bios);
+   I915_WRITE(regs->bios, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx));
+   }
+   /*
+* On BXT DMC firmware forces on the debug request.
+* This wastes a bit of power so clear it.
+*/
+   if (IS_BROXTON(dev_priv) &&
+   (id == SKL_DISP_PW_1 || id == SKL_DISP_PW_MISC_IO)) {
+   val = I915_READ(regs->debug);
+   I915_WRITE(regs->debug, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx));
+   }
hsw_wait_for_power_well_disable(dev_priv, power_well);
 }
 
-- 
2.18.1

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


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

2018-12-05 Thread Sean Paul

Hi Dave,
drm-misc fixes for this week. Big item is the lease uevent change. It seems like
there's a high degree of confidence that existing userspaces will be happy with
any uevent, so it should be a non-issue. Nevertheless, it hasn't soaked for very
long, so something to keep an eye on.

drm-misc-fixes-2018-12-05:
UAPI:
- Distinguish lease events from hotplug (Daniel)

Other:
- omap: Restore panel-dpi bus flags (Tomi)
- omap: Fix a couple of dsi issues (Sebastian)

Cc: Sebastian Reichel 
Cc: Tomi Valkeinen 
Cc: Daniel Vetter 

Cheers, Sean


The following changes since commit 9765635b30756eb74e05e260ac812659c296cd28:

  Revert "drm/dp_mst: Skip validating ports during destruction, just ref" 
(2018-11-28 16:22:17 -0500)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2018-12-05

for you to fetch changes up to b31a3ca745a4a47ba63208d37cd50abffe58280f:

  drm/fb-helper: Fix typo in parameter description (2018-12-04 14:22:20 +0100)


UAPI:
- Distinguish lease events from hotplug (Daniel)

Other:
- omap: Restore panel-dpi bus flags (Tomi)
- omap: Fix a couple of dsi issues (Sebastian)

Cc: Sebastian Reichel 
Cc: Tomi Valkeinen 
Cc: Daniel Vetter 


Daniel Vetter (1):
  drm/lease: Send a distinct uevent

Sandeep Panda (1):
  drm/bridge: fix AUX_CMD_SEND bit value for ti, sn65dsi86 bridge

Sebastian Reichel (2):
  drm/omap: populate DSI platform bus earlier
  drm/omap: fix incorrect union usage

Tomi Valkeinen (1):
  drm/omap: fix bus_flags for panel-dpi

Wei Yongjun (1):
  drm/fb-helper: Fix typo in parameter description

 drivers/gpu/drm/bridge/ti-sn65dsi86.c|  2 +-
 drivers/gpu/drm/drm_fb_helper.c  |  2 +-
 drivers/gpu/drm/drm_internal.h   |  2 +
 drivers/gpu/drm/drm_lease.c  |  2 +-
 drivers/gpu/drm/drm_sysfs.c  | 10 +
 drivers/gpu/drm/omapdrm/displays/panel-dpi.c |  1 +
 drivers/gpu/drm/omapdrm/dss/dsi.c| 20 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h|  2 +-
 drivers/gpu/drm/omapdrm/omap_encoder.c   | 58 
 9 files changed, 60 insertions(+), 39 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


[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Document Wa_1606682166

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Document Wa_1606682166
URL   : https://patchwork.freedesktop.org/series/53584/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11022


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_module_load@reload:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / 
[fdo#108070] / [fdo#108924]

  * {igt@runner@aborted}:
- fi-icl-u2:  NOTRUN -> FAIL [fdo#108070]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-ivb-3520m:   FAIL [fdo#108880] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315]

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924


Participating hosts (47 -> 45)
--

  Additional (2): fi-icl-y fi-icl-u2 
  Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


Build changes
-

* Linux: CI_DRM_5266 -> Patchwork_11022

  CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11022: 5d8ad47d217efb0cd2822c8307fb5f4c2b8ee7fa @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5d8ad47d217e drm/i915/icl: Document Wa_1606682166

== Logs ==

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


Re: [Intel-gfx] [PATCH v6] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Manasi Navare
On Wed, Dec 05, 2018 at 02:00:39PM -0500, Lyude Paul wrote:
> Looks good, some small nitpicks
> 
> On Tue, 2018-12-04 at 11:55 -0800, Manasi Navare wrote:
> > DSC can be supported per DP connector. This patch adds a per connector
> > debugfs node to expose DSC support capability by the kernel.
> > The same node can be used from userspace to force DSC enable.
> > 
> > force_dsc_en written through this debugfs node is used to force
> > DSC even for lower resolutions.
> > 
> > v6:
> > * Read fec_capable only for non edp (Manasi)
> > v5:
> > * Name it dsc sink support and also add
> > fec support in the same node (Ville)
> > v4:
> > * Add missed connector_status check (Manasi)
> > * Create i915_dsc_support node only for Gen >=10 (manasi)
> > * Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
> > v3:
> > * Combine Force_dsc_en with this patch (Ville)
> > v2:
> > * Use kstrtobool_from_user to avoid explicit error checking (Lyude)
> > * Rebase on drm-tip (Manasi)
> > 
> > Cc: Rodrigo Vivi 
> > Cc: Ville Syrjala 
> > Cc: Anusha Srivatsa 
> > Cc: Lyude Paul 
> > Signed-off-by: Manasi Navare 
> > ---
> >  drivers/gpu/drm/i915/i915_debugfs.c | 80 +
> >  drivers/gpu/drm/i915/intel_dp.c |  3 +-
> >  drivers/gpu/drm/i915/intel_drv.h|  3 ++
> >  3 files changed, 85 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> > b/drivers/gpu/drm/i915/i915_debugfs.c
> > index 129b9a6f8309..ec10ab027d18 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -5086,6 +5086,79 @@ static int i915_hdcp_sink_capability_show(struct
> > seq_file *m, void *data)
> >  }
> >  DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
> >  
> > +static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> > +{
> > +   struct drm_connector *connector = m->private;
> > +   struct intel_encoder *encoder = intel_attached_encoder(connector);
> > +   struct intel_dp *intel_dp =
> > +   enc_to_intel_dp(>base);
> > +   struct intel_crtc *crtc;
> > +   struct intel_crtc_state *crtc_state;
> > +
> > +   if (connector->status != connector_status_connected)
> > +   return -ENODEV;
> > +
> > +   crtc = to_intel_crtc(encoder->base.crtc);
> > +   crtc_state = to_intel_crtc_state(crtc->base.state);

I am seeing a kernel NULl pointer dereferencing here in CI possibly because
the crtc is NULL and as per Ville and Danvet I should be grabbing both 
connection mutex
and crtc mutex and use the acquire ctx and backoff stuff so I am trying to 
understand that part
and seeing how I can use that.

Let me know if you have any inputs/examples on that too..

> > +   drm_modeset_lock(>base.mutex, NULL);
> > +   seq_printf(m, "DSC_Enabled: %s\n",
> > +  yesno(crtc_state->dsc_params.compression_enable));
> > +   if (intel_dp->dsc_dpcd)
> > +   seq_printf(m, "DSC_Sink_Support: %s\n",
> > +  yesno(drm_dp_sink_supports_dsc(intel_dp-
> > >dsc_dpcd)));
> > +   if (!intel_dp_is_edp(intel_dp))
> > +   seq_printf(m, "FEC_Sink_Support: %s\n",
> > +  yesno(drm_dp_sink_supports_fec(intel_dp-
> > >fec_capable)));
> > +   drm_modeset_unlock(>base.mutex);
> > +
> > +   return 0;
> > +}
> > +
> > +static ssize_t i915_dsc_fec_support_write(struct file *file,
> > + const char __user *ubuf,
> > + size_t len, loff_t *offp)
> > +{
> > +   bool dsc_enable = false;
> > +   int ret;
> > +   struct drm_connector *connector =
> > +   ((struct seq_file *)file->private_data)->private;
> > +   struct intel_encoder *encoder = intel_attached_encoder(connector);
> > +   struct intel_dp *intel_dp = enc_to_intel_dp(>base);
> > +
> > +   if (len == 0)
> > +   return 0;
> > +
> > +   DRM_DEBUG_DRIVER("Copied %d bytes from user to force DSC\n",
> > +(unsigned int)len);
> You can just use %zu instead of %d here, see:
> 
> https://01.org/linuxgraphics/gfx-docs/drm/core-api/printk-formats.html

Cool I will make this change. Thanks for the review.

Regards
Manasi

> 
> Other then that, looks good to me! With that change:
> 
> Reviewed-by: Lyude Paul 
> 
> > +
> > +   ret = kstrtobool_from_user(ubuf, len, _enable);
> > +   if (ret < 0)
> > +   return ret;
> > +
> > +   DRM_DEBUG_DRIVER("Got %s for DSC Enable\n",
> > +(dsc_enable) ? "true" : "false");
> > +   intel_dp->force_dsc_en = dsc_enable;
> > +
> > +   *offp += len;
> > +   return len;
> > +}
> > +
> > +static int i915_dsc_fec_support_open(struct inode *inode,
> > +struct file *file)
> > +{
> > +   return single_open(file, i915_dsc_fec_support_show,
> > +  inode->i_private);
> > +}
> > +
> > +static const struct file_operations i915_dsc_fec_support_fops = {
> > +   .owner = THIS_MODULE,
> > +   .open = i915_dsc_fec_support_open,
> > +   .read = seq_read,
> > +   

[Intel-gfx] ✓ Fi.CI.BAT: success for drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR
URL   : https://patchwork.freedesktop.org/series/53582/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11021


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_hangcheck:
- fi-cfl-8109u:   PASS -> INCOMPLETE [fdo#106070]
- {fi-icl-u3}:PASS -> INCOMPLETE [fdo#108315]

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / 
[fdo#108070] / [fdo#108924]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * {igt@runner@aborted}:
- fi-icl-u2:  NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-ivb-3520m:   FAIL [fdo#108880] -> PASS

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
  [fdo#108880]: https://bugs.freedesktop.org/show_bug.cgi?id=108880
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924


Participating hosts (47 -> 44)
--

  Additional (1): fi-icl-u2 
  Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


Build changes
-

* Linux: CI_DRM_5266 -> Patchwork_11021

  CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11021: 199efa9556cefa664b686de5be82292ded4dadea @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

199efa9556ce drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR

== Logs ==

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


Re: [Intel-gfx] [PATCH] drm/i915/icl: Document Wa_1606682166

2018-12-05 Thread Tvrtko Ursulin


On 05/12/2018 19:04, Tvrtko Ursulin wrote:

From: Tvrtko Ursulin 

Commit 71ffd49cc9b9 ("drm/i915/icl:Add Wa_1606682166") added the
workaround but did not put it in comment, which looks like should be the
usual process for these things. Add the missing comment.

Signed-off-by: Tvrtko Ursulin 
Cc: Radhakrishna Sripada 
Cc: Anuj Phogat 
Cc: Mika Kuoppala 
---
  drivers/gpu/drm/i915/intel_workarounds.c | 5 -
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_workarounds.c 
b/drivers/gpu/drm/i915/intel_workarounds.c
index 4f678c502daf..7c4c5e655d94 100644
--- a/drivers/gpu/drm/i915/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/intel_workarounds.c
@@ -1178,7 +1178,10 @@ static void rcs_engine_wa_init(struct intel_engine_cs 
*engine)
PMFLUSH_GAPL3UNBLOCK |
PMFLUSHDONE_LNEBLK);
  
-		/* Wa_1406609255:icl (pre-prod) */

+   /*
+* Wa_1406609255:icl (pre-prod): GEN7_DISABLE_DEMAND_PREFETCH
+* Wa_1606682166:icl: GEN7_DISABLE_SAMPLER_PREFETCH
+*/
if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0))
wa_write_or(wal,
GEN7_SARCHKMD,



Actually who knows how to check if this second Wa/ applies to the same 
steppings?


Regards,

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


[Intel-gfx] [PATCH] drm/i915/icl: Document Wa_1606682166

2018-12-05 Thread Tvrtko Ursulin
From: Tvrtko Ursulin 

Commit 71ffd49cc9b9 ("drm/i915/icl:Add Wa_1606682166") added the
workaround but did not put it in comment, which looks like should be the
usual process for these things. Add the missing comment.

Signed-off-by: Tvrtko Ursulin 
Cc: Radhakrishna Sripada 
Cc: Anuj Phogat 
Cc: Mika Kuoppala 
---
 drivers/gpu/drm/i915/intel_workarounds.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_workarounds.c 
b/drivers/gpu/drm/i915/intel_workarounds.c
index 4f678c502daf..7c4c5e655d94 100644
--- a/drivers/gpu/drm/i915/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/intel_workarounds.c
@@ -1178,7 +1178,10 @@ static void rcs_engine_wa_init(struct intel_engine_cs 
*engine)
PMFLUSH_GAPL3UNBLOCK |
PMFLUSHDONE_LNEBLK);
 
-   /* Wa_1406609255:icl (pre-prod) */
+   /*
+* Wa_1406609255:icl (pre-prod): GEN7_DISABLE_DEMAND_PREFETCH
+* Wa_1606682166:icl: GEN7_DISABLE_SAMPLER_PREFETCH
+*/
if (IS_ICL_REVID(i915, ICL_REVID_A0, ICL_REVID_B0))
wa_write_or(wal,
GEN7_SARCHKMD,
-- 
2.19.1

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


Re: [Intel-gfx] [PATCH v6] drm/i915/dsc: Add Per connector debugfs node for DSC support/enable

2018-12-05 Thread Lyude Paul
Looks good, some small nitpicks

On Tue, 2018-12-04 at 11:55 -0800, Manasi Navare wrote:
> DSC can be supported per DP connector. This patch adds a per connector
> debugfs node to expose DSC support capability by the kernel.
> The same node can be used from userspace to force DSC enable.
> 
> force_dsc_en written through this debugfs node is used to force
> DSC even for lower resolutions.
> 
> v6:
> * Read fec_capable only for non edp (Manasi)
> v5:
> * Name it dsc sink support and also add
> fec support in the same node (Ville)
> v4:
> * Add missed connector_status check (Manasi)
> * Create i915_dsc_support node only for Gen >=10 (manasi)
> * Access intel_dp->dsc_dpcd only if its not NULL (Manasi)
> v3:
> * Combine Force_dsc_en with this patch (Ville)
> v2:
> * Use kstrtobool_from_user to avoid explicit error checking (Lyude)
> * Rebase on drm-tip (Manasi)
> 
> Cc: Rodrigo Vivi 
> Cc: Ville Syrjala 
> Cc: Anusha Srivatsa 
> Cc: Lyude Paul 
> Signed-off-by: Manasi Navare 
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 80 +
>  drivers/gpu/drm/i915/intel_dp.c |  3 +-
>  drivers/gpu/drm/i915/intel_drv.h|  3 ++
>  3 files changed, 85 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 129b9a6f8309..ec10ab027d18 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -5086,6 +5086,79 @@ static int i915_hdcp_sink_capability_show(struct
> seq_file *m, void *data)
>  }
>  DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
>  
> +static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> +{
> + struct drm_connector *connector = m->private;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> + struct intel_dp *intel_dp =
> + enc_to_intel_dp(>base);
> + struct intel_crtc *crtc;
> + struct intel_crtc_state *crtc_state;
> +
> + if (connector->status != connector_status_connected)
> + return -ENODEV;
> +
> + crtc = to_intel_crtc(encoder->base.crtc);
> + crtc_state = to_intel_crtc_state(crtc->base.state);
> + drm_modeset_lock(>base.mutex, NULL);
> + seq_printf(m, "DSC_Enabled: %s\n",
> +yesno(crtc_state->dsc_params.compression_enable));
> + if (intel_dp->dsc_dpcd)
> + seq_printf(m, "DSC_Sink_Support: %s\n",
> +yesno(drm_dp_sink_supports_dsc(intel_dp-
> >dsc_dpcd)));
> + if (!intel_dp_is_edp(intel_dp))
> + seq_printf(m, "FEC_Sink_Support: %s\n",
> +yesno(drm_dp_sink_supports_fec(intel_dp-
> >fec_capable)));
> + drm_modeset_unlock(>base.mutex);
> +
> + return 0;
> +}
> +
> +static ssize_t i915_dsc_fec_support_write(struct file *file,
> +   const char __user *ubuf,
> +   size_t len, loff_t *offp)
> +{
> + bool dsc_enable = false;
> + int ret;
> + struct drm_connector *connector =
> + ((struct seq_file *)file->private_data)->private;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> + struct intel_dp *intel_dp = enc_to_intel_dp(>base);
> +
> + if (len == 0)
> + return 0;
> +
> + DRM_DEBUG_DRIVER("Copied %d bytes from user to force DSC\n",
> +  (unsigned int)len);
You can just use %zu instead of %d here, see:

https://01.org/linuxgraphics/gfx-docs/drm/core-api/printk-formats.html

Other then that, looks good to me! With that change:

Reviewed-by: Lyude Paul 

> +
> + ret = kstrtobool_from_user(ubuf, len, _enable);
> + if (ret < 0)
> + return ret;
> +
> + DRM_DEBUG_DRIVER("Got %s for DSC Enable\n",
> +  (dsc_enable) ? "true" : "false");
> + intel_dp->force_dsc_en = dsc_enable;
> +
> + *offp += len;
> + return len;
> +}
> +
> +static int i915_dsc_fec_support_open(struct inode *inode,
> +  struct file *file)
> +{
> + return single_open(file, i915_dsc_fec_support_show,
> +inode->i_private);
> +}
> +
> +static const struct file_operations i915_dsc_fec_support_fops = {
> + .owner = THIS_MODULE,
> + .open = i915_dsc_fec_support_open,
> + .read = seq_read,
> + .llseek = seq_lseek,
> + .release = single_release,
> + .write = i915_dsc_fec_support_write
> +};
> +
>  /**
>   * i915_debugfs_connector_add - add i915 specific connector debugfs files
>   * @connector: pointer to a registered drm_connector
> @@ -5098,6 +5171,7 @@ DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
>  int i915_debugfs_connector_add(struct drm_connector *connector)
>  {
>   struct dentry *root = connector->debugfs_entry;
> + struct drm_i915_private *dev_priv = to_i915(connector->dev);
>  
>   /* The connector must have been registered beforehands. */
>   if (!root)
> @@ -5122,5 +5196,11 @@ int 

[Intel-gfx] [PATCH] drm: Fix documentation generation for DP_DPCD_QUIRK_NO_PSR

2018-12-05 Thread José Roberto de Souza
The DP_DPCD_QUIRK_NO_PSR comment is missing colon causing this
warning when generating kernel documentation.

./include/drm/drm_dp_helper.h:1374: warning: Incorrect use of kernel-doc 
format:  * @DP_DPCD_QUIRK_NO_PSR

Fixes: 7c5c641a930e (drm/i915: Disable PSR in Apple panels)
Cc: Dhinakaran Pandiyan 
Signed-off-by: José Roberto de Souza 
---
 include/drm/drm_dp_helper.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 18cfde45b8ed..c223c87ef119 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1370,7 +1370,7 @@ enum drm_dp_quirk {
 */
DP_DPCD_QUIRK_CONSTANT_N,
/**
-* @DP_DPCD_QUIRK_NO_PSR
+* @DP_DPCD_QUIRK_NO_PSR:
 *
 * The device does not support PSR even if reports that it supports or
 * driver still need to implement proper handling for such device.
-- 
2.19.2

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


Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces

2018-12-05 Thread Pedro Tammela
Hello Jani,

I think "Fixes an inconsistency" suits the commit message better.

Thanks,
Pedro

Em qua, 5 de dez de 2018 às 15:03, Saarinen, Jani 
escreveu:

> HI,
>
> > -Original Message-
> > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On
> Behalf Of
> > Pedro Tammela
> > Sent: keskiviikko 5. joulukuuta 2018 12.57
> > To: intel-gfx@lists.freedesktop.org
> > Subject: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
> >
> > Fixes a comestic issue where spaces were being used instead of mixed tab
> and
>  Cosmetic? 
>
> > spaces.
> >
> > Signed-off-by: Pedro Tammela 
> > ---
> >  drivers/gpu/drm/i915/Makefile | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/Makefile
> b/drivers/gpu/drm/i915/Makefile
> > index 1c2857f13ad4..cdba39f7be64 100644
> > --- a/drivers/gpu/drm/i915/Makefile
> > +++ b/drivers/gpu/drm/i915/Makefile
> > @@ -40,7 +40,7 @@ i915-y := i915_drv.o \
> > i915_mm.o \
> > i915_params.o \
> > i915_pci.o \
> > -  i915_suspend.o \
> > +   i915_suspend.o \
> > i915_syncmap.o \
> > i915_sw_fence.o \
> > i915_sysfs.o \
> > --
> > 2.19.2
> >
> > ___
> > 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] [igt-dev] [PATCH i-g-t] igt/pm_rpm: Show the contents of i915_runtime_pm_status on setup

2018-12-05 Thread Antonio Argenziano



On 05/12/18 02:48, Chris Wilson wrote:

To try and help debug situations where the driver has leaked a runtime
reference before executing the pm_rpm tests, show the contents of
i915_runtime_pm_status at startup, which will include all currently held
wakerefs.


LGTM.

Reviewed-by: Antonio Argenziano 



Signed-off-by: Chris Wilson 
---
  tests/pm_rpm.c | 14 ++
  1 file changed, 14 insertions(+)

diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index f0d6db525..7427958dc 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -725,6 +725,18 @@ static bool dmc_loaded(void)
return strstr(buf, "fw loaded: yes");
  }
  
+static void dump_file(int dir, const char *filename)

+{
+   char *contents;
+
+   contents = igt_sysfs_get(dir, filename);
+   if (!contents)
+   return;
+
+   igt_debug("%s:\n%s\n", filename, contents);
+   free(contents);
+}
+
  static bool setup_environment(void)
  {
if (has_runtime_pm)
@@ -744,6 +756,8 @@ static bool setup_environment(void)
has_runtime_pm = igt_setup_runtime_pm();
setup_pc8();
  
+	dump_file(debugfs, "i915_runtime_pm_status");

+
igt_info("Runtime PM support: %d\n", has_runtime_pm);
igt_info("PC8 residency support: %d\n", has_pc8);
igt_require(has_runtime_pm);


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


[Intel-gfx] ✓ Fi.CI.IGT: success for HDCP1.4 Fixes - II (rev2)

2018-12-05 Thread Patchwork
== Series Details ==

Series: HDCP1.4 Fixes - II (rev2)
URL   : https://patchwork.freedesktop.org/series/53493/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5265_full -> Patchwork_11018_full


Summary
---

  **WARNING**

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

### IGT changes ###

 Warnings 

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-snb:  PASS -> SKIP

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- shard-apl:  PASS -> DMESG-WARN [fdo#108566]

  * igt@gem_userptr_blits@readonly-unsync:
- shard-kbl:  PASS -> TIMEOUT [fdo#108887]

  * igt@i915_suspend@debugfs-reader:
- {shard-iclb}:   PASS -> INCOMPLETE [fdo#107713] +1

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_color@pipe-a-ctm-max:
- shard-apl:  PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-256x85-random:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-sliding:
- shard-apl:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-glk:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-size-change:
- shard-skl:  PASS -> FAIL [fdo#103232]

  * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-gtt-untiled:
- {shard-iclb}:   PASS -> WARN [fdo#108336] +2

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  PASS -> FAIL [fdo#105363] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724] +4

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
- shard-apl:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-glk:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-2p-rte:
- shard-glk:  PASS -> FAIL [fdo#103167] / [fdo#105682]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen:
- {shard-iclb}:   PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +4

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
- shard-glk:  PASS -> FAIL [fdo#108948]

  * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885]

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_rotation_crc@primary-rotation-180:
- shard-skl:  PASS -> FAIL [fdo#103925] / [fdo#107815]

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +12

  * igt@kms_setmode@basic:
- shard-apl:  PASS -> FAIL [fdo#99912]
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@perf@polling:
- shard-hsw:  PASS -> FAIL [fdo#102252]

  * igt@pm_backlight@fade_with_suspend:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107847]

  * igt@pm_rpm@debugfs-read:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807] +1

  * igt@pm_rpm@dpms-non-lpsp:
- {shard-iclb}:   SKIP -> INCOMPLETE [fdo#108840]

  * igt@pm_rpm@modeset-lpsp-stress:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#108654]

  
 Possible fixes 

  * igt@gem_softpin@noreloc-s3:
- {shard-iclb}:   INCOMPLETE [fdo#107713] -> PASS +1

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-snb:  DMESG-WARN [fdo#107956] -> SKIP

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
- shard-apl:  DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_color@pipe-b-ctm-max:
- shard-apl:  FAIL [fdo#108147] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-dpms:
- shard-glk:  FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-random:
- shard-apl:  FAIL [fdo#103232] -> PASS +5

  * igt@kms_cursor_crc@cursor-64x64-suspend:
   

[Intel-gfx] ✓ Fi.CI.BAT: success for Makefile: fix mixed tab and spaces (rev2)

2018-12-05 Thread Patchwork
== Series Details ==

Series: Makefile: fix mixed tab and spaces (rev2)
URL   : https://patchwork.freedesktop.org/series/53550/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11020


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_create@basic-files:
- fi-bsw-n3050:   PASS -> FAIL [fdo#108656]
- fi-bsw-kefka:   PASS -> FAIL [fdo#108656]

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / 
[fdo#108070] / [fdo#108924]

  * igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy:   PASS -> DMESG-WARN [fdo#102614]

  * {igt@runner@aborted}:
- fi-icl-u2:  NOTRUN -> FAIL [fdo#108070]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924


Participating hosts (47 -> 44)
--

  Additional (2): fi-icl-y fi-icl-u2 
  Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-pnv-d510 


Build changes
-

* Linux: CI_DRM_5266 -> Patchwork_11020

  CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11020: d4d57c322dddb4ac85e132767a33351db945af34 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

d4d57c322ddd Makefile: fix mixed tab and spaces

== Logs ==

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


Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces

2018-12-05 Thread Saarinen, Jani
HI, 

> -Original Message-
> From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On Behalf Of
> Pedro Tammela
> Sent: keskiviikko 5. joulukuuta 2018 12.57
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces
> 
> Fixes a comestic issue where spaces were being used instead of mixed tab and
 Cosmetic? 

> spaces.
> 
> Signed-off-by: Pedro Tammela 
> ---
>  drivers/gpu/drm/i915/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 1c2857f13ad4..cdba39f7be64 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -40,7 +40,7 @@ i915-y := i915_drv.o \
> i915_mm.o \
> i915_params.o \
> i915_pci.o \
> -  i915_suspend.o \
> +   i915_suspend.o \
> i915_syncmap.o \
> i915_sw_fence.o \
> i915_sysfs.o \
> --
> 2.19.2
> 
> ___
> 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.IGT: failure for Makefile: fix mixed tab and spaces

2018-12-05 Thread Patchwork
== Series Details ==

Series: Makefile: fix mixed tab and spaces
URL   : https://patchwork.freedesktop.org/series/53550/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5265_full -> Patchwork_11017_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@kms_cursor_legacy@pipe-c-torture-bo:
- shard-skl:  PASS -> INCOMPLETE

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_color@pipe-c-ctm-0-75:
- shard-apl:  PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_color@pipe-c-degamma:
- shard-apl:  PASS -> FAIL [fdo#104782]

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-apl:  PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-random:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- shard-glk:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x64-sliding:
- shard-apl:  PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-size-change:
- shard-skl:  PASS -> FAIL [fdo#103232]

  * igt@kms_draw_crc@draw-method-rgb565-render-ytiled:
- {shard-iclb}:   PASS -> WARN [fdo#108336] +3

  * igt@kms_flip@absolute-wf_vblank:
- shard-kbl:  PASS -> DMESG-WARN [fdo#103558] / [fdo#105602] +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
- shard-apl:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107720] / [fdo#107724]

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
- shard-glk:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-2p-rte:
- shard-glk:  PASS -> FAIL [fdo#103167] / [fdo#105682]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724] +2

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +3

  * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885]

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
- {shard-iclb}:   PASS -> FAIL [fdo#103166]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_lowres@pipe-c-tiling-y:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +14

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
- shard-apl:  PASS -> FAIL [fdo#103166]

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724]

  * igt@kms_rotation_crc@primary-rotation-180:
- shard-skl:  PASS -> FAIL [fdo#103925] / [fdo#107815]

  * igt@kms_setmode@basic:
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@kms_vblank@pipe-a-ts-continuation-idle-hang:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +16

  * igt@pm_backlight@fade_with_suspend:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107847]

  * igt@pm_rpm@universal-planes:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  
 Possible fixes 

  * igt@gem_softpin@noreloc-s3:
- {shard-iclb}:   INCOMPLETE [fdo#107713] -> PASS +1

  * igt@i915_selftest@live_workarounds:
- {shard-iclb}:   DMESG-FAIL [fdo#108954] -> PASS

  * igt@kms_busy@extended-modeset-hang-newfb-render-c:
- shard-hsw:  DMESG-WARN [fdo#107956] -> PASS

  * igt@kms_color@pipe-b-ctm-max:
- shard-apl:  FAIL [fdo#108147] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-random:
- shard-apl:  FAIL [fdo#103232] -> PASS +4

  * igt@kms_cursor_crc@cursor-64x64-random:
- shard-glk:  FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-apl:  FAIL [fdo#103191] / [fdo#103232] -> PASS

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
- 

[Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces

2018-12-05 Thread Pedro Tammela
Fixes a comestic issue where spaces were being used
instead of mixed tab and spaces.

Signed-off-by: Pedro Tammela 
---
 drivers/gpu/drm/i915/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 1c2857f13ad4..cdba39f7be64 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -40,7 +40,7 @@ i915-y := i915_drv.o \
  i915_mm.o \
  i915_params.o \
  i915_pci.o \
-  i915_suspend.o \
+ i915_suspend.o \
  i915_syncmap.o \
  i915_sw_fence.o \
  i915_sysfs.o \
-- 
2.19.2

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


Re: [Intel-gfx] [PATCH v3] drm/i915/icl: combo port vswing programming changes per BSPEC

2018-12-05 Thread Imre Deak
On Tue, Dec 04, 2018 at 03:41:09PM -0800, clinton.a.tay...@intel.com wrote:
> From: Clint Taylor 
> 
> In August 2018 the BSPEC changed the ICL port programming sequence to
> closely resemble earlier gen programming sequence.
> 
> v2: remove debug code that Imre found
> v3: simplify translation table if-else
> 
> BSpec: 21257
> Cc: Ville Syrjälä 
> Cc: Imre Deak 
> Cc: Rodrigo Vivi 
> Signed-off-by: Clint Taylor 
> ---
>  drivers/gpu/drm/i915/i915_reg.h  |   4 +
>  drivers/gpu/drm/i915/intel_ddi.c | 224 
> ++-
>  2 files changed, 85 insertions(+), 143 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 0a7d605..29acdb9 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1866,6 +1866,10 @@ enum i915_power_well_id {
>  
>  #define CNL_PORT_TX_DW7_GRP(port)_MMIO(_CNL_PORT_TX_DW_GRP((port), 7))
>  #define CNL_PORT_TX_DW7_LN0(port)_MMIO(_CNL_PORT_TX_DW_LN0((port), 7))
> +#define ICL_PORT_TX_DW7_AUX(port)_MMIO(_ICL_PORT_TX_DW_AUX(7, port))
> +#define ICL_PORT_TX_DW7_GRP(port)_MMIO(_ICL_PORT_TX_DW_GRP(7, port))
> +#define ICL_PORT_TX_DW7_LN0(port)_MMIO(_ICL_PORT_TX_DW_LN(7, 0, port))
> +#define ICL_PORT_TX_DW7_LN(port, ln) _MMIO(_ICL_PORT_TX_DW_LN(7, ln, port))

Looks like _CNL_PORT_TX_DW_GRP() is inconsistent with the ICL
counterpart and CNL_PORT_TX_DW2_* / CNL_PORT_TX_DW5_* are broken atm,
they need to be fixed as a follow-up.

>  #define   N_SCALAR(x)((x) << 24)
>  #define   N_SCALAR_MASK  (0x7F << 24)
>  
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c 
> b/drivers/gpu/drm/i915/intel_ddi.c
> index f3e1d6a..d78ec17 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -494,103 +494,63 @@ struct cnl_ddi_buf_trans {
>   { 0x2, 0x7F, 0x3F, 0x00, 0x00 },/* 400   400  0.0   */
>  };
>  
> -struct icl_combo_phy_ddi_buf_trans {
> - u32 dw2_swing_select;
> - u32 dw2_swing_scalar;
> - u32 dw4_scaling;
> -};
> -
> -/* Voltage Swing Programming for VccIO 0.85V for DP */
> -static const struct icl_combo_phy_ddi_buf_trans 
> icl_combo_phy_ddi_translations_dp_hdmi_0_85V[] = {
> - /* Voltage mV  db*/
> - { 0x2, 0x98, 0x0018 },  /* 400 0.0   */
> - { 0x2, 0x98, 0x3015 },  /* 400 3.5   */
> - { 0x2, 0x98, 0x6012 },  /* 400 6.0   */
> - { 0x2, 0x98, 0x900F },  /* 400 9.5   */
> - { 0xB, 0x70, 0x0018 },  /* 600 0.0   */
> - { 0xB, 0x70, 0x3015 },  /* 600 3.5   */
> - { 0xB, 0x70, 0x6012 },  /* 600 6.0   */
> - { 0x5, 0x00, 0x0018 },  /* 800 0.0   */
> - { 0x5, 0x00, 0x3015 },  /* 800 3.5   */
> - { 0x6, 0x98, 0x0018 },  /* 12000.0   */
> -};
> -
> -/* FIXME - After table is updated in Bspec */
> -/* Voltage Swing Programming for VccIO 0.85V for eDP */
> -static const struct icl_combo_phy_ddi_buf_trans 
> icl_combo_phy_ddi_translations_edp_0_85V[] = {
> - /* Voltage mV  db*/
> - { 0x0, 0x00, 0x00 },/* 200 0.0   */
> - { 0x0, 0x00, 0x00 },/* 200 1.5   */
> - { 0x0, 0x00, 0x00 },/* 200 4.0   */
> - { 0x0, 0x00, 0x00 },/* 200 6.0   */
> - { 0x0, 0x00, 0x00 },/* 250 0.0   */
> - { 0x0, 0x00, 0x00 },/* 250 1.5   */
> - { 0x0, 0x00, 0x00 },/* 250 4.0   */
> - { 0x0, 0x00, 0x00 },/* 300 0.0   */
> - { 0x0, 0x00, 0x00 },/* 300 1.5   */
> - { 0x0, 0x00, 0x00 },/* 350 0.0   */
> +/* icl_combo_phy_ddi_translations */
> +static const struct cnl_ddi_buf_trans icl_combo_phy_ddi_translations_dp[] = {
> + /* NT mV Trans mV db*/
> + { 0xA, 0x35, 0x3F, 0x00, 0x00 },/* 350   350  0.0   */
> + { 0xA, 0x4F, 0x37, 0x00, 0x08 },/* 350   500  3.1   */
> + { 0xC, 0x71, 0x2F, 0x00, 0x10 },/* 350   700  6.0   */
> + { 0x6, 0x7F, 0x2B, 0x00, 0x14 },/* 350   900  8.2   */
> + { 0xA, 0x4C, 0x3F, 0x00, 0x00 },/* 500   500  0.0   */
> + { 0xC, 0x73, 0x34, 0x00, 0x0B },/* 500   700  2.9   */
> + { 0x6, 0x7F, 0x2F, 0x00, 0x10 },/* 500   900  5.1   */
> + { 0xC, 0x6C, 0x3C, 0x00, 0x03 },/* 650   705  0.6   */
 ^ 700

> + { 0x6, 0x7F, 0x35, 0x00, 0x0A },/* 600   900  3.5   */
> + { 0x6, 0x7F, 0x3F, 0x00, 0x00 },/* 900   900  0.0   */
>  };
>  
> -/* Voltage Swing Programming for VccIO 0.95V for DP */
> -static const struct icl_combo_phy_ddi_buf_trans 
> icl_combo_phy_ddi_translations_dp_hdmi_0_95V[] = {
> - /* Voltage mV  db*/
> - { 0x2, 0x98, 0x0018 },  /* 400 0.0   

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Forcibly evict stale csb entries

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Forcibly evict stale csb entries
URL   : https://patchwork.freedesktop.org/series/53560/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5266 -> Patchwork_11019


Summary
---

  **SUCCESS**

  No regressions found.

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

Possible new issues
---

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

### IGT changes ###

 Warnings 

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-c:
- {fi-kbl-7567u}: PASS -> SKIP +33

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@i915_selftest@live_execlists:
- fi-apl-guc: PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2:  NOTRUN -> DMESG-FAIL [fdo#103375] / [fdo#107732] / 
[fdo#108070] / [fdo#108924]

  * {igt@runner@aborted}:
- fi-icl-u2:  NOTRUN -> FAIL [fdo#108070]
- {fi-icl-u3}:NOTRUN -> FAIL [fdo#108866]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]
- fi-apl-guc: NOTRUN -> FAIL [fdo#108622]

  
 Possible fixes 

  * igt@i915_selftest@live_hangcheck:
- fi-bwr-2160:DMESG-FAIL [fdo#108735] -> PASS

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- {fi-icl-u3}:DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315]

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#108735]: https://bugs.freedesktop.org/show_bug.cgi?id=108735
  [fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866
  [fdo#108924]: https://bugs.freedesktop.org/show_bug.cgi?id=108924


Participating hosts (47 -> 45)
--

  Additional (2): fi-icl-y fi-icl-u2 
  Missing(4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


Build changes
-

* Linux: CI_DRM_5266 -> Patchwork_11019

  CI_DRM_5266: 529899779ce289fe64cd2249da1eb9bcea6a423f @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11019: 4a94a550e4fc2b333cc8ddacd9a9b5eff668e206 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

4a94a550e4fc drm/i915/icl: Forcibly evict stale csb entries

== Logs ==

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


Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions

2018-12-05 Thread Ville Syrjälä
On Wed, Dec 05, 2018 at 08:40:34AM +0100, Andrzej Hajda wrote:
> On 04.12.2018 20:02, Ville Syrjälä wrote:
> > On Tue, Dec 04, 2018 at 08:03:53AM +0100, Andrzej Hajda wrote:
> >> On 03.12.2018 22:48, Ville Syrjälä wrote:
> >>> On Thu, Nov 29, 2018 at 09:46:16AM +0100, Andrzej Hajda wrote:
>  Quite late, hopefully not too late.
> 
> 
>  On 21.11.2018 12:51, Ville Syrjälä wrote:
> > On Wed, Nov 21, 2018 at 01:40:43PM +0200, Jani Nikula wrote:
> >>>   return;
> >>> diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c 
> >>> b/drivers/gpu/drm/bridge/sil-sii8620.c
> >>> index a6e8f4591e63..0cc293a6ac24 100644
> >>> --- a/drivers/gpu/drm/bridge/sil-sii8620.c
> >>> +++ b/drivers/gpu/drm/bridge/sil-sii8620.c
> >>> @@ -1104,8 +1104,7 @@ static void sii8620_set_infoframes(struct 
> >>> sii8620 *ctx,
> >>>   int ret;
> >>>  
> >>>   ret = drm_hdmi_avi_infoframe_from_display_mode(,
> >>> -mode,
> >>> -true);
> >>> +NULL, mode);
> >>>   if (ctx->use_packed_pixel)
> >>>   frm.avi.colorspace = HDMI_COLORSPACE_YUV422;
> >>>  
> >>> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
> >>> b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> >>> index 64c3cf027518..88b720b63126 100644
> >>> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> >>> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> >>> @@ -1344,7 +1344,8 @@ static void hdmi_config_AVI(struct dw_hdmi 
> >>> *hdmi, struct drm_display_mode *mode)
> >>>   u8 val;
> >>>  
> >>>   /* Initialise info frame from DRM mode */
> >>> - drm_hdmi_avi_infoframe_from_display_mode(, mode, false);
> >>> + drm_hdmi_avi_infoframe_from_display_mode(,
> >>> +  >connector, 
> >>> mode);
> >>>  
> >>>   if (hdmi_bus_fmt_is_yuv444(hdmi->hdmi_data.enc_out_bus_format))
> >>>   frame.colorspace = HDMI_COLORSPACE_YUV444;
> >>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> >>> index b506e3622b08..501ac05ba7da 100644
> >>> --- a/drivers/gpu/drm/drm_edid.c
> >>> +++ b/drivers/gpu/drm/drm_edid.c
> >>> @@ -4830,19 +4830,32 @@ void drm_set_preferred_mode(struct 
> >>> drm_connector *connector,
> >>>  }
> >>>  EXPORT_SYMBOL(drm_set_preferred_mode);
> >>>  
> >>> +static bool is_hdmi2_sink(struct drm_connector *connector)
> >> You're usually known for adding const all around, why not const pointer
> >> here and in all the other drm_* functions that call this?
> > My current approach is to constify states/fbs/etc. but not so much
> > crtcs/connectors/etc. Too much const can sometimes get in the way
> > of things requiring that you remove the const later. But I guess
> > in this case the const shouldn't really get in the way of anything
> > because these are pretty much supposed to be pure functions.
> >
> >>> +{
> >>> + /*
> >>> +  * FIXME: sil-sii8620 doesn't have a connector around when
> >>> +  * we need one, so we have to be prepared for a NULL connector.
> >>> +  */
> >>> + if (!connector)
> >>> + return false;
> >> This actually changes the is_hdmi2_sink value for sil-sii8620.
> > Hmm. No idea why they would have set that to true when everyone else is
> > passing false. 
>  Because false does not work :) More precisely MHLv3 (used in Sii8620)
>  uses CTA-861-F standard for infoframes, which is specific to HDMI2.0.
> 
>  Unfortunately I have no access to MHL specs, but my experiments and
>  vendor drivers strongly suggests it is done this way.
> 
>  This is important in case of 4K modes which are handled differently by
>  HDMI 1.4 and HDMI2.0.
> >>> HDMI 2.0 handles 4k just like 1.4 handled it when you use one of
> >>> the 4k modes defined in 1.4. Only if you use features beyond 1.4 do we
> >>> switch over to the HDMI 2.0 specific signalling.
> >>
> >> The difference is in infoframes:
> >>
> >> HDMI 1.4 sets AVI infoframe VIC to 0, and sends HDMI_VIC in VSI.
> >>
> >> HDMI 2.0 sets AVI infoframe to non zero VICs introduced by
> >> HDMI2.0/CEA-861-F, VSI can be omitted if I remember correctly, unless 3d
> >> is in use.
> > Like I said, The HDMI 1.4 method is used even with HDMI 2.0 sinks unless
> > some feature gets used which can't be signalled via the HDMI 1.4 vendor
> > specific infoframe.
> 
> 
> Do you mean that 4K VICs 95, 94, 93, 98 defined in CEA-861-F are not
> used at all for non-3d video in HDMI 2.0?
> 
> Chapter 10.1 of HDMI2.0 spec says clearly:
> 
> > When transmitting any additional Video Format for which a VIC value
> > has been defined in
> > CEA-861-F tables 1, 2, and 

Re: [Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces

2018-12-05 Thread Chris Wilson
Quoting Pedro Tammela (2018-12-05 11:06:08)
> Fixes a comestic issue where spaces were being used
> instead of mixed tab and spaces.
> 
> Signed-off-by: Pedro Tammela 

Consistency good and removes a spurious line from one of patches,
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions

2018-12-05 Thread Ville Syrjälä
On Wed, Dec 05, 2018 at 09:46:40AM +0100, Andrzej Hajda wrote:
> On 05.12.2018 07:32, Laurent Pinchart wrote:
> > Hi Ville,
> >
> > On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote:
> >> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote:
> >>> On 03.12.2018 22:38, Ville Syrjälä wrote:
>  On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote:
> > On 21.11.2018 19:19, Laurent Pinchart wrote:
> >> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote:
> >>> From: Ville Syrjälä 
> >>>
> >>> Make life easier for drivers by simply passing the connector
> >>> to drm_hdmi_avi_infoframe_from_display_mode() and
> >>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't
> >>> need to worry about is_hdmi2_sink mess.
> >> While this is good for display controller drivers, the change isn't
> >> great for bridge drivers. Down the road we're looking at moving
> >> connector support out of the bridge drivers. Adding an additional
> >> dependency to connectors in the bridges will make that more
> >> difficult. Ideally bridges should retrieve the information from their
> >> sink, regardless of whether it is a connector or another bridge.
> > I agree with it, and case of sii8620 shows that there are cases where
> > bridge has no direct access to the connector.
>  It's just a matter of plumbing it through.
> >>> What do you mean exactly?
> >> void bridge_foo(...
> >> +   ,struct drm_connector *connector);
> >>
> > On the other side,  since you are passing connector to
> > drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode
> > parameter and rename the function to
> > drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and
> > mode set on the connector differs?
>  Connectors don't have a mode.
> >>> As they are passing video stream they should have it, even if not
> >>> directly, for example:
> >>>
> >>> connector->state->crtc->mode
> >> That's not really how atomic works. One shouldn't go digging
> >> through the obj->state pointers when we're not holding the
> >> relevant locks anymore. The atomic way would be to pass either
> >> both crtc state and connector state, or drm_atomic_state +
> >> crtc/connector.
> 
> 
> Usually infoframe contents is generated in modesetting/enable callbacks
> so the locks should be in place.

Not when doing a nonblocking modeset.

> 
> And the locks should be hold for
> drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if
> 
> generated infoframe is not relevant to actual video mode. I guess that
> if connector->state->crtc->mode
> 
> differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it
> is a sign of possible problem.
> 
> And if they do not differ passing mode as an extra argument is redundant.
> 
> 
> > Or a bridge state ? With chained bridges the mode can vary along the 
> > pipeline, 
> > the CRTC adjusted mode will only cover the link between the CRTC and the 
> > first 
> > bridge. It's only a matter of time until we need to store other 
> > intermediate 
> > modes in states. I'd rather prepare for that instead of passing the CRTC 
> > state 
> > to bridges.
> 
> 
> Yes, optional bridge states seems reasonable, volunteers needed :)
> 
> 
> Regards
> 
> Andrzej
> 
> 
> >
> >>> In moment of creating infoframe it should be set properly.
> >>>
> >> Please see below for an additional comment.
> >>
> >>> Cc: Alex Deucher 
> >>> Cc: "Christian König" 
> >>> Cc: "David (ChunMing) Zhou" 
> >>> Cc: Archit Taneja 
> >>> Cc: Andrzej Hajda 
> >>> Cc: Laurent Pinchart 
> >>> Cc: Inki Dae 
> >>> Cc: Joonyoung Shim 
> >> Cc: Seung-Woo Kim 
> >>> Cc: Kyungmin Park 
> >>> Cc: Russell King 
> >>> Cc: CK Hu 
> >>> Cc: Philipp Zabel 
> >>> Cc: Rob Clark 
> >>> Cc: Ben Skeggs 
> >>> Cc: Tomi Valkeinen 
> >>> Cc: Sandy Huang 
> >>> Cc: "Heiko Stübner" 
> >>> Cc: Benjamin Gaignard 
> >>> Cc: Vincent Abriou 
> >>> Cc: Thierry Reding 
> >>> Cc: Eric Anholt 
> >>> Cc: Shawn Guo 
> >>> Cc: Ilia Mirkin 
> >>> Cc: amd-...@lists.freedesktop.org
> >>> Cc: linux-arm-...@vger.kernel.org
> >>> Cc: freedr...@lists.freedesktop.org
> >>> Cc: nouv...@lists.freedesktop.org
> >>> Cc: linux-te...@vger.kernel.org
> >>> Signed-off-by: Ville Syrjälä 
> >>> ---
> >>>
> >>>  drivers/gpu/drm/amd/amdgpu/dce_v10_0.c|  2 +-
> >>>  drivers/gpu/drm/amd/amdgpu/dce_v11_0.c|  2 +-
> >>>  drivers/gpu/drm/amd/amdgpu/dce_v6_0.c |  3 ++-
> >>>  drivers/gpu/drm/amd/amdgpu/dce_v8_0.c |  2 +-
> >>>  drivers/gpu/drm/bridge/analogix-anx78xx.c |  5 ++--
> >>>  drivers/gpu/drm/bridge/sii902x.c  |  3 ++-
> >>>  drivers/gpu/drm/bridge/sil-sii8620.c  |  3 +--
> >>>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |  3 ++-
> >>>  

Re: [Intel-gfx] [PATCH RFC 2/5] cgroup: Add mechanism to register vendor specific DRM devices

2018-12-05 Thread Joonas Lahtinen
Quoting Kuehling, Felix (2018-12-03 22:55:16)
> 
> On 2018-11-28 4:14 a.m., Joonas Lahtinen wrote:
> > Quoting Ho, Kenny (2018-11-27 17:41:17)
> >> On Tue, Nov 27, 2018 at 4:46 AM Joonas Lahtinen 
> >>  wrote:
> >>> I think a more abstract property "% of GPU (processing power)" might
> >>> be a more universal approach. One can then implement that through
> >>> subdividing the resources or timeslicing them, depending on the GPU
> >>> topology.
> >>>
> >>> Leasing 1/8th, 1/4th or 1/2 of the GPU would probably be the most
> >>> applicable to cloud provider usecases, too. At least that's what I
> >>> see done for the CPUs today.
> >> I think there are opportunities to slice the gpu in more than one way 
> >> (similar to the way it is done for cpu.)  We can potentially frame 
> >> resources as continuous or discrete.  Percentage definitely fits well for 
> >> continuous measurements such as time/time slices but I think there are 
> >> places for discrete units such as core counts as well.
> > I think the ask in return to the early series from Intal was to agree
> > on the variables that could be common to all of DRM subsystem.
> >
> > So we can only choose the lowest common denominator, right?
> >
> > Any core count out of total core count should translate nicely into a
> > fraction, so what would be the problem with percentage amounts?
> How would you handle overcommitment with a percentage? That is, more
> than 100% of the GPU cores assigned to cgroups. Which cgroups end up
> sharing cores would be up to chance.

I see your point. With time-slicing, you really can't overcommit. So would
assume that there would have to be second level of detail provided for
overcommitting (and deciding which cgroups are to share GPU cores).

> If we allow specifying a set of GPU cores, we can be more specific in
> assigning and sharing resources between cgroups.

As Matt outlined in the other reply to this thread, we don't really have
the concept of GPU cores. We do have the command streamers, but the
granularity is bit low.

In your architecture, does it matter which specific cores are shared, or
is it just a question of which specific cgroups would share some cores
in case of overcommit?

If we tack in the priority in addition to the percentage, you could make
a choice to share cores only at an identical priority level only. That'd
mean that in the case of overcommit, you'd aim to keep as many high
priority levels free of overcommit as possible and then for lower
priority cgroups you'd start overcommitting.

Would that even partially address the concern?

Regards, Joonas

> 
> Regards,
>   Felix
> 
> 
> >
> > Regards, Joonas
> >
> >> Regards,
> >> Kenny
> >>
> >>> That combined with the "GPU memory usable" property should be a good
> >>> starting point to start subdividing the GPU resources for multiple
> >>> users.
> >>>
> >>> Regards, Joonas
> >>>
>  Your feedback is highly appreciated.
> 
>  Best Regards,
>  Harish
> 
> 
> 
>  From: amd-gfx  on behalf of Tejun 
>  Heo 
>  Sent: Tuesday, November 20, 2018 5:30 PM
>  To: Ho, Kenny
>  Cc: cgro...@vger.kernel.org; intel-gfx@lists.freedesktop.org; 
>  y2ke...@gmail.com; amd-...@lists.freedesktop.org; 
>  dri-de...@lists.freedesktop.org
>  Subject: Re: [PATCH RFC 2/5] cgroup: Add mechanism to register vendor 
>  specific DRM devices
> 
> 
>  Hello,
> 
>  On Tue, Nov 20, 2018 at 10:21:14PM +, Ho, Kenny wrote:
> > By this reply, are you suggesting that vendor specific resources
> > will never be acceptable to be managed under cgroup?  Let say a user
>  I wouldn't say never but whatever which gets included as a cgroup
>  controller should have clearly defined resource abstractions and the
>  control schemes around them including support for delegation.  AFAICS,
>  gpu side still seems to have a long way to go (and it's not clear
>  whether that's somewhere it will or needs to end up).
> 
> > want to have similar functionality as what cgroup is offering but to
> > manage vendor specific resources, what would you suggest as a
> > solution?  When you say keeping vendor specific resource regulation
> > inside drm or specific drivers, do you mean we should replicate the
> > cgroup infrastructure there or do you mean either drm or specific
> > driver should query existing hierarchy (such as device or perhaps
> > cpu) for the process organization information?
> >
> > To put the questions in more concrete terms, let say a user wants to
> > expose certain part of a gpu to a particular cgroup similar to the
> > way selective cpu cores are exposed to a cgroup via cpuset, how
> > should we go about enabling such functionality?
>  Do what the intel driver or bpf is doing?  It's not difficult to hook
>  into cgroup for identification purposes.
> 
>  Thanks.
> 
>  --
>  tejun
>  

Re: [Intel-gfx] [PATCH] drm/i915/icl: Forcibly evict stale csb entries

2018-12-05 Thread Chris Wilson
Quoting Mika Kuoppala (2018-12-05 13:46:12)
>  static void nop_submission_tasklet(unsigned long data)
> @@ -1015,6 +1025,19 @@ static void process_csb(struct intel_engine_cs *engine)
> } while (head != tail);
>  
> execlists->csb_head = head;
> +
> +   /*
> +* Gen11 has proven to fail wrt global observation point between
> +* entry and tail update, failing on the ordering and thus
> +* we see an old entry in the context status buffer.
> +*
> +* Forcibly evict out entries for the next gpu csb update,
> +* to increase the odds that we get a fresh entries with non
> +* working hardware. The cost for doing so comes out mostly with
> +* the wash as hardware, working or not, will need to do the
> +* invalidation before.
> +*/
> +   invalidate_csb_entries([0], [GEN8_CSB_ENTRIES - 1]);

If it works, this is a stroke of genius.

If we hypothesize that the GPU did write the CSB entries before the head
pointer and inserted a Global Observation point beforehand, then we
theorize that they merely forgot the cc protocol, the writes to system memory is
correctly, but unordered into the cpu cache.

By using the clflush to evict our used cacheline, on the next pass we
will pull in that CSB entry cacheline back in from memory (ordered by
the rmb used for the ringbuffer) and so, if the HW engineer's
insistence that they did remember their wmb, the CSB entries will be
coherent with the head pointer.

So we remove one piece of the puzzle at what should be negligible cost,
Reviewed-by: Chris Wilson 
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


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

2018-12-05 Thread Joonas Lahtinen
Quoting Zhenyu Wang (2018-12-04 07:06:33)
> 
> Hi,
> 
> Just one BDW regression fix for tiling mode format return
> on vfio gfx dmabuf.

Pulled.

Regards, Joonas

> 
> Thanks
> --
> The following changes since commit 7513edbc096a006f967eaf39088091442e623b83:
> 
>   drm/i915/gvt: Avoid use-after-free iterating the gtt list (2018-11-21 
> 17:31:56 +0800)
> 
> are available in the Git repository at:
> 
>   https://github.com/intel/gvt-linux.git tags/gvt-fixes-2018-12-04
> 
> for you to fetch changes up to a40fa231bb64b33e2cd54cf8ef44a9f89875fa11:
> 
>   drm/i915/gvt: Fix tiled memory decoding bug on BDW (2018-12-03 17:03:21 
> +0800)
> 
> 
> gvt-fixes-2018-12-04
> 
> - Fix tiling mode format on BDW for VFIO gfx dmabuf (Tina)
> 
> 
> Tina Zhang (1):
>   drm/i915/gvt: Fix tiled memory decoding bug on BDW
> 
>  drivers/gpu/drm/i915/gvt/fb_decoder.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 
> -- 
> Open Source Technology Center, Intel ltd.
> 
> $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915/icl: Forcibly evict stale csb entries

2018-12-05 Thread Mika Kuoppala
Gen11 fails to deliver wrt global observation point on
tail/entry updates and we sometimes see old entry.

Use clflush to forcibly evict our possibly stale copy
of the cacheline in hopes that we get fresh one from gpu.
Obviously there is something amiss in the coherency protocol so
this can be consired as a workaround until real cause
is found.

The working hardware will do the evict without our cue anyways,
so the cost in there should be ameliorated by that fact.

v2: for next pass, s/flush/evict, add reset (Chris)

References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108315
Cc: Chris Wilson 
Signed-off-by: Mika Kuoppala 
---
 drivers/gpu/drm/i915/intel_lrc.c | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index d7fa301b5ec7..2fe920751d94 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -765,6 +765,13 @@ execlists_cancel_port_requests(struct 
intel_engine_execlists * const execlists)
execlists_clear_all_active(execlists);
 }
 
+static inline void
+invalidate_csb_entries(const u32 *first, const u32 *last)
+{
+   clflush((void *)first);
+   clflush((void *)last);
+}
+
 static void reset_csb_pointers(struct intel_engine_execlists *execlists)
 {
const unsigned int reset_value = GEN8_CSB_ENTRIES - 1;
@@ -780,6 +787,9 @@ static void reset_csb_pointers(struct 
intel_engine_execlists *execlists)
 */
execlists->csb_head = reset_value;
WRITE_ONCE(*execlists->csb_write, reset_value);
+
+   invalidate_csb_entries(>csb_status[0],
+  >csb_status[GEN8_CSB_ENTRIES - 1]);
 }
 
 static void nop_submission_tasklet(unsigned long data)
@@ -1015,6 +1025,19 @@ static void process_csb(struct intel_engine_cs *engine)
} while (head != tail);
 
execlists->csb_head = head;
+
+   /*
+* Gen11 has proven to fail wrt global observation point between
+* entry and tail update, failing on the ordering and thus
+* we see an old entry in the context status buffer.
+*
+* Forcibly evict out entries for the next gpu csb update,
+* to increase the odds that we get a fresh entries with non
+* working hardware. The cost for doing so comes out mostly with
+* the wash as hardware, working or not, will need to do the
+* invalidation before.
+*/
+   invalidate_csb_entries([0], [GEN8_CSB_ENTRIES - 1]);
 }
 
 static void __execlists_submission_tasklet(struct intel_engine_cs *const 
engine)
-- 
2.17.1

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


[Intel-gfx] ✓ Fi.CI.BAT: success for Makefile: fix mixed tab and spaces

2018-12-05 Thread Patchwork
== Series Details ==

Series: Makefile: fix mixed tab and spaces
URL   : https://patchwork.freedesktop.org/series/53550/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5265 -> Patchwork_11017


Summary
---

  **SUCCESS**

  No regressions found.

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

Possible new issues
---

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

### IGT changes ###

 Warnings 

  * igt@kms_busy@basic-flip-a:
- {fi-kbl-7567u}: PASS -> SKIP +2

  
Known issues


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

### IGT changes ###

 Possible fixes 

  * igt@gem_exec_suspend@basic-s3:
- fi-cfl-8109u:   INCOMPLETE [fdo#107187] / [fdo#108126] -> PASS

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_selftest@live_contexts:
- fi-bsw-n3050:   DMESG-FAIL [fdo#108626] / [fdo#108656] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-kbl-7560u:   INCOMPLETE [fdo#108044] -> PASS

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

  [fdo#107187]: https://bugs.freedesktop.org/show_bug.cgi?id=107187
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108044]: https://bugs.freedesktop.org/show_bug.cgi?id=108044
  [fdo#108126]: https://bugs.freedesktop.org/show_bug.cgi?id=108126
  [fdo#108626]: https://bugs.freedesktop.org/show_bug.cgi?id=108626
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656


Participating hosts (48 -> 43)
--

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


Build changes
-

* Linux: CI_DRM_5265 -> Patchwork_11017

  CI_DRM_5265: 84929a4f6a3efdf609b50d51fb35890fc4357dbb @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11017: 28d508729252932f308205faba9e8262c1c38f76 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

28d508729252 Makefile: fix mixed tab and spaces

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.BAT: success for HDCP1.4 Fixes - II (rev2)

2018-12-05 Thread Patchwork
== Series Details ==

Series: HDCP1.4 Fixes - II (rev2)
URL   : https://patchwork.freedesktop.org/series/53493/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5265 -> Patchwork_11018


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_create@basic-files:
- fi-bsw-n3050:   PASS -> FAIL [fdo#108656]

  * igt@gem_exec_store@basic-bsd1:
- fi-cfl-8109u:   PASS -> DMESG-WARN [fdo#106107] +1

  * {igt@runner@aborted}:
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]

  
 Possible fixes 

  * igt@i915_selftest@live_contexts:
- fi-bsw-n3050:   DMESG-FAIL [fdo#108626] / [fdo#108656] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-kbl-7560u:   INCOMPLETE [fdo#108044] -> PASS

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

  [fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
  [fdo#108044]: https://bugs.freedesktop.org/show_bug.cgi?id=108044
  [fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
  [fdo#108626]: https://bugs.freedesktop.org/show_bug.cgi?id=108626
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656


Participating hosts (48 -> 45)
--

  Additional (2): fi-icl-y fi-pnv-d510 
  Missing(5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 


Build changes
-

* Linux: CI_DRM_5265 -> Patchwork_11018

  CI_DRM_5265: 84929a4f6a3efdf609b50d51fb35890fc4357dbb @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4741: 5c8f89f67c7b32014bc22421e48f3c0cf4e5ca3a @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_11018: 99d44a3b93d210e170768a0e2320c5f6e7101fa0 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

99d44a3b93d2 drm/i915: Increase timeout for Encrypt status change
50ad2cb4a101 drm/i915: debug log for REPLY_ACK missing
842e3b4d9114 drm/i915: Fix platform coverage for HDCP1.4
4c71fd64125d drm/i915: Fix GEN9 HDCP1.4 key load process

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area

2018-12-05 Thread Patchwork
== Series Details ==

Series: drm/i915/fbc/cnl: Add GLK and CNL+ hardware tracking area
URL   : https://patchwork.freedesktop.org/series/53515/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5263_full -> Patchwork_11016_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@kms_cursor_legacy@pipe-a-torture-bo:
- shard-skl:  PASS -> INCOMPLETE

  
 Warnings 

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-hsw:  PASS -> SKIP +1

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_exec_schedule@pi-ringfull-render:
- shard-skl:  NOTRUN -> FAIL [fdo#103158] +1

  * igt@gem_exec_schedule@smoketest-all:
- shard-glk:  PASS -> INCOMPLETE [fdo#103359] / [k.org#198133]

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-skl:  NOTRUN -> TIMEOUT [fdo#108039]

  * igt@gem_userptr_blits@readonly-unsync:
- shard-skl:  NOTRUN -> TIMEOUT [fdo#108887]

  * igt@i915_suspend@shrink:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#108784]

  * 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-b:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107956] +1

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
- shard-glk:  PASS -> FAIL [fdo#108145]

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725] +1

  * igt@kms_color@pipe-c-ctm-max:
- shard-apl:  PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-128x42-offscreen:
- shard-skl:  PASS -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-onscreen:
- shard-glk:  PASS -> FAIL [fdo#103232] +2

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +2

  * igt@kms_cursor_crc@cursor-64x21-random:
- shard-apl:  PASS -> FAIL [fdo#103232] +3

  * igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-apl:  PASS -> FAIL [fdo#103191] / [fdo#103232] +1

  * igt@kms_draw_crc@draw-method-rgb565-mmap-cpu-xtiled:
- shard-skl:  PASS -> FAIL [fdo#103184]

  * igt@kms_fbcon_fbt@psr:
- shard-skl:  NOTRUN -> FAIL [fdo#107882]

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-glk:  PASS -> FAIL [fdo#102887] / [fdo#105363]

  * igt@kms_flip_tiling@flip-to-y-tiled:
- shard-skl:  PASS -> FAIL [fdo#107931]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +3

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
- shard-glk:  PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff:
- shard-hsw:  PASS -> INCOMPLETE [fdo#103540]

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- {shard-iclb}:   PASS -> FAIL [fdo#105683]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
- shard-skl:  NOTRUN -> FAIL [fdo#103167]

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885] +1

  * igt@kms_plane@pixel-format-pipe-b-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * {igt@kms_plane@pixel-format-pipe-b-planes-source-clamping}:
- shard-apl:  PASS -> FAIL [fdo#108948]

  * igt@kms_plane@plane-position-covered-pipe-b-planes:
- shard-apl:  PASS -> FAIL [fdo#103166]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815]

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
- shard-glk:  PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format:
- {shard-iclb}:

Re: [Intel-gfx] [PATCH v3 2/4] drm/i915: Fix platform coverage for HDCP1.4

2018-12-05 Thread C, Ramalingam


On 12/5/2018 12:45 AM, Ville Syrjälä wrote:

On Tue, Dec 04, 2018 at 11:37:05PM +0530, Ramalingam C wrote:

HDCP1.4 is enabled and validated only on GEN9+ platforms.

Signed-off-by: Ramalingam C 
Reviewed-by: Sean Paul 
---
  drivers/gpu/drm/i915/intel_hdcp.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c 
b/drivers/gpu/drm/i915/intel_hdcp.c
index c16bffcce3b0..bccfb001340a 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -769,8 +769,7 @@ static void intel_hdcp_prop_work(struct work_struct *work)
  bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port)
  {
/* PORT E doesn't have HDCP, and PORT F is disabled */
-   return ((INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) &&
-   !IS_CHERRYVIEW(dev_priv) && port < PORT_E);
+   return ((INTEL_GEN(dev_priv) >= 9) && port < PORT_E);

Drive-by: Lots of pointless parens floating around here.


kept it for readability. Perhaps overkill here. Removed them.

Thanks,
--Ram




  }
  
  int intel_hdcp_init(struct intel_connector *connector,

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


[Intel-gfx] [PATCH v4 2/4] drm/i915: Fix platform coverage for HDCP1.4

2018-12-05 Thread Ramalingam C
HDCP1.4 is enabled and validated only on GEN9+ platforms.

v2:
  Removed the unnecessary parens [Ville]

Signed-off-by: Ramalingam C 
Reviewed-by: Sean Paul 
---
 drivers/gpu/drm/i915/intel_hdcp.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c 
b/drivers/gpu/drm/i915/intel_hdcp.c
index c16bffcce3b0..1e5a1e07e343 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -769,8 +769,7 @@ static void intel_hdcp_prop_work(struct work_struct *work)
 bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port)
 {
/* PORT E doesn't have HDCP, and PORT F is disabled */
-   return ((INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) &&
-   !IS_CHERRYVIEW(dev_priv) && port < PORT_E);
+   return INTEL_GEN(dev_priv) >= 9 && port < PORT_E;
 }
 
 int intel_hdcp_init(struct intel_connector *connector,
-- 
2.7.4

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


[Intel-gfx] [PATCH v4 4/4] drm/i915: Increase timeout for Encrypt status change

2018-12-05 Thread Ramalingam C
At enable/disable of the HDCP encryption, for encryption status change
we need minimum one frame duration. And we might program this bit any
point(start/End) in the previous frame.

With 20mSec, observed the timeout for change in encryption status.
Since this is not time critical operation and we need to hold on
until the status is changed, fixing the timeout to 50mSec. (Based on
trial and error method!)

v2:
  %s/TIME_FOR_ENCRYPT_STATUS_CHANGE/ENCRYPT_STATUS_CHANGE_TIMEOUT_MS
[Sean Paul]

Signed-off-by: Ramalingam C 
Reviewed-by: Sean Paul 
---
 drivers/gpu/drm/i915/intel_hdcp.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c 
b/drivers/gpu/drm/i915/intel_hdcp.c
index 1e5a1e07e343..e000e54ad569 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -15,6 +15,7 @@
 #include "i915_reg.h"
 
 #define KEY_LOAD_TRIES 5
+#define ENCRYPT_STATUS_CHANGE_TIMEOUT_MS   50
 
 static
 bool intel_hdcp_is_ksv_valid(u8 *ksv)
@@ -637,7 +638,8 @@ static int intel_hdcp_auth(struct intel_digital_port 
*intel_dig_port,
 
/* Wait for encryption confirmation */
if (intel_wait_for_register(dev_priv, PORT_HDCP_STATUS(port),
-   HDCP_STATUS_ENC, HDCP_STATUS_ENC, 20)) {
+   HDCP_STATUS_ENC, HDCP_STATUS_ENC,
+   ENCRYPT_STATUS_CHANGE_TIMEOUT_MS)) {
DRM_ERROR("Timed out waiting for encryption\n");
return -ETIMEDOUT;
}
@@ -667,7 +669,7 @@ static int _intel_hdcp_disable(struct intel_connector 
*connector)
 
I915_WRITE(PORT_HDCP_CONF(port), 0);
if (intel_wait_for_register(dev_priv, PORT_HDCP_STATUS(port), ~0, 0,
-   20)) {
+   ENCRYPT_STATUS_CHANGE_TIMEOUT_MS)) {
DRM_ERROR("Failed to disable HDCP, timeout clearing status\n");
return -ETIMEDOUT;
}
-- 
2.7.4

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


[Intel-gfx] [PATCH v4 3/4] drm/i915: debug log for REPLY_ACK missing

2018-12-05 Thread Ramalingam C
Adding a debug log when the DP_AUX_NATIVE_REPLY_ACK is missing
for aksv write. This helps to locate the possible non responding
DP HDCP sinks.

v2:
  Rewritten for readability [Sean Paul]

Signed-off-by: Ramalingam C 
Reviewed-by: Sean Paul 
---
 drivers/gpu/drm/i915/intel_dp.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 38a6e82153fd..9f75ca04a344 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5579,7 +5579,12 @@ int intel_dp_hdcp_write_an_aksv(struct 
intel_digital_port *intel_dig_port,
}
 
reply = (rxbuf[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK;
-   return reply == DP_AUX_NATIVE_REPLY_ACK ? 0 : -EIO;
+   if (reply != DP_AUX_NATIVE_REPLY_ACK) {
+   DRM_DEBUG_KMS("Aksv write: no DP_AUX_NATIVE_REPLY_ACK %x\n",
+ reply);
+   return -EIO;
+   }
+   return 0;
 }
 
 static int intel_dp_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
-- 
2.7.4

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


[Intel-gfx] [PATCH v4 0/4] HDCP1.4 Fixes - II

2018-12-05 Thread Ramalingam C
Couple of more HDCP1.4 fixes on
  - Key load process for CFL
  - Encryption status change time
  - debug log addition
  - active platform coverage

v1 and v2 went into old series https://patchwork.freedesktop.org/series/38978/
as v8 and v9, due to the same series title. Now changed the title.

v3-->v4:
  Respining with minor fix on 2nd patch [Ville]

Thanks Sean Paul for the reviews.

Ramalingam C (4):
  drm/i915: Fix GEN9 HDCP1.4 key load process
  drm/i915: Fix platform coverage for HDCP1.4
  drm/i915: debug log for REPLY_ACK missing
  drm/i915: Increase timeout for Encrypt status change

 drivers/gpu/drm/i915/intel_dp.c   |  7 ++-
 drivers/gpu/drm/i915/intel_hdcp.c | 16 +---
 2 files changed, 15 insertions(+), 8 deletions(-)

-- 
2.7.4

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


[Intel-gfx] [PATCH v4 1/4] drm/i915: Fix GEN9 HDCP1.4 key load process

2018-12-05 Thread Ramalingam C
HDCP1.4 key load process varies between Intel platform to platform.

For Gen9 platforms except BXT and GLK, HDCP1.4 key is loaded using
the GT Driver Mailbox interface. So all GEN9_BC platforms will use
the GT Driver Mailbox interface for HDCP1.4 key load.

v2:
  Using the IS_GEN9_BC for filtering the platforms [Ville]

Signed-off-by: Ramalingam C 
Reviewed-by: Sean Paul 
---
 drivers/gpu/drm/i915/intel_hdcp.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c 
b/drivers/gpu/drm/i915/intel_hdcp.c
index 1bf487f94254..c16bffcce3b0 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -157,10 +157,11 @@ static int intel_hdcp_load_keys(struct drm_i915_private 
*dev_priv)
/*
 * Initiate loading the HDCP key from fuses.
 *
-* BXT+ platforms, HDCP key needs to be loaded by SW. Only SKL and KBL
-* differ in the key load trigger process from other platforms.
+* BXT+ platforms, HDCP key needs to be loaded by SW. Only Gen 9
+* platforms except BXT and GLK, differ in the key load trigger process
+* from other platforms. So GEN9_BC uses the GT Driver Mailbox i/f.
 */
-   if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv)) {
+   if (IS_GEN9_BC(dev_priv)) {
mutex_lock(_priv->pcu_lock);
ret = sandybridge_pcode_write(dev_priv,
  SKL_PCODE_LOAD_HDCP_KEYS, 1);
-- 
2.7.4

___
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/5] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks

2018-12-05 Thread Patchwork
== Series Details ==

Series: series starting with [1/5] drm/i915/psr: Allow PSR2 to be enabled when 
debugfs asks
URL   : https://patchwork.freedesktop.org/series/53510/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5263_full -> Patchwork_11014_full


Summary
---

  **WARNING**

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

### IGT changes ###

 Possible regressions 

  * {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-kbl:  PASS -> DMESG-FAIL

  
 Warnings 

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt:
- shard-skl:  PASS -> SKIP +109

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt:
- {shard-iclb}:   PASS -> SKIP +128

  * igt@kms_vblank@pipe-a-query-idle-hang:
- shard-snb:  PASS -> SKIP +6

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_schedule@pi-ringfull-blt:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103158]

  * igt@gem_exec_schedule@pi-ringfull-render:
- shard-skl:  NOTRUN -> FAIL [fdo#103158] +1

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-skl:  NOTRUN -> TIMEOUT [fdo#108039]

  * igt@gem_userptr_blits@readonly-unsync:
- shard-skl:  NOTRUN -> TIMEOUT [fdo#108887]

  * igt@i915_suspend@fence-restore-tiled2untiled:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@i915_suspend@shrink:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#106886]

  * 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-b:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107956] +1

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#107725] +1

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-apl:  PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x85-sliding:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103232] +2

  * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] +7

  * igt@kms_draw_crc@draw-method-rgb565-blt-untiled:
- {shard-iclb}:   NOTRUN -> WARN [fdo#108336]

  * igt@kms_flip@dpms-vs-vblank-race:
- shard-kbl:  PASS -> FAIL [fdo#103060]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
- {shard-iclb}:   PASS -> DMESG-FAIL [fdo#107724]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
- shard-apl:  PASS -> FAIL [fdo#103167] +1
- shard-glk:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- {shard-iclb}:   PASS -> FAIL [fdo#103167] +3

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-render:
- {shard-iclb}:   PASS -> DMESG-WARN [fdo#107724] / [fdo#108336] +5

  * igt@kms_frontbuffer_tracking@fbc-stridechange:
- {shard-iclb}:   PASS -> FAIL [fdo#105683] / [fdo#108040]

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#104108] / [fdo#105959]

  * {igt@kms_plane@pixel-format-pipe-a-planes-source-clamping}:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#106885] +1

  * igt@kms_plane@pixel-format-pipe-b-planes:
- {shard-iclb}:   NOTRUN -> FAIL [fdo#103166]

  * {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-apl:  PASS -> FAIL [fdo#108948]

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
- shard-glk:  PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815]

  * igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
- {shard-iclb}:   PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format:
- {shard-iclb}:   NOTRUN -> DMESG-WARN [fdo#107724] +3

  * igt@kms_setmode@basic:
- shard-skl:  NOTRUN -> FAIL [fdo#99912]

  * 

[Intel-gfx] [PATCH] Makefile: fix mixed tab and spaces

2018-12-05 Thread Pedro Tammela
Fixes a comestic issue where spaces were being used
instead of mixed tab and spaces.

Signed-off-by: Pedro Tammela 
---
 drivers/gpu/drm/i915/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 1c2857f13ad4..cdba39f7be64 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -40,7 +40,7 @@ i915-y := i915_drv.o \
  i915_mm.o \
  i915_params.o \
  i915_pci.o \
-  i915_suspend.o \
+ i915_suspend.o \
  i915_syncmap.o \
  i915_sw_fence.o \
  i915_sysfs.o \
-- 
2.19.2

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


[Intel-gfx] [PATCH i-g-t] igt/pm_rpm: Show the contents of i915_runtime_pm_status on setup

2018-12-05 Thread Chris Wilson
To try and help debug situations where the driver has leaked a runtime
reference before executing the pm_rpm tests, show the contents of
i915_runtime_pm_status at startup, which will include all currently held
wakerefs.

Signed-off-by: Chris Wilson 
---
 tests/pm_rpm.c | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index f0d6db525..7427958dc 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -725,6 +725,18 @@ static bool dmc_loaded(void)
return strstr(buf, "fw loaded: yes");
 }
 
+static void dump_file(int dir, const char *filename)
+{
+   char *contents;
+
+   contents = igt_sysfs_get(dir, filename);
+   if (!contents)
+   return;
+
+   igt_debug("%s:\n%s\n", filename, contents);
+   free(contents);
+}
+
 static bool setup_environment(void)
 {
if (has_runtime_pm)
@@ -744,6 +756,8 @@ static bool setup_environment(void)
has_runtime_pm = igt_setup_runtime_pm();
setup_pc8();
 
+   dump_file(debugfs, "i915_runtime_pm_status");
+
igt_info("Runtime PM support: %d\n", has_runtime_pm);
igt_info("PC8 residency support: %d\n", has_pc8);
igt_require(has_runtime_pm);
-- 
2.20.0.rc2

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


Re: [Intel-gfx] [PATCH] drm/i915: Wait one vblank before sending hotplug event to userspace

2018-12-05 Thread Kahola, Mika
On Tue, 2018-12-04 at 21:43 +0200, Ville Syrjälä wrote:
> On Tue, Dec 04, 2018 at 11:46:39AM +0200, Mika Kahola wrote:
> > Occasionally, we get the following error in our CI runs
> > 
> > [853.132830] Workqueue: events i915_hotplug_work_func [i915]
> > [853.132844] RIP: 0010:drm_wait_one_vblank+0x19b/0x1b0
> > [853.132852] Code: fe ff ff e8 b7 4e a6 ff 48 89 e6 4c 89 ff e8 6c
> > 5f ab ff 45 85 ed 0f 85
> > 15 ff ff ff 89 ee 48 c7 c7 e8 03 10 82 e8 b5 4b a6 ff <0f> 0b e9 00
> > ff ff ff 0f 1f 40 00 66
> > 2e 0f 1f 84 00 00 00 00 00 8b
> > [853.132859] RSP: 0018:c9000146bca0 EFLAGS: 00010286
> > [853.132866] RAX:  RBX: 88849ef0 RCX:
> > 
> > [853.132873] RDX: 0007 RSI: 820c6f58 RDI:
> > 
> > [853.132879] RBP:  R08: 7ffc637a R09:
> > 
> > [853.132884] R10:  R11:  R12:
> > 
> > [853.132890] R13:  R14: d0c2 R15:
> > 8884a491e680
> > [853.132897] FS:  () GS:8884afe8()
> > knlGS:
> > [853.132904] CS:  0010 DS:  ES:  CR0: 80050033
> > [853.132910] CR2: 7f63bf0df000 CR3: 05210006 CR4:
> > 00760ee0
> > [853.132916] DR0:  DR1:  DR2:
> > 
> > [853.132922] DR3:  DR6: fffe0ff0 DR7:
> > 0400
> > [853.132927] PKRU: 5554
> > [853.132932] Call Trace:
> > [853.132949]  ? wait_woken+0xa0/0xa0
> > [853.133068]  intel_dp_retrain_link+0x130/0x190 [i915]
> > [853.133176]  intel_ddi_hotplug+0x54/0x2e0 [i915]
> > [853.133298]  i915_hotplug_work_func+0x1a9/0x240 [i915]
> > [853.133324]  process_one_work+0x262/0x630
> > [853.133349]  worker_thread+0x37/0x380
> > [853.133365]  ? process_one_work+0x630/0x630
> > [853.133373]  kthread+0x119/0x130
> > [853.133383]  ? kthread_park+0x80/0x80
> > [853.133400]  ret_from_fork+0x3a/0x50
> > [853.133433] irq event stamp: 1426928
> > 
> > I suspect that this is caused by a racy condition when retraining
> > the
> > DisplayPort link. My proposal is to wait for one additional vblank
> > event before we send out a hotplug event to userspace for
> > reprobing.
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108835
> 
> The first problem in the log is 
> <3> [853.020316] [drm:intel_ddi_prepare_link_retrain [i915]] *ERROR*
> Timeout waiting for DDI BUF A idle bit
> That's where one should start.
> 
> Some suspects:
> - icl_enable/disable_phy_clock_gating()
> - intel_ddi_enable/disable_pipe_clock()
Thanks! I will have a look at those too. On the other hand, this test
failure as INCOMPLETE in CI might have caused by jenkins issue

[21/79] ( 873s left) kms_flip (blocking-absolute-wf_vblank-
interruptible)
FATAL: command execution failed
java.io.EOFException
at
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.j
ava:2681)
at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStr
eam.java:3156)
at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862)
at java.io.ObjectInputStream.(ObjectInputStream.java:358)
at
hudson.remoting.ObjectInputStreamEx.(ObjectInputStreamEx.java:49)
at hudson.remoting.Command.readFrom(Command.java:140)
at hudson.remoting.Command.readFrom(Command.java:126)
at
hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(Abstr
actSynchronousByteArrayCommandTransport.java:36)
at
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(Synchronou
sCommandTransport.java:63)
Caused: java.io.IOException: Unexpected termination of the channel
at
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(Synchronou
sCommandTransport.java:77)
Caused: java.io.IOException: Backing channel 'shard-iclb7' is
disconnected.
at
hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationH
andler.java:214)
at
hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.
java:283)
at com.sun.proxy.$Proxy64.isAlive(Unknown Source)
at
hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1144)
at
hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1136)
at
hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:155)
at
hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
at
hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
at
hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at
hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild
.java:744)
at hudson.model.Build$BuildExecution.build(Build.java:206)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.jav
a:504)
at 

Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions

2018-12-05 Thread Russell King - ARM Linux
On Tue, Nov 20, 2018 at 06:13:42PM +0200, Ville Syrjala wrote:
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c 
> b/drivers/gpu/drm/i2c/tda998x_drv.c
> index a7c39f39793f..38c66fbc8276 100644
> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> @@ -849,7 +849,8 @@ tda998x_write_avi(struct tda998x_priv *priv, struct 
> drm_display_mode *mode)
>  {
>   union hdmi_infoframe frame;
>  
> - drm_hdmi_avi_infoframe_from_display_mode(, mode, false);
> + drm_hdmi_avi_infoframe_from_display_mode(,
> +  >connector, mode);
>   frame.avi.quantization_range = HDMI_QUANTIZATION_RANGE_FULL;
>  
>   tda998x_write_if(priv, DIP_IF_FLAGS_IF2, REG_IF2_HB0, );

For this,

Acked-by: Russell King 

Thanks.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling

2018-12-05 Thread Chauhan, Madhav
However I have not seen fdo bug mentioned below, but root cause for these pipe 
config error messages
are due to the fact that for dual link we are programming half the timings but 
while comparing
We use undivided values. 

Moreover some timings are not even gets programmed for DSI like HBLANK/VBLANK 
etc.
So while dumping pipe_config errors we need to consider dual link scenario for 
DSI.

Regards,
Madhav

> -Original Message-
> From: Lisovskiy, Stanislav
> Sent: Wednesday, December 5, 2018 2:18 PM
> To: Nikula, Jani ; Chauhan, Madhav
> ; intel-gfx@lists.freedesktop.org
> Cc: Peres, Martin ; Saarinen, Jani
> ; Kulkarni, Vandita 
> Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling
> 
> Ok, I didn't file a bug yet, because I still have suspicion that this could 
> be a
> bios thing.
> 
> Vandita, Madhav, did you happen to see same issue?
> 
> Best Regards,
> 
> Lisovskiy Stanislav
> 
> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160
> Espoo
> 
> 
> From: Nikula, Jani
> Sent: Wednesday, December 05, 2018 10:35 AM
> To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
> Cc: Peres, Martin; Saarinen, Jani
> Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling
> 
> On Wed, 05 Dec 2018, "Lisovskiy, Stanislav" 
> wrote:
> > I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + 
> > "fix
> transcoder state readout" commit applied):
> >
> > [   12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
> > [   12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_htotal (expected 1586, found 793)
> > [   12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_hblank_start (expected 1440, found 1)
> > [   12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_hblank_end (expected 1586, found 1)
> > [   12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_hsync_start (expected 1540, found 770)
> > [   12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_hsync_end (expected 1550, found 775)
> > [   12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_vblank_start (expected 2560, found 1)
> > [   12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_vblank_end (expected 2582, found 1)
> > [   12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> output_format (expected 0, found 1)
> > [   12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate
> (expected 245700, found 122850)
> > [   12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp
> (expected 24, found 0)
> > [   12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in
> base.adjusted_mode.crtc_clock (expected 245700, found 122850)
> >
> > To me it looks different from
> https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug.
> 
> Okay, please file a new bug with the full dmesg. The above is not enough.
> 
> BR,
> Jani.
> 
> >
> > Also there are still "The master control interrupt lied (DE PIPE)!"
> > messages( Pipe IIR register is read as 0, while master_ctl has a
> correspondent flag set) - however with this one I can at least cope by adding
> a few retries in the interrupt handler as a workaround. Then the flooding
> stops. Not sure if this is a proper fix though.
> >
> > I also run kms_draw_crc test with this board(investigating
> > https://bugs.freedesktop.org/show_bug.cgi?id=103184),
> > and sometimes half of the tests fail with the crc mismatch, I think this is
> kind of different thing.
> >
> >
> > Best Regards,
> >
> > Lisovskiy Stanislav
> >
> > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7,
> > 02160 Espoo
> >
> > 
> > From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of
> > Lisovskiy, Stanislav [stanislav.lisovs...@intel.com]
> > Sent: Wednesday, December 05, 2018 9:49 AM
> > To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
> > Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
> >
> > Hi Jani,
> >
> > I've tried previously with branch icl-dsi-2018-12-03 for your github repo.
> > I think it has everything except this 4.12.2018  "fix transcoder state
> readout" commit.
> >
> > I will apply it and try with that now, thanks.
> >
> > Best Regards,
> >
> > Lisovskiy Stanislav
> >
> > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7,
> > 02160 Espoo
> >
> > 
> > From: Nikula, Jani
> > Sent: Tuesday, December 04, 2018 7:13 PM
> > To: Lisovskiy, Stanislav; Chauhan, Madhav;
> > intel-gfx@lists.freedesktop.org
> > Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre
> > Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling
> >

Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions

2018-12-05 Thread Laurent Pinchart
Hi Andrzej,

On Wednesday, 5 December 2018 10:46:40 EET Andrzej Hajda wrote:
> On 05.12.2018 07:32, Laurent Pinchart wrote:
> > On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote:
> >> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote:
> >>> On 03.12.2018 22:38, Ville Syrjälä wrote:
>  On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote:
> > On 21.11.2018 19:19, Laurent Pinchart wrote:
> >> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote:
> >>> From: Ville Syrjälä 
> >>> 
> >>> Make life easier for drivers by simply passing the connector
> >>> to drm_hdmi_avi_infoframe_from_display_mode() and
> >>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't
> >>> need to worry about is_hdmi2_sink mess.
> >> 
> >> While this is good for display controller drivers, the change isn't
> >> great for bridge drivers. Down the road we're looking at moving
> >> connector support out of the bridge drivers. Adding an additional
> >> dependency to connectors in the bridges will make that more
> >> difficult. Ideally bridges should retrieve the information from their
> >> sink, regardless of whether it is a connector or another bridge.
> > 
> > I agree with it, and case of sii8620 shows that there are cases where
> > bridge has no direct access to the connector.
>  
>  It's just a matter of plumbing it through.
> >>> 
> >>> What do you mean exactly?
> >> 
> >> void bridge_foo(...
> >> +   ,struct drm_connector *connector);
> >> 
> > On the other side,  since you are passing connector to
> > drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode
> > parameter and rename the function to
> > drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and
> > mode set on the connector differs?
>  
>  Connectors don't have a mode.
> >>> 
> >>> As they are passing video stream they should have it, even if not
> >>> directly, for example:
> >>> 
> >>> connector->state->crtc->mode
> >> 
> >> That's not really how atomic works. One shouldn't go digging
> >> through the obj->state pointers when we're not holding the
> >> relevant locks anymore. The atomic way would be to pass either
> >> both crtc state and connector state, or drm_atomic_state +
> >> crtc/connector.
> 
> Usually infoframe contents is generated in modesetting/enable callbacks
> so the locks should be in place.
> 
> And the locks should be hold for
> drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if
> 
> generated infoframe is not relevant to actual video mode. I guess that
> if connector->state->crtc->mode
> 
> differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it
> is a sign of possible problem.
> 
> And if they do not differ passing mode as an extra argument is redundant.
> 
> > Or a bridge state ? With chained bridges the mode can vary along the
> > pipeline, the CRTC adjusted mode will only cover the link between the
> > CRTC and the first bridge. It's only a matter of time until we need to
> > store other intermediate modes in states. I'd rather prepare for that
> > instead of passing the CRTC state to bridges.
> 
> Yes, optional bridge states seems reasonable, volunteers needed :)

I'll give it a go eventually, if nobody beats me to it. The exact timing will 
depend on many variables so I can't estimate it I'm afraid. All I'm asking is 
to avoid extending the drm_bridge API in a way that would make introduction of 
bridge states more complex. If someone needs bridge states, for instance to 
solve the above issue, then they should be added.

[snip]

-- 
Regards,

Laurent Pinchart



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


Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling

2018-12-05 Thread Lisovskiy, Stanislav
Ok, I didn't file a bug yet, because I still have suspicion that this could be 
a bios thing.

Vandita, Madhav, did you happen to see same issue?

Best Regards,

Lisovskiy Stanislav

Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo


From: Nikula, Jani
Sent: Wednesday, December 05, 2018 10:35 AM
To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
Cc: Peres, Martin; Saarinen, Jani
Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling

On Wed, 05 Dec 2018, "Lisovskiy, Stanislav"  
wrote:
> I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + 
> "fix transcoder state readout" commit applied):
>
> [   12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
> [   12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_htotal (expected 1586, found 793)
> [   12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hblank_start (expected 1440, found 1)
> [   12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hblank_end (expected 1586, found 1)
> [   12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hsync_start (expected 1540, found 770)
> [   12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hsync_end (expected 1550, found 775)
> [   12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_vblank_start (expected 2560, found 1)
> [   12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_vblank_end (expected 2582, found 1)
> [   12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format 
> (expected 0, found 1)
> [   12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate 
> (expected 245700, found 122850)
> [   12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp 
> (expected 24, found 0)
> [   12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_clock (expected 245700, found 122850)
>
> To me it looks different from 
> https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug.

Okay, please file a new bug with the full dmesg. The above is not
enough.

BR,
Jani.

>
> Also there are still "The master control interrupt lied (DE PIPE)!" messages( 
> Pipe IIR register is read as 0, while
> master_ctl has a correspondent flag set) - however with this one I can at 
> least cope by adding a few retries in the interrupt handler as a workaround. 
> Then the flooding stops. Not sure if this is a proper fix though.
>
> I also run kms_draw_crc test with this board(investigating 
> https://bugs.freedesktop.org/show_bug.cgi?id=103184),
> and sometimes half of the tests fail with the crc mismatch, I think this is 
> kind of different thing.
>
>
> Best Regards,
>
> Lisovskiy Stanislav
>
> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
>
> 
> From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of 
> Lisovskiy, Stanislav [stanislav.lisovs...@intel.com]
> Sent: Wednesday, December 05, 2018 9:49 AM
> To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
>
> Hi Jani,
>
> I've tried previously with branch icl-dsi-2018-12-03 for your github repo.
> I think it has everything except this 4.12.2018  "fix transcoder state 
> readout" commit.
>
> I will apply it and try with that now, thanks.
>
> Best Regards,
>
> Lisovskiy Stanislav
>
> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
>
> 
> From: Nikula, Jani
> Sent: Tuesday, December 04, 2018 7:13 PM
> To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
> Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre
> Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling
>
> On Tue, 04 Dec 2018, "Lisovskiy, Stanislav"  
> wrote:
>> Hi,
>>
>> Currently ICL DSI panel seems to work fine, however I still face
>> mainly two issues, which probably need to be addressed:
>
> Please try with current drm-tip with
>
> commit 0716931a82b4d0e211d2ef66616ad7130107e455
> Author: Jani Nikula 
> Date:   Tue Dec 4 12:19:26 2018 +0200
>
> drm/i915/icl: fix transcoder state readout
>
> plus the hack patches from the end of the series. It's possible only the
> VBT one is required.
>
> BR,
> Jani.
>
>>
>> 1) There is still pipe_config mismatch assertion:
>>
>> [   13.119965] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
>> [   13.119989] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_htotal (expected 1586, found 793)
>> [   13.120015] [drm:pipe_config_err 

Re: [Intel-gfx] [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions

2018-12-05 Thread Andrzej Hajda
On 05.12.2018 07:32, Laurent Pinchart wrote:
> Hi Ville,
>
> On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote:
>> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote:
>>> On 03.12.2018 22:38, Ville Syrjälä wrote:
 On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote:
> On 21.11.2018 19:19, Laurent Pinchart wrote:
>> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote:
>>> From: Ville Syrjälä 
>>>
>>> Make life easier for drivers by simply passing the connector
>>> to drm_hdmi_avi_infoframe_from_display_mode() and
>>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't
>>> need to worry about is_hdmi2_sink mess.
>> While this is good for display controller drivers, the change isn't
>> great for bridge drivers. Down the road we're looking at moving
>> connector support out of the bridge drivers. Adding an additional
>> dependency to connectors in the bridges will make that more
>> difficult. Ideally bridges should retrieve the information from their
>> sink, regardless of whether it is a connector or another bridge.
> I agree with it, and case of sii8620 shows that there are cases where
> bridge has no direct access to the connector.
 It's just a matter of plumbing it through.
>>> What do you mean exactly?
>> void bridge_foo(...
>> +   ,struct drm_connector *connector);
>>
> On the other side,  since you are passing connector to
> drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode
> parameter and rename the function to
> drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and
> mode set on the connector differs?
 Connectors don't have a mode.
>>> As they are passing video stream they should have it, even if not
>>> directly, for example:
>>>
>>> connector->state->crtc->mode
>> That's not really how atomic works. One shouldn't go digging
>> through the obj->state pointers when we're not holding the
>> relevant locks anymore. The atomic way would be to pass either
>> both crtc state and connector state, or drm_atomic_state +
>> crtc/connector.


Usually infoframe contents is generated in modesetting/enable callbacks
so the locks should be in place.

And the locks should be hold for
drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if

generated infoframe is not relevant to actual video mode. I guess that
if connector->state->crtc->mode

differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it
is a sign of possible problem.

And if they do not differ passing mode as an extra argument is redundant.


> Or a bridge state ? With chained bridges the mode can vary along the 
> pipeline, 
> the CRTC adjusted mode will only cover the link between the CRTC and the 
> first 
> bridge. It's only a matter of time until we need to store other intermediate 
> modes in states. I'd rather prepare for that instead of passing the CRTC 
> state 
> to bridges.


Yes, optional bridge states seems reasonable, volunteers needed :)


Regards

Andrzej


>
>>> In moment of creating infoframe it should be set properly.
>>>
>> Please see below for an additional comment.
>>
>>> Cc: Alex Deucher 
>>> Cc: "Christian König" 
>>> Cc: "David (ChunMing) Zhou" 
>>> Cc: Archit Taneja 
>>> Cc: Andrzej Hajda 
>>> Cc: Laurent Pinchart 
>>> Cc: Inki Dae 
>>> Cc: Joonyoung Shim 
>> Cc: Seung-Woo Kim 
>>> Cc: Kyungmin Park 
>>> Cc: Russell King 
>>> Cc: CK Hu 
>>> Cc: Philipp Zabel 
>>> Cc: Rob Clark 
>>> Cc: Ben Skeggs 
>>> Cc: Tomi Valkeinen 
>>> Cc: Sandy Huang 
>>> Cc: "Heiko Stübner" 
>>> Cc: Benjamin Gaignard 
>>> Cc: Vincent Abriou 
>>> Cc: Thierry Reding 
>>> Cc: Eric Anholt 
>>> Cc: Shawn Guo 
>>> Cc: Ilia Mirkin 
>>> Cc: amd-...@lists.freedesktop.org
>>> Cc: linux-arm-...@vger.kernel.org
>>> Cc: freedr...@lists.freedesktop.org
>>> Cc: nouv...@lists.freedesktop.org
>>> Cc: linux-te...@vger.kernel.org
>>> Signed-off-by: Ville Syrjälä 
>>> ---
>>>
>>>  drivers/gpu/drm/amd/amdgpu/dce_v10_0.c|  2 +-
>>>  drivers/gpu/drm/amd/amdgpu/dce_v11_0.c|  2 +-
>>>  drivers/gpu/drm/amd/amdgpu/dce_v6_0.c |  3 ++-
>>>  drivers/gpu/drm/amd/amdgpu/dce_v8_0.c |  2 +-
>>>  drivers/gpu/drm/bridge/analogix-anx78xx.c |  5 ++--
>>>  drivers/gpu/drm/bridge/sii902x.c  |  3 ++-
>>>  drivers/gpu/drm/bridge/sil-sii8620.c  |  3 +--
>>>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |  3 ++-
>>>  drivers/gpu/drm/drm_edid.c| 33 
>>>  drivers/gpu/drm/exynos/exynos_hdmi.c  |  3 ++-
>>>  drivers/gpu/drm/i2c/tda998x_drv.c |  3 ++-
>>>  drivers/gpu/drm/i915/intel_hdmi.c | 14 +-
>>>  drivers/gpu/drm/i915/intel_lspcon.c   | 15 ++-
>>>  drivers/gpu/drm/i915/intel_sdvo.c 

Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling

2018-12-05 Thread Jani Nikula
On Wed, 05 Dec 2018, "Lisovskiy, Stanislav"  
wrote:
> I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + 
> "fix transcoder state readout" commit applied):
>
> [   12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
> [   12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_htotal (expected 1586, found 793)
> [   12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hblank_start (expected 1440, found 1)
> [   12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hblank_end (expected 1586, found 1)
> [   12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hsync_start (expected 1540, found 770)
> [   12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hsync_end (expected 1550, found 775)
> [   12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_vblank_start (expected 2560, found 1)
> [   12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_vblank_end (expected 2582, found 1)
> [   12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format 
> (expected 0, found 1)
> [   12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate 
> (expected 245700, found 122850)
> [   12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp 
> (expected 24, found 0)
> [   12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_clock (expected 245700, found 122850)
>
> To me it looks different from 
> https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug.

Okay, please file a new bug with the full dmesg. The above is not
enough.

BR,
Jani.

>
> Also there are still "The master control interrupt lied (DE PIPE)!" messages( 
> Pipe IIR register is read as 0, while
> master_ctl has a correspondent flag set) - however with this one I can at 
> least cope by adding a few retries in the interrupt handler as a workaround. 
> Then the flooding stops. Not sure if this is a proper fix though.
>
> I also run kms_draw_crc test with this board(investigating 
> https://bugs.freedesktop.org/show_bug.cgi?id=103184),
> and sometimes half of the tests fail with the crc mismatch, I think this is 
> kind of different thing.
>
>
> Best Regards,
>
> Lisovskiy Stanislav
>
> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
>
> 
> From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of 
> Lisovskiy, Stanislav [stanislav.lisovs...@intel.com]
> Sent: Wednesday, December 05, 2018 9:49 AM
> To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling
>
> Hi Jani,
>
> I've tried previously with branch icl-dsi-2018-12-03 for your github repo.
> I think it has everything except this 4.12.2018  "fix transcoder state 
> readout" commit.
>
> I will apply it and try with that now, thanks.
>
> Best Regards,
>
> Lisovskiy Stanislav
>
> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
>
> 
> From: Nikula, Jani
> Sent: Tuesday, December 04, 2018 7:13 PM
> To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
> Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre
> Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling
>
> On Tue, 04 Dec 2018, "Lisovskiy, Stanislav"  
> wrote:
>> Hi,
>>
>> Currently ICL DSI panel seems to work fine, however I still face
>> mainly two issues, which probably need to be addressed:
>
> Please try with current drm-tip with
>
> commit 0716931a82b4d0e211d2ef66616ad7130107e455
> Author: Jani Nikula 
> Date:   Tue Dec 4 12:19:26 2018 +0200
>
> drm/i915/icl: fix transcoder state readout
>
> plus the hack patches from the end of the series. It's possible only the
> VBT one is required.
>
> BR,
> Jani.
>
>>
>> 1) There is still pipe_config mismatch assertion:
>>
>> [   13.119965] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
>> [   13.119989] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_htotal (expected 1586, found 793)
>> [   13.120015] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_hblank_start (expected 1440, found 1)
>> [   13.120038] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_hblank_end (expected 1586, found 1)
>> [   13.120061] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_hsync_start (expected 1540, found 770)
>> [   13.120083] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
>> base.adjusted_mode.crtc_hsync_end (expected 1550, found 775)
>> [   13.120113] [drm:pipe_config_err 

Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling

2018-12-05 Thread Lisovskiy, Stanislav
I still see this pipe config mismatch(with icl-dsi-2018-12-03(4.20.0-rc5) + 
"fix transcoder state readout" commit applied):

[   12.773332] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
[   12.773425] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_htotal (expected 1586, found 793)
[   12.773510] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_hblank_start (expected 1440, found 1)
[   12.773588] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_hblank_end (expected 1586, found 1)
[   12.773663] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_hsync_start (expected 1540, found 770)
[   12.773735] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_hsync_end (expected 1550, found 775)
[   12.773813] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_vblank_start (expected 2560, found 1)
[   12.773897] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_vblank_end (expected 2582, found 1)
[   12.773976] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format 
(expected 0, found 1)
[   12.774039] [drm:pipe_config_err [i915]] *ERROR* mismatch in pixel_rate 
(expected 245700, found 122850)
[   12.774099] [drm:pipe_config_err [i915]] *ERROR* mismatch in pipe_bpp 
(expected 24, found 0)
[   12.774157] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
base.adjusted_mode.crtc_clock (expected 245700, found 122850)

To me it looks different from 
https://bugs.freedesktop.org/show_bug.cgi?id=108928 bug.

Also there are still "The master control interrupt lied (DE PIPE)!" messages( 
Pipe IIR register is read as 0, while
master_ctl has a correspondent flag set) - however with this one I can at least 
cope by adding a few retries in the interrupt handler as a workaround. Then the 
flooding stops. Not sure if this is a proper fix though.

I also run kms_draw_crc test with this board(investigating 
https://bugs.freedesktop.org/show_bug.cgi?id=103184),
and sometimes half of the tests fail with the crc mismatch, I think this is 
kind of different thing.


Best Regards,

Lisovskiy Stanislav

Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo


From: Intel-gfx [intel-gfx-boun...@lists.freedesktop.org] on behalf of 
Lisovskiy, Stanislav [stanislav.lisovs...@intel.com]
Sent: Wednesday, December 05, 2018 9:49 AM
To: Nikula, Jani; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v11 00/23] drm/i915/icl: dsi enabling

Hi Jani,

I've tried previously with branch icl-dsi-2018-12-03 for your github repo.
I think it has everything except this 4.12.2018  "fix transcoder state readout" 
commit.

I will apply it and try with that now, thanks.

Best Regards,

Lisovskiy Stanislav

Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo


From: Nikula, Jani
Sent: Tuesday, December 04, 2018 7:13 PM
To: Lisovskiy, Stanislav; Chauhan, Madhav; intel-gfx@lists.freedesktop.org
Cc: ville.syrj...@linux.intel.com; Kulkarni, Vandita; Deak, Imre
Subject: RE: [PATCH v11 00/23] drm/i915/icl: dsi enabling

On Tue, 04 Dec 2018, "Lisovskiy, Stanislav"  
wrote:
> Hi,
>
> Currently ICL DSI panel seems to work fine, however I still face
> mainly two issues, which probably need to be addressed:

Please try with current drm-tip with

commit 0716931a82b4d0e211d2ef66616ad7130107e455
Author: Jani Nikula 
Date:   Tue Dec 4 12:19:26 2018 +0200

drm/i915/icl: fix transcoder state readout

plus the hack patches from the end of the series. It's possible only the
VBT one is required.

BR,
Jani.

>
> 1) There is still pipe_config mismatch assertion:
>
> [   13.119965] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hdisplay (expected 1440, found 720)
> [   13.119989] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_htotal (expected 1586, found 793)
> [   13.120015] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hblank_start (expected 1440, found 1)
> [   13.120038] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hblank_end (expected 1586, found 1)
> [   13.120061] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hsync_start (expected 1540, found 770)
> [   13.120083] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_hsync_end (expected 1550, found 775)
> [   13.120113] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_vblank_start (expected 2560, found 1)
> [   13.120139] [drm:pipe_config_err [i915]] *ERROR* mismatch in 
> base.adjusted_mode.crtc_vblank_end (expected 2582, found 1)
> [   13.120169] [drm:pipe_config_err [i915]] *ERROR* mismatch in output_format 
> (expected 0, found 1)
>