Re: [Intel-gfx] [PATCH v2 1/5] drm/edid: Add CTA-861-G modes with VIC < 128

2019-07-18 Thread Sharma, Shashank


On 7/11/2019 4:02 PM, Ville Syrjala wrote:

From: Ville Syrjälä 

Fill out our list of cea modes with the new stuff from CTA-861-G.
We only do the modes with VIC < 128 here. Adding the higher
numbered VICs will need some slight code refactoring first.

Cc: Hans Verkuil 
Cc: Shashank Sharma 
Signed-off-by: Ville Syrjälä 
---
  drivers/gpu/drm/drm_edid.c | 100 +
  1 file changed, 100 insertions(+)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 82a4ceed3fcf..bcd9ed569d64 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1275,6 +1275,106 @@ static const struct drm_display_mode edid_cea_modes[] = 
{
   4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
  .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 108 - 1280x720@48Hz 16:9 */
+   { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 9, 1280, 2240,
+  2280, 2500, 0, 720, 725, 730, 750, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
+   /* 109 - 1280x720@48Hz 64:27 */
+   { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 9, 1280, 2240,
+  2280, 2500, 0, 720, 725, 730, 750, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 110 - 1680x720@48Hz 64:27 */
+   { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 99000, 1680, 2490,
+  2530, 2750, 0, 720, 725, 730, 750, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 111 - 1920x1080@48Hz 16:9 */
+   { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2558,
+  2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
+   /* 112 - 1920x1080@48Hz 64:27 */
+   { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2558,
+  2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 113 - 2560x1080@48Hz 64:27 */
+   { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 198000, 2560, 3558,
+  3602, 3750, 0, 1080, 1084, 1089, 1100, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 114 - 3840x2160@48Hz 16:9 */
+   { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 5116,
+  5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
+   /* 115 - 4096x2160@48Hz 256:135 */
+   { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 5116,
+  5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, 
},
+   /* 116 - 3840x2160@48Hz 64:27 */
+   { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 5116,
+  5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 48, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 117 - 3840x2160@100Hz 16:9 */
+   { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 1188000, 3840, 4896,
+  4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
+   /* 118 - 3840x2160@120Hz 16:9 */
+   { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 1188000, 3840, 4016,
+  4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
+   /* 119 - 3840x2160@100Hz 64:27 */
+   { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 1188000, 3840, 4896,
+  4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
+   /* 120 - 3840x2160@120Hz 64:27 */
+   { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 1188000, 3840, 4016,
+  4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
+  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+ 

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY (rev5)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: We don't need display's suspend/resume operations when 
!HAS_DISPLAY (rev5)
URL   : https://patchwork.freedesktop.org/series/60839/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6507_full -> Patchwork_13696_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_tiled_swapping@non-threaded:
- shard-glk:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108686])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-glk4/igt@gem_tiled_swapp...@non-threaded.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-glk5/igt@gem_tiled_swapp...@non-threaded.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl:  [PASS][3] -> [DMESG-WARN][4] ([fdo#108566]) +3 
similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-kbl7/igt@kms_cursor_...@pipe-a-cursor-suspend.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-kbl6/igt@kms_cursor_...@pipe-a-cursor-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#109507])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl4/igt@kms_f...@flip-vs-suspend-interruptible.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-skl4/igt@kms_f...@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
- shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103167]) +3 similar 
issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb7/igt@kms_frontbuffer_track...@fbc-1p-pri-indfb-multidraw.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-iclb4/igt@kms_frontbuffer_track...@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-stridechange:
- shard-snb:  [PASS][9] -> [SKIP][10] ([fdo#109271])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-snb2/igt@kms_frontbuffer_track...@fbc-stridechange.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-snb1/igt@kms_frontbuffer_track...@fbc-stridechange.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +4 
similar issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-apl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-apl1/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-skl:  [PASS][13] -> [INCOMPLETE][14] ([fdo#104108])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-skl9/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-c-planes.html

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

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

  * igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109642] / [fdo#111068])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb2/igt@kms_psr2...@frontbuffer.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/shard-iclb1/igt@kms_psr2...@frontbuffer.html

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

  * igt@kms_psr@suspend:
- shard-skl:  [PASS][23] -> [INCOMPLETE][24] ([fdo#108972])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl6/igt@kms_...@suspend.html
   [24]: 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Remove set but not used variable 'src_y'

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Remove set but not used variable 'src_y'
URL   : https://patchwork.freedesktop.org/series/63923/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6508 -> Patchwork_13698


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_contexts:
- fi-skl-iommu:   [PASS][1] -> [INCOMPLETE][2] ([fdo#111050])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-skl-iommu/igt@i915_selftest@live_contexts.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13698/fi-skl-iommu/igt@i915_selftest@live_contexts.html

  
 Possible fixes 

  * {igt@gem_ctx_switch@rcs0}:
- fi-icl-guc: [INCOMPLETE][3] ([fdo#107713]) -> [PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-icl-guc/igt@gem_ctx_swi...@rcs0.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13698/fi-icl-guc/igt@gem_ctx_swi...@rcs0.html

  * igt@gem_exec_reloc@basic-write-cpu-noreloc:
- fi-icl-u3:  [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-icl-u3/igt@gem_exec_re...@basic-write-cpu-noreloc.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13698/fi-icl-u3/igt@gem_exec_re...@basic-write-cpu-noreloc.html

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

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

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

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#111050]: https://bugs.freedesktop.org/show_bug.cgi?id=111050


Participating hosts (52 -> 45)
--

  Additional (1): fi-icl-dsi 
  Missing(8): fi-ilk-m540 fi-byt-squawks fi-icl-u2 fi-bsw-cyan fi-apl-guc 
fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6508 -> Patchwork_13698

  CI_DRM_6508: 9b39702210b8ac35297570f29f496517f3dea062 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13698: 1e57f809b80d4e4e40e75fb9d8ae89424c4ccdaf @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

1e57f809b80d drm/i915/icl: Remove set but not used variable 'src_y'

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13698/
___
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: Flush extra hard after writing relocations through the GTT

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: Flush extra hard after writing relocations through the GTT
URL   : https://patchwork.freedesktop.org/series/63914/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6507_full -> Patchwork_13695_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_tiled_swapping@non-threaded:
- shard-glk:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108686])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-glk4/igt@gem_tiled_swapp...@non-threaded.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-glk9/igt@gem_tiled_swapp...@non-threaded.html

  * igt@kms_flip@basic-flip-vs-modeset:
- shard-snb:  [PASS][3] -> [INCOMPLETE][4] ([fdo#105411])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-snb2/igt@kms_f...@basic-flip-vs-modeset.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-snb1/igt@kms_f...@basic-flip-vs-modeset.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-iclb: [PASS][5] -> [FAIL][6] ([fdo#103167]) +1 similar issue
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb3/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-iclb8/igt@kms_frontbuffer_track...@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html

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

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

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

  * igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109642] / [fdo#111068])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb2/igt@kms_psr2...@frontbuffer.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-iclb3/igt@kms_psr2...@frontbuffer.html

  * igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109441]) +1 similar 
issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-iclb4/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_vblank@pipe-c-query-busy:
- shard-iclb: [PASS][17] -> [INCOMPLETE][18] ([fdo#107713]) +1 
similar issue
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb4/igt@kms_vbl...@pipe-c-query-busy.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-iclb7/igt@kms_vbl...@pipe-c-query-busy.html

  
 Possible fixes 

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [FAIL][19] ([fdo#104097]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-hsw4/igt@i915_pm_...@i2c.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-hsw1/igt@i915_pm_...@i2c.html

  * igt@i915_pm_rps@waitboost:
- shard-skl:  [FAIL][21] ([fdo#102250]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl9/igt@i915_pm_...@waitboost.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/shard-skl9/igt@i915_pm_...@waitboost.html

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

[Intel-gfx] [PATCH -next] drm/i915/icl: Remove set but not used variable 'src_y'

2019-07-18 Thread YueHaibing
Fixes gcc '-Wunused-but-set-variable' warning:

drivers/gpu/drm/i915/display/intel_sprite.c: In function 
'g4x_sprite_check_scaling':
drivers/gpu/drm/i915/display/intel_sprite.c:1494:13: warning:
 variable 'src_y' set but not used [-Wunused-but-set-variable]

Reported-by: Hulk Robot 
Signed-off-by: YueHaibing 
---
 drivers/gpu/drm/i915/display/intel_sprite.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c 
b/drivers/gpu/drm/i915/display/intel_sprite.c
index 34586f29be60..9c3367491f04 100644
--- a/drivers/gpu/drm/i915/display/intel_sprite.c
+++ b/drivers/gpu/drm/i915/display/intel_sprite.c
@@ -1491,7 +1491,7 @@ g4x_sprite_check_scaling(struct intel_crtc_state 
*crtc_state,
const struct drm_framebuffer *fb = plane_state->base.fb;
const struct drm_rect *src = _state->base.src;
const struct drm_rect *dst = _state->base.dst;
-   int src_x, src_y, src_w, src_h, crtc_w, crtc_h;
+   int src_x, src_w, src_h, crtc_w, crtc_h;
const struct drm_display_mode *adjusted_mode =
_state->base.adjusted_mode;
unsigned int cpp = fb->format->cpp[0];
@@ -1502,7 +1502,6 @@ g4x_sprite_check_scaling(struct intel_crtc_state 
*crtc_state,
crtc_h = drm_rect_height(dst);
 
src_x = src->x1 >> 16;
-   src_y = src->y1 >> 16;
src_w = drm_rect_width(src) >> 16;
src_h = drm_rect_height(src) >> 16;



___
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/dsi: remove set but not used variable 'hfront_porch'

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915/dsi: remove set but not used variable 'hfront_porch'
URL   : https://patchwork.freedesktop.org/series/63922/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6508 -> Patchwork_13697


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@i915_selftest@live_contexts:
- fi-skl-iommu:   [PASS][3] -> [INCOMPLETE][4] ([fdo#111050])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-skl-iommu/igt@i915_selftest@live_contexts.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13697/fi-skl-iommu/igt@i915_selftest@live_contexts.html

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

  * igt@prime_vgem@basic-fence-flip:
- fi-ilk-650: [PASS][7] -> [DMESG-WARN][8] ([fdo#106387]) +1 
similar issue
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-ilk-650/igt@prime_v...@basic-fence-flip.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13697/fi-ilk-650/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * {igt@gem_ctx_switch@rcs0}:
- fi-icl-guc: [INCOMPLETE][9] ([fdo#107713]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-icl-guc/igt@gem_ctx_swi...@rcs0.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13697/fi-icl-guc/igt@gem_ctx_swi...@rcs0.html

  * igt@gem_exec_reloc@basic-write-cpu-noreloc:
- fi-icl-u3:  [DMESG-WARN][11] ([fdo#107724]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6508/fi-icl-u3/igt@gem_exec_re...@basic-write-cpu-noreloc.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13697/fi-icl-u3/igt@gem_exec_re...@basic-write-cpu-noreloc.html

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

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

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

  [fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#111050]: https://bugs.freedesktop.org/show_bug.cgi?id=111050


Participating hosts (52 -> 47)
--

  Additional (1): fi-icl-dsi 
  Missing(6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-icl-y 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6508 -> Patchwork_13697

  CI_DRM_6508: 9b39702210b8ac35297570f29f496517f3dea062 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13697: e8b2113f517738d7db73b516f1879c04780289a4 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e8b2113f5177 drm/i915/dsi: remove set but not used variable 'hfront_porch'

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13697/
___
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/1] drm/vblank: drop use of DRM_WAIT_ON()

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/1] drm/vblank: drop use of DRM_WAIT_ON()
URL   : https://patchwork.freedesktop.org/series/63913/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6507_full -> Patchwork_13694_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_hangcheck:
- shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#108569])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb5/igt@i915_selftest@live_hangcheck.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-iclb6/igt@i915_selftest@live_hangcheck.html

  * igt@kms_fbcon_fbt@fbc-suspend:
- shard-skl:  [PASS][3] -> [FAIL][4] ([fdo#103833])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl8/igt@kms_fbcon_...@fbc-suspend.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-skl9/igt@kms_fbcon_...@fbc-suspend.html

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

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt:
- shard-skl:  [PASS][7] -> [FAIL][8] ([fdo#108040])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl8/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-shrfb-draw-blt.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-skl9/igt@kms_frontbuffer_track...@fbc-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl:  [PASS][9] -> [DMESG-WARN][10] ([fdo#108566]) +1 
similar issue
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-kbl7/igt@kms_frontbuffer_track...@fbc-suspend.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-kbl6/igt@kms_frontbuffer_track...@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt:
- shard-skl:  [PASS][11] -> [FAIL][12] ([fdo#103167]) +2 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl8/igt@kms_frontbuffer_track...@psr-1p-primscrn-pri-shrfb-draw-blt.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-skl9/igt@kms_frontbuffer_track...@psr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl:  [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +1 
similar issue
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-apl4/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-apl6/igt@kms_pl...@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
- shard-skl:  [PASS][15] -> [FAIL][16] ([fdo#108145])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-skl8/igt@kms_plane_alpha_bl...@pipe-a-coverage-7efc.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-skl9/igt@kms_plane_alpha_bl...@pipe-a-coverage-7efc.html

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

  * igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109642] / [fdo#111068])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb2/igt@kms_psr2...@frontbuffer.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-iclb4/igt@kms_psr2...@frontbuffer.html

  * igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/shard-iclb5/igt@kms_psr@psr2_primary_page_flip.html

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

[Intel-gfx] [PATCH -next] drm/i915/dsi: remove set but not used variable 'hfront_porch'

2019-07-18 Thread YueHaibing
Fixes gcc '-Wunused-but-set-variable' warning:

drivers/gpu/drm/i915/display/icl_dsi.c: In function 
'gen11_dsi_set_transcoder_timings':
drivers/gpu/drm/i915/display/icl_dsi.c:768:6: warning:
 variable 'hfront_porch' set but not used [-Wunused-but-set-variable]

It is never used and can be removed.

Reported-by: Hulk Robot 
Signed-off-by: YueHaibing 
---
 drivers/gpu/drm/i915/display/icl_dsi.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c 
b/drivers/gpu/drm/i915/display/icl_dsi.c
index 4d952accfaaa..a42348be0438 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -763,7 +763,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder 
*encoder,
enum transcoder dsi_trans;
/* horizontal timings */
u16 htotal, hactive, hsync_start, hsync_end, hsync_size;
-   u16 hfront_porch, hback_porch;
+   u16 hback_porch;
/* vertical timings */
u16 vtotal, vactive, vsync_start, vsync_end, vsync_shift;
 
@@ -772,8 +772,6 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder 
*encoder,
hsync_start = adjusted_mode->crtc_hsync_start;
hsync_end = adjusted_mode->crtc_hsync_end;
hsync_size  = hsync_end - hsync_start;
-   hfront_porch = (adjusted_mode->crtc_hsync_start -
-   adjusted_mode->crtc_hdisplay);
hback_porch = (adjusted_mode->crtc_htotal -
   adjusted_mode->crtc_hsync_end);
vactive = adjusted_mode->crtc_vdisplay;



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

Re: [Intel-gfx] [PATCH v1 10/11] drm/mediatek: direct include of drm.h in mtk_drm_gem.c

2019-07-18 Thread CK Hu
Hi, Sam:

You could apply this patch into drm-misc-next by yourself, thanks.

Regards,
CK

On Fri, 2019-07-19 at 09:30 +0800, CK Hu wrote:
> On Thu, 2019-07-18 at 18:15 +0200, Sam Ravnborg wrote:
> > Do not rely on including drm.h from drm_file.h,
> > as the include in drm_file.h will be dropped.
> > 
> 
> Acked-by: CK Hu 
> 
> > Signed-off-by: Sam Ravnborg 
> > Cc: CK Hu 
> > Cc: Philipp Zabel 
> > Cc: Matthias Brugger 
> > Cc: linux-arm-ker...@lists.infradead.org
> > Cc: linux-media...@lists.infradead.org
> > ---
> >  drivers/gpu/drm/mediatek/mtk_drm_gem.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c 
> > b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> > index 9434f88c6341..ca672f1d140d 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> > @@ -5,6 +5,7 @@
> >  
> >  #include 
> >  
> > +#include 
> >  #include 
> >  #include 
> >  #include 
> 


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

Re: [Intel-gfx] [PATCH v1 10/11] drm/mediatek: direct include of drm.h in mtk_drm_gem.c

2019-07-18 Thread CK Hu
On Thu, 2019-07-18 at 18:15 +0200, Sam Ravnborg wrote:
> Do not rely on including drm.h from drm_file.h,
> as the include in drm_file.h will be dropped.
> 

Acked-by: CK Hu 

> Signed-off-by: Sam Ravnborg 
> Cc: CK Hu 
> Cc: Philipp Zabel 
> Cc: Matthias Brugger 
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-media...@lists.infradead.org
> ---
>  drivers/gpu/drm/mediatek/mtk_drm_gem.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c 
> b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> index 9434f88c6341..ca672f1d140d 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> @@ -5,6 +5,7 @@
>  
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  #include 


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

Re: [Intel-gfx] [igt-dev] [PATCH V6 i-g-t 2/6] kms_writeback: Add initial writeback tests

2019-07-18 Thread Rodrigo Siqueira
On Thu, Jul 18, 2019 at 8:15 AM liviu.du...@arm.com  wrote:
>
> On Thu, Jul 18, 2019 at 09:56:39AM +, Ser, Simon wrote:
> > On Thu, 2019-07-18 at 10:49 +0100, liviu.du...@arm.com wrote:
> > > On Wed, Jul 17, 2019 at 11:46:39AM +, Ser, Simon wrote:
> > > > Thanks for the clarification!
> > > >
> > > > On Tue, 2019-07-16 at 16:22 +0100, liviu.du...@arm.com wrote:
> > > > > > > > +static void invalid_out_fence(igt_output_t *output, igt_fb_t 
> > > > > > > > *valid_fb, igt_fb_t *invalid_fb)
> > > > > > > > +{
> > > > > > > > + int i, ret;
> > > > > > > > + int32_t out_fence;
> > > > > > > > + struct {
> > > > > > > > + uint32_t fb_id;
> > > > > > > > + bool ptr_valid;
> > > > > > > > + int32_t *out_fence_ptr;
> > > > > > > > + } invalid_tests[] = {
> > > > > > > > + {
> > > > > > > > + /* No output buffer, but the 
> > > > > > > > WRITEBACK_OUT_FENCE_PTR set. */
> > > > > > > > + .fb_id = 0,
> > > > > > > > + .ptr_valid = true,
> > > > > > > > + .out_fence_ptr = _fence,
> > > > > > > > + },
> > > > > > > > + {
> > > > > > > > + /* Invalid output buffer. */
> > > > > > > > + .fb_id = invalid_fb->fb_id,
> > > > > > > > + .ptr_valid = true,
> > > > > > > > + .out_fence_ptr = _fence,
> > > > > > > > + },
> > > > > > >
> > > > > > > This doesn't belong in this function (invalid_out_fence), since 
> > > > > > > this
> > > > > > > checks an invalid framebuffer, not an invalid fence. We should 
> > > > > > > probably
> > > > > > > move it to writeback_fb_id (and rename that function to test_fb?).
> > > > >
> > > > > It tries to test that you can't trick the driver to do any work on a 
> > > > > fence if
> > > > > the framebuffer is invalid, so the set of tests tries: no fb with 
> > > > > valid fence,
> > > > > invalid fb with valid fence, valid fb but invalid fence and assumes 
> > > > > that no
> > > > > fb with invalid fence is a NOP anyway.
> > > >
> > > > Yeah, that makes sense, it's just confusing to put it in a function
> > > > named invalid_out_fence. Here the out fence is valid, but the output
> > > > buffer isn't, so it should probably be moved away (or this function
> > > > should be renamed).
> > >
> > > Don't want to offend or anything, but this does sound like bikeshedding. 
> > > You
> > > have a couple of parameters that you want to have a test for because they 
> > > are
> > > linked together (output framebuffer and fence) and you go through the
> > > combination of possible bad options in the test. Not sure what name we 
> > > can use
> > > for the function, other than maybe 'test_invalid_parameters'? Given that 
> > > 2/3
> > > tests an invalid out fence, the name was thought to be relevant.
> > >
> > > Having invalid out buffer test separate into its own test brings no 
> > > benefits, IMHO.
> >
> > Well, the issue is that I've been confused when reviewing the patch
> > series. I had trouble understanding what the test does and why. I also
> > had trouble to identify that do_writeback_test never submits a
> > writeback operation (see other e-mail).
> >
> > A name that is relevant "all the time, most of the time", is not
> > relevant at all in my opinion. It just tricks the reader into thinking
> > the test does one thing, while it also does something else.
> >
> > If it would be obvious, I wouldn't mind. But here IMHO it hurts
> > readability. So I'd prefer to rename the function.
>
> I take your comments as a valid point.
>
> Does "test_invalid_parameters" sound like a good name for the function? Is so,
> Rodrigo, can you please use that name in the next revision of the patch?

Sure, I'll do that.

Thanks

> >
> > If you think it's obvious, then maybe it's just me. I'd love to hear
> > from others if they have a different opinion.
> >
> > (As a side note, I agree I have a tendency to bikeshed, I try to mark
> > my bikesheddings behind "nit:" flags.)
>
> I've only said "it sounded like" :)
>
> Best regards,
> Liviu
>
> >
> > > Best regards,
> > > Liviu
> > >
> > > > > > > > + {
> > > > > > > > + /* Invalid WRITEBACK_OUT_FENCE_PTR. */
> > > > > > > > + .fb_id = valid_fb->fb_id,
> > > > > > > > + .ptr_valid = false,
> > > > > > > > + .out_fence_ptr = (int32_t *)0x8,
> > > > > > > > + },
> > > > > > > > + };
> > > > > > > > +
> > > > > > > > + for (i = 0; i < ARRAY_SIZE(invalid_tests); i++) {
> > > > > > > > + ret = do_writeback_test(output, 
> > > > > > > > DRM_MODE_ATOMIC_ALLOW_MODESET,
> > > > > > > > + invalid_tests[i].fb_id,
> > > > > > > > + 
> > > > > > > > invalid_tests[i].out_fence_ptr,
> > > > > > > > + invalid_tests[i].ptr_valid);
> > > > > > > > + igt_assert(ret != 0);
> > > > > > >
> > > > > > > Maybe we can 

Re: [Intel-gfx] [PATCH] drm/i915/vbt: Fix VBT parsing for the PSR section

2019-07-18 Thread Sasha Levin
Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: 88a0d9606aff drm/i915/vbt: Parse and use the new field with PSR2 
TP2/3 wakeup time.

The bot has tested the following trees: v5.2.1.

v5.2.1: Failed to apply! Possible dependencies:
231dcffc234f ("drm/i915/bios: add BDB block comments before definitions")
843444ed1301 ("drm/i915/bios: sort BDB block definitions using block ID")
f87f6599c843 ("drm/i915/bios: reserve struct bdb_ prefix for BDB blocks")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

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

Re: [Intel-gfx] [PATCH 2/4] drm/i915: Use maximum write flush for pwrite_gtt

2019-07-18 Thread Sasha Levin
Hi,

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all

The bot has tested the following trees: v5.2.1, v5.1.18, v4.19.59, v4.14.133, 
v4.9.185, v4.4.185.

v5.2.1: Failed to apply! Possible dependencies:
09407579abf5 ("drm/i915: Store the default sseu setup on the engine")
10be98a77c55 ("drm/i915: Move more GEM objects under gem/")
112ed2d31a46 ("drm/i915: Move GraphicsTechnology files under gt/")
5e5d2e209e08 ("drm/i915: Split GEM object type definition to its own 
header")
6951e5893b48 ("drm/i915: Move GEM object domain management from 
struct_mutex to local")
98932149aeb9 ("drm/i915: Move object->pages API to i915_gem_object.[ch]")

v5.1.18: Failed to apply! Possible dependencies:
10be98a77c55 ("drm/i915: Move more GEM objects under gem/")
112ed2d31a46 ("drm/i915: Move GraphicsTechnology files under gt/")
13f1bfd3b332 ("drm/i915: Make object/vma allocation caches global")
2caffbf11762 ("drm/i915: Revoke mmaps and prevent access to fence registers 
across reset")
32eb6bcfdda9 ("drm/i915: Make request allocation caches global")
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
5e5d2e209e08 ("drm/i915: Split GEM object type definition to its own 
header")
6951e5893b48 ("drm/i915: Move GEM object domain management from 
struct_mutex to local")
7ae1940014ef ("drm/i915: Defer removing fence register tracking to rpm 
wakeup")
7e3d9a59410d ("drm/i915: Track active engines within a context")
7f4127c4839b ("drm/i915: Use time based guilty context banning")
98932149aeb9 ("drm/i915: Move object->pages API to i915_gem_object.[ch]")
ba4fda620a5f ("drm/i915: Optionally disable automatic recovery after a GPU 
reset")
c2400ec3b6d1 ("drm/i915: add Makefile magic for testing headers are 
self-contained")

v4.19.59: Failed to apply! Possible dependencies:
0e39037b3165 ("drm/i915: Cache the error string")
10be98a77c55 ("drm/i915: Move more GEM objects under gem/")
112ed2d31a46 ("drm/i915: Move GraphicsTechnology files under gt/")
16e4dd0342a8 ("drm/i915: Markup paired operations on wakerefs")
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
52c0fdb25c7c ("drm/i915: Replace global breadcrumbs with per-context 
interrupt tracking")
538ef96b9dae ("drm/i915/gem: Track the rpm wakerefs")
5e5d2e209e08 ("drm/i915: Split GEM object type definition to its own 
header")
6951e5893b48 ("drm/i915: Move GEM object domain management from 
struct_mutex to local")
6b048706f407 ("drm/i915: Forcibly flush unwanted requests in drop-caches")
87f1ef225242 ("drm/i915: Record the sseu configuration per-context & 
engine")
95fd94a645f7 ("drm/i915: avoid rebuilding i915_gpu_error.o on version 
string updates")
98932149aeb9 ("drm/i915: Move object->pages API to i915_gem_object.[ch]")
c0a6aa7ec2c3 ("drm/i915: Show actual alongside requested frequency in 
debugfs/i915_rps_boost_info")
c2400ec3b6d1 ("drm/i915: add Makefile magic for testing headers are 
self-contained")
c44301fce614 ("drm/i915: Allow control of PSR at runtime through debugfs, 
v6")
cab870b7fdf3 ("drm/i915/ilk: Fix warning when reading emon_status with no 
output")
e6154e4cb8b0 ("drm/i915: Skip the ERR_PTR error state")
eb8d0f5af4ec ("drm/i915: Remove GPU reset dependence on struct_mutex")
fb6f0b64e455 ("drm/i915: Prevent machine hang from Broxton's vtd w/a and 
error capture")

v4.14.133: Failed to apply! Possible dependencies:
3bd4073524fa ("drm/i915: Consolidate get_fence with pin_fence")
465c403cb508 ("drm/i915: introduce simple gemfs")
66df1014efba ("drm/i915: Keep a small stash of preallocated WC pages")
7393b7ee3a9c ("drm/i915/debugfs: include some gtt page size metrics")
73ebd503034c ("drm/i915: make mappable struct resource centric")
7789422665f5 ("drm/i915: make dsm struct resource centric")
82ad6443a55e ("drm/i915/gtt: Rename i915_hw_ppgtt base member")
969b0950a188 ("drm/i915: Add interface to reserve fence registers for vGPU")
a65adaf8a834 ("drm/i915: Track user GTT faulting per-vma")
b1ace60107e6 ("drm/i915: give stolen_usable_size a more suitable home")
b7128ef125b4 ("drm/i915: prefer resource_size_t for everything stolen")
da1dd0dbe024 ("drm/i915: Make the report about a bogus stolen reserved area 
an error")
db7fb60593e4 ("drm/i915: Check if the stolen memory "reserved" area is 
enabled or not")
e91ef99b9543 ("drm/i915/selftests: Remember to create the fake preempt 
context")
f773568b6ff8 ("drm/i915: nuke the duplicated stolen discovery")

v4.9.185: Failed to apply! Possible dependencies:
0e70447605f4 ("drm/i915: Move common code out of i915_gpu_error.c")
1b36595ffb35 ("drm/i915: Show RING registers through debugfs")
28a60dee2ce6 ("drm/i915/gvt: vGPU HW 

Re: [Intel-gfx] [PATCH] drm/i915: Flush extra hard after writing relocations through the GTT

2019-07-18 Thread Sasha Levin
Hi,

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all

The bot has tested the following trees: v5.2.1, v5.1.18, v4.19.59, v4.14.133, 
v4.9.185, v4.4.185.

v5.2.1: Failed to apply! Possible dependencies:
Unable to calculate

v5.1.18: Failed to apply! Possible dependencies:
Unable to calculate

v4.19.59: Failed to apply! Possible dependencies:
Unable to calculate

v4.14.133: Failed to apply! Possible dependencies:
3bd4073524fa ("drm/i915: Consolidate get_fence with pin_fence")
465c403cb508 ("drm/i915: introduce simple gemfs")
66df1014efba ("drm/i915: Keep a small stash of preallocated WC pages")
7393b7ee3a9c ("drm/i915/debugfs: include some gtt page size metrics")
73ebd503034c ("drm/i915: make mappable struct resource centric")
7789422665f5 ("drm/i915: make dsm struct resource centric")
82ad6443a55e ("drm/i915/gtt: Rename i915_hw_ppgtt base member")
969b0950a188 ("drm/i915: Add interface to reserve fence registers for vGPU")
a65adaf8a834 ("drm/i915: Track user GTT faulting per-vma")
b1ace60107e6 ("drm/i915: give stolen_usable_size a more suitable home")
b7128ef125b4 ("drm/i915: prefer resource_size_t for everything stolen")
da1dd0dbe024 ("drm/i915: Make the report about a bogus stolen reserved area 
an error")
db7fb60593e4 ("drm/i915: Check if the stolen memory "reserved" area is 
enabled or not")
e91ef99b9543 ("drm/i915/selftests: Remember to create the fake preempt 
context")
f773568b6ff8 ("drm/i915: nuke the duplicated stolen discovery")

v4.9.185: Failed to apply! Possible dependencies:
04d348ae3f0a ("drm/i915/gvt: vGPU display virtualization")
12d14cc43b34 ("drm/i915/gvt: Introduce a framework for tracking HW 
registers.")
28a60dee2ce6 ("drm/i915/gvt: vGPU HW resource management")
3f728236c516 ("drm/i915/gvt: trace stub")
4c7d62c6b8a2 ("drm/i915: Markup GEM API with lockdep asserts")
4d60c5fd3f87 ("drm/i915/gvt: vGPU PCI configuration space virtualization")
579cea5f30f2 ("drm/i915/gvt: golden virtual HW state management")
650bc63568e4 ("drm/i915: Amalgamate execbuffer parameter structures")
718659a63054 ("drm/i915: Rename some warts in the VMA API")
82d375d1b568 ("drm/i915/gvt: Introduce basic vGPU life cycle management")
8453d674ae7e ("drm/i915/gvt: vGPU execlist virtualization")
c8fe6a6811a7 ("drm/i915/gvt: vGPU interrupt virtualization.")
e39c5add3221 ("drm/i915/gvt: vGPU MMIO virtualization")
e473405783c0 ("drm/i915/gvt: vGPU workload scheduler")
e95433c73a11 ("drm/i915: Rearrange i915_wait_request() accounting with 
callers")

v4.4.185: Failed to apply! Possible dependencies:
033908aed5a5 ("drm/i915: mark GEM object pages dirty when mapped & written 
by the CPU")
058d88c4330f ("drm/i915: Track pinned VMA")
09cfcb456941 ("drm/i915: Split out load time HW initialization")
0a9d2bed5557 ("drm/i915/skl: Making DC6 entry is the last call in suspend 
flow.")
188c1ab7769d ("drm/i915: Add struct_mutex locking for 
debugs/i915_gem_framebuffer")
1f814daca43a ("drm/i915: add support for checking if we hold an RPM 
reference")
31a39207f04a ("drm/i915: Cache kmap between relocations")
399bb5b6db02 ("drm/i915: Move allocation of various workqueues earlier 
during init")
414b7999b8be ("drm/i915/gen9: Remove csr.state, csr_lock and related code.")
506a8e87d8d2 ("drm/i915: Add soft-pinning API for execbuffer")
62106b4f6b91 ("drm/i915: Rename dev_priv->gtt to dev_priv->ggtt")
72e96d6450c0 ("drm/i915: Refer to GGTT {,VM} consistently")
73dfc227ff5c ("drm/i915/skl: init/uninit display core as part of the HW 
power domain state")
8da32727ac0e ("drm/i915: Remove i915_gem_obj_size")
934acce3c069 ("drm/i915: Avoid writing relocs with addresses in 
non-canonical form")
9e2793f6e4e2 ("drm/i915: compile-time consistency check on __EXEC_OBJECT 
flags")
ad5c3d3ffbb2 ("drm/i915: Move MCHBAR setup earlier during init")
bc87229f323e ("drm/i915/skl: enable PC9/10 power states during 
suspend-to-idle")
be12a86b46e8 ("drm/i915: Show pin mapped status in describe_obj")
d50415cc6c83 ("drm/i915: Refactor execbuffer relocation writing")
f514c2d84285 ("drm/i915/gen9: flush DMC fw loading work during system 
suspend")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

--
Thanks,
Sasha
___
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/dp/dsc: Add Support for all BPCs supported by TGL (rev3)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/dp/dsc: Add Support for all BPCs supported by TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/63526/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6506_full -> Patchwork_13693_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@bcs0-s3:
- shard-kbl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-kbl2/igt@gem_ctx_isolat...@bcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-kbl6/igt@gem_ctx_isolat...@bcs0-s3.html

  * igt@gem_ctx_isolation@rcs0-s3:
- shard-apl:  [PASS][3] -> [DMESG-WARN][4] ([fdo#108566]) +1 
similar issue
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-apl7/igt@gem_ctx_isolat...@rcs0-s3.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-apl1/igt@gem_ctx_isolat...@rcs0-s3.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [PASS][5] -> [FAIL][6] ([fdo#104097])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-hsw6/igt@i915_pm_...@i2c.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-hsw1/igt@i915_pm_...@i2c.html

  * igt@kms_cursor_edge_walk@pipe-a-128x128-bottom-edge:
- shard-snb:  [PASS][7] -> [SKIP][8] ([fdo#109271] / [fdo#109278])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-snb5/igt@kms_cursor_edge_w...@pipe-a-128x128-bottom-edge.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-snb4/igt@kms_cursor_edge_w...@pipe-a-128x128-bottom-edge.html

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

  * igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-skl:  [PASS][11] -> [INCOMPLETE][12] ([fdo#104108]) +2 
similar issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-skl8/igt@kms_frontbuffer_track...@fbc-suspend.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-skl9/igt@kms_frontbuffer_track...@fbc-suspend.html

  * igt@kms_psr@no_drrs:
- shard-iclb: [PASS][13] -> [FAIL][14] ([fdo#108341])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-iclb5/igt@kms_psr@no_drrs.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_basic:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109441]) +1 similar 
issue
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-iclb2/igt@kms_psr@psr2_basic.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-iclb8/igt@kms_psr@psr2_basic.html

  * igt@kms_setmode@basic:
- shard-skl:  [PASS][17] -> [FAIL][18] ([fdo#99912])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-skl7/igt@kms_setm...@basic.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-skl6/igt@kms_setm...@basic.html

  
 Possible fixes 

  * igt@gem_exec_flush@basic-wb-rw-default:
- shard-iclb: [INCOMPLETE][19] ([fdo#107713]) -> [PASS][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-iclb7/igt@gem_exec_fl...@basic-wb-rw-default.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-iclb5/igt@gem_exec_fl...@basic-wb-rw-default.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-snoop:
- shard-iclb: [INCOMPLETE][21] ([fdo#107713] / [fdo#109100]) -> 
[PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-iclb1/igt@gem_partial_pwrite_pr...@writes-after-reads-snoop.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-iclb2/igt@gem_partial_pwrite_pr...@writes-after-reads-snoop.html

  * igt@gem_tiled_swapping@non-threaded:
- shard-glk:  [DMESG-WARN][23] ([fdo#108686]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/shard-glk6/igt@gem_tiled_swapp...@non-threaded.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/shard-glk7/igt@gem_tiled_swapp...@non-threaded.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl:  [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +3 
similar issues
   [25]: 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY (rev5)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: We don't need display's suspend/resume operations when 
!HAS_DISPLAY (rev5)
URL   : https://patchwork.freedesktop.org/series/60839/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6507 -> Patchwork_13696


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@i915_selftest@live_contexts:
- fi-skl-iommu:   [PASS][3] -> [INCOMPLETE][4] ([fdo#111050])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-skl-iommu/igt@i915_selftest@live_contexts.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/fi-skl-iommu/igt@i915_selftest@live_contexts.html

  * igt@kms_busy@basic-flip-c:
- fi-kbl-7500u:   [PASS][5] -> [SKIP][6] ([fdo#109271] / [fdo#109278]) 
+2 similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/fi-kbl-7500u/igt@kms_b...@basic-flip-c.html

  * igt@kms_chamelium@dp-hpd-fast:
- fi-kbl-7500u:   [PASS][7] -> [DMESG-WARN][8] ([fdo#103558] / 
[fdo#105602])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-kbl-7500u/igt@kms_chamel...@dp-hpd-fast.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/fi-kbl-7500u/igt@kms_chamel...@dp-hpd-fast.html

  
 Possible fixes 

  * igt@kms_chamelium@dp-edid-read:
- fi-kbl-7500u:   [WARN][9] ([fdo#109483]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html

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

  * igt@kms_frontbuffer_tracking@basic:
- {fi-icl-u4}:[FAIL][13] ([fdo#103167]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-icl-u4/igt@kms_frontbuffer_track...@basic.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13696/fi-icl-u4/igt@kms_frontbuffer_track...@basic.html

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#111050]: https://bugs.freedesktop.org/show_bug.cgi?id=111050


Participating hosts (53 -> 45)
--

  Additional (1): fi-bsw-n3050 
  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 
fi-byt-clapper fi-icl-u3 fi-icl-y fi-icl-dsi fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6507 -> Patchwork_13696

  CI_DRM_6507: a607eef7a42e6788090f1ff4de30ed821ad87ad9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13696: 95a35650cf1f2f54d2bb507c8c541d4f1ffb3c8d @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

95a35650cf1f drm/i915: We don't need display's suspend/resume operations when 
!HAS_DISPLAY

== Logs ==

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

Re: [Intel-gfx] [PATCH] drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY

2019-07-18 Thread Rodrigo Vivi
On Thu, Jul 18, 2019 at 10:25:51PM +0100, Chris Wilson wrote:
> Quoting Rodrigo Vivi (2019-07-18 22:14:45)
> > On Thu, Jul 18, 2019 at 09:58:16PM +0100, Chris Wilson wrote:
> > > Quoting Rodrigo Vivi (2019-07-18 21:49:12)
> > > > +void intel_display_power_resume_early(struct drm_i915_private *i915)
> > > > +{
> > > > +   if (!HAS_DISPLAY(i915))
> > > > +   return;
> > > > +
> > > > +   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915)) {
> > > > +   gen9_sanitize_dc_state(i915);
> > > 
> > > Are you sure that whatever state you are resuming from agrees with your
> > > notion of !display? The sanitize routines are supposed to be about
> > > cleaning up after third parties who don't play by the same rules.
> > 
> > I don't expect any function setting any kind of dc states when we don't
> > have display. Besides the path that sets DC_STATE_EN is and neeeds to
> > be sanitized is also covered by this patch and this shouldn't happen.
> > 
> > Or am I missing something else?
> 
> It's not about us, it's about whatever else runs in between. And
> remember !HAS_DISPLAY() is also a user setting, not merely a reflection
> of probed hw.

ouch, we need to get rid of those runtime writes to info struct :/

I wonder if it worth to add a intel_display_sanitize to be called
when toggling info-num_pipes to 0 along with that DRM_ERROR...

or just call it before !HAS_DISPLAY with a XXX comment...

other ideas?

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

Re: [Intel-gfx] [PATCH] drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY

2019-07-18 Thread Chris Wilson
Quoting Rodrigo Vivi (2019-07-18 22:14:45)
> On Thu, Jul 18, 2019 at 09:58:16PM +0100, Chris Wilson wrote:
> > Quoting Rodrigo Vivi (2019-07-18 21:49:12)
> > > +void intel_display_power_resume_early(struct drm_i915_private *i915)
> > > +{
> > > +   if (!HAS_DISPLAY(i915))
> > > +   return;
> > > +
> > > +   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915)) {
> > > +   gen9_sanitize_dc_state(i915);
> > 
> > Are you sure that whatever state you are resuming from agrees with your
> > notion of !display? The sanitize routines are supposed to be about
> > cleaning up after third parties who don't play by the same rules.
> 
> I don't expect any function setting any kind of dc states when we don't
> have display. Besides the path that sets DC_STATE_EN is and neeeds to
> be sanitized is also covered by this patch and this shouldn't happen.
> 
> Or am I missing something else?

It's not about us, it's about whatever else runs in between. And
remember !HAS_DISPLAY() is also a user setting, not merely a reflection
of probed hw.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY (rev5)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: We don't need display's suspend/resume operations when 
!HAS_DISPLAY (rev5)
URL   : https://patchwork.freedesktop.org/series/60839/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: We don't need display's suspend/resume operations when 
!HAS_DISPLAY
+drivers/gpu/drm/i915/display/intel_display_power.c:4440:6: warning: symbol 
'hsw_enable_pc8' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:4456:6: warning: symbol 
'hsw_disable_pc8' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:4556:6: warning: symbol 
'bxt_display_core_init' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:4588:6: warning: symbol 
'bxt_display_core_uninit' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:4679:6: warning: symbol 
'icl_display_core_init' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:4715:6: warning: symbol 
'icl_display_core_uninit' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:726:6: warning: symbol 
'gen9_sanitize_dc_state' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:786:6: warning: symbol 
'bxt_enable_dc9' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:801:6: warning: symbol 
'bxt_disable_dc9' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:855:6: warning: symbol 
'gen9_enable_dc5' was not declared. Should it be static?
+drivers/gpu/drm/i915/display/intel_display_power.c:879:6: warning: symbol 
'skl_enable_dc6' was not declared. Should it be static?

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

Re: [Intel-gfx] [PATCH] drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY

2019-07-18 Thread Rodrigo Vivi
On Thu, Jul 18, 2019 at 09:58:16PM +0100, Chris Wilson wrote:
> Quoting Rodrigo Vivi (2019-07-18 21:49:12)
> > +void intel_display_power_resume_early(struct drm_i915_private *i915)
> > +{
> > +   if (!HAS_DISPLAY(i915))
> > +   return;
> > +
> > +   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915)) {
> > +   gen9_sanitize_dc_state(i915);
> 
> Are you sure that whatever state you are resuming from agrees with your
> notion of !display? The sanitize routines are supposed to be about
> cleaning up after third parties who don't play by the same rules.

I don't expect any function setting any kind of dc states when we don't
have display. Besides the path that sets DC_STATE_EN is and neeeds to
be sanitized is also covered by this patch and this shouldn't happen.

Or am I missing something else?

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

Re: [Intel-gfx] [PATCH 03/22] drm/i915/tgl: update ddi/tc clock_off bits

2019-07-18 Thread Atwood, Matthew S
On Fri, 2019-07-12 at 18:09 -0700, Lucas De Marchi wrote:
> From: Mahesh Kumar 
> 
> In GEN 12 PORT_C DDI clk_off bit is not equally distanced to A/B,
> it's at offset 24. Similarly TC port (5/6) clk off bits are at
> offset 22/23. Extend the macros to cover the additional ports.
> 
Reviewed-by: Matt Atwood 
> Cc: Matt Roper 
> Signed-off-by: Mahesh Kumar 
> Signed-off-by: Lucas De Marchi 
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h
> b/drivers/gpu/drm/i915/i915_reg.h
> index def71fd2e4d1..d873d9fbbf0e 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -9749,8 +9749,9 @@ enum skl_power_gate {
>  
>  #define ICL_DPCLKA_CFGCR0_MMIO(0x164280)
>  #define  ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)  (1 << _PICK(phy, 10,
> 11, 24))
> -#define  ICL_DPCLKA_CFGCR0_TC_CLK_OFF(tc_port) (1 << ((tc_port) ==
> PORT_TC4 ? \
> -   21 : (tc_port) +
> 12))
> +#define  ICL_DPCLKA_CFGCR0_TC_CLK_OFF(tc_port)   (1 <<
> ((tc_port) < PORT_TC4 ? \
> +(tc_port) + 12 :
> \
> +(tc_port) -
> PORT_TC4 + 21))
>  #define  ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy)((phy) * 2)
>  #define  ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy) (3 <<
> ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
>  #define  ICL_DPCLKA_CFGCR0_DDI_CLK_SEL(pll, phy) ((pll) <<
> ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY

2019-07-18 Thread Chris Wilson
Quoting Rodrigo Vivi (2019-07-18 21:49:12)
> +void intel_display_power_resume_early(struct drm_i915_private *i915)
> +{
> +   if (!HAS_DISPLAY(i915))
> +   return;
> +
> +   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915)) {
> +   gen9_sanitize_dc_state(i915);

Are you sure that whatever state you are resuming from agrees with your
notion of !display? The sanitize routines are supposed to be about
cleaning up after third parties who don't play by the same rules.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] drm/i915/vbt: Fix VBT parsing for the PSR section

2019-07-18 Thread François Guerraz
Tested-by: François Guerraz 

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

Re: [Intel-gfx] [PATCH] vt: Grab console_lock around con_is_bound in show_bind

2019-07-18 Thread Jens Remus

Am 18.07.2019 um 10:09 schrieb Daniel Vetter:

Not really harmful not to, but also not harm in grabbing the lock. And
this shuts up a new WARNING I introduced in commit ddde3c18b700 ("vt:
More locking checks").

Reported-by: Jens Remus 
Cc: linux-ker...@vger.kernel.org
Cc: dri-de...@lists.freedesktop.org
Cc: linux-fb...@vger.kernel.org
Cc: linux-s...@vger.kernel.org
Cc: Greg Kroah-Hartman 
Cc: Nicolas Pitre 
Cc: Martin Hostettler 
Cc: Adam Borowski 
Cc: Mikulas Patocka 
Signed-off-by: Daniel Vetter 
Cc: Daniel Vetter 
Cc: Sam Ravnborg 
---
  drivers/tty/vt/vt.c | 6 +-
  1 file changed, 5 insertions(+), 1 deletion(-)


Thank you for the quick fix! Looks fine to me. Did test with cat as well 
as our dump2tar utility. The warning is gone.


Tested-by: Jens Remus 

Regards,
Jens Remus
--
Linux on Z and z/VSE Development & Service (D3229)
IBM Systems & Technology Group, Pure Systems & Modular Software Development

IBM Data Privacy Statement: https://www.ibm.com/privacy/us/en/

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Matthias Hartmann
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

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

Re: [Intel-gfx] drm/i915/vbt: Fix VBT parsing for the PSR section

2019-07-18 Thread François Guerraz
Tested-by: François Guerraz 

On Dell XPS 9350

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

[Intel-gfx] [PATCH] drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY

2019-07-18 Thread Rodrigo Vivi
Suspend resume is broken if we try to enable/disable dc9 on
cases with disabled displays.

v2: Make checkpatch happy:
- braces {} are not necessary for single statement blocks
v3: Also move hsw/bdw PC8 sequences since they are related to
display PM anyways. (Ville)
v4: Rebase after a long time, plus Move functions to the new
intel_display_power so we can stop exporting platform specific
functions as pointed by Jani.
v5: Remove unnecessary braces.

Cc: Ville Syrjälä 
Cc: José Roberto de Souza 
Cc: Jani Nikula 
Signed-off-by: Rodrigo Vivi 
---
 .../drm/i915/display/intel_display_power.c| 67 +++
 .../drm/i915/display/intel_display_power.h| 17 ++---
 drivers/gpu/drm/i915/i915_drv.c   | 58 
 3 files changed, 84 insertions(+), 58 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index 93a148684c53..530b119a3a3b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -5189,3 +5189,70 @@ static void intel_power_domains_verify_state(struct 
drm_i915_private *i915)
 }
 
 #endif
+
+void intel_display_power_suspend_late(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915))
+   bxt_enable_dc9(i915);
+   else if (IS_HASWELL(i915) || IS_BROADWELL(i915))
+   hsw_enable_pc8(i915);
+}
+
+void intel_display_power_resume_early(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915)) {
+   gen9_sanitize_dc_state(i915);
+   bxt_disable_dc9(i915);
+   } else if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
+   hsw_disable_pc8(i915);
+   }
+}
+
+void intel_display_power_suspend(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11) {
+   icl_display_core_uninit(i915);
+   bxt_enable_dc9(i915);
+   } else if (IS_GEN9_LP(i915)) {
+   bxt_display_core_uninit(i915);
+   bxt_enable_dc9(i915);
+   } else if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
+   hsw_enable_pc8(i915);
+   }
+}
+
+void intel_display_power_resume(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11) {
+   bxt_disable_dc9(i915);
+   icl_display_core_init(i915, true);
+   if (i915->csr.dmc_payload) {
+   if (i915->csr.allowed_dc_mask &
+   DC_STATE_EN_UPTO_DC6)
+   skl_enable_dc6(i915);
+   else if (i915->csr.allowed_dc_mask &
+DC_STATE_EN_UPTO_DC5)
+   gen9_enable_dc5(i915);
+   }
+   } else if (IS_GEN9_LP(i915)) {
+   bxt_disable_dc9(i915);
+   bxt_display_core_init(i915, true);
+   if (i915->csr.dmc_payload &&
+   (i915->csr.allowed_dc_mask & DC_STATE_EN_UPTO_DC5))
+   gen9_enable_dc5(i915);
+   } else if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
+   hsw_disable_pc8(i915);
+   }
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h 
b/drivers/gpu/drm/i915/display/intel_display_power.h
index e4d2c1ba24b0..97f2562fc5d3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -232,27 +232,20 @@ struct i915_power_domains {
for_each_power_well_reverse(__dev_priv, __power_well)   
\
for_each_if((__power_well)->desc->domains & (__domain_mask))
 
-void skl_enable_dc6(struct drm_i915_private *dev_priv);
-void gen9_sanitize_dc_state(struct drm_i915_private *dev_priv);
-void bxt_enable_dc9(struct drm_i915_private *dev_priv);
-void bxt_disable_dc9(struct drm_i915_private *dev_priv);
-void gen9_enable_dc5(struct drm_i915_private *dev_priv);
-
 int intel_power_domains_init(struct drm_i915_private *dev_priv);
 void intel_power_domains_cleanup(struct drm_i915_private *dev_priv);
 void intel_power_domains_init_hw(struct drm_i915_private *dev_priv, bool 
resume);
 void intel_power_domains_driver_remove(struct drm_i915_private *dev_priv);
-void icl_display_core_init(struct drm_i915_private *dev_priv, bool resume);
-void icl_display_core_uninit(struct drm_i915_private *dev_priv);
 void intel_power_domains_enable(struct drm_i915_private *dev_priv);
 void intel_power_domains_disable(struct drm_i915_private *dev_priv);
 void intel_power_domains_suspend(struct drm_i915_private *dev_priv,
 enum i915_drm_suspend_mode);
 void intel_power_domains_resume(struct 

[Intel-gfx] [PATCH] drm/i915: We don't need display's suspend/resume operations when !HAS_DISPLAY

2019-07-18 Thread Rodrigo Vivi
Suspend resume is broken if we try to enable/disable dc9 on
cases with disabled displays.

v2: Make checkpatch happy:
- braces {} are not necessary for single statement blocks
v3: Also move hsw/bdw PC8 sequences since they are related to
display PM anyways. (Ville)
v4: Rebase after a long time, plus Move functions to the new
intel_display_power so we can stop exporting platform specific
functions as pointed by Jani.

Cc: Ville Syrjälä 
Cc: José Roberto de Souza 
Cc: Jani Nikula 
Signed-off-by: Rodrigo Vivi 
---
 .../drm/i915/display/intel_display_power.c| 67 +++
 .../drm/i915/display/intel_display_power.h| 17 ++---
 drivers/gpu/drm/i915/i915_drv.c   | 56 
 3 files changed, 84 insertions(+), 56 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index 93a148684c53..530b119a3a3b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -5189,3 +5189,70 @@ static void intel_power_domains_verify_state(struct 
drm_i915_private *i915)
 }
 
 #endif
+
+void intel_display_power_suspend_late(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915))
+   bxt_enable_dc9(i915);
+   else if (IS_HASWELL(i915) || IS_BROADWELL(i915))
+   hsw_enable_pc8(i915);
+}
+
+void intel_display_power_resume_early(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11 || IS_GEN9_LP(i915)) {
+   gen9_sanitize_dc_state(i915);
+   bxt_disable_dc9(i915);
+   } else if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
+   hsw_disable_pc8(i915);
+   }
+}
+
+void intel_display_power_suspend(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11) {
+   icl_display_core_uninit(i915);
+   bxt_enable_dc9(i915);
+   } else if (IS_GEN9_LP(i915)) {
+   bxt_display_core_uninit(i915);
+   bxt_enable_dc9(i915);
+   } else if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
+   hsw_enable_pc8(i915);
+   }
+}
+
+void intel_display_power_resume(struct drm_i915_private *i915)
+{
+   if (!HAS_DISPLAY(i915))
+   return;
+
+   if (INTEL_GEN(i915) >= 11) {
+   bxt_disable_dc9(i915);
+   icl_display_core_init(i915, true);
+   if (i915->csr.dmc_payload) {
+   if (i915->csr.allowed_dc_mask &
+   DC_STATE_EN_UPTO_DC6)
+   skl_enable_dc6(i915);
+   else if (i915->csr.allowed_dc_mask &
+DC_STATE_EN_UPTO_DC5)
+   gen9_enable_dc5(i915);
+   }
+   } else if (IS_GEN9_LP(i915)) {
+   bxt_disable_dc9(i915);
+   bxt_display_core_init(i915, true);
+   if (i915->csr.dmc_payload &&
+   (i915->csr.allowed_dc_mask & DC_STATE_EN_UPTO_DC5))
+   gen9_enable_dc5(i915);
+   } else if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
+   hsw_disable_pc8(i915);
+   }
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h 
b/drivers/gpu/drm/i915/display/intel_display_power.h
index e4d2c1ba24b0..97f2562fc5d3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -232,27 +232,20 @@ struct i915_power_domains {
for_each_power_well_reverse(__dev_priv, __power_well)   
\
for_each_if((__power_well)->desc->domains & (__domain_mask))
 
-void skl_enable_dc6(struct drm_i915_private *dev_priv);
-void gen9_sanitize_dc_state(struct drm_i915_private *dev_priv);
-void bxt_enable_dc9(struct drm_i915_private *dev_priv);
-void bxt_disable_dc9(struct drm_i915_private *dev_priv);
-void gen9_enable_dc5(struct drm_i915_private *dev_priv);
-
 int intel_power_domains_init(struct drm_i915_private *dev_priv);
 void intel_power_domains_cleanup(struct drm_i915_private *dev_priv);
 void intel_power_domains_init_hw(struct drm_i915_private *dev_priv, bool 
resume);
 void intel_power_domains_driver_remove(struct drm_i915_private *dev_priv);
-void icl_display_core_init(struct drm_i915_private *dev_priv, bool resume);
-void icl_display_core_uninit(struct drm_i915_private *dev_priv);
 void intel_power_domains_enable(struct drm_i915_private *dev_priv);
 void intel_power_domains_disable(struct drm_i915_private *dev_priv);
 void intel_power_domains_suspend(struct drm_i915_private *dev_priv,
 enum i915_drm_suspend_mode);
 void intel_power_domains_resume(struct drm_i915_private *dev_priv);
-void 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Flush extra hard after writing relocations through the GTT

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: Flush extra hard after writing relocations through the GTT
URL   : https://patchwork.freedesktop.org/series/63914/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6507 -> Patchwork_13695


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_basic@create-close:
- fi-icl-u3:  [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-icl-u3/igt@gem_ba...@create-close.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/fi-icl-u3/igt@gem_ba...@create-close.html

  
 Possible fixes 

  * igt@i915_pm_rpm@module-reload:
- fi-icl-dsi: [INCOMPLETE][3] ([fdo#107713] / [fdo#108840]) -> 
[PASS][4]
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-icl-dsi/igt@i915_pm_...@module-reload.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/fi-icl-dsi/igt@i915_pm_...@module-reload.html

  * igt@kms_chamelium@dp-edid-read:
- fi-kbl-7500u:   [WARN][5] ([fdo#109483]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html

  * igt@kms_frontbuffer_tracking@basic:
- {fi-icl-u4}:[FAIL][7] ([fdo#103167]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-icl-u4/igt@kms_frontbuffer_track...@basic.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13695/fi-icl-u4/igt@kms_frontbuffer_track...@basic.html

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

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


Participating hosts (53 -> 47)
--

  Additional (1): fi-bsw-n3050 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-icl-y 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6507 -> Patchwork_13695

  CI_DRM_6507: a607eef7a42e6788090f1ff4de30ed821ad87ad9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13695: de07dfecc2ae9935216c545ff0a480130a730a7c @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

de07dfecc2ae drm/i915: Flush extra hard after writing relocations through the 
GTT

== Logs ==

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

Re: [Intel-gfx] [PATCH 01/22] drm/i915/tgl: skip setting PORT_CL_DW12_* on initialization

2019-07-18 Thread Atwood, Matthew S
On Fri, 2019-07-12 at 18:09 -0700, Lucas De Marchi wrote:
> According to the spec when initializing the display in TGL we should
> not
> set PORT_CL_DW12 for the Aux channel of the combo PHYs. We will re-
> use the
> power well hooks from ICL so only set this register on gen < 12.
> 
> v2: Generalize check for gen 12 (suggested by José)
> v3: Rebase after enum phy introduction
> 
Reviewed-by: Matt Atwood 
> Cc: Imre Deak 
> Cc: Matt Roper 
> Signed-off-by: Lucas De Marchi 
> Reviewed-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/display/intel_display_power.c | 12 
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c
> b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 93a148684c53..dd2a50b8ba0a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -458,8 +458,10 @@ icl_combo_phy_aux_power_well_enable(struct
> drm_i915_private *dev_priv,
>   val = I915_READ(regs->driver);
>   I915_WRITE(regs->driver, val | HSW_PWR_WELL_CTL_REQ(pw_idx));
>  
> - val = I915_READ(ICL_PORT_CL_DW12(phy));
> - I915_WRITE(ICL_PORT_CL_DW12(phy), val | ICL_LANE_ENABLE_AUX);
> + if (INTEL_GEN(dev_priv) < 12) {
> + val = I915_READ(ICL_PORT_CL_DW12(phy));
> + I915_WRITE(ICL_PORT_CL_DW12(phy), val |
> ICL_LANE_ENABLE_AUX);
> + }
>  
>   hsw_wait_for_power_well_enable(dev_priv, power_well);
>  
> @@ -487,8 +489,10 @@ icl_combo_phy_aux_power_well_disable(struct
> drm_i915_private *dev_priv,
>   enum phy phy = ICL_AUX_PW_TO_PHY(pw_idx);
>   u32 val;
>  
> - val = I915_READ(ICL_PORT_CL_DW12(phy));
> - I915_WRITE(ICL_PORT_CL_DW12(phy), val & ~ICL_LANE_ENABLE_AUX);
> + if (INTEL_GEN(dev_priv) < 12) {
> + val = I915_READ(ICL_PORT_CL_DW12(phy));
> + I915_WRITE(ICL_PORT_CL_DW12(phy), val &
> ~ICL_LANE_ENABLE_AUX);
> + }
>  
>   val = I915_READ(regs->driver);
>   I915_WRITE(regs->driver, val & ~HSW_PWR_WELL_CTL_REQ(pw_idx));
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 02/22] drm/i915/tgl: select correct bit for port select

2019-07-18 Thread Atwood, Matthew S
On Fri, 2019-07-12 at 18:09 -0700, Lucas De Marchi wrote:
> From: Mahesh Kumar 
> 
> Bit definitions for port-select got changed for TRANS_CLK_SEL &
> TRANS_DDI_FUNC_CTL registers in TGL.
> 
> v2 (Lucas):
>   - Nuke TRANS_DDI_PORT_NONE since it's 0: we are already clearing
> {TGL_,}TRANS_DDI_PORT_MASK (suggested by Ville)
>   - Also cover haswell_get_ddi_port_state() in intel_display.c that
> was
> missing
>   - Define macros using the _SHIFT macros so we don't lose other
> users
> 
Reviewed-by: Matt Atwood 
> Cc: Ville Syrjälä 
> Signed-off-by: Mahesh Kumar 
> Signed-off-by: Lucas De Marchi 
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 47 +++---
> --
>  drivers/gpu/drm/i915/display/intel_display.c |  6 ++-
>  drivers/gpu/drm/i915/i915_reg.h  | 11 +++--
>  3 files changed, 50 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 8445244aa593..339c01e567ab 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -1773,7 +1773,10 @@ void intel_ddi_enable_transcoder_func(const
> struct intel_crtc_state *crtc_state)
>  
>   /* Enable TRANS_DDI_FUNC_CTL for the pipe to work in HDMI mode
> */
>   temp = TRANS_DDI_FUNC_ENABLE;
> - temp |= TRANS_DDI_SELECT_PORT(port);
> + if (INTEL_GEN(dev_priv) >= 12)
> + temp |= TGL_TRANS_DDI_SELECT_PORT(port);
> + else
> + temp |= TRANS_DDI_SELECT_PORT(port);
>  
>   switch (crtc_state->pipe_bpp) {
>   case 18:
> @@ -1853,8 +1856,13 @@ void intel_ddi_disable_transcoder_func(const
> struct intel_crtc_state *crtc_state
>   i915_reg_t reg = TRANS_DDI_FUNC_CTL(cpu_transcoder);
>   u32 val = I915_READ(reg);
>  
> - val &= ~(TRANS_DDI_FUNC_ENABLE | TRANS_DDI_PORT_MASK |
> TRANS_DDI_DP_VC_PAYLOAD_ALLOC);
> - val |= TRANS_DDI_PORT_NONE;
> + if (INTEL_GEN(dev_priv) >= 12) {
> + val &= ~(TRANS_DDI_FUNC_ENABLE |
> TGL_TRANS_DDI_PORT_MASK |
> +  TRANS_DDI_DP_VC_PAYLOAD_ALLOC);
> + } else {
> + val &= ~(TRANS_DDI_FUNC_ENABLE | TRANS_DDI_PORT_MASK |
> +  TRANS_DDI_DP_VC_PAYLOAD_ALLOC);
> + }
>   I915_WRITE(reg, val);
>  
>   if (dev_priv->quirks & QUIRK_INCREASE_DDI_DISABLED_TIME &&
> @@ -2006,10 +2014,19 @@ static void
> intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
>   mst_pipe_mask = 0;
>   for_each_pipe(dev_priv, p) {
>   enum transcoder cpu_transcoder = (enum transcoder)p;
> + unsigned int port_mask, ddi_select;
> +
> + if (INTEL_GEN(dev_priv) >= 12) {
> + port_mask = TGL_TRANS_DDI_PORT_MASK;
> + ddi_select = TGL_TRANS_DDI_SELECT_PORT(port);
> + } else {
> + port_mask = TRANS_DDI_PORT_MASK;
> + ddi_select = TRANS_DDI_SELECT_PORT(port);
> + }
>  
>   tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
>  
> - if ((tmp & TRANS_DDI_PORT_MASK) !=
> TRANS_DDI_SELECT_PORT(port))
> + if ((tmp & port_mask) != ddi_select)
>   continue;
>  
>   if ((tmp & TRANS_DDI_MODE_SELECT_MASK) ==
> @@ -2126,9 +2143,14 @@ void intel_ddi_enable_pipe_clock(const struct
> intel_crtc_state *crtc_state)
>   enum port port = encoder->port;
>   enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
>  
> - if (cpu_transcoder != TRANSCODER_EDP)
> - I915_WRITE(TRANS_CLK_SEL(cpu_transcoder),
> -TRANS_CLK_SEL_PORT(port));
> + if (cpu_transcoder != TRANSCODER_EDP) {
> + if (INTEL_GEN(dev_priv) >= 12)
> + I915_WRITE(TRANS_CLK_SEL(cpu_transcoder),
> +TGL_TRANS_CLK_SEL_PORT(port));
> + else
> + I915_WRITE(TRANS_CLK_SEL(cpu_transcoder),
> +TRANS_CLK_SEL_PORT(port));
> + }
>  }
>  
>  void intel_ddi_disable_pipe_clock(const struct intel_crtc_state
> *crtc_state)
> @@ -2136,9 +2158,14 @@ void intel_ddi_disable_pipe_clock(const struct
> intel_crtc_state *crtc_state)
>   struct drm_i915_private *dev_priv = to_i915(crtc_state-
> >base.crtc->dev);
>   enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
>  
> - if (cpu_transcoder != TRANSCODER_EDP)
> - I915_WRITE(TRANS_CLK_SEL(cpu_transcoder),
> -TRANS_CLK_SEL_DISABLED);
> + if (cpu_transcoder != TRANSCODER_EDP) {
> + if (INTEL_GEN(dev_priv) >= 12)
> + I915_WRITE(TRANS_CLK_SEL(cpu_transcoder),
> +TGL_TRANS_CLK_SEL_DISABLED);
> + else
> + I915_WRITE(TRANS_CLK_SEL(cpu_transcoder),
> +TRANS_CLK_SEL_DISABLED);
> + }
>  }
>  
>  static void 

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/1] drm/vblank: drop use of DRM_WAIT_ON()

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/1] drm/vblank: drop use of DRM_WAIT_ON()
URL   : https://patchwork.freedesktop.org/series/63913/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6507 -> Patchwork_13694


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@prime_vgem@basic-fence-flip:
- fi-ilk-650: [PASS][3] -> [DMESG-WARN][4] ([fdo#106387])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-ilk-650/igt@prime_v...@basic-fence-flip.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/fi-ilk-650/igt@prime_v...@basic-fence-flip.html

  
 Possible fixes 

  * igt@i915_pm_rpm@module-reload:
- fi-icl-dsi: [INCOMPLETE][5] ([fdo#107713] / [fdo#108840]) -> 
[PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-icl-dsi/igt@i915_pm_...@module-reload.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/fi-icl-dsi/igt@i915_pm_...@module-reload.html

  * igt@kms_chamelium@dp-edid-read:
- fi-kbl-7500u:   [WARN][7] ([fdo#109483]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6507/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/fi-kbl-7500u/igt@kms_chamel...@dp-edid-read.html

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

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

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (53 -> 47)
--

  Additional (1): fi-bsw-n3050 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-icl-y 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6507 -> Patchwork_13694

  CI_DRM_6507: a607eef7a42e6788090f1ff4de30ed821ad87ad9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13694: d52a61072bb50e83ea8d1e82dffe1b55ff8f7a70 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

d52a61072bb5 drm/vblank: drop use of DRM_WAIT_ON()

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13694/
___
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: YCbCr output fixes and prep work for YCbCr 4:4:4 output (rev2)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: YCbCr output fixes and prep work for YCbCr 4:4:4 output (rev2)
URL   : https://patchwork.freedesktop.org/series/63893/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6504_full -> Patchwork_13692_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_hangcheck:
- shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / 
[fdo#108569])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb7/igt@i915_selftest@live_hangcheck.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-iclb8/igt@i915_selftest@live_hangcheck.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
- shard-glk:  [PASS][3] -> [FAIL][4] ([fdo#103060])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-glk1/igt@kms_f...@modeset-vs-vblank-race-interruptible.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-glk7/igt@kms_f...@modeset-vs-vblank-race-interruptible.html
- shard-iclb: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb5/igt@kms_f...@modeset-vs-vblank-race-interruptible.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-iclb7/igt@kms_f...@modeset-vs-vblank-race-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render:
- shard-iclb: [PASS][7] -> [FAIL][8] ([fdo#103167]) +5 similar 
issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb8/igt@kms_frontbuffer_track...@fbc-1p-offscren-pri-indfb-draw-render.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-iclb4/igt@kms_frontbuffer_track...@fbc-1p-offscren-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-stridechange:
- shard-snb:  [PASS][9] -> [SKIP][10] ([fdo#109271])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-snb6/igt@kms_frontbuffer_track...@fbc-stridechange.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-snb1/igt@kms_frontbuffer_track...@fbc-stridechange.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- shard-kbl:  [PASS][11] -> [DMESG-WARN][12] ([fdo#108566])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-kbl2/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-kbl6/igt@kms_pipe_crc_ba...@suspend-read-crc-pipe-a.html

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

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
- shard-skl:  [PASS][15] -> [FAIL][16] ([fdo#108145])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl10/igt@kms_plane_alpha_bl...@pipe-c-constant-alpha-min.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-skl6/igt@kms_plane_alpha_bl...@pipe-c-constant-alpha-min.html

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

  * igt@perf@polling:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#110728])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl10/igt@p...@polling.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-skl6/igt@p...@polling.html

  
 Possible fixes 

  * igt@gem_ctx_isolation@vcs0-s3:
- shard-kbl:  [DMESG-WARN][21] ([fdo#108566]) -> [PASS][22]
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-kbl6/igt@gem_ctx_isolat...@vcs0-s3.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-kbl1/igt@gem_ctx_isolat...@vcs0-s3.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [FAIL][23] ([fdo#104097]) -> [PASS][24]
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-hsw6/igt@i915_pm_...@i2c.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/shard-hsw6/igt@i915_pm_...@i2c.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
- shard-hsw:   

[Intel-gfx] [PATCH] drm/i915: Flush extra hard after writing relocations through the GTT

2019-07-18 Thread Chris Wilson
Recently discovered in commit bdae33b8b82b ("drm/i915: Use maximum write
flush for pwrite_gtt") was that we needed to our full write barrier
before changing the GGTT PTE to ensure that our indirect writes through
the GTT landed before the PTE changed (and the writes end up in a
different page). That also applies to our GGTT relocation path.

Signed-off-by: Chris Wilson 
Cc: sta...@vger.kernel.org
---
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 
b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 8a2047c4e7c3..01901dad33f7 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -1019,11 +1019,12 @@ static void reloc_cache_reset(struct reloc_cache *cache)
kunmap_atomic(vaddr);
i915_gem_object_finish_access((struct drm_i915_gem_object 
*)cache->node.mm);
} else {
-   wmb();
+   struct i915_ggtt *ggtt = cache_to_ggtt(cache);
+
+   intel_gt_flush_ggtt_writes(ggtt->vm.gt);
io_mapping_unmap_atomic((void __iomem *)vaddr);
-   if (cache->node.allocated) {
-   struct i915_ggtt *ggtt = cache_to_ggtt(cache);
 
+   if (cache->node.allocated) {
ggtt->vm.clear_range(>vm,
 cache->node.start,
 cache->node.size);
@@ -1078,6 +1079,7 @@ static void *reloc_iomap(struct drm_i915_gem_object *obj,
void *vaddr;
 
if (cache->vaddr) {
+   intel_gt_flush_ggtt_writes(ggtt->vm.gt);
io_mapping_unmap_atomic((void __force __iomem *) 
unmask_page(cache->vaddr));
} else {
struct i915_vma *vma;
@@ -1119,7 +1121,6 @@ static void *reloc_iomap(struct drm_i915_gem_object *obj,
 
offset = cache->node.start;
if (cache->node.allocated) {
-   wmb();
ggtt->vm.insert_page(>vm,
 i915_gem_object_get_dma_address(obj, page),
 offset, I915_CACHE_NONE, 0);
-- 
2.22.0

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/1] drm/vblank: drop use of DRM_WAIT_ON()

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/1] drm/vblank: drop use of DRM_WAIT_ON()
URL   : https://patchwork.freedesktop.org/series/63913/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
d52a61072bb5 drm/vblank: drop use of DRM_WAIT_ON()
-:55: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#55: FILE: drivers/gpu/drm/drm_vblank.c:1676:
+   wait = wait_event_interruptible_timeout(vblank->queue,
+   vblank_passed(drm_vblank_count(dev, pipe), req_seq) ||

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

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

[Intel-gfx] [PATCH 1/1] drm/vblank: drop use of DRM_WAIT_ON()

2019-07-18 Thread Sam Ravnborg
From e6f70cb90e0c3c90d45017a8257353652b7e0dcc Mon Sep 17 00:00:00 2001
From: Sam Ravnborg 
Date: Thu, 30 May 2019 09:38:47 +0200
Subject: [PATCH] drm/vblank: drop use of DRM_WAIT_ON()

DRM_WAIT_ON() is from the deprecated drm_os_linux header and
the modern replacement is the wait_event_*.

The return values differ, so a conversion is needed to
keep the original interface towards userspace.
Introduced a switch/case to make code obvious and to allow
different debug prints depending on the result.

Signed-off-by: Sam Ravnborg 
Reviewed-by: Sean Paul 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: David Airlie 
Cc: Daniel Vetter 
---

To verify if it works with the fix.
(Added wat variable to handle the situation where we never wait)

Sam

 drivers/gpu/drm/drm_vblank.c | 32 ++--
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 603ab105125d..4e83f1dfd446 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -31,7 +31,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include "drm_internal.h"
@@ -1576,7 +1575,7 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void 
*data,
struct drm_crtc *crtc;
struct drm_vblank_crtc *vblank;
union drm_wait_vblank *vblwait = data;
-   int ret;
+   int ret, wait;
u64 req_seq, seq;
unsigned int pipe_index;
unsigned int flags, pipe, high_pipe;
@@ -1669,22 +1668,35 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void 
*data,
return drm_queue_vblank_event(dev, pipe, req_seq, vblwait, 
file_priv);
}
 
+   wait = 1;
if (req_seq != seq) {
DRM_DEBUG("waiting on vblank count %llu, crtc %u\n",
  req_seq, pipe);
-   DRM_WAIT_ON(ret, vblank->queue, 3 * HZ,
-   vblank_passed(drm_vblank_count(dev, pipe),
- req_seq) ||
-   !READ_ONCE(vblank->enabled));
+   wait = wait_event_interruptible_timeout(vblank->queue,
+   vblank_passed(drm_vblank_count(dev, pipe), req_seq) ||
+ !READ_ONCE(vblank->enabled),
+   msecs_to_jiffies(3000));
}
 
-   if (ret != -EINTR) {
+   switch (wait) {
+   case 0:
+   /* timeout */
+   ret = -EBUSY;
drm_wait_vblank_reply(dev, pipe, >reply);
-
-   DRM_DEBUG("crtc %d returning %u to client\n",
+   DRM_DEBUG("timeout waiting for vblank. crtc %d returning %u to 
client\n",
  pipe, vblwait->reply.sequence);
-   } else {
+   break;
+   case -ERESTARTSYS:
+   /* interrupted by signal */
+   ret = -EINTR;
DRM_DEBUG("crtc %d vblank wait interrupted by signal\n", pipe);
+   break;
+   default:
+   ret = 0;
+   drm_wait_vblank_reply(dev, pipe, >reply);
+   DRM_DEBUG("crtc %d returning %u to client\n",
+ pipe, vblwait->reply.sequence);
+   break;
}
 
 done:
-- 
2.20.1

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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/dp/dsc: Add Support for all BPCs supported by TGL (rev3)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/dp/dsc: Add Support for all BPCs supported by TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/63526/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6506 -> Patchwork_13693


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@kms_chamelium@dp-edid-read:
- fi-cml-u2:  [PASS][3] -> [FAIL][4] ([fdo#109483])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html

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

  
 Possible fixes 

  * igt@kms_chamelium@dp-crc-fast:
- fi-kbl-7500u:   [FAIL][7] ([fdo#109635 ]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/fi-kbl-7500u/igt@kms_chamel...@dp-crc-fast.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/fi-kbl-7500u/igt@kms_chamel...@dp-crc-fast.html

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

  
 Warnings 

  * igt@i915_pm_rpm@basic-pci-d3-state:
- fi-kbl-guc: [FAIL][11] ([fdo#107707]) -> [SKIP][12] ([fdo#109271])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6506/fi-kbl-guc/igt@i915_pm_...@basic-pci-d3-state.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13693/fi-kbl-guc/igt@i915_pm_...@basic-pci-d3-state.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107707]: https://bugs.freedesktop.org/show_bug.cgi?id=107707
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 


Participating hosts (54 -> 47)
--

  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-icl-y 
fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6506 -> Patchwork_13693

  CI_DRM_6506: a61b72b18433922659d924e66c3ea75ae3ae @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13693: 6db3e61a993182318d85e7f29dd718864e20507e @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

6db3e61a9931 drm/dp/dsc: Add Support for all BPCs supported by TGL

== Logs ==

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

Re: [Intel-gfx] [PATCH 2/4] drm/i915: Use maximum write flush for pwrite_gtt

2019-07-18 Thread Chris Wilson
Quoting Ville Syrjälä (2019-07-18 19:28:43)
> On Thu, Jul 18, 2019 at 03:54:05PM +0100, Chris Wilson wrote:
> > As recently disovered by forcing big-core (!llc) machines to use the GTT
> > paths, we need our full GTT write flush before manipulating the GTT PTE
> > or else the writes may be directed to the wrong page.
> > 
> > Signed-off-by: Chris Wilson 
> > Cc: Joonas Lahtinen 
> > Cc: Matthew Auld 
> > Cc: Ville Syrjälä 
> > Cc: sta...@vger.kernel.org
> > ---
> >  drivers/gpu/drm/i915/i915_gem.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_gem.c 
> > b/drivers/gpu/drm/i915/i915_gem.c
> > index fed0bc421a55..c6ba350e6e4f 100644
> > --- a/drivers/gpu/drm/i915/i915_gem.c
> > +++ b/drivers/gpu/drm/i915/i915_gem.c
> > @@ -610,7 +610,8 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_gem_object 
> > *obj,
> >   unsigned int page_length = PAGE_SIZE - page_offset;
> >   page_length = remain < page_length ? remain : page_length;
> >   if (node.allocated) {
> > - wmb(); /* flush the write before we modify the GGTT */
> > + /* flush the write before we modify the GGTT */
> > + intel_gt_flush_ggtt_writes(ggtt->vm.gt);
> 
> Matches the story told by intel_gt_flush_ggtt_writes().
> 
> Reviewed-by: Ville Syrjälä 

Ta, pushed to dinq. Hopefully, this may explain some mystery fails!
(Not that any sane userspace does for(;;) { gem_write(); gem_read(); })
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915/vbt: Fix VBT parsing for the PSR section

2019-07-18 Thread Rodrigo Vivi
On Wed, Jul 17, 2019 at 03:34:51PM -0700, Dhinakaran Pandiyan wrote:
> A single 32-bit PSR2 training pattern field follows the sixteen element
> array of PSR table entries in the VBT spec. But, we incorrectly define
> this PSR2 field for each of the PSR table entries. As a result, the PSR1
> training pattern duration for any panel_type != 0 will be parsed
> incorrectly. Secondly, PSR2 training pattern durations for VBTs with bdb
> version >= 226 will also be wrong.
> 
> Cc: Rodrigo Vivi 
> Cc: José Roberto de Souza 
> Cc: sta...@vger.kernel.org
> Cc: sta...@vger.kernel.org #v5.2
> Fixes: 88a0d9606aff ("drm/i915/vbt: Parse and use the new field with PSR2 
> TP2/3 wakeup time")
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111088
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204183
> Signed-off-by: Dhinakaran Pandiyan 
> Reviewed-by: Ville Syrjälä 
> Reviewed-by: José Roberto de Souza 
> Acked-by: Rodrigo Vivi 
> Tested-by: François Guerraz 

pushed, thanks for the patches, reviews and tests.

> ---
>  Drivers/gpu/drm/i915/display/intel_bios.c | 2 +-
>  drivers/gpu/drm/i915/display/intel_vbt_defs.h | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c 
> b/drivers/gpu/drm/i915/display/intel_bios.c
> index 21501d565327..b416b394b641 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -766,7 +766,7 @@ parse_psr(struct drm_i915_private *dev_priv, const struct 
> bdb_header *bdb)
>   }
>  
>   if (bdb->version >= 226) {
> - u32 wakeup_time = psr_table->psr2_tp2_tp3_wakeup_time;
> + u32 wakeup_time = psr->psr2_tp2_tp3_wakeup_time;
>  
>   wakeup_time = (wakeup_time >> (2 * panel_type)) & 0x3;
>   switch (wakeup_time) {
> diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h 
> b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> index 93f5c9d204d6..09cd37fb0b1c 100644
> --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> @@ -481,13 +481,13 @@ struct psr_table {
>   /* TP wake up time in multiple of 100 */
>   u16 tp1_wakeup_time;
>   u16 tp2_tp3_wakeup_time;
> -
> - /* PSR2 TP2/TP3 wakeup time for 16 panels */
> - u32 psr2_tp2_tp3_wakeup_time;
>  } __packed;
>  
>  struct bdb_psr {
>   struct psr_table psr_table[16];
> +
> + /* PSR2 TP2/TP3 wakeup time for 16 panels */
> + u32 psr2_tp2_tp3_wakeup_time;
>  } __packed;
>  
>  /*
> -- 
> 2.17.1
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm: header maintenance

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm: header maintenance
URL   : https://patchwork.freedesktop.org/series/63900/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6504_full -> Patchwork_13691_full


Summary
---

  **FAILURE**

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

### IGT changes ###

 Possible regressions 

  * igt@debugfs_test@read_all_entries_display_on:
- shard-iclb: [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb8/igt@debugfs_test@read_all_entries_display_on.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-iclb4/igt@debugfs_test@read_all_entries_display_on.html

  * igt@kms_vblank@invalid:
- shard-kbl:  [PASS][3] -> [FAIL][4] +15 similar issues
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-kbl6/igt@kms_vbl...@invalid.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-kbl7/igt@kms_vbl...@invalid.html

  * igt@kms_vblank@pipe-a-query-idle:
- shard-glk:  [PASS][5] -> [FAIL][6] +28 similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-glk1/igt@kms_vbl...@pipe-a-query-idle.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-glk5/igt@kms_vbl...@pipe-a-query-idle.html

  * igt@kms_vblank@pipe-a-query-idle-hang:
- shard-snb:  [PASS][7] -> [FAIL][8] +14 similar issues
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-snb6/igt@kms_vbl...@pipe-a-query-idle-hang.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-snb5/igt@kms_vbl...@pipe-a-query-idle-hang.html

  * igt@kms_vblank@pipe-b-query-forked:
- shard-skl:  [PASS][9] -> [FAIL][10] +20 similar issues
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl5/igt@kms_vbl...@pipe-b-query-forked.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-skl7/igt@kms_vbl...@pipe-b-query-forked.html

  * igt@kms_vblank@pipe-b-query-idle:
- shard-skl:  NOTRUN -> [FAIL][11] +2 similar issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-skl5/igt@kms_vbl...@pipe-b-query-idle.html

  * igt@kms_vblank@pipe-b-query-idle-hang:
- shard-iclb: [PASS][12] -> [FAIL][13] +21 similar issues
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb8/igt@kms_vbl...@pipe-b-query-idle-hang.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-iclb4/igt@kms_vbl...@pipe-b-query-idle-hang.html

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-rpm:
- shard-apl:  [PASS][14] -> [FAIL][15] +22 similar issues
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-apl2/igt@kms_vbl...@pipe-b-ts-continuation-dpms-rpm.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-apl1/igt@kms_vbl...@pipe-b-ts-continuation-dpms-rpm.html

  * igt@kms_vblank@pipe-c-query-forked-hang:
- shard-iclb: NOTRUN -> [FAIL][16]
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-iclb6/igt@kms_vbl...@pipe-c-query-forked-hang.html

  * igt@kms_vblank@pipe-c-ts-continuation-modeset-rpm:
- shard-hsw:  [PASS][17] -> [FAIL][18] +29 similar issues
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-hsw4/igt@kms_vbl...@pipe-c-ts-continuation-modeset-rpm.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-hsw8/igt@kms_vbl...@pipe-c-ts-continuation-modeset-rpm.html

  
 Warnings 

  * igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-glk:  [FAIL][19] ([fdo#105363]) -> [FAIL][20]
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-glk7/igt@kms_f...@2x-flip-vs-expired-vblank.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-glk8/igt@kms_f...@2x-flip-vs-expired-vblank.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_pwrite@small-gtt-backwards:
- shard-apl:  [PASS][21] -> [INCOMPLETE][22] ([fdo#103927])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-apl3/igt@gem_pwr...@small-gtt-backwards.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/shard-apl2/igt@gem_pwr...@small-gtt-backwards.html

  * igt@gem_softpin@noreloc-s3:
- shard-apl:  

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/dp/dsc: Add Support for all BPCs supported by TGL (rev3)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/dp/dsc: Add Support for all BPCs supported by TGL (rev3)
URL   : https://patchwork.freedesktop.org/series/63526/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/dp/dsc: Add Support for all BPCs supported by TGL
-O:drivers/gpu/drm/i915/display/intel_dp.c:1917:23: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/display/intel_dp.c:1917:31: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/display/intel_dp.c:1919:31: warning: expression using 
sizeof(void)

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

[Intel-gfx] [PATCH] drm/dp/dsc: Add Support for all BPCs supported by TGL

2019-07-18 Thread Anusha Srivatsa
DSC engine on ICL supports only 8 and 10 BPC as the input
BPC. But DSC engine in TGL supports 8, 10 and 12 BPC.
Add 12 BPC support for DSC while calculating compression
configuration.

v2: Remove the separate define TGL_DP_DSC_MAX_SUPPORTED_BPC
and use the value directly.(More such defines can be removed
as part of future patches). (Ville)

v3: Use values directly instead of accessing the defines
everytime for min and max DSC BPC.

Cc: Ville Syrjälä 
Cc: Manasi Navare 
Signed-off-by: Anusha Srivatsa 
---
 drivers/gpu/drm/i915/display/intel_dp.c | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 0eb5d66f87a7..947c7e911304 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -69,8 +69,6 @@
 
 /* DP DSC small joiner has 2 FIFOs each of 640 x 6 bytes */
 #define DP_DSC_MAX_SMALL_JOINER_RAM_BUFFER 61440
-#define DP_DSC_MIN_SUPPORTED_BPC   8
-#define DP_DSC_MAX_SUPPORTED_BPC   10
 
 /* DP DSC throughput values used for slice count calculations KPixels/s */
 #define DP_DSC_PEAK_PIXEL_RATE 272
@@ -1914,11 +1912,17 @@ static int intel_dp_dsc_compute_config(struct intel_dp 
*intel_dp,
if (!intel_dp_supports_dsc(intel_dp, pipe_config))
return -EINVAL;
 
-   dsc_max_bpc = min_t(u8, DP_DSC_MAX_SUPPORTED_BPC,
-   conn_state->max_requested_bpc);
+   /* Max DSC Input BPC for ICL is 10 and for TGL+ is 12 */
+   if (INTEL_GEN(dev_priv) >= 12)
+   dsc_max_bpc = min_t(u8, 12, conn_state->max_requested_bpc);
+   else
+   dsc_max_bpc = min_t(u8, 10,
+   conn_state->max_requested_bpc);
 
pipe_bpp = intel_dp_dsc_compute_bpp(intel_dp, dsc_max_bpc);
-   if (pipe_bpp < DP_DSC_MIN_SUPPORTED_BPC * 3) {
+
+   /* Min Input BPC for ICL+ is 8 */
+   if (pipe_bpp < 8 * 3) {
DRM_DEBUG_KMS("No DSC support for less than 8bpc\n");
return -EINVAL;
}
-- 
2.21.0

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

Re: [Intel-gfx] [PATCH v1 11/11] drm: drop uapi dependency from drm_file.h

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:07PM +0200, Sam Ravnborg wrote:
> drm_file used drm_magic_t from uapi/drm/drm.h.
> This is a simple unsigned int.
> Just opencode it as such to break the dependency from this header file
> to uapi.
> 
> Signed-off-by: Sam Ravnborg 

Passes my build tests, thanks for the clean-ups!

Reviewed-by: Sean Paul 

> Suggested-by: Daniel Vetter 
> Cc: Sean Paul 
> Cc: Liviu Dudau 
> Cc: Chris Wilson 
> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Jani Nikula 
> Cc: Eric Anholt 
> ---
>  include/drm/drm_file.h | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
> index 67af60bb527a..046cd1bf91eb 100644
> --- a/include/drm/drm_file.h
> +++ b/include/drm/drm_file.h
> @@ -34,8 +34,6 @@
>  #include 
>  #include 
>  
> -#include 
> -
>  #include 
>  
>  struct dma_fence;
> @@ -227,7 +225,7 @@ struct drm_file {
>   struct pid *pid;
>  
>   /** @magic: Authentication magic, see @authenticated. */
> - drm_magic_t magic;
> + unsigned int magic;
>  
>   /**
>* @lhead:
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 04/11] drm/ati_pcigart: drop dependency on drm_os_linux.h

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 08:11:35PM +0200, Sam Ravnborg wrote:
> Hi Sean.
> > 
> > Any plans for the other users of DRM_WRITE()? It seems like it'd be 
> > trivial
> > to fix it up for via and mga. I don't really have any background on
> > drm_os_linux.h, but it doesn't seem like it'd be that much more effort to 
> > just
> > remove the whole thing.
> 
> During the drmP.h removal I also took care of drm_os_linux.h,
> so when the patches land then there will be no users left.
> I look forward to delete that file.
> 
> For via I only just posted the patches today.
> For mga they already landed in drm-misc-next.
> 

Awesome! I think I was looking at drm-next instead of -misc-next, so happy to
hear the future is bright :)

Reviewed-by: Sean Paul 


> I expect that we after next merge window can delete
> both drm_os_linux.h and drmP.h.
> 
>   Sam

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 2/4] drm/i915: Use maximum write flush for pwrite_gtt

2019-07-18 Thread Ville Syrjälä
On Thu, Jul 18, 2019 at 03:54:05PM +0100, Chris Wilson wrote:
> As recently disovered by forcing big-core (!llc) machines to use the GTT
> paths, we need our full GTT write flush before manipulating the GTT PTE
> or else the writes may be directed to the wrong page.
> 
> Signed-off-by: Chris Wilson 
> Cc: Joonas Lahtinen 
> Cc: Matthew Auld 
> Cc: Ville Syrjälä 
> Cc: sta...@vger.kernel.org
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index fed0bc421a55..c6ba350e6e4f 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -610,7 +610,8 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_gem_object *obj,
>   unsigned int page_length = PAGE_SIZE - page_offset;
>   page_length = remain < page_length ? remain : page_length;
>   if (node.allocated) {
> - wmb(); /* flush the write before we modify the GGTT */
> + /* flush the write before we modify the GGTT */
> + intel_gt_flush_ggtt_writes(ggtt->vm.gt);

Matches the story told by intel_gt_flush_ggtt_writes().

Reviewed-by: Ville Syrjälä 

>   ggtt->vm.insert_page(>vm,
>
> i915_gem_object_get_dma_address(obj, offset >> PAGE_SHIFT),
>node.start, I915_CACHE_NONE, 0);
> @@ -639,8 +640,8 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_gem_object *obj,
>   i915_gem_object_unlock_fence(obj, fence);
>  out_unpin:
>   mutex_lock(>drm.struct_mutex);
> + intel_gt_flush_ggtt_writes(ggtt->vm.gt);
>   if (node.allocated) {
> - wmb();
>   ggtt->vm.clear_range(>vm, node.start, node.size);
>   remove_mappable_node();
>   } else {
> -- 
> 2.22.0

-- 
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 1/4] drm/i915: Drop wmb() inside pread_gtt

2019-07-18 Thread Ville Syrjälä
On Thu, Jul 18, 2019 at 03:54:04PM +0100, Chris Wilson wrote:
> Inside pread, we only ever read from the GTT so the serialising wmb()
> instructions around the GGTT PTE updates are pointless.

Hard to argue with that.

Reviewed-by: Ville Syrjälä 

> 
> Signed-off-by: Chris Wilson 
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index a207b90924e4..fed0bc421a55 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -395,11 +395,9 @@ i915_gem_gtt_pread(struct drm_i915_gem_object *obj,
>   unsigned page_length = PAGE_SIZE - page_offset;
>   page_length = remain < page_length ? remain : page_length;
>   if (node.allocated) {
> - wmb();
>   ggtt->vm.insert_page(>vm,
>
> i915_gem_object_get_dma_address(obj, offset >> PAGE_SHIFT),
>node.start, I915_CACHE_NONE, 0);
> - wmb();
>   } else {
>   page_base += offset & PAGE_MASK;
>   }
> @@ -419,7 +417,6 @@ i915_gem_gtt_pread(struct drm_i915_gem_object *obj,
>  out_unpin:
>   mutex_lock(>drm.struct_mutex);
>   if (node.allocated) {
> - wmb();
>   ggtt->vm.clear_range(>vm, node.start, node.size);
>   remove_mappable_node();
>   } else {
> -- 
> 2.22.0
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

Re: [Intel-gfx] [PATCH] drm/i915: Make sure cdclk is high enough for DP audio on VLV/CHV

2019-07-18 Thread Chris Wilson
Quoting Ville Syrjälä (2019-07-18 19:04:56)
> On Thu, Jul 18, 2019 at 06:11:08PM +0100, Chris Wilson wrote:
> > Quoting Ville Syrjala (2019-07-17 12:45:36)
> > > From: Ville Syrjälä 
> > > 
> > > On VLV/CHV there is some kind of linkage between the cdclk frequency
> > > and the DP link frequency. The spec says:
> > > "For DP audio configuration, cdclk frequency shall be set to
> > >  meet the following requirements:
> > >  DP Link Frequency(MHz) | Cdclk frequency(MHz)
> > >  270| 320 or higher
> > >  162| 200 or higher"
> > > 
> > > I suspect that would more accurately be expressed as
> > > "cdclk >= DP link clock", and in any case we can express it like
> > > that in the code because of the limited set of cdclk and link
> > > frequencies we support.
> > > 
> > > Without this we can end up in a situation where the cdclk
> > > is too low and enabling DP audio will kill the pipe. Happens
> > > eg. with 2560x1440 modes where the 266MHz cdclk is sufficient
> > > to pump the pixels (241.5 MHz dotclock) but is too low for
> > > the DP audio due to the link frequency being 270 MHz.
> > > 
> > > Cc: sta...@vger.kernel.org
> > > Tested-by: Stefan Gottwald 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49
> > > Signed-off-by: Ville Syrjälä 
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_cdclk.c | 11 +++
> > >  1 file changed, 11 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c 
> > > b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > > index d0581a1ac243..93b0d190c184 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > > @@ -2262,6 +2262,17 @@ int intel_crtc_compute_min_cdclk(const struct 
> > > intel_crtc_state *crtc_state)
> > > if (crtc_state->has_audio && INTEL_GEN(dev_priv) >= 9)
> > > min_cdclk = max(2 * 96000, min_cdclk);
> > >  
> > > +   /*
> > > +* "For DP audio configuration, cdclk frequency shall be set to
> > > +*  meet the following requirements:
> > > +*  DP Link Frequency(MHz) | Cdclk frequency(MHz)
> > > +*  270| 320 or higher
> > > +*  162| 200 or higher"
> > > +*/
> > > +   if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) &&
> > > +   intel_crtc_has_dp_encoder(crtc_state) && 
> > > crtc_state->has_audio)
> > > +   min_cdclk = max(crtc_state->port_clock, min_cdclk);
> > 
> > I tracked port_clock down to being the dp link clock (162 or 270) so
> > that part of the story checks out.
> > 
> > Judging by the rest of the function, I buy that the cdclk and link clock
> > may be inscrutably tied together, and accept the test result that the
> > cdclk must be at least the link clock with audio enabled.
> > 
> > It may be that a corner case does require a higher frequency (rather
> > than just bumping from 266 to 270), but for here and now
> 
> Yeah there could be some extra headroom required. But our cdclk
> can only be 200, 266, 320 or 400 MHz (and 200 won't actually get used
> due to inexplicable display failure when try to use it). So in practice
> we going to actually get bumped 162->266 and 270->320 here. I should
> have expressed that better in the commit message.

Also, I didn't find an easy way to confirm the limited set of cdlck.
Hmm, actually I was looking at min_cdclk and didn't thin to compare that
against any table. Ah, adding a see vlv_calc_cdclk() might have helped
me put together the other side. Certainly adding more of a hint that
min_cdclk isn't the final clock would help :)
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 04/11] drm/ati_pcigart: drop dependency on drm_os_linux.h

2019-07-18 Thread Sam Ravnborg
Hi Sean.
> 
> Any plans for the other users of DRM_WRITE()? It seems like it'd be trivial
> to fix it up for via and mga. I don't really have any background on
> drm_os_linux.h, but it doesn't seem like it'd be that much more effort to just
> remove the whole thing.

During the drmP.h removal I also took care of drm_os_linux.h,
so when the patches land then there will be no users left.
I look forward to delete that file.

For via I only just posted the patches today.
For mga they already landed in drm-misc-next.

I expect that we after next merge window can delete
both drm_os_linux.h and drmP.h.

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

Re: [Intel-gfx] [PATCH] drm/i915: Make sure cdclk is high enough for DP audio on VLV/CHV

2019-07-18 Thread Ville Syrjälä
On Thu, Jul 18, 2019 at 06:11:08PM +0100, Chris Wilson wrote:
> Quoting Ville Syrjala (2019-07-17 12:45:36)
> > From: Ville Syrjälä 
> > 
> > On VLV/CHV there is some kind of linkage between the cdclk frequency
> > and the DP link frequency. The spec says:
> > "For DP audio configuration, cdclk frequency shall be set to
> >  meet the following requirements:
> >  DP Link Frequency(MHz) | Cdclk frequency(MHz)
> >  270| 320 or higher
> >  162| 200 or higher"
> > 
> > I suspect that would more accurately be expressed as
> > "cdclk >= DP link clock", and in any case we can express it like
> > that in the code because of the limited set of cdclk and link
> > frequencies we support.
> > 
> > Without this we can end up in a situation where the cdclk
> > is too low and enabling DP audio will kill the pipe. Happens
> > eg. with 2560x1440 modes where the 266MHz cdclk is sufficient
> > to pump the pixels (241.5 MHz dotclock) but is too low for
> > the DP audio due to the link frequency being 270 MHz.
> > 
> > Cc: sta...@vger.kernel.org
> > Tested-by: Stefan Gottwald 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49
> > Signed-off-by: Ville Syrjälä 
> > ---
> >  drivers/gpu/drm/i915/display/intel_cdclk.c | 11 +++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c 
> > b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > index d0581a1ac243..93b0d190c184 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > @@ -2262,6 +2262,17 @@ int intel_crtc_compute_min_cdclk(const struct 
> > intel_crtc_state *crtc_state)
> > if (crtc_state->has_audio && INTEL_GEN(dev_priv) >= 9)
> > min_cdclk = max(2 * 96000, min_cdclk);
> >  
> > +   /*
> > +* "For DP audio configuration, cdclk frequency shall be set to
> > +*  meet the following requirements:
> > +*  DP Link Frequency(MHz) | Cdclk frequency(MHz)
> > +*  270| 320 or higher
> > +*  162| 200 or higher"
> > +*/
> > +   if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) &&
> > +   intel_crtc_has_dp_encoder(crtc_state) && crtc_state->has_audio)
> > +   min_cdclk = max(crtc_state->port_clock, min_cdclk);
> 
> I tracked port_clock down to being the dp link clock (162 or 270) so
> that part of the story checks out.
> 
> Judging by the rest of the function, I buy that the cdclk and link clock
> may be inscrutably tied together, and accept the test result that the
> cdclk must be at least the link clock with audio enabled.
> 
> It may be that a corner case does require a higher frequency (rather
> than just bumping from 266 to 270), but for here and now

Yeah there could be some extra headroom required. But our cdclk
can only be 200, 266, 320 or 400 MHz (and 200 won't actually get used
due to inexplicable display failure when try to use it). So in practice
we going to actually get bumped 162->266 and 270->320 here. I should
have expressed that better in the commit message.

> Acked-by: Chris Wilson 

Thanks. I amended the explanation a bit and pushed to dinq.

-- 
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 v1 10/11] drm/mediatek: direct include of drm.h in mtk_drm_gem.c

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:06PM +0200, Sam Ravnborg wrote:
> Do not rely on including drm.h from drm_file.h,
> as the include in drm_file.h will be dropped.
> 
> Signed-off-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> Cc: CK Hu 
> Cc: Philipp Zabel 
> Cc: Matthias Brugger 
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-media...@lists.infradead.org
> ---
>  drivers/gpu/drm/mediatek/mtk_drm_gem.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c 
> b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> index 9434f88c6341..ca672f1d140d 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
> @@ -5,6 +5,7 @@
>  
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  #include 
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 09/11] drm: direct include of drm.h in drm_syncobj.c

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:05PM +0200, Sam Ravnborg wrote:
> Do not rely on including drm.h from drm_file.h,
> as the include in drm_file.h will be dropped.
> 
> Signed-off-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Lionel Landwerlin 
> Cc: Chunming Zhou 
> Cc: Christian König 
> ---
>  drivers/gpu/drm/drm_syncobj.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
> index a199c8d56b95..75cb4bb7619e 100644
> --- a/drivers/gpu/drm/drm_syncobj.c
> +++ b/drivers/gpu/drm/drm_syncobj.c
> @@ -53,6 +53,7 @@
>  #include 
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  #include 
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 08/11] drm: direct include of drm.h in drm_prime.c

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:04PM +0200, Sam Ravnborg wrote:
> Do not rely on including drm.h from drm_file.h,
> as the include in drm_file.h will be dropped.
> 
> Signed-off-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Christian König 
> Cc: Noralf Trønnes 
> Cc: Chris Wilson 
> Cc: Eric Anholt 
> ---
>  drivers/gpu/drm/drm_prime.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index 189d980402ad..eca484106cc2 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -30,6 +30,7 @@
>  #include 
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  #include 
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 07/11] drm: direct include of drm.h in drm_gem_shmem_helper.c

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:03PM +0200, Sam Ravnborg wrote:
> Do not rely on including drm.h from drm_file.h,
> as the include in drm_file.h will be dropped.
> 
> Signed-off-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Eric Anholt 
> Cc: Thomas Zimmermann 
> Cc: Rob Herring 
> ---
>  drivers/gpu/drm/drm_gem_shmem_helper.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c 
> b/drivers/gpu/drm/drm_gem_shmem_helper.c
> index 472ea5d81f82..2f64667ac805 100644
> --- a/drivers/gpu/drm/drm_gem_shmem_helper.c
> +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
> @@ -10,6 +10,7 @@
>  #include 
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  #include 
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 05/11] drm/vblank: drop use of DRM_WAIT_ON()

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:01PM +0200, Sam Ravnborg wrote:
> DRM_WAIT_ON() is from the deprecated drm_os_linux header and
> the modern replacement is the wait_event_*.
> 
> The return values differ, so a conversion is needed to
> keep the original interface towards userspace.
> Introduced a switch/case to make code obvious and to allow
> different debug prints depending on the result.
> 
> Signed-off-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> ---
>  drivers/gpu/drm/drm_vblank.c | 29 -
>  1 file changed, 20 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 603ab105125d..8e9ac187500e 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -31,7 +31,6 @@
>  #include 
>  #include 
>  #include 
> -#include 
>  #include 
>  
>  #include "drm_internal.h"
> @@ -1672,19 +1671,31 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, 
> void *data,
>   if (req_seq != seq) {
>   DRM_DEBUG("waiting on vblank count %llu, crtc %u\n",
> req_seq, pipe);
> - DRM_WAIT_ON(ret, vblank->queue, 3 * HZ,
> - vblank_passed(drm_vblank_count(dev, pipe),
> -   req_seq) ||
> - !READ_ONCE(vblank->enabled));
> + ret = wait_event_interruptible_timeout(vblank->queue,
> + vblank_passed(drm_vblank_count(dev, pipe), req_seq) ||
> +   !READ_ONCE(vblank->enabled),
> + msecs_to_jiffies(3000));
>   }
>  
> - if (ret != -EINTR) {
> + switch (ret) {
> + case 0:
> + /* timeout */
> + ret = -EBUSY;
>   drm_wait_vblank_reply(dev, pipe, >reply);
> -
> - DRM_DEBUG("crtc %d returning %u to client\n",
> + DRM_DEBUG("timeout waiting for vblank. crtc %d returning %u to 
> client\n",
> pipe, vblwait->reply.sequence);
> - } else {
> + break;
> + case -ERESTARTSYS:
> + /* interrupted by signal */
> + ret = -EINTR;
>   DRM_DEBUG("crtc %d vblank wait interrupted by signal\n", pipe);
> + break;
> + default:
> + ret = 0;
> + drm_wait_vblank_reply(dev, pipe, >reply);
> + DRM_DEBUG("crtc %d returning %u to client\n",
> +   pipe, vblwait->reply.sequence);
> + break;
>   }
>  
>  done:
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 06/11] drm: direct include of drm.h in drm_gem.c

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:02PM +0200, Sam Ravnborg wrote:
> Do not rely on including drm.h from drm_file.h,
> as the include in drm_file.h will be dropped.
> 
> Signed-off-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Eric Anholt 
> Cc: Thomas Zimmermann 
> Cc: Rob Herring 
> ---
>  drivers/gpu/drm/drm_gem.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index e6c12c6ec728..243f43d70f42 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -39,6 +39,7 @@
>  #include 
>  #include 
>  
> +#include 
>  #include 
>  #include 
>  #include 
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 04/11] drm/ati_pcigart: drop dependency on drm_os_linux.h

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:15:00PM +0200, Sam Ravnborg wrote:
> The drm_os_linux.h header is deprecated.
> Just opencode the sole DRM_WRITE32().

Any plans for the other users of DRM_WRITE()? It seems like it'd be trivial
to fix it up for via and mga. I don't really have any background on
drm_os_linux.h, but it doesn't seem like it'd be that much more effort to just
remove the whole thing.

Sean

> 
> Signed-off-by: Sam Ravnborg 
> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> ---
>  drivers/gpu/drm/ati_pcigart.c | 10 ++
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ati_pcigart.c b/drivers/gpu/drm/ati_pcigart.c
> index 2a413e291a60..580aa2676358 100644
> --- a/drivers/gpu/drm/ati_pcigart.c
> +++ b/drivers/gpu/drm/ati_pcigart.c
> @@ -35,7 +35,6 @@
>  
>  #include 
>  #include 
> -#include 
>  #include 
>  #include 
>  
> @@ -169,6 +168,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct 
> drm_ati_pcigart_info *ga
>   page_base = (u32) entry->busaddr[i];
>  
>   for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) {
> + u32 offset;
>   u32 val;
>  
>   switch(gart_info->gart_reg_if) {
> @@ -184,10 +184,12 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct 
> drm_ati_pcigart_info *ga
>   break;
>   }
>   if (gart_info->gart_table_location ==
> - DRM_ATI_GART_MAIN)
> + DRM_ATI_GART_MAIN) {
>   pci_gart[gart_idx] = cpu_to_le32(val);
> - else
> - DRM_WRITE32(map, gart_idx * sizeof(u32), val);
> + } else {
> + offset = gart_idx * sizeof(u32);
> + writel(val, (void __iomem *)map->handle + 
> offset);
> + }
>   gart_idx++;
>   page_base += ATI_PCIGART_PAGE_SIZE;
>   }
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 18/22] drm/i915/tgl: Define MOCS entries for Tigerlake

2019-07-18 Thread Ville Syrjälä
On Thu, Jul 18, 2019 at 10:09:27AM -0700, Daniele Ceraolo Spurio wrote:
> 
> 
> On 7/18/19 6:08 AM, Ville Syrjälä wrote:
> > On Fri, Jul 12, 2019 at 06:09:36PM -0700, Lucas De Marchi wrote:
> >> From: Tomasz Lis 
> >>
> >> The MOCS table is published as part of bspec, and versioned. Entries
> >> are supposed to never be modified, but new ones can be added. Adding
> >> entries increases table version. The patch includes version 1 entries.
> >>
> >> Two of the 3 legacy entries used for gen9 are no longer expected to work.
> >> Although we are changing the gen11 table, those changes are supposed to
> >> be backward compatible since we are only touching previously undefined
> >> entries.
> >>
> >> Cc: Joonas Lahtinen 
> >> Cc: Mika Kuoppala 
> >> Cc: Daniele Ceraolo Spurio 
> >> Signed-off-by: Tomasz Lis 
> >> Signed-off-by: Lucas De Marchi 
> >> ---
> >>   drivers/gpu/drm/i915/gt/intel_mocs.c | 25 ++---
> >>   1 file changed, 22 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c 
> >> b/drivers/gpu/drm/i915/gt/intel_mocs.c
> >> index 290a5e9b90b9..259e7bec0a63 100644
> >> --- a/drivers/gpu/drm/i915/gt/intel_mocs.c
> >> +++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
> >> @@ -62,6 +62,10 @@ struct drm_i915_mocs_table {
> >>   #define GEN11_NUM_MOCS_ENTRIES   64  /* 63-64 are reserved, but 
> >> configured. */
> >>   
> >>   /* (e)LLC caching options */
> >> +/*
> >> + * Note: LE_0_PAGETABLE works only up to Gen11; for newer gens it means
> >> + * the same as LE_UC
> >> + */
> >>   #define LE_0_PAGETABLE   _LE_CACHEABILITY(0)
> >>   #define LE_1_UC  _LE_CACHEABILITY(1)
> >>   #define LE_2_WT  _LE_CACHEABILITY(2)
> >> @@ -100,8 +104,9 @@ struct drm_i915_mocs_table {
> >>* of bspec.
> >>*
> >>* Entries not part of the following tables are undefined as far as
> >> - * userspace is concerned and shouldn't be relied upon.  For the time
> >> - * being they will be initialized to PTE.
> >> + * userspace is concerned and shouldn't be relied upon.  For Gen < 12
> >> + * they will be initialized to PTE. Gen >= 12 onwards don't have a 
> >> setting for
> >> + * PTE. We use the same value, but that actually means Uncached.
> >>*
> >>* The last two entries are reserved by the hardware. For ICL+ they
> >>* should be initialized according to bspec and never used, for older
> >> @@ -137,11 +142,13 @@ static const struct drm_i915_mocs_entry 
> >> broxton_mocs_table[] = {
> >>   };
> >>   
> >>   #define GEN11_MOCS_ENTRIES \
> >> -  /* Base - Uncached (Deprecated) */ \
> >> +  /* Gen11: Base - Uncached (Deprecated) */ \
> >> +  /* Gen12+: Base - Error (Reserved for Non-Use) */ \
> >>MOCS_ENTRY(I915_MOCS_UNCACHED, \
> >>   LE_1_UC | LE_TC_1_LLC, \
> >>   L3_1_UC), \
> >>/* Base - L3 + LeCC:PAT (Deprecated) */ \
> >> +  /* Gen12+: Base - Reserved */ \
> >>MOCS_ENTRY(I915_MOCS_PTE, \
> >>   LE_0_PAGETABLE | LE_TC_1_LLC, \
> >>   L3_3_WB), \
> >> @@ -233,6 +240,18 @@ static const struct drm_i915_mocs_entry 
> >> broxton_mocs_table[] = {
> >>MOCS_ENTRY(23, \
> >>   LE_3_WB | LE_TC_1_LLC | LE_LRUM(3) | LE_RSC(1) | LE_SCC(7), \
> >>   L3_3_WB), \
> >> +  /* Gen12+: HW Reserved - HDC:L1 + L3 + LLC */ \
> > 
> > Why is this marked as reserved? From the looks of things 48-61 should
> > just be normal entries that userspace can select to get HDC L1$. And
> > looks like icl already has that stuff. So someone should probably figure
> > out if Mesa/etc. can make use of the HDC L1$, and if so we should add
> > the relevant MOCS entries for icl as well.
> 
> Here the reserved terminology is indeed misleading. The 48-59 range is a 
> "special" range where L1 usage is implicitly enabled by the HW, as there 
> is no explicit L1 toggle in the MOCS registers. The reserved here means 
> that the range shouldn't be used for "normal" MOCS settings, but SW can 
> freely use these entries as needed. Similarly, MOCS 60 and 61 are 
> reserved for other special purposes, but are still usable by SW. The 
> only entries SW shouldn't touch are 62 and 63.
> 
> Regarding ICL, Gen11 HW doesn't have the capability so no new entries 
> are required there.

Hmm. The table doesn't list those entries, but HDC_CHICKEN2 seems to be
saying the features is in there. HDC_MODE also talks about HDC L1$.
Confusing.

> 
> > 
> >> +  MOCS_ENTRY(48, \
> >> + LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), \
> >> + L3_3_WB), \
> >> +  /* Gen12+: HW Reserved - HW Special Case (CCS) */ \
> 
> The specs have MOCS 49-51 defined as well.
> 
> Daniele
> 
> >> +  MOCS_ENTRY(60, \
> >> + LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), \
> >> + L3_1_UC), \
> >> +  /* Gen12+: HW Reserved - HW Special Case (Displayable) */ \
> >> +  MOCS_ENTRY(61, \
> >> + LE_1_UC | LE_TC_1_LLC | LE_SCF(1), \
> >> + L3_3_WB), \
> >>/* HW Reserved - SW 

Re: [Intel-gfx] [PATCH 19/22] drm/i915/tgl: Tigerlake only has global MOCS registers

2019-07-18 Thread Daniele Ceraolo Spurio



On 7/12/19 6:09 PM, Lucas De Marchi wrote:

From: Michel Thierry 

Until Icelake, each engine had its own set of 64 MOCS registers. In
order to simplify, Tigerlake moves to only 64 Global MOCS registers,
which are no longer part of the engine context. Since these registers
are now global, they also only need to be initialized once.

These new global MOCS registers are located in the same offset of the
render MOCS register from previous platforms.


No, they're not :). They're located in a new range, which overlaps with 
the location where the fault register was previously located and that's 
why the offset of that one has been changed as well. The code does the 
right thing, so only this sentence needs fixing.


the FAULT_TLB_DATA* registers have been moved as well as part of the 
re-org, so maybe we can have a patch that just moves all the offsets and 
then add the global mocs on top?




 From Gen12 onwards, MOCS must specify the target cache (3:2) and LRU
management (5:4) fields and cannot be programmed to 'use the value from
Private PAT', because these fields are no longer part of the PPAT. Also
cacheability control (1:0) field has changed, 00 no longer means 'use
controls from page table', but uncacheable (UC).


Should we put this as a comment in the code somewhere? Although I'm not 
sure we have any use for this info since we copy the table straight from 
the specs and we should probably trust it is correct.


Daniele



Cc: Daniele Ceraolo Spurio 
Cc: Tomasz Lis 
Signed-off-by: Michel Thierry 
Signed-off-by: Tvrtko Ursulin 
Signed-off-by: Lucas De Marchi 
---
  drivers/gpu/drm/i915/gt/intel_gt.c   | 12 --
  drivers/gpu/drm/i915/gt/intel_mocs.c | 47 
  drivers/gpu/drm/i915/gt/intel_mocs.h |  1 +
  drivers/gpu/drm/i915/i915_drv.h  |  2 +
  drivers/gpu/drm/i915/i915_gem.c  |  1 +
  drivers/gpu/drm/i915/i915_gpu_error.c| 11 --
  drivers/gpu/drm/i915/i915_pci.c  |  3 +-
  drivers/gpu/drm/i915/i915_reg.h  |  3 ++
  drivers/gpu/drm/i915/intel_device_info.h |  1 +
  9 files changed, 74 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
b/drivers/gpu/drm/i915/gt/intel_gt.c
index f7e69db4019d..958edfda2ba2 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -80,8 +80,11 @@ intel_gt_clear_error_registers(struct intel_gt *gt,
}
  
  	if (INTEL_GEN(i915) >= 8) {

-   rmw_clear(uncore, GEN8_RING_FAULT_REG, RING_FAULT_VALID);
-   intel_uncore_posting_read(uncore, GEN8_RING_FAULT_REG);
+   i915_reg_t fault_reg = (INTEL_GEN(i915) >= 12) ?
+   GEN12_RING_FAULT_REG :
+   GEN8_RING_FAULT_REG;
+   rmw_clear(uncore, fault_reg, RING_FAULT_VALID);
+   intel_uncore_posting_read(uncore, fault_reg);
} else if (INTEL_GEN(i915) >= 6) {
struct intel_engine_cs *engine;
enum intel_engine_id id;
@@ -117,7 +120,10 @@ static void gen6_check_faults(struct intel_gt *gt)
  static void gen8_check_faults(struct intel_gt *gt)
  {
struct intel_uncore *uncore = gt->uncore;
-   u32 fault = intel_uncore_read(uncore, GEN8_RING_FAULT_REG);
+   i915_reg_t fault_reg =
+   (INTEL_GEN(gt->i915) >= 12) ?
+   GEN12_RING_FAULT_REG : GEN8_RING_FAULT_REG;
+   u32 fault = intel_uncore_read(uncore, fault_reg);
  
  	if (fault & RING_FAULT_VALID) {

u32 fault_data0, fault_data1;
diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c 
b/drivers/gpu/drm/i915/gt/intel_mocs.c
index 259e7bec0a63..365d8ff11f23 100644
--- a/drivers/gpu/drm/i915/gt/intel_mocs.c
+++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
@@ -365,6 +365,10 @@ void intel_mocs_init_engine(struct intel_engine_cs *engine)
unsigned int index;
u32 unused_value;
  
+	/* Platforms with global MOCS do not need per-engine initialization. */

+   if (HAS_GLOBAL_MOCS_REGISTERS(gt->i915))
+   return;
+
/* Called under a blanket forcewake */
assert_forcewakes_active(uncore, FORCEWAKE_ALL);
  
@@ -389,6 +393,46 @@ void intel_mocs_init_engine(struct intel_engine_cs *engine)

  unused_value);
  }
  
+/**

+ * intel_mocs_init_global() - program the global mocs registers
+ * gt:  pointer to struct intel_gt
+ *
+ * This function initializes the MOCS global registers.
+ */
+void intel_mocs_init_global(struct intel_gt *gt)
+{
+   struct intel_uncore *uncore = gt->uncore;
+   struct drm_i915_mocs_table table;
+   unsigned int index;
+
+   if (!HAS_GLOBAL_MOCS_REGISTERS(gt->i915))
+   return;
+
+   if (!get_mocs_settings(gt, ))
+   return;
+
+   if (GEM_DEBUG_WARN_ON(table.size > table.n_entries))
+   return;
+
+   for (index = 0; index < table.size; index++)
+   

Re: [Intel-gfx] [PATCH v1 03/11] drm: drop uapi dependency from drm_vblank.h

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:14:59PM +0200, Sam Ravnborg wrote:
> drm_vblank.h included uapi/drm/drm.h.
> It turns out this include was not required - delete it.
> 
> Note: uapi/drm/drm.h is included indirect via drm_file.h,
> but there are no dependencies in drm_vblank.h so the removal
> is legit.
> 
> Signed-off-by: Sam Ravnborg 
> Reviewed-by: Daniel Vetter 
> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Daniel Vetter 
> Cc: Stefan Agner 
> Cc: Thierry Reding 

Reviewed-by: Sean Paul 

> ---
>  include/drm/drm_vblank.h | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/include/drm/drm_vblank.h b/include/drm/drm_vblank.h
> index e528bb2f659d..9fe4ba8bc622 100644
> --- a/include/drm/drm_vblank.h
> +++ b/include/drm/drm_vblank.h
> @@ -30,7 +30,6 @@
>  
>  #include 
>  #include 
> -#include 
>  
>  struct drm_device;
>  struct drm_crtc;
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 02/11] drm: drop uapi dependency from drm_print.h

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:14:58PM +0200, Sam Ravnborg wrote:
> drm_print.h used DRM_NAME - thus adding a dependency from
> include/drm/drm_print.h => uapi/drm/drm.h
> 
> Hardcode the name "drm" to break this dependency.
> The idea is that there shall be a minimal dependency
> between include/drm/* and uapi/*

You might also want to clean up the other uses of DRM_NAME in armada and i915
while you're at it. The easiest way to satisfy Chris' usecase and remove the
dependency would be to add #define DRM_PRINT_NAME "drm" in drm_print.h and use
that.

Sean

> 
> Signed-off-by: Sam Ravnborg 
> Suggested-by: Daniel Vetter 
> Reviewed-by: Daniel Vetter 
> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Rob Clark 
> Cc: Sean Paul 
> Cc: Chris Wilson 
> Cc: Daniel Vetter 
> ---
>  include/drm/drm_print.h | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index a5d6f2f3e430..760d1bd0eaf1 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -32,8 +32,6 @@
>  #include 
>  #include 
>  
> -#include 
> -
>  /**
>   * DOC: print
>   *
> @@ -287,7 +285,7 @@ void drm_err(const char *format, ...);
>  /* Macros to make printk easier */
>  
>  #define _DRM_PRINTK(once, level, fmt, ...)   \
> - printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
> + printk##once(KERN_##level "[drm] " fmt, ##__VA_ARGS__)
>  
>  #define DRM_INFO(fmt, ...)   \
>   _DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
> -- 
> 2.20.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v1 01/11] drm/panel: make drm_panel.h self-contained

2019-07-18 Thread Sean Paul
On Thu, Jul 18, 2019 at 06:14:57PM +0200, Sam Ravnborg wrote:
> From: Jani Nikula 
> 
> Fix build warning if drm_panel.h is built with CONFIG_OF=n or
> CONFIG_DRM_PANEL=n and included without the prerequisite err.h:
> 
> ./include/drm/drm_panel.h: In function ‘of_drm_find_panel’:
> ./include/drm/drm_panel.h:203:9: error: implicit declaration of function 
> ‘ERR_PTR’ [-Werror=implicit-function-declaration]
>   return ERR_PTR(-ENODEV);
>  ^~~
> ./include/drm/drm_panel.h:203:9: error: returning ‘int’ from a function with 
> return type ‘struct drm_panel *’ makes pointer from integer without a cast 
> [-Werror=int-conversion]
>   return ERR_PTR(-ENODEV);
>  ^~~~
> 
> Fixes: 5fa8e4a22182 ("drm/panel: Make of_drm_find_panel() return an ERR_PTR() 
> instead of NULL")
> Cc: Boris Brezillon 
> Signed-off-by: Jani Nikula 
> Acked-by: Thierry Reding 
> Reviewed-by: Sam Ravnborg 

Reviewed-by: Sean Paul 

> ---
>  include/drm/drm_panel.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h
> index 8c738c0e6e9f..26377836141c 100644
> --- a/include/drm/drm_panel.h
> +++ b/include/drm/drm_panel.h
> @@ -24,6 +24,7 @@
>  #ifndef __DRM_PANEL_H__
>  #define __DRM_PANEL_H__
>  
> +#include 
>  #include 
>  #include 
>  
> -- 
> 2.20.1
> 

-- 
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.IGT: success for series starting with [1/4] drm/i915: Drop wmb() inside pread_gtt

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/4] drm/i915: Drop wmb() inside pread_gtt
URL   : https://patchwork.freedesktop.org/series/63895/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6504_full -> Patchwork_13690_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@rcs0-s3:
- shard-kbl:  [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +4 
similar issues
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-kbl3/igt@gem_ctx_isolat...@rcs0-s3.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-kbl6/igt@gem_ctx_isolat...@rcs0-s3.html

  * igt@kms_cursor_edge_walk@pipe-c-128x128-top-edge:
- shard-iclb: [PASS][3] -> [INCOMPLETE][4] ([fdo#107713])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb2/igt@kms_cursor_edge_w...@pipe-c-128x128-top-edge.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-iclb7/igt@kms_cursor_edge_w...@pipe-c-128x128-top-edge.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw:  [PASS][5] -> [FAIL][6] ([fdo#105767])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-hsw4/igt@kms_cursor_leg...@2x-long-cursor-vs-flip-atomic.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-hsw6/igt@kms_cursor_leg...@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  [PASS][7] -> [FAIL][8] ([fdo#105363])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl8/igt@kms_f...@flip-vs-expired-vblank.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-skl7/igt@kms_f...@flip-vs-expired-vblank.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
- shard-glk:  [PASS][9] -> [FAIL][10] ([fdo#103060])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-glk1/igt@kms_f...@modeset-vs-vblank-race-interruptible.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-glk7/igt@kms_f...@modeset-vs-vblank-race-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
- shard-iclb: [PASS][11] -> [FAIL][12] ([fdo#103167]) +6 similar 
issues
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-pri-indfb-multidraw.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-iclb2/igt@kms_frontbuffer_track...@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
- shard-iclb: [PASS][13] -> [DMESG-WARN][14] ([fdo#107724])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb7/igt@kms_frontbuffer_track...@fbcpsr-indfb-scaledprimary.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-iclb1/igt@kms_frontbuffer_track...@fbcpsr-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary:
- shard-iclb: [PASS][15] -> [DMESG-FAIL][16] ([fdo#103167] / 
[fdo#107724])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb2/igt@kms_frontbuffer_track...@fbcpsr-shrfb-scaledprimary.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-iclb1/igt@kms_frontbuffer_track...@fbcpsr-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen:
- shard-iclb: [PASS][17] -> [INCOMPLETE][18] ([fdo#106978] / 
[fdo#107713])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb8/igt@kms_frontbuffer_track...@psr-1p-primscrn-spr-indfb-fullscreen.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-iclb7/igt@kms_frontbuffer_track...@psr-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
- shard-skl:  [PASS][19] -> [FAIL][20] ([fdo#108145]) +1 similar 
issue
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl10/igt@kms_plane_alpha_bl...@pipe-c-constant-alpha-min.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-skl2/igt@kms_plane_alpha_bl...@pipe-c-constant-alpha-min.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +5 similar 
issues
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/shard-iclb1/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-apl:  [PASS][23] -> [DMESG-WARN][24] ([fdo#108566]) +3 
similar issues
   [23]: 

Re: [Intel-gfx] [PATCH] drm/i915/ehl: Use an id of 4 while accessing DPLL4's CR0 and CR1

2019-07-18 Thread Ville Syrjälä
On Tue, Jul 16, 2019 at 07:13:16PM -0700, Vivek Kasireddy wrote:
> Although, DPLL4 enable and disable is associated with MGPLL1_ENABLE
> register, we can use ICL_DPLL_CFGCR0/CR1 macros to access this dpll's
> CR0 and CR1 registers by passing an id of 4 to these macros.
> 
> Reported-by: Ville Syrjälä 
> Cc: Ville Syrjälä 
> Cc: José Roberto de Souza 
> Cc: Matt Roper 
> Cc: Imre Deak 
> Signed-off-by: Vivek Kasireddy 
> ---
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 18 ++
>  1 file changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c 
> b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index 319a26a1ec10..f9bdf8514a53 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -3127,8 +3127,13 @@ static bool icl_pll_get_hw_state(struct 
> drm_i915_private *dev_priv,
>   hw_state->cfgcr0 = I915_READ(TGL_DPLL_CFGCR0(id));
>   hw_state->cfgcr1 = I915_READ(TGL_DPLL_CFGCR1(id));
>   } else {
> - hw_state->cfgcr0 = I915_READ(ICL_DPLL_CFGCR0(id));
> - hw_state->cfgcr1 = I915_READ(ICL_DPLL_CFGCR1(id));
> + if (IS_ELKHARTLAKE(dev_priv) && id == DPLL_ID_EHL_DPLL4) {
> + hw_state->cfgcr0 = I915_READ(ICL_DPLL_CFGCR0(4));
> + hw_state->cfgcr1 = I915_READ(ICL_DPLL_CFGCR1(4));
> + } else {
> + hw_state->cfgcr0 = I915_READ(ICL_DPLL_CFGCR0(id));
> + hw_state->cfgcr1 = I915_READ(ICL_DPLL_CFGCR1(id));
> + }
>   }
>  
>   ret = true;
> @@ -3169,8 +3174,13 @@ static void icl_dpll_write(struct drm_i915_private 
> *dev_priv,
>   cfgcr0_reg = TGL_DPLL_CFGCR0(id);
>   cfgcr1_reg = TGL_DPLL_CFGCR1(id);
>   } else {
> - cfgcr0_reg = ICL_DPLL_CFGCR0(id);
> - cfgcr1_reg = ICL_DPLL_CFGCR1(id);
> + if (IS_ELKHARTLAKE(dev_priv) && id == DPLL_ID_EHL_DPLL4) {
> + cfgcr0_reg = ICL_DPLL_CFGCR0(4);
> + cfgcr1_reg = ICL_DPLL_CFGCR1(4);
> + } else {
> + cfgcr0_reg = ICL_DPLL_CFGCR0(id);
> + cfgcr1_reg = ICL_DPLL_CFGCR1(id);
> + }

I was a bit worried this would also affect other parts of the code, but 
at least ICL_DPCLKA_CFGCR0_DDI_CLK_SEL() seems to do the right thing
with the id==2, and I couldn't immediately spot other issues.

Also surprising that ci didn't get confused by the fact that this was posted
as a reply to another series. Generally you should avoid replying with
anything except direct replacements for the original patches in the
series.

Pushed to dinq. Thanks for the patch.

>   }
>  
>   I915_WRITE(cfgcr0_reg, hw_state->cfgcr0);
> -- 
> 2.21.0

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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: YCbCr output fixes and prep work for YCbCr 4:4:4 output (rev2)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: YCbCr output fixes and prep work for YCbCr 4:4:4 output (rev2)
URL   : https://patchwork.freedesktop.org/series/63893/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6504 -> Patchwork_13692


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_reloc@basic-cpu-read:
- fi-icl-u3:  [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-icl-u3/igt@gem_exec_re...@basic-cpu-read.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/fi-icl-u3/igt@gem_exec_re...@basic-cpu-read.html

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

  * igt@i915_module_load@reload-with-fault-injection:
- fi-icl-dsi: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-icl-dsi/igt@i915_module_l...@reload-with-fault-injection.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/fi-icl-dsi/igt@i915_module_l...@reload-with-fault-injection.html

  
 Possible fixes 

  * igt@kms_chamelium@dp-edid-read:
- fi-cml-u2:  [FAIL][7] ([fdo#109483]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13692/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html

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


Participating hosts (54 -> 47)
--

  Additional (1): fi-pnv-d510 
  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6504 -> Patchwork_13692

  CI_DRM_6504: a23df173f63ed05ae452ab478a01131a89938654 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13692: 59d67bbd6836f528a66b65075708f5c993b4373a @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

59d67bbd6836 drm/i915: Add PIPECONF YCbCr 4:4:4 programming for ILK-IVB
bef6896c1fb2 drm/i915: Set up ILK/SNB csc unit properly for YCbCr output
309ff10d40e5 drm/i915: Document ILK+ pipe csc matrix better
144a053a6025 drm/i915: Add PIPECONF YCbCr 4:4:4 programming for HSW
2408a3989316 drm/i915: Simplify intel_get_crtc_ycbcr_config()
8d8da3e76616 drm/i915: Don't look at unrelated PIPECONF bits for interlaced 
readout
1ee8d9c20bb1 drm/i915: Switch to using DP_MSA_MISC_* defines
ae1f5e8aa2a6 drm/i915: Never set limited_color_range=true for YCbCr output
52a959f564ed drm/i915: Extract intel_hdmi_limited_color_range()
474241913086 drm/i915: Fix AVI infoframe quantization range for YCbCr output
6004b3d70dcf drm/i915: Fix HSW+ DP MSA YCbCr colorspace indication
3b574e4da250 drm/dp: Add definitons for MSA MISC bits

== Logs ==

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

Re: [Intel-gfx] [PATCH] drm/i915/ehl: Add support for DPLL4 (v10)

2019-07-18 Thread Ville Syrjälä
On Tue, Jul 16, 2019 at 06:54:39PM -0700, Vivek Kasireddy wrote:
> On Wed, 10 Jul 2019 21:47:52 +0300
> Ville Syrjälä  wrote:
> Hi Ville,
> 
> > On Wed, Jul 03, 2019 at 04:03:53PM -0700, Vivek Kasireddy wrote:
> > > This patch adds support for DPLL4 on EHL that include the
> > > following restrictions:
> > > 
> > > - DPLL4 cannot be used with DDIA (combo port A internal eDP usage).
> > >   DPLL4 can be used with other DDIs, including DDID
> > >   (combo port A external usage).
> > > 
> > > - DPLL4 cannot be enabled when DC5 or DC6 are enabled.
> > > 
> > > - The DPLL4 enable, lock, power enabled, and power state are
> > > connected to the MGPLL1_ENABLE register.
> > > 
> > > v2: (suggestions from Bob Paauwe)
> > > - Rework ehl_get_dpll() function to call intel_find_shared_dpll()
> > > and iterate twice: once for Combo plls and once for MG plls.
> > > 
> > > - Use MG pll funcs for DPLL4 instead of creating new ones and modify
> > >   mg_pll_enable to include the restrictions for EHL.
> > > 
> > > v3: Fix compilation error
> > > 
> > > v4: (suggestions from Lucas and Ville)
> > > - Treat DPLL4 as a combo phy PLL and not as MG PLL
> > > - Disable DC states when this DPLL is being enabled
> > > - Reuse icl_get_dpll instead of creating a separate one for EHL
> > > 
> > > v5: (suggestion from Ville)
> > > - Refcount the DC OFF power domains during the enabling and
> > > disabling of this DPLL.
> > > 
> > > v6: rebase
> > > 
> > > v7: (suggestion from Imre)
> > > - Add a new power domain instead of iterating over the domains
> > >   assoicated with DC OFF power well.
> > > 
> > > v8: (Ville and Imre)
> > > - Rename POWER_DOMAIN_DPLL4 TO POWER_DOMAIN_DPLL_DC_OFF
> > > - Grab a reference in intel_modeset_setup_hw_state() if this
> > >   DPLL was already enabled perhaps by BIOS.
> > > - Check for the port type instead of the encoder
> > > 
> > > v9: (Ville)
> > > - Move the block of code that grabs a reference to the power domain
> > >   POWER_DOMAIN_DPLL_DC_OFF to intel_modeset_readout_hw_state() to
> > > ensure that there is a reference present before this DPLL might get
> > > disabled.
> > > 
> > > v10: rebase
> > > 
> > > Cc: José Roberto de Souza 
> > > Cc: Ville Syrjälä 
> > > Cc: Matt Roper 
> > > Cc: Imre Deak 
> > > Signed-off-by: Vivek Kasireddy 
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_display.c  |  7 +++
> > >  .../drm/i915/display/intel_display_power.c|  3 ++
> > >  .../drm/i915/display/intel_display_power.h|  1 +
> > >  drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 47
> > > +-- drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> > > |  6 +++ 5 files changed, 60 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c index
> > > 919f5ac844c8..557462208462 100644 ---
> > > a/drivers/gpu/drm/i915/display/intel_display.c +++
> > > b/drivers/gpu/drm/i915/display/intel_display.c @@ -16653,6
> > > +16653,13 @@ static void intel_modeset_readout_hw_state(struct
> > > drm_device *dev) pll->on = pll->info->funcs->get_hw_state(dev_priv,
> > > pll, >state.hw_state);
> > > +
> > > + if (IS_ELKHARTLAKE(dev_priv) && pll->on &&
> > > + pll->info->id == DPLL_ID_EHL_DPLL4) {
> > > + pll->wakeref =
> > > intel_display_power_get(dev_priv,
> > > +
> > > POWER_DOMAIN_DPLL_DC_OFF);
> > > + }
> > > +
> > >   pll->state.crtc_mask = 0;
> > >   for_each_intel_crtc(dev, crtc) {
> > >   struct intel_crtc_state *crtc_state =
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c
> > > b/drivers/gpu/drm/i915/display/intel_display_power.c index
> > > c19b958461ca..7437fc71d289 100644 ---
> > > a/drivers/gpu/drm/i915/display/intel_display_power.c +++
> > > b/drivers/gpu/drm/i915/display/intel_display_power.c @@ -118,6
> > > +118,8 @@ intel_display_power_domain_str(enum
> > > intel_display_power_domain domain) return "MODESET"; case
> > > POWER_DOMAIN_GT_IRQ: return "GT_IRQ";
> > > + case POWER_DOMAIN_DPLL_DC_OFF:
> > > + return "DPLL_DC_OFF";
> > >   default:
> > >   MISSING_CASE(domain);
> > >   return "?";
> > > @@ -2455,6 +2457,7 @@ void intel_display_power_put(struct
> > > drm_i915_private *dev_priv, ICL_PW_2_POWER_DOMAINS
> > > | \ BIT_ULL(POWER_DOMAIN_MODESET)
> > > | \ BIT_ULL(POWER_DOMAIN_AUX_A)
> > > | \
> > > + BIT_ULL(POWER_DOMAIN_DPLL_DC_OFF) |
> > > \ BIT_ULL(POWER_DOMAIN_INIT))
> > >  
> > >  #define ICL_DDI_IO_A_POWER_DOMAINS ( \
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h
> > > b/drivers/gpu/drm/i915/display/intel_display_power.h index
> > > ff57b0a7fe59..8f43f7051a16 100644 ---
> > > a/drivers/gpu/drm/i915/display/intel_display_power.h +++
> > > b/drivers/gpu/drm/i915/display/intel_display_power.h @@ -59,6 +59,7
> > > @@ enum intel_display_power_domain { POWER_DOMAIN_GMBUS,
> > >   

Re: [Intel-gfx] [PATCH] drm/i915: Make sure cdclk is high enough for DP audio on VLV/CHV

2019-07-18 Thread Chris Wilson
Quoting Ville Syrjala (2019-07-17 12:45:36)
> From: Ville Syrjälä 
> 
> On VLV/CHV there is some kind of linkage between the cdclk frequency
> and the DP link frequency. The spec says:
> "For DP audio configuration, cdclk frequency shall be set to
>  meet the following requirements:
>  DP Link Frequency(MHz) | Cdclk frequency(MHz)
>  270| 320 or higher
>  162| 200 or higher"
> 
> I suspect that would more accurately be expressed as
> "cdclk >= DP link clock", and in any case we can express it like
> that in the code because of the limited set of cdclk and link
> frequencies we support.
> 
> Without this we can end up in a situation where the cdclk
> is too low and enabling DP audio will kill the pipe. Happens
> eg. with 2560x1440 modes where the 266MHz cdclk is sufficient
> to pump the pixels (241.5 MHz dotclock) but is too low for
> the DP audio due to the link frequency being 270 MHz.
> 
> Cc: sta...@vger.kernel.org
> Tested-by: Stefan Gottwald 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49
> Signed-off-by: Ville Syrjälä 
> ---
>  drivers/gpu/drm/i915/display/intel_cdclk.c | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c 
> b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index d0581a1ac243..93b0d190c184 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -2262,6 +2262,17 @@ int intel_crtc_compute_min_cdclk(const struct 
> intel_crtc_state *crtc_state)
> if (crtc_state->has_audio && INTEL_GEN(dev_priv) >= 9)
> min_cdclk = max(2 * 96000, min_cdclk);
>  
> +   /*
> +* "For DP audio configuration, cdclk frequency shall be set to
> +*  meet the following requirements:
> +*  DP Link Frequency(MHz) | Cdclk frequency(MHz)
> +*  270| 320 or higher
> +*  162| 200 or higher"
> +*/
> +   if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) &&
> +   intel_crtc_has_dp_encoder(crtc_state) && crtc_state->has_audio)
> +   min_cdclk = max(crtc_state->port_clock, min_cdclk);

I tracked port_clock down to being the dp link clock (162 or 270) so
that part of the story checks out.

Judging by the rest of the function, I buy that the cdclk and link clock
may be inscrutably tied together, and accept the test result that the
cdclk must be at least the link clock with audio enabled.

It may be that a corner case does require a higher frequency (rather
than just bumping from 266 to 270), but for here and now
Acked-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 18/22] drm/i915/tgl: Define MOCS entries for Tigerlake

2019-07-18 Thread Daniele Ceraolo Spurio



On 7/18/19 6:08 AM, Ville Syrjälä wrote:

On Fri, Jul 12, 2019 at 06:09:36PM -0700, Lucas De Marchi wrote:

From: Tomasz Lis 

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

Two of the 3 legacy entries used for gen9 are no longer expected to work.
Although we are changing the gen11 table, those changes are supposed to
be backward compatible since we are only touching previously undefined
entries.

Cc: Joonas Lahtinen 
Cc: Mika Kuoppala 
Cc: Daniele Ceraolo Spurio 
Signed-off-by: Tomasz Lis 
Signed-off-by: Lucas De Marchi 
---
  drivers/gpu/drm/i915/gt/intel_mocs.c | 25 ++---
  1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c 
b/drivers/gpu/drm/i915/gt/intel_mocs.c
index 290a5e9b90b9..259e7bec0a63 100644
--- a/drivers/gpu/drm/i915/gt/intel_mocs.c
+++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
@@ -62,6 +62,10 @@ struct drm_i915_mocs_table {
  #define GEN11_NUM_MOCS_ENTRIES64  /* 63-64 are reserved, but 
configured. */
  
  /* (e)LLC caching options */

+/*
+ * Note: LE_0_PAGETABLE works only up to Gen11; for newer gens it means
+ * the same as LE_UC
+ */
  #define LE_0_PAGETABLE_LE_CACHEABILITY(0)
  #define LE_1_UC   _LE_CACHEABILITY(1)
  #define LE_2_WT   _LE_CACHEABILITY(2)
@@ -100,8 +104,9 @@ struct drm_i915_mocs_table {
   * of bspec.
   *
   * Entries not part of the following tables are undefined as far as
- * userspace is concerned and shouldn't be relied upon.  For the time
- * being they will be initialized to PTE.
+ * userspace is concerned and shouldn't be relied upon.  For Gen < 12
+ * they will be initialized to PTE. Gen >= 12 onwards don't have a setting for
+ * PTE. We use the same value, but that actually means Uncached.
   *
   * The last two entries are reserved by the hardware. For ICL+ they
   * should be initialized according to bspec and never used, for older
@@ -137,11 +142,13 @@ static const struct drm_i915_mocs_entry 
broxton_mocs_table[] = {
  };
  
  #define GEN11_MOCS_ENTRIES \

-   /* Base - Uncached (Deprecated) */ \
+   /* Gen11: Base - Uncached (Deprecated) */ \
+   /* Gen12+: Base - Error (Reserved for Non-Use) */ \
MOCS_ENTRY(I915_MOCS_UNCACHED, \
   LE_1_UC | LE_TC_1_LLC, \
   L3_1_UC), \
/* Base - L3 + LeCC:PAT (Deprecated) */ \
+   /* Gen12+: Base - Reserved */ \
MOCS_ENTRY(I915_MOCS_PTE, \
   LE_0_PAGETABLE | LE_TC_1_LLC, \
   L3_3_WB), \
@@ -233,6 +240,18 @@ static const struct drm_i915_mocs_entry 
broxton_mocs_table[] = {
MOCS_ENTRY(23, \
   LE_3_WB | LE_TC_1_LLC | LE_LRUM(3) | LE_RSC(1) | LE_SCC(7), \
   L3_3_WB), \
+   /* Gen12+: HW Reserved - HDC:L1 + L3 + LLC */ \


Why is this marked as reserved? From the looks of things 48-61 should
just be normal entries that userspace can select to get HDC L1$. And
looks like icl already has that stuff. So someone should probably figure
out if Mesa/etc. can make use of the HDC L1$, and if so we should add
the relevant MOCS entries for icl as well.


Here the reserved terminology is indeed misleading. The 48-59 range is a 
"special" range where L1 usage is implicitly enabled by the HW, as there 
is no explicit L1 toggle in the MOCS registers. The reserved here means 
that the range shouldn't be used for "normal" MOCS settings, but SW can 
freely use these entries as needed. Similarly, MOCS 60 and 61 are 
reserved for other special purposes, but are still usable by SW. The 
only entries SW shouldn't touch are 62 and 63.


Regarding ICL, Gen11 HW doesn't have the capability so no new entries 
are required there.





+   MOCS_ENTRY(48, \
+  LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), \
+  L3_3_WB), \
+   /* Gen12+: HW Reserved - HW Special Case (CCS) */ \


The specs have MOCS 49-51 defined as well.

Daniele


+   MOCS_ENTRY(60, \
+  LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), \
+  L3_1_UC), \
+   /* Gen12+: HW Reserved - HW Special Case (Displayable) */ \
+   MOCS_ENTRY(61, \
+  LE_1_UC | LE_TC_1_LLC | LE_SCF(1), \
+  L3_3_WB), \
/* HW Reserved - SW program but never use */ \
MOCS_ENTRY(62, \
   LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), \
--
2.21.0



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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm: header maintenance

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm: header maintenance
URL   : https://patchwork.freedesktop.org/series/63900/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6504 -> Patchwork_13691


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

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

  
 Possible fixes 

  * igt@kms_chamelium@dp-edid-read:
- fi-cml-u2:  [FAIL][5] ([fdo#109483]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13691/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html

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

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

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (54 -> 45)
--

  Additional (1): fi-pnv-d510 
  Missing(10): fi-kbl-soraka fi-hsw-4770r fi-ilk-m540 fi-byt-squawks 
fi-bsw-cyan fi-apl-guc fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6504 -> Patchwork_13691

  CI_DRM_6504: a23df173f63ed05ae452ab478a01131a89938654 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13691: 96a1d990294f84e9e20e6d0d8d95cf7fcc2c7667 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

96a1d990294f drm: drop uapi dependency from drm_file.h
5e97e4edeb58 drm/mediatek: direct include of drm.h in mtk_drm_gem.c
f01beafe627c drm: direct include of drm.h in drm_syncobj.c
cdd0c64f15fd drm: direct include of drm.h in drm_prime.c
9c025c1aba62 drm: direct include of drm.h in drm_gem_shmem_helper.c
1d8f58ca09c8 drm: direct include of drm.h in drm_gem.c
a64c7d7bde6b drm/vblank: drop use of DRM_WAIT_ON()
3447b6726480 drm/ati_pcigart: drop dependency on drm_os_linux.h
7c8cbcd71261 drm: drop uapi dependency from drm_vblank.h
f605dd5fa4e8 drm: drop uapi dependency from drm_print.h
6910607ff7fd drm/panel: make drm_panel.h self-contained

== Logs ==

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

Re: [Intel-gfx] [PATCH v1 02/11] drm: drop uapi dependency from drm_print.h

2019-07-18 Thread Chris Wilson
Quoting Sam Ravnborg (2019-07-18 17:14:58)
> drm_print.h used DRM_NAME - thus adding a dependency from
> include/drm/drm_print.h => uapi/drm/drm.h
> 
> Hardcode the name "drm" to break this dependency.
> The idea is that there shall be a minimal dependency
> between include/drm/* and uapi/*
> 
> Signed-off-by: Sam Ravnborg 
> Suggested-by: Daniel Vetter 
> Reviewed-by: Daniel Vetter 
> Cc: Maarten Lankhorst 
> Cc: Maxime Ripard 
> Cc: Sean Paul 
> Cc: David Airlie 
> Cc: Rob Clark 
> Cc: Sean Paul 
> Cc: Chris Wilson 
> Cc: Daniel Vetter 
> ---
>  include/drm/drm_print.h | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index a5d6f2f3e430..760d1bd0eaf1 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -32,8 +32,6 @@
>  #include 
>  #include 
>  
> -#include 
> -
>  /**
>   * DOC: print
>   *
> @@ -287,7 +285,7 @@ void drm_err(const char *format, ...);
>  /* Macros to make printk easier */
>  
>  #define _DRM_PRINTK(once, level, fmt, ...) \
> -   printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
> +   printk##once(KERN_##level "[drm] " fmt, ##__VA_ARGS__)

I guess I'm th only one who

#undef DRM_NAME
#define DRM_NAME i915

just so that I didn't have inane logs?

One might suggest that instead of hardcoding it, follow the pr_fmt()
pattern and only add "[drm]" for the drm core.

Even then it so useless (which drm driver is this message for???) that I
want to remove them all :(
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH v2 05/12] drm/i915: Never set limited_color_range=true for YCbCr output

2019-07-18 Thread Ville Syrjala
From: Ville Syrjälä 

crtc_state->limited_color_range only applies to RGB output but
we're currently setting it even for YCbCr output. That will
lead to conflicting MSA and PIPECONF settings which can mess
up the image. Let's make sure limited_color_range stays unset
with YCbCr output.

Also WARN if we end up with such a bogus combination when
programming the MSA MISC bits as it's impossible to even
indicate quantization rangle for YCbCr via MSA MISC. YCbCr
output is simply assumed to be limited range always. Note
that VSC SDP does provide a mechanism for full range YCbCr,
so in the future we may want to rethink how we compute/store
this state.

And for good measure we add the same WARN to the HDMI path.

v2: s/==/!=/ in the HDMI WARN

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_ddi.c  | 10 +++---
 drivers/gpu/drm/i915/display/intel_dp.c   | 10 ++
 drivers/gpu/drm/i915/display/intel_hdmi.c | 20 +---
 3 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index 157c5851a688..7dd54f573f35 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -1706,9 +1706,6 @@ void intel_ddi_set_pipe_settings(const struct 
intel_crtc_state *crtc_state)
 
temp = TRANS_MSA_SYNC_CLK;
 
-   if (crtc_state->limited_color_range)
-   temp |= TRANS_MSA_CEA_RANGE;
-
switch (crtc_state->pipe_bpp) {
case 18:
temp |= TRANS_MSA_6_BPC;
@@ -1727,6 +1724,13 @@ void intel_ddi_set_pipe_settings(const struct 
intel_crtc_state *crtc_state)
break;
}
 
+   /* nonsense combination */
+   WARN_ON(crtc_state->limited_color_range &&
+   crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB);
+
+   if (crtc_state->limited_color_range)
+   temp |= TRANS_MSA_CEA_RANGE;
+
/*
 * As per DP 1.2 spec section 2.3.4.3 while sending
 * YCBCR 444 signals we should program MSA MISC1/0 fields with
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 0eb5d66f87a7..84d2724f0854 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2126,6 +2126,16 @@ bool intel_dp_limited_color_range(const struct 
intel_crtc_state *crtc_state,
const struct drm_display_mode *adjusted_mode =
_state->base.adjusted_mode;
 
+   /*
+* Our YCbCr output is always limited range.
+* crtc_state->limited_color_range only applies to RGB,
+* and it must never be set for YCbCr or we risk setting
+* some conflicting bits in PIPECONF which will mess up
+* the colors on the monitor.
+*/
+   if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB)
+   return false;
+
if (intel_conn_state->broadcast_rgb == INTEL_BROADCAST_RGB_AUTO) {
/*
 * See:
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c 
b/drivers/gpu/drm/i915/display/intel_hdmi.c
index ca377ba3a15e..325abd462a46 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -724,6 +724,10 @@ intel_hdmi_compute_avi_infoframe(struct intel_encoder 
*encoder,
 
drm_hdmi_avi_infoframe_colorspace(frame, conn_state);
 
+   /* nonsense combination */
+   WARN_ON(crtc_state->limited_color_range &&
+   crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB);
+
if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_RGB) {
drm_hdmi_avi_infoframe_quant_range(frame, connector,
   adjusted_mode,
@@ -2305,6 +2309,16 @@ static bool intel_hdmi_limited_color_range(const struct 
intel_crtc_state *crtc_s
const struct drm_display_mode *adjusted_mode =
_state->base.adjusted_mode;
 
+   /*
+* Our YCbCr output is always limited range.
+* crtc_state->limited_color_range only applies to RGB,
+* and it must never be set for YCbCr or we risk setting
+* some conflicting bits in PIPECONF which will mess up
+* the colors on the monitor.
+*/
+   if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB)
+   return false;
+
if (intel_conn_state->broadcast_rgb == INTEL_BROADCAST_RGB_AUTO) {
/* See CEA-861-E - 5.1 Default Encoding Parameters */
return crtc_state->has_hdmi_sink &&
@@ -2341,9 +2355,6 @@ int intel_hdmi_compute_config(struct intel_encoder 
*encoder,
if (pipe_config->has_hdmi_sink)
pipe_config->has_infoframe = true;
 
-   pipe_config->limited_color_range =
-   intel_hdmi_limited_color_range(pipe_config, conn_state);
-
if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) {

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: header maintenance

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm: header maintenance
URL   : https://patchwork.freedesktop.org/series/63900/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
6910607ff7fd drm/panel: make drm_panel.h self-contained
f605dd5fa4e8 drm: drop uapi dependency from drm_print.h
7c8cbcd71261 drm: drop uapi dependency from drm_vblank.h
3447b6726480 drm/ati_pcigart: drop dependency on drm_os_linux.h
a64c7d7bde6b drm/vblank: drop use of DRM_WAIT_ON()
-:42: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#42: FILE: drivers/gpu/drm/drm_vblank.c:1675:
+   ret = wait_event_interruptible_timeout(vblank->queue,
+   vblank_passed(drm_vblank_count(dev, pipe), req_seq) ||

total: 0 errors, 0 warnings, 1 checks, 46 lines checked
1d8f58ca09c8 drm: direct include of drm.h in drm_gem.c
9c025c1aba62 drm: direct include of drm.h in drm_gem_shmem_helper.c
cdd0c64f15fd drm: direct include of drm.h in drm_prime.c
f01beafe627c drm: direct include of drm.h in drm_syncobj.c
5e97e4edeb58 drm/mediatek: direct include of drm.h in mtk_drm_gem.c
96a1d990294f drm: drop uapi dependency from drm_file.h

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

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Add HDCP capability info to i915_display_info. (rev2)

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: Add HDCP capability info to i915_display_info. (rev2)
URL   : https://patchwork.freedesktop.org/series/63819/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6504_full -> Patchwork_13687_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

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

  * igt@i915_selftest@live_hangcheck:
- shard-iclb: [PASS][3] -> [INCOMPLETE][4] ([fdo#107713] / 
[fdo#108569])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb7/igt@i915_selftest@live_hangcheck.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-iclb8/igt@i915_selftest@live_hangcheck.html

  * igt@i915_suspend@debugfs-reader:
- shard-skl:  [PASS][5] -> [INCOMPLETE][6] ([fdo#104108])
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl6/igt@i915_susp...@debugfs-reader.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-skl6/igt@i915_susp...@debugfs-reader.html

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

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-skl:  [PASS][9] -> [INCOMPLETE][10] ([fdo#110741])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl7/igt@kms_cursor_...@pipe-a-cursor-suspend.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-skl6/igt@kms_cursor_...@pipe-a-cursor-suspend.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw:  [PASS][11] -> [FAIL][12] ([fdo#105767])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-hsw4/igt@kms_cursor_leg...@2x-long-cursor-vs-flip-atomic.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-hsw1/igt@kms_cursor_leg...@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_flip@flip-vs-expired-vblank:
- shard-skl:  [PASS][13] -> [FAIL][14] ([fdo#105363])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-skl8/igt@kms_f...@flip-vs-expired-vblank.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-skl2/igt@kms_f...@flip-vs-expired-vblank.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
- shard-glk:  [PASS][15] -> [FAIL][16] ([fdo#103060])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-glk1/igt@kms_f...@modeset-vs-vblank-race-interruptible.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-glk9/igt@kms_f...@modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip_tiling@flip-to-x-tiled:
- shard-iclb: [PASS][17] -> [FAIL][18] ([fdo#108134])
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb8/igt@kms_flip_til...@flip-to-x-tiled.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-iclb6/igt@kms_flip_til...@flip-to-x-tiled.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#103167]) +4 similar 
issues
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/shard-iclb3/igt@kms_frontbuffer_track...@fbc-1p-pri-indfb-multidraw.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13687/shard-iclb5/igt@kms_frontbuffer_track...@fbc-1p-pri-indfb-multidraw.html

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

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

  * igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109441]) +6 

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/4] drm/i915: Drop wmb() inside pread_gtt

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/4] drm/i915: Drop wmb() inside pread_gtt
URL   : https://patchwork.freedesktop.org/series/63895/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6504 -> Patchwork_13690


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

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

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

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

  
 Possible fixes 

  * igt@kms_chamelium@dp-edid-read:
- fi-cml-u2:  [FAIL][7] ([fdo#109483]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13690/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html

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

  
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (54 -> 47)
--

  Additional (1): fi-pnv-d510 
  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6504 -> Patchwork_13690

  CI_DRM_6504: a23df173f63ed05ae452ab478a01131a89938654 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13690: 7e8db5f4d4f9d58379fd4519ddb4b70b61697e70 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

7e8db5f4d4f9 drm/i915: Flush stale cachelines on set-cache-level
de5d49b49195 drm/i915: Flush all user surfaces prior to first use
45e21a6a99db drm/i915: Use maximum write flush for pwrite_gtt
7a958734910b drm/i915: Drop wmb() inside pread_gtt

== Logs ==

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

[Intel-gfx] [PATCH v1 08/11] drm: direct include of drm.h in drm_prime.c

2019-07-18 Thread Sam Ravnborg
Do not rely on including drm.h from drm_file.h,
as the include in drm_file.h will be dropped.

Signed-off-by: Sam Ravnborg 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Christian König 
Cc: Noralf Trønnes 
Cc: Chris Wilson 
Cc: Eric Anholt 
---
 drivers/gpu/drm/drm_prime.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 189d980402ad..eca484106cc2 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -30,6 +30,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 07/11] drm: direct include of drm.h in drm_gem_shmem_helper.c

2019-07-18 Thread Sam Ravnborg
Do not rely on including drm.h from drm_file.h,
as the include in drm_file.h will be dropped.

Signed-off-by: Sam Ravnborg 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Eric Anholt 
Cc: Thomas Zimmermann 
Cc: Rob Herring 
---
 drivers/gpu/drm/drm_gem_shmem_helper.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c 
b/drivers/gpu/drm/drm_gem_shmem_helper.c
index 472ea5d81f82..2f64667ac805 100644
--- a/drivers/gpu/drm/drm_gem_shmem_helper.c
+++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
@@ -10,6 +10,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 10/11] drm/mediatek: direct include of drm.h in mtk_drm_gem.c

2019-07-18 Thread Sam Ravnborg
Do not rely on including drm.h from drm_file.h,
as the include in drm_file.h will be dropped.

Signed-off-by: Sam Ravnborg 
Cc: CK Hu 
Cc: Philipp Zabel 
Cc: Matthias Brugger 
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-media...@lists.infradead.org
---
 drivers/gpu/drm/mediatek/mtk_drm_gem.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c 
b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
index 9434f88c6341..ca672f1d140d 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
@@ -5,6 +5,7 @@
 
 #include 
 
+#include 
 #include 
 #include 
 #include 
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 11/11] drm: drop uapi dependency from drm_file.h

2019-07-18 Thread Sam Ravnborg
drm_file used drm_magic_t from uapi/drm/drm.h.
This is a simple unsigned int.
Just opencode it as such to break the dependency from this header file
to uapi.

Signed-off-by: Sam Ravnborg 
Suggested-by: Daniel Vetter 
Cc: Sean Paul 
Cc: Liviu Dudau 
Cc: Chris Wilson 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Jani Nikula 
Cc: Eric Anholt 
---
 include/drm/drm_file.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
index 67af60bb527a..046cd1bf91eb 100644
--- a/include/drm/drm_file.h
+++ b/include/drm/drm_file.h
@@ -34,8 +34,6 @@
 #include 
 #include 
 
-#include 
-
 #include 
 
 struct dma_fence;
@@ -227,7 +225,7 @@ struct drm_file {
struct pid *pid;
 
/** @magic: Authentication magic, see @authenticated. */
-   drm_magic_t magic;
+   unsigned int magic;
 
/**
 * @lhead:
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 05/11] drm/vblank: drop use of DRM_WAIT_ON()

2019-07-18 Thread Sam Ravnborg
DRM_WAIT_ON() is from the deprecated drm_os_linux header and
the modern replacement is the wait_event_*.

The return values differ, so a conversion is needed to
keep the original interface towards userspace.
Introduced a switch/case to make code obvious and to allow
different debug prints depending on the result.

Signed-off-by: Sam Ravnborg 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
---
 drivers/gpu/drm/drm_vblank.c | 29 -
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 603ab105125d..8e9ac187500e 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -31,7 +31,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include "drm_internal.h"
@@ -1672,19 +1671,31 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void 
*data,
if (req_seq != seq) {
DRM_DEBUG("waiting on vblank count %llu, crtc %u\n",
  req_seq, pipe);
-   DRM_WAIT_ON(ret, vblank->queue, 3 * HZ,
-   vblank_passed(drm_vblank_count(dev, pipe),
- req_seq) ||
-   !READ_ONCE(vblank->enabled));
+   ret = wait_event_interruptible_timeout(vblank->queue,
+   vblank_passed(drm_vblank_count(dev, pipe), req_seq) ||
+ !READ_ONCE(vblank->enabled),
+   msecs_to_jiffies(3000));
}
 
-   if (ret != -EINTR) {
+   switch (ret) {
+   case 0:
+   /* timeout */
+   ret = -EBUSY;
drm_wait_vblank_reply(dev, pipe, >reply);
-
-   DRM_DEBUG("crtc %d returning %u to client\n",
+   DRM_DEBUG("timeout waiting for vblank. crtc %d returning %u to 
client\n",
  pipe, vblwait->reply.sequence);
-   } else {
+   break;
+   case -ERESTARTSYS:
+   /* interrupted by signal */
+   ret = -EINTR;
DRM_DEBUG("crtc %d vblank wait interrupted by signal\n", pipe);
+   break;
+   default:
+   ret = 0;
+   drm_wait_vblank_reply(dev, pipe, >reply);
+   DRM_DEBUG("crtc %d returning %u to client\n",
+ pipe, vblwait->reply.sequence);
+   break;
}
 
 done:
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 06/11] drm: direct include of drm.h in drm_gem.c

2019-07-18 Thread Sam Ravnborg
Do not rely on including drm.h from drm_file.h,
as the include in drm_file.h will be dropped.

Signed-off-by: Sam Ravnborg 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Eric Anholt 
Cc: Thomas Zimmermann 
Cc: Rob Herring 
---
 drivers/gpu/drm/drm_gem.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index e6c12c6ec728..243f43d70f42 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -39,6 +39,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 04/11] drm/ati_pcigart: drop dependency on drm_os_linux.h

2019-07-18 Thread Sam Ravnborg
The drm_os_linux.h header is deprecated.
Just opencode the sole DRM_WRITE32().

Signed-off-by: Sam Ravnborg 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
---
 drivers/gpu/drm/ati_pcigart.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/ati_pcigart.c b/drivers/gpu/drm/ati_pcigart.c
index 2a413e291a60..580aa2676358 100644
--- a/drivers/gpu/drm/ati_pcigart.c
+++ b/drivers/gpu/drm/ati_pcigart.c
@@ -35,7 +35,6 @@
 
 #include 
 #include 
-#include 
 #include 
 #include 
 
@@ -169,6 +168,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct 
drm_ati_pcigart_info *ga
page_base = (u32) entry->busaddr[i];
 
for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) {
+   u32 offset;
u32 val;
 
switch(gart_info->gart_reg_if) {
@@ -184,10 +184,12 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct 
drm_ati_pcigart_info *ga
break;
}
if (gart_info->gart_table_location ==
-   DRM_ATI_GART_MAIN)
+   DRM_ATI_GART_MAIN) {
pci_gart[gart_idx] = cpu_to_le32(val);
-   else
-   DRM_WRITE32(map, gart_idx * sizeof(u32), val);
+   } else {
+   offset = gart_idx * sizeof(u32);
+   writel(val, (void __iomem *)map->handle + 
offset);
+   }
gart_idx++;
page_base += ATI_PCIGART_PAGE_SIZE;
}
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 09/11] drm: direct include of drm.h in drm_syncobj.c

2019-07-18 Thread Sam Ravnborg
Do not rely on including drm.h from drm_file.h,
as the include in drm_file.h will be dropped.

Signed-off-by: Sam Ravnborg 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Lionel Landwerlin 
Cc: Chunming Zhou 
Cc: Christian König 
---
 drivers/gpu/drm/drm_syncobj.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
index a199c8d56b95..75cb4bb7619e 100644
--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -53,6 +53,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 02/11] drm: drop uapi dependency from drm_print.h

2019-07-18 Thread Sam Ravnborg
drm_print.h used DRM_NAME - thus adding a dependency from
include/drm/drm_print.h => uapi/drm/drm.h

Hardcode the name "drm" to break this dependency.
The idea is that there shall be a minimal dependency
between include/drm/* and uapi/*

Signed-off-by: Sam Ravnborg 
Suggested-by: Daniel Vetter 
Reviewed-by: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Rob Clark 
Cc: Sean Paul 
Cc: Chris Wilson 
Cc: Daniel Vetter 
---
 include/drm/drm_print.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index a5d6f2f3e430..760d1bd0eaf1 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -32,8 +32,6 @@
 #include 
 #include 
 
-#include 
-
 /**
  * DOC: print
  *
@@ -287,7 +285,7 @@ void drm_err(const char *format, ...);
 /* Macros to make printk easier */
 
 #define _DRM_PRINTK(once, level, fmt, ...) \
-   printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
+   printk##once(KERN_##level "[drm] " fmt, ##__VA_ARGS__)
 
 #define DRM_INFO(fmt, ...) \
_DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 01/11] drm/panel: make drm_panel.h self-contained

2019-07-18 Thread Sam Ravnborg
From: Jani Nikula 

Fix build warning if drm_panel.h is built with CONFIG_OF=n or
CONFIG_DRM_PANEL=n and included without the prerequisite err.h:

./include/drm/drm_panel.h: In function ‘of_drm_find_panel’:
./include/drm/drm_panel.h:203:9: error: implicit declaration of function 
‘ERR_PTR’ [-Werror=implicit-function-declaration]
  return ERR_PTR(-ENODEV);
 ^~~
./include/drm/drm_panel.h:203:9: error: returning ‘int’ from a function with 
return type ‘struct drm_panel *’ makes pointer from integer without a cast 
[-Werror=int-conversion]
  return ERR_PTR(-ENODEV);
 ^~~~

Fixes: 5fa8e4a22182 ("drm/panel: Make of_drm_find_panel() return an ERR_PTR() 
instead of NULL")
Cc: Boris Brezillon 
Signed-off-by: Jani Nikula 
Acked-by: Thierry Reding 
Reviewed-by: Sam Ravnborg 
---
 include/drm/drm_panel.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h
index 8c738c0e6e9f..26377836141c 100644
--- a/include/drm/drm_panel.h
+++ b/include/drm/drm_panel.h
@@ -24,6 +24,7 @@
 #ifndef __DRM_PANEL_H__
 #define __DRM_PANEL_H__
 
+#include 
 #include 
 #include 
 
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 03/11] drm: drop uapi dependency from drm_vblank.h

2019-07-18 Thread Sam Ravnborg
drm_vblank.h included uapi/drm/drm.h.
It turns out this include was not required - delete it.

Note: uapi/drm/drm.h is included indirect via drm_file.h,
but there are no dependencies in drm_vblank.h so the removal
is legit.

Signed-off-by: Sam Ravnborg 
Reviewed-by: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Sean Paul 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Stefan Agner 
Cc: Thierry Reding 
---
 include/drm/drm_vblank.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/drm/drm_vblank.h b/include/drm/drm_vblank.h
index e528bb2f659d..9fe4ba8bc622 100644
--- a/include/drm/drm_vblank.h
+++ b/include/drm/drm_vblank.h
@@ -30,7 +30,6 @@
 
 #include 
 #include 
-#include 
 
 struct drm_device;
 struct drm_crtc;
-- 
2.20.1

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

[Intel-gfx] [PATCH v1 0/11] drm: header maintenance

2019-07-18 Thread Sam Ravnborg
First patch from Jani fixes so drm_print.h is self-contained.
Next two patches are trivial removal of uapi dependencies.

ati_pcigart is fixed to drop use of drm_os_linux.h

drm_vblank is likewise fixed to drop use of drm_os_linux.h
This was a non-trivial conversion, *review requested!*

The remaining patches are preparation for and removal of
uapi/drm/drmh from drm_file.h.
There were a few files where we had to push include
of drm/drm.h out to to have a clean build.

CK Hu - please let me apply the mediatek patch to
drm-misc-next, as it is required for the final patch.
Or push it to drm-misc-next yourself.

Sam

Jani Nikula (1):
  drm/panel: make drm_panel.h self-contained

Sam Ravnborg (10):
  drm: drop uapi dependency from drm_print.h
  drm: drop uapi dependency from drm_vblank.h
  drm/ati_pcigart: drop dependency on drm_os_linux.h
  drm/vblank: drop use of DRM_WAIT_ON()
  drm: direct include of drm.h in drm_gem.c
  drm: direct include of drm.h in drm_gem_shmem_helper.c
  drm: direct include of drm.h in drm_prime.c
  drm: direct include of drm.h in drm_syncobj.c
  drm/mediatek: direct include of drm.h in mtk_drm_gem.c
  drm: drop uapi dependency from drm_file.h

 drivers/gpu/drm/ati_pcigart.c  | 10 ++
 drivers/gpu/drm/drm_gem.c  |  1 +
 drivers/gpu/drm/drm_gem_shmem_helper.c |  1 +
 drivers/gpu/drm/drm_prime.c|  1 +
 drivers/gpu/drm/drm_syncobj.c  |  1 +
 drivers/gpu/drm/drm_vblank.c   | 29 -
 drivers/gpu/drm/mediatek/mtk_drm_gem.c |  1 +
 include/drm/drm_file.h |  4 +---
 include/drm/drm_panel.h|  1 +
 include/drm/drm_print.h|  4 +---
 include/drm/drm_vblank.h   |  1 -
 11 files changed, 34 insertions(+), 20 deletions(-)


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

Re: [Intel-gfx] [PATCH] drm/i915/guc: Allocate non-swappable memory for internal objects

2019-07-18 Thread Daniele Ceraolo Spurio



On 7/18/19 2:29 AM, Chris Wilson wrote:

All internal GuC objects are perma-pinned into the GGTT and thus
not-swapped. We do not need to allocate a shmemfs inode for these,
merely a collection of pages to be kept in memory.

Signed-off-by: Chris Wilson 
Cc: Daniele Ceraolo Spurio 
Cc: Michal Wajdeczko 


Makes sense.

Reviewed-by: Daniele Ceraolo Spurio 

Daniele


---
  drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 83f2c197375f..d66f8f9c5654 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -582,7 +582,7 @@ struct i915_vma *intel_guc_allocate_vma(struct intel_guc 
*guc, u32 size)
u64 flags;
int ret;
  
-	obj = i915_gem_object_create_shmem(gt->i915, size);

+   obj = i915_gem_object_create_internal(gt->i915, size);
if (IS_ERR(obj))
return ERR_CAST(obj);
  


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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/4] drm/i915: Drop wmb() inside pread_gtt

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/4] drm/i915: Drop wmb() inside pread_gtt
URL   : https://patchwork.freedesktop.org/series/63895/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
7a958734910b drm/i915: Drop wmb() inside pread_gtt
45e21a6a99db drm/i915: Use maximum write flush for pwrite_gtt
de5d49b49195 drm/i915: Flush all user surfaces prior to first use
-:12: ERROR:BAD_SIGN_OFF: Unrecognized email address: 'stablevger.kernel.org'
#12: 
Cc: stablevger.kernel.org

total: 1 errors, 0 warnings, 0 checks, 38 lines checked
7e8db5f4d4f9 drm/i915: Flush stale cachelines on set-cache-level

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: YCbCr output fixes and prep work for YCbCr 4:4:4 output

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: YCbCr output fixes and prep work for YCbCr 4:4:4 output
URL   : https://patchwork.freedesktop.org/series/63893/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6504 -> Patchwork_13689


Summary
---

  **FAILURE**

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

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

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

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm:  [PASS][2] -> [DMESG-FAIL][3] ([fdo#08])
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13689/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html

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

  
 Possible fixes 

  * igt@i915_selftest@live_contexts:
- fi-skl-iommu:   [INCOMPLETE][6] ([fdo#111050]) -> [PASS][7]
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-skl-iommu/igt@i915_selftest@live_contexts.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13689/fi-skl-iommu/igt@i915_selftest@live_contexts.html

  * igt@kms_chamelium@dp-edid-read:
- fi-cml-u2:  [FAIL][8] ([fdo#109483]) -> [PASS][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13689/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#111050]: https://bugs.freedesktop.org/show_bug.cgi?id=111050
  [fdo#08]: https://bugs.freedesktop.org/show_bug.cgi?id=08


Participating hosts (54 -> 47)
--

  Additional (1): fi-pnv-d510 
  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6504 -> Patchwork_13689

  CI_DRM_6504: a23df173f63ed05ae452ab478a01131a89938654 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13689: 985c707847c7471fcade73d2aa8c9c375ad50913 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

985c707847c7 drm/i915: Add PIPECONF YCbCr 4:4:4 programming for ILK-IVB
1ce37b6590eb drm/i915: Set up ILK/SNB csc unit properly for YCbCr output
a3c1fea79f0b drm/i915: Document ILK+ pipe csc matrix better
9c51a29d74fc drm/i915: Add PIPECONF YCbCr 4:4:4 programming for HSW
806f0a57b948 drm/i915: Simplify intel_get_crtc_ycbcr_config()
6edc454dc574 drm/i915: Don't look at unrelated PIPECONF bits for interlaced 
readout
b1b80c557cc9 drm/i915: Switch to using DP_MSA_MISC_* defines
28ba8a634de4 drm/i915: Never set limited_color_range=true for YCbCr output
1cdc700d9b55 drm/i915: Extract intel_hdmi_limited_color_range()
0aca35d5a6a0 drm/i915: Fix AVI infoframe quantization range for YCbCr output
4c049b738100 drm/i915: Fix HSW+ DP MSA YCbCr colorspace indication
b90758beb5b5 drm/dp: Add definitons for MSA MISC bits

== Logs ==

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

Re: [Intel-gfx] [PATCH v2] drm/i915: Add HDCP capability info to i915_display_info.

2019-07-18 Thread Ramalingam C
On 2019-07-18 at 19:34:44 +0530, Anshuman Gupta wrote:
> To identify the HDCP capability of the display connected to CI
> systems, we need to add the hdcp capability probing in i915_display_info.
> 
> This will also help to populate the HDCP capability of the CI systems
> to CI H/W logs maintained at https://intel-gfx-ci.01.org/hardware/.
> It will facilitate to determine the kms_content_protection behavior on
> a particular CI system.
> 
> v2: Reused the intel_hdcp_info() in i915_hdcp_sink_capability_show(). [Ram]
> Shifted intel_hdcp_info() to the end of intel_dp_info. [Ram]
> 
> Cc: daniel.vet...@intel.com
> Cc: ramalinga...@intel.com
> Signed-off-by: Anshuman Gupta 
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 40 -
>  1 file changed, 28 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 6b84d04a6a28..d663f65101df 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2569,6 +2569,25 @@ static void intel_panel_info(struct seq_file *m, 
> struct intel_panel *panel)
>   intel_seq_print_mode(m, 2, mode);
>  }
>  
> +static void intel_hdcp_info(struct seq_file *m,
> + struct intel_connector *intel_connector)
alignment.
> +{
> + bool hdcp_cap, hdcp2_cap;
> +
> + hdcp_cap = intel_hdcp_capable(intel_connector);
> + hdcp2_cap = intel_hdcp2_capable(intel_connector);
> +
> + if (hdcp_cap)
> + seq_puts(m, "HDCP1.4 ");
> + if (hdcp2_cap)
> + seq_puts(m, "HDCP2.2 ");
> +
> + if (!hdcp_cap && !hdcp2_cap)
> + seq_puts(m, "None");
> +
> + seq_puts(m, "\n");
> +}
> +
>  static void intel_dp_info(struct seq_file *m,
> struct intel_connector *intel_connector)
>  {
> @@ -2582,6 +2601,10 @@ static void intel_dp_info(struct seq_file *m,
>  
>   drm_dp_downstream_debug(m, intel_dp->dpcd, intel_dp->downstream_ports,
>   _dp->aux);
> + if (intel_connector->hdcp.shim) {
> + seq_printf(m, "\tHDCP version: ");
use seq_puts() instead.
> + intel_hdcp_info(m, intel_connector);
> + }
>  }
>  
>  static void intel_dp_mst_info(struct seq_file *m,
> @@ -2605,6 +2628,10 @@ static void intel_hdmi_info(struct seq_file *m,
>   struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(_encoder->base);
>  
>   seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
> + if (intel_connector->hdcp.shim) {
> + seq_printf(m, "\tHDCP version: ");
use seq_puts() instead.

BR
-Ram
> + intel_hdcp_info(m, intel_connector);
> + }
>  }
>  
>  static void intel_lvds_info(struct seq_file *m,
> @@ -4528,7 +4555,6 @@ static int i915_hdcp_sink_capability_show(struct 
> seq_file *m, void *data)
>  {
>   struct drm_connector *connector = m->private;
>   struct intel_connector *intel_connector = to_intel_connector(connector);
> - bool hdcp_cap, hdcp2_cap;
>  
>   if (connector->status != connector_status_connected)
>   return -ENODEV;
> @@ -4539,17 +4565,7 @@ static int i915_hdcp_sink_capability_show(struct 
> seq_file *m, void *data)
>  
>   seq_printf(m, "%s:%d HDCP version: ", connector->name,
>  connector->base.id);
> - hdcp_cap = intel_hdcp_capable(intel_connector);
> - hdcp2_cap = intel_hdcp2_capable(intel_connector);
> -
> - if (hdcp_cap)
> - seq_puts(m, "HDCP1.4 ");
> - if (hdcp2_cap)
> - seq_puts(m, "HDCP2.2 ");
> -
> - if (!hdcp_cap && !hdcp2_cap)
> - seq_puts(m, "None");
> - seq_puts(m, "\n");
> + intel_hdcp_info(m, intel_connector);
>  
>   return 0;
>  }
> -- 
> 2.21.0
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

2019-07-18 Thread Sean Paul

Hi team,
I am Guest-Maarten this week and next! Not exactly a quiet last PR for the merge
window, but I think this is right in line with how things have gone over the 
rest
of 5.3. Although there's more volume than we'd like, I don't think there's
anything here that is contraversial.

So, welcome komeda to -misc, and happy pulling :-)


drm-misc-next-fixes-2019-07-18:
- Rip out komeda internal properties and move the driver to -misc (Daniel)
- Handle a couple edge cases with incomplete/incorrect cmdline modes (Dmitry)
- Fix some silly warnings (Arnd)
- Add orientation quirk for newer GPD MicroPCs (Hans)

Cc: Daniel Vetter 
Cc: Liviu Dudau 
Cc: Dmitry Osipenko 
Cc: Arnd Bergmann 
Cc: Hans de Goede 

Cheers, Sean


The following changes since commit daed277e4d5ace0883d30b9be245d35c46289f49:

  Merge tag 'topic/remove-fbcon-notifiers-2019-06-26' into drm-misc-next-fixes 
(2019-06-26 12:26:34 +0200)

are available in the Git repository at:

  git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-fixes-2019-07-18

for you to fetch changes up to 7aaddd96d5febcf5b24357a326b3038d49a20532:

  drm/modes: Don't apply cmdline's rotation if it wasn't specified (2019-07-16 
10:34:38 +0200)


- Rip out komeda internal properties and move the driver to -misc (Daniel)
- Handle a couple edge cases with incomplete/incorrect cmdline modes (Dmitry)
- Fix some silly warnings (Arnd)
- Add orientation quirk for newer GPD MicroPCs (Hans)

Cc: Daniel Vetter 
Cc: Liviu Dudau 
Cc: Dmitry Osipenko 
Cc: Arnd Bergmann 
Cc: Hans de Goede 


Arnd Bergmann (2):
  drm/selftests: reduce stack usage
  drm: connector: remove bogus NULL check

Daniel Vetter (5):
  drm/komeda: Remove clock ratio property
  drm/komeda: remove slave_planes property
  drm/komeda: remove img_enhancement property
  drm/komeda: Remove layer_split property
  MAINTAINERS: maintain drm/arm drivers in drm-misc for now

Dmitry Osipenko (2):
  drm/modes: Skip invalid cmdline mode
  drm/modes: Don't apply cmdline's rotation if it wasn't specified

Gerd Hoffmann (1):
  drm/bochs: fix framebuffer setup.

Hans de Goede (1):
  drm: panel-orientation-quirks: Add extra quirk table entry for GPD MicroPC

james qian wang (Arm Technology China) (2):
  drm/komeda: Computing layer_split internally
  drm/komeda: Computing image enhancer internally

 MAINTAINERS|   4 +-
 drivers/gpu/drm/arm/display/komeda/komeda_crtc.c   |  63 --
 drivers/gpu/drm/arm/display/komeda/komeda_kms.h|  18 +--
 .../gpu/drm/arm/display/komeda/komeda_pipeline.h   |   3 +-
 .../drm/arm/display/komeda/komeda_pipeline_state.c |  15 ++-
 drivers/gpu/drm/arm/display/komeda/komeda_plane.c  |  84 +
 .../drm/arm/display/komeda/komeda_wb_connector.c   |  10 +-
 drivers/gpu/drm/bochs/bochs.h  |   2 +-
 drivers/gpu/drm/bochs/bochs_hw.c   |  14 ++-
 drivers/gpu/drm/bochs/bochs_kms.c  |   3 +-
 drivers/gpu/drm/drm_client_modeset.c   |   5 +-
 drivers/gpu/drm/drm_connector.c|   2 +-
 drivers/gpu/drm/drm_modes.c|  14 ++-
 drivers/gpu/drm/drm_panel_orientation_quirks.c |  12 ++
 .../gpu/drm/selftests/test-drm_cmdline_parser.c| 136 -
 include/drm/drm_modes.h|   2 +-
 16 files changed, 110 insertions(+), 277 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: failure for series starting with [1/2] drm/i915: Refuse modes with hdisplay==4096 on pre-HSW DP

2019-07-18 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: Refuse modes with hdisplay==4096 
on pre-HSW DP
URL   : https://patchwork.freedesktop.org/series/63892/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6504 -> Patchwork_13688


Summary
---

  **FAILURE**

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

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_pm_rpm@basic-pci-d3-state:
- fi-icl-dsi: [PASS][1] -> [DMESG-WARN][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-icl-dsi/igt@i915_pm_...@basic-pci-d3-state.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13688/fi-icl-dsi/igt@i915_pm_...@basic-pci-d3-state.html

  
Known issues


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

### IGT changes ###

 Issues hit 

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

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

  * igt@kms_chamelium@dp-edid-read:
- fi-icl-u2:  [PASS][7] -> [FAIL][8] ([fdo#109483] / [fdo#109635 ])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-icl-u2/igt@kms_chamel...@dp-edid-read.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13688/fi-icl-u2/igt@kms_chamel...@dp-edid-read.html

  
 Possible fixes 

  * igt@i915_selftest@live_contexts:
- fi-skl-iommu:   [INCOMPLETE][9] ([fdo#111050]) -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-skl-iommu/igt@i915_selftest@live_contexts.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13688/fi-skl-iommu/igt@i915_selftest@live_contexts.html

  * igt@kms_chamelium@dp-edid-read:
- fi-cml-u2:  [FAIL][11] ([fdo#109483]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6504/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13688/fi-cml-u2/igt@kms_chamel...@dp-edid-read.html

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

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 
  [fdo#110387]: https://bugs.freedesktop.org/show_bug.cgi?id=110387
  [fdo#111050]: https://bugs.freedesktop.org/show_bug.cgi?id=111050
  [fdo#08]: https://bugs.freedesktop.org/show_bug.cgi?id=08


Participating hosts (54 -> 47)
--

  Additional (1): fi-pnv-d510 
  Missing(8): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 
fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-

  * Linux: CI_DRM_6504 -> Patchwork_13688

  CI_DRM_6504: a23df173f63ed05ae452ab478a01131a89938654 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5102: 6038ace76016d8892f4d13aef5301f71ca1a6e2d @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13688: 9d15f10da0053840cd206fd0a0c44673cae44520 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

9d15f10da005 drm/i915: Check some transcoder timing minimum limits
67e1394573e5 drm/i915: Refuse modes with hdisplay==4096 on pre-HSW DP

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13688/
___
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: Move global activity tracking from GEM to GT

2019-07-18 Thread Patchwork
== Series Details ==

Series: drm/i915: Move global activity tracking from GEM to GT
URL   : https://patchwork.freedesktop.org/series/63884/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6503_full -> Patchwork_13686_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_eio@unwedge-stress:
- shard-snb:  [PASS][1] -> [FAIL][2] ([fdo#109661])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-snb6/igt@gem_...@unwedge-stress.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-snb6/igt@gem_...@unwedge-stress.html

  * igt@i915_pm_rpm@i2c:
- shard-hsw:  [PASS][3] -> [FAIL][4] ([fdo#104097])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-hsw4/igt@i915_pm_...@i2c.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-hsw6/igt@i915_pm_...@i2c.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl:  [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +4 
similar issues
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-apl1/igt@i915_susp...@fence-restore-tiled2untiled.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-apl3/igt@i915_susp...@fence-restore-tiled2untiled.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
- shard-iclb: [PASS][7] -> [INCOMPLETE][8] ([fdo#107713])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-iclb8/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions-varying-size.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-iclb7/igt@kms_cursor_leg...@cursor-vs-flip-atomic-transitions-varying-size.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
- shard-glk:  [PASS][9] -> [FAIL][10] ([fdo#103060])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-glk4/igt@kms_f...@modeset-vs-vblank-race-interruptible.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-glk4/igt@kms_f...@modeset-vs-vblank-race-interruptible.html

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

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
- shard-iclb: [PASS][13] -> [INCOMPLETE][14] ([fdo#107713] / 
[fdo#110036 ])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-iclb2/igt@kms_pl...@pixel-format-pipe-c-planes-source-clamping.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-iclb3/igt@kms_pl...@pixel-format-pipe-c-planes-source-clamping.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  [PASS][15] -> [FAIL][16] ([fdo#108145] / [fdo#110403])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-skl9/igt@kms_plane_alpha_bl...@pipe-c-coverage-7efc.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-skl4/igt@kms_plane_alpha_bl...@pipe-c-coverage-7efc.html

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

  * igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109642] / [fdo#111068])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-iclb2/igt@kms_psr2...@frontbuffer.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-iclb7/igt@kms_psr2...@frontbuffer.html

  * igt@kms_setmode@basic:
- shard-kbl:  [PASS][21] -> [FAIL][22] ([fdo#99912])
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-kbl2/igt@kms_setm...@basic.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-kbl7/igt@kms_setm...@basic.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-kbl:  [PASS][23] -> [DMESG-WARN][24] ([fdo#108566])
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6503/shard-kbl4/igt@kms_vbl...@pipe-a-ts-continuation-suspend.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13686/shard-kbl6/igt@kms_vbl...@pipe-a-ts-continuation-suspend.html

  
 Possible fixes 

  * 

[Intel-gfx] [PATCH 3/4] drm/i915: Flush all user surfaces prior to first use

2019-07-18 Thread Chris Wilson
Since userspace has the ability to bypass the CPU cache from within its
unprivileged command stream, we have to flush the CPU cache to memory
in order to overwrite the previous contents on creation.

Signed-off-by: Chris Wilson 
Cc: Joonas Lahtinen 
Cc: stablevger.kernel.org
---
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 26 ++-
 1 file changed, 7 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
index d2a1158868e7..f752b326d399 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
@@ -459,7 +459,6 @@ i915_gem_object_create_shmem(struct drm_i915_private *i915, 
u64 size)
 {
struct drm_i915_gem_object *obj;
struct address_space *mapping;
-   unsigned int cache_level;
gfp_t mask;
int ret;
 
@@ -498,24 +497,13 @@ i915_gem_object_create_shmem(struct drm_i915_private 
*i915, u64 size)
obj->write_domain = I915_GEM_DOMAIN_CPU;
obj->read_domains = I915_GEM_DOMAIN_CPU;
 
-   if (HAS_LLC(i915))
-   /* On some devices, we can have the GPU use the LLC (the CPU
-* cache) for about a 10% performance improvement
-* compared to uncached.  Graphics requests other than
-* display scanout are coherent with the CPU in
-* accessing this cache.  This means in this mode we
-* don't need to clflush on the CPU side, and on the
-* GPU side we only need to flush internal caches to
-* get data visible to the CPU.
-*
-* However, we maintain the display planes as UC, and so
-* need to rebind when first used as such.
-*/
-   cache_level = I915_CACHE_LLC;
-   else
-   cache_level = I915_CACHE_NONE;
-
-   i915_gem_object_set_cache_coherency(obj, cache_level);
+   /*
+* Note that userspace has control over cache-bypass
+* via its command stream, so even on LLC architectures
+* we have to flush out the CPU cache to memory to
+* clear previous contents.
+*/
+   i915_gem_object_set_cache_coherency(obj, I915_CACHE_NONE);
 
trace_i915_gem_object_create(obj);
 
-- 
2.22.0

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

[Intel-gfx] [PATCH 2/4] drm/i915: Use maximum write flush for pwrite_gtt

2019-07-18 Thread Chris Wilson
As recently disovered by forcing big-core (!llc) machines to use the GTT
paths, we need our full GTT write flush before manipulating the GTT PTE
or else the writes may be directed to the wrong page.

Signed-off-by: Chris Wilson 
Cc: Joonas Lahtinen 
Cc: Matthew Auld 
Cc: Ville Syrjälä 
Cc: sta...@vger.kernel.org
---
 drivers/gpu/drm/i915/i915_gem.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index fed0bc421a55..c6ba350e6e4f 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -610,7 +610,8 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_gem_object *obj,
unsigned int page_length = PAGE_SIZE - page_offset;
page_length = remain < page_length ? remain : page_length;
if (node.allocated) {
-   wmb(); /* flush the write before we modify the GGTT */
+   /* flush the write before we modify the GGTT */
+   intel_gt_flush_ggtt_writes(ggtt->vm.gt);
ggtt->vm.insert_page(>vm,
 
i915_gem_object_get_dma_address(obj, offset >> PAGE_SHIFT),
 node.start, I915_CACHE_NONE, 0);
@@ -639,8 +640,8 @@ i915_gem_gtt_pwrite_fast(struct drm_i915_gem_object *obj,
i915_gem_object_unlock_fence(obj, fence);
 out_unpin:
mutex_lock(>drm.struct_mutex);
+   intel_gt_flush_ggtt_writes(ggtt->vm.gt);
if (node.allocated) {
-   wmb();
ggtt->vm.clear_range(>vm, node.start, node.size);
remove_mappable_node();
} else {
-- 
2.22.0

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

[Intel-gfx] [PATCH 4/4] drm/i915: Flush stale cachelines on set-cache-level

2019-07-18 Thread Chris Wilson
Ensure that we flush any cache dirt out to main memory before the user
changes the cache-level as they may elect to bypass the cache (even after
declaring their access cache-coherent) via use of unprivileged MOCS.

Signed-off-by: Chris Wilson 
Cc: Joonas Lahtinen 
Cc: sta...@vger.kernel.org
---
 drivers/gpu/drm/i915/gem/i915_gem_domain.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_domain.c 
b/drivers/gpu/drm/i915/gem/i915_gem_domain.c
index 2e3ce2a69653..5d41e769a428 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_domain.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_domain.c
@@ -277,6 +277,11 @@ int i915_gem_object_set_cache_level(struct 
drm_i915_gem_object *obj,
 
list_for_each_entry(vma, >vma.list, obj_link)
vma->node.color = cache_level;
+
+   /* Flush any previous cache dirt in case of cache bypass */
+   if (obj->cache_dirty & ~obj->cache_coherent)
+   i915_gem_clflush_object(obj, I915_CLFLUSH_SYNC);
+
i915_gem_object_set_cache_coherency(obj, cache_level);
obj->cache_dirty = true; /* Always invalidate stale cachelines */
 
-- 
2.22.0

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

[Intel-gfx] [PATCH 1/4] drm/i915: Drop wmb() inside pread_gtt

2019-07-18 Thread Chris Wilson
Inside pread, we only ever read from the GTT so the serialising wmb()
instructions around the GGTT PTE updates are pointless.

Signed-off-by: Chris Wilson 
---
 drivers/gpu/drm/i915/i915_gem.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index a207b90924e4..fed0bc421a55 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -395,11 +395,9 @@ i915_gem_gtt_pread(struct drm_i915_gem_object *obj,
unsigned page_length = PAGE_SIZE - page_offset;
page_length = remain < page_length ? remain : page_length;
if (node.allocated) {
-   wmb();
ggtt->vm.insert_page(>vm,
 
i915_gem_object_get_dma_address(obj, offset >> PAGE_SHIFT),
 node.start, I915_CACHE_NONE, 0);
-   wmb();
} else {
page_base += offset & PAGE_MASK;
}
@@ -419,7 +417,6 @@ i915_gem_gtt_pread(struct drm_i915_gem_object *obj,
 out_unpin:
mutex_lock(>drm.struct_mutex);
if (node.allocated) {
-   wmb();
ggtt->vm.clear_range(>vm, node.start, node.size);
remove_mappable_node();
} else {
-- 
2.22.0

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

[Intel-gfx] [PATCH 09/12] drm/i915: Add PIPECONF YCbCr 4:4:4 programming for HSW

2019-07-18 Thread Ville Syrjala
From: Ville Syrjälä 

On HSW the pipe colorspace is configured via PIPECONF
(as opposed to PIPEMISC in BDW+). Let's configure+readout
that stuff correctly.

Enablling YCbCr 4:4:4 output will now be a simple matter of
setting crtc_state->output_format appropriately in the encoder
.compute_config().

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_display.c | 13 -
 drivers/gpu/drm/i915/i915_reg.h  |  1 +
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index 1dd1aa29a649..bd3ff96c1618 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -9430,6 +9430,10 @@ static void haswell_set_pipeconf(const struct 
intel_crtc_state *crtc_state)
else
val |= PIPECONF_PROGRESSIVE;
 
+   if (IS_HASWELL(dev_priv) &&
+   crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB)
+   val |= PIPECONF_OUTPUT_COLORSPACE_YUV_HSW;
+
I915_WRITE(PIPECONF(cpu_transcoder), val);
POSTING_READ(PIPECONF(cpu_transcoder));
 }
@@ -10423,7 +10427,14 @@ static bool haswell_get_pipe_config(struct intel_crtc 
*crtc,
 
intel_get_pipe_src_size(crtc, pipe_config);
 
-   if (INTEL_GEN(dev_priv) >= 9 || IS_BROADWELL(dev_priv)) {
+   if (IS_HASWELL(dev_priv)) {
+   u32 tmp = I915_READ(PIPECONF(pipe_config->cpu_transcoder));
+
+   if (tmp & PIPECONF_OUTPUT_COLORSPACE_YUV_HSW)
+   pipe_config->output_format = 
INTEL_OUTPUT_FORMAT_YCBCR444;
+   else
+   pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB;
+   } else {
pipe_config->output_format =
bdw_get_pipemisc_output_format(crtc);
 
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 66f7f417231f..58471312b8b2 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5712,6 +5712,7 @@ enum {
 #define   PIPECONF_CXSR_DOWNCLOCK  (1 << 16)
 #define   PIPECONF_EDP_RR_MODE_SWITCH_VLV  (1 << 14)
 #define   PIPECONF_COLOR_RANGE_SELECT  (1 << 13)
+#define   PIPECONF_OUTPUT_COLORSPACE_YUV_HSW   (1 << 11) /* hsw only */
 #define   PIPECONF_BPC_MASK(0x7 << 5)
 #define   PIPECONF_8BPC(0 << 5)
 #define   PIPECONF_10BPC   (1 << 5)
-- 
2.21.0

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

[Intel-gfx] [PATCH 12/12] drm/i915: Add PIPECONF YCbCr 4:4:4 programming for ILK-IVB

2019-07-18 Thread Ville Syrjala
From: Ville Syrjälä 

On ILK-IVB the pipe colorspace is configured via PIPECONF
(as opposed to PIPEMISC in BDW+). Let's configure+readout
that stuff correctly.

Enablling YCbCr 4:4:4 output will now be a simple matter of
setting crtc_state->output_format appropriately in the encoder
.compute_config(). However, when we do that we must be
aware of the fact that YCbCr DP output doesn't seem to work
on ILK (resulting image is totally garbled), but on SNB+
it works fine. However HDMI YCbCr output does work correctly
even on ILK.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_display.c | 21 +++-
 drivers/gpu/drm/i915/i915_reg.h  |  4 
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index bd3ff96c1618..8e98715cd63b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -9406,9 +9406,19 @@ static void ironlake_set_pipeconf(const struct 
intel_crtc_state *crtc_state)
else
val |= PIPECONF_PROGRESSIVE;
 
+   /*
+* This would end up with an odd purple hue over
+* the entire display. Make sure we don't do it.
+*/
+   WARN_ON(crtc_state->limited_color_range &&
+   crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB);
+
if (crtc_state->limited_color_range)
val |= PIPECONF_COLOR_RANGE_SELECT;
 
+   if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB)
+   val |= PIPECONF_OUTPUT_COLORSPACE_YUV709;
+
val |= PIPECONF_GAMMA_MODE(crtc_state->gamma_mode);
 
I915_WRITE(PIPECONF(pipe), val);
@@ -9945,7 +9955,6 @@ static bool ironlake_get_pipe_config(struct intel_crtc 
*crtc,
if (!wakeref)
return false;
 
-   pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB;
pipe_config->cpu_transcoder = (enum transcoder) crtc->pipe;
pipe_config->shared_dpll = NULL;
 
@@ -9974,6 +9983,16 @@ static bool ironlake_get_pipe_config(struct intel_crtc 
*crtc,
if (tmp & PIPECONF_COLOR_RANGE_SELECT)
pipe_config->limited_color_range = true;
 
+   switch (tmp & PIPECONF_OUTPUT_COLORSPACE_MASK) {
+   case PIPECONF_OUTPUT_COLORSPACE_YUV601:
+   case PIPECONF_OUTPUT_COLORSPACE_YUV709:
+   pipe_config->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
+   break;
+   default:
+   pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB;
+   break;
+   }
+
pipe_config->gamma_mode = (tmp & PIPECONF_GAMMA_MODE_MASK_ILK) >>
PIPECONF_GAMMA_MODE_SHIFT;
 
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 33d535ae0944..3d33a1e03a45 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5712,6 +5712,10 @@ enum {
 #define   PIPECONF_CXSR_DOWNCLOCK  (1 << 16)
 #define   PIPECONF_EDP_RR_MODE_SWITCH_VLV  (1 << 14)
 #define   PIPECONF_COLOR_RANGE_SELECT  (1 << 13)
+#define   PIPECONF_OUTPUT_COLORSPACE_MASK  (3 << 11) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_RGB   (0 << 11) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_YUV601(1 << 11) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_YUV709(2 << 11) /* ilk-ivb */
 #define   PIPECONF_OUTPUT_COLORSPACE_YUV_HSW   (1 << 11) /* hsw only */
 #define   PIPECONF_BPC_MASK(0x7 << 5)
 #define   PIPECONF_8BPC(0 << 5)
-- 
2.21.0

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

[Intel-gfx] [PATCH 08/12] drm/i915: Simplify intel_get_crtc_ycbcr_config()

2019-07-18 Thread Ville Syrjala
From: Ville Syrjälä 

Make intel_get_crtc_ycbcr_config() simpler and rename it
to bdw_get_pipemisc_output_format() to better reflect what
it does.

Also toss in some comments to document that the 4:2:0 PIPECONF
bits are glk+ only. They are mbz on earlier platforms so reading
them unconditionally is safe however.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_display.c | 71 +---
 drivers/gpu/drm/i915/i915_reg.h  |  4 +-
 2 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index ffdc350dc24a..1dd1aa29a649 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -8713,47 +8713,24 @@ static void chv_crtc_clock_get(struct intel_crtc *crtc,
pipe_config->port_clock = chv_calc_dpll_params(refclk, );
 }
 
-static void intel_get_crtc_ycbcr_config(struct intel_crtc *crtc,
-   struct intel_crtc_state *pipe_config)
+static enum intel_output_format
+bdw_get_pipemisc_output_format(struct intel_crtc *crtc)
 {
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-   enum intel_output_format output = INTEL_OUTPUT_FORMAT_RGB;
-
-   pipe_config->lspcon_downsampling = false;
-
-   if (IS_BROADWELL(dev_priv) || INTEL_GEN(dev_priv) >= 9) {
-   u32 tmp = I915_READ(PIPEMISC(crtc->pipe));
-
-   if (tmp & PIPEMISC_OUTPUT_COLORSPACE_YUV) {
-   bool ycbcr420_enabled = tmp & PIPEMISC_YUV420_ENABLE;
-   bool blend = tmp & PIPEMISC_YUV420_MODE_FULL_BLEND;
-
-   if (ycbcr420_enabled) {
-   /* We support 4:2:0 in full blend mode only */
-   if (!blend)
-   output = INTEL_OUTPUT_FORMAT_INVALID;
-   else if (!(IS_GEMINILAKE(dev_priv) ||
-  INTEL_GEN(dev_priv) >= 10))
-   output = INTEL_OUTPUT_FORMAT_INVALID;
-   else
-   output = INTEL_OUTPUT_FORMAT_YCBCR420;
-   } else {
-   /*
-* Currently there is no interface defined to
-* check user preference between RGB/YCBCR444
-* or YCBCR420. So the only possible case for
-* YCBCR444 usage is driving YCBCR420 output
-* with LSPCON, when pipe is configured for
-* YCBCR444 output and LSPCON takes care of
-* downsampling it.
-*/
-   pipe_config->lspcon_downsampling = true;
-   output = INTEL_OUTPUT_FORMAT_YCBCR444;
-   }
-   }
-   }
+   u32 tmp;
+
+   tmp = I915_READ(PIPEMISC(crtc->pipe));
 
-   pipe_config->output_format = output;
+   if (tmp & PIPEMISC_YUV420_ENABLE) {
+   /* We support 4:2:0 in full blend mode only */
+   WARN_ON((tmp & PIPEMISC_YUV420_MODE_FULL_BLEND) == 0);
+
+   return INTEL_OUTPUT_FORMAT_YCBCR420;
+   } else if (tmp & PIPEMISC_OUTPUT_COLORSPACE_YUV) {
+   return INTEL_OUTPUT_FORMAT_YCBCR444;
+   } else {
+   return INTEL_OUTPUT_FORMAT_RGB;
+   }
 }
 
 static void i9xx_get_pipe_color_config(struct intel_crtc_state *crtc_state)
@@ -10445,7 +10422,23 @@ static bool haswell_get_pipe_config(struct intel_crtc 
*crtc,
}
 
intel_get_pipe_src_size(crtc, pipe_config);
-   intel_get_crtc_ycbcr_config(crtc, pipe_config);
+
+   if (INTEL_GEN(dev_priv) >= 9 || IS_BROADWELL(dev_priv)) {
+   pipe_config->output_format =
+   bdw_get_pipemisc_output_format(crtc);
+
+   /*
+* Currently there is no interface defined to
+* check user preference between RGB/YCBCR444
+* or YCBCR420. So the only possible case for
+* YCBCR444 usage is driving YCBCR420 output
+* with LSPCON, when pipe is configured for
+* YCBCR444 output and LSPCON takes care of
+* downsampling it.
+*/
+   pipe_config->lspcon_downsampling =
+   pipe_config->output_format == 
INTEL_OUTPUT_FORMAT_YCBCR444;
+   }
 
pipe_config->gamma_mode = I915_READ(GAMMA_MODE(crtc->pipe));
 
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 91bf714897e5..66f7f417231f 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5803,8 +5803,8 @@ enum {
 
 #define 

[Intel-gfx] [PATCH 11/12] drm/i915: Set up ILK/SNB csc unit properly for YCbCr output

2019-07-18 Thread Ville Syrjala
From: Ville Syrjälä 

Prepare the pipe csc for YCbCr output on ilk/snb. The main difference
to IVB+ is the lack of explicit post offsets, and instead we must
configure the CSC info RGB->YUV mode (which takes care of offsetting
Cb/Cr properly) and enable the "black screen offset" bit to add the
required offset to Y.

And while at it throw some comments around the bit defines to
document which platforms have which bits.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_color.c | 25 +-
 drivers/gpu/drm/i915/i915_reg.h| 10 -
 2 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_color.c 
b/drivers/gpu/drm/i915/display/intel_color.c
index 736c42720daf..a902f7809840 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -1213,6 +1213,21 @@ static u32 ilk_gamma_mode(const struct intel_crtc_state 
*crtc_state)
return GAMMA_MODE_MODE_10BIT;
 }
 
+static u32 ilk_csc_mode(const struct intel_crtc_state *crtc_state)
+{
+   /*
+* CSC comes after the LUT in RGB->YCbCr mode.
+* RGB->YCbCr needs the limited range offsets added to
+* the output. RGB limited range output is handled by
+* the hw automagically elsewhere.
+*/
+   if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB)
+   return CSC_BLACK_SCREEN_OFFSET;
+
+   return CSC_MODE_YUV_TO_RGB |
+   CSC_POSITION_BEFORE_GAMMA;
+}
+
 static int ilk_color_check(struct intel_crtc_state *crtc_state)
 {
int ret;
@@ -1226,15 +1241,15 @@ static int ilk_color_check(struct intel_crtc_state 
*crtc_state)
!crtc_state->c8_planes;
 
/*
-* We don't expose the ctm on ilk/snb currently,
-* nor do we enable YCbCr output. Also RGB limited
-* range output is handled by the hw automagically.
+* We don't expose the ctm on ilk/snb currently, also RGB
+* limited range output is handled by the hw automagically.
 */
-   crtc_state->csc_enable = false;
+   crtc_state->csc_enable =
+   crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB;
 
crtc_state->gamma_mode = ilk_gamma_mode(crtc_state);
 
-   crtc_state->csc_mode = 0;
+   crtc_state->csc_mode = ilk_csc_mode(crtc_state);
 
ret = intel_color_add_affected_planes(crtc_state);
if (ret)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 58471312b8b2..33d535ae0944 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -10106,11 +10106,11 @@ enum skl_power_gate {
 #define _PIPE_A_CSC_COEFF_BV   0x49024
 
 #define _PIPE_A_CSC_MODE   0x49028
-#define  ICL_CSC_ENABLE(1 << 31)
-#define  ICL_OUTPUT_CSC_ENABLE (1 << 30)
-#define  CSC_BLACK_SCREEN_OFFSET   (1 << 2)
-#define  CSC_POSITION_BEFORE_GAMMA (1 << 1)
-#define  CSC_MODE_YUV_TO_RGB   (1 << 0)
+#define  ICL_CSC_ENABLE(1 << 31) /* icl+ */
+#define  ICL_OUTPUT_CSC_ENABLE (1 << 30) /* icl+ */
+#define  CSC_BLACK_SCREEN_OFFSET   (1 << 2) /* ilk/snb */
+#define  CSC_POSITION_BEFORE_GAMMA (1 << 1) /* pre-glk */
+#define  CSC_MODE_YUV_TO_RGB   (1 << 0) /* ilk/snb */
 
 #define _PIPE_A_CSC_PREOFF_HI  0x49030
 #define _PIPE_A_CSC_PREOFF_ME  0x49034
-- 
2.21.0

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

[Intel-gfx] [PATCH 10/12] drm/i915: Document ILK+ pipe csc matrix better

2019-07-18 Thread Ville Syrjala
From: Ville Syrjälä 

Add comments to explain the ilk pipe csc operation a bit better.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/intel_color.c | 26 +-
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_color.c 
b/drivers/gpu/drm/i915/display/intel_color.c
index 23a84dd7989f..736c42720daf 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -42,6 +42,21 @@
 
 #define LEGACY_LUT_LENGTH  256
 
+/*
+ * ILK+ csc matrix:
+ *
+ * |R/Cr|   | c0 c1 c2 |   ( |R/Cr|   |preoff0| )   |postoff0|
+ * |G/Y | = | c3 c4 c5 | x ( |G/Y | + |preoff1| ) + |postoff1|
+ * |B/Cb|   | c6 c7 c8 |   ( |B/Cb|   |preoff2| )   |postoff2|
+ *
+ * ILK/SNB don't have explicit post offsets, and instead
+ * CSC_MODE_YUV_TO_RGB and CSC_BLACK_SCREEN_OFFSET are used:
+ *  CSC_MODE_YUV_TO_RGB=0 + CSC_BLACK_SCREEN_OFFSET=0 -> 1/2, 0, 1/2
+ *  CSC_MODE_YUV_TO_RGB=0 + CSC_BLACK_SCREEN_OFFSET=1 -> 1/2, 1/16, 1/2
+ *  CSC_MODE_YUV_TO_RGB=1 + CSC_BLACK_SCREEN_OFFSET=0 -> 0, 0, 0
+ *  CSC_MODE_YUV_TO_RGB=1 + CSC_BLACK_SCREEN_OFFSET=1 -> 1/16, 1/16, 1/16
+ */
+
 /*
  * Extract the CSC coefficient from a CTM coefficient (in U32.32 fixed point
  * format). This macro takes the coefficient we want transformed and the
@@ -59,37 +74,38 @@
 
 #define ILK_CSC_POSTOFF_LIMITED_RANGE (16 * (1 << 12) / 255)
 
+/* Nop pre/post offsets */
 static const u16 ilk_csc_off_zero[3] = {};
 
+/* Identity matrix */
 static const u16 ilk_csc_coeff_identity[9] = {
ILK_CSC_COEFF_1_0, 0, 0,
0, ILK_CSC_COEFF_1_0, 0,
0, 0, ILK_CSC_COEFF_1_0,
 };
 
+/* Limited range RGB post offsets */
 static const u16 ilk_csc_postoff_limited_range[3] = {
ILK_CSC_POSTOFF_LIMITED_RANGE,
ILK_CSC_POSTOFF_LIMITED_RANGE,
ILK_CSC_POSTOFF_LIMITED_RANGE,
 };
 
+/* Full range RGB -> limited range RGB matrix */
 static const u16 ilk_csc_coeff_limited_range[9] = {
ILK_CSC_COEFF_LIMITED_RANGE, 0, 0,
0, ILK_CSC_COEFF_LIMITED_RANGE, 0,
0, 0, ILK_CSC_COEFF_LIMITED_RANGE,
 };
 
-/*
- * These values are direct register values specified in the Bspec,
- * for RGB->YUV conversion matrix (colorspace BT709)
- */
+/* BT.709 full range RGB -> limited range YCbCr matrix */
 static const u16 ilk_csc_coeff_rgb_to_ycbcr[9] = {
0x1e08, 0x9cc0, 0xb528,
0x2ba8, 0x09d8, 0x37e8,
0xbce8, 0x9ad8, 0x1e08,
 };
 
-/* Post offset values for RGB->YCBCR conversion */
+/* Limited range YCbCr post offsets */
 static const u16 ilk_csc_postoff_rgb_to_ycbcr[3] = {
0x0800, 0x0100, 0x0800,
 };
-- 
2.21.0

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

  1   2   >