diff mbox series

[v4,1/9] drm/i915: Disable PSR in Apple panels

Message ID 20181204003403.23361-1-jose.souza@intel.com (mailing list archive)
State New, archived
Headers show
Series [v4,1/9] drm/i915: Disable PSR in Apple panels | expand

Commit Message

Souza, Jose Dec. 4, 2018, 12:33 a.m. UTC
i915 yet don't support PSR in Apple panels, so lets keep it disabled
while we work on that.

v2: Renamed DP_DPCD_QUIRK_PSR_NOT_CURRENTLY_SUPPORTED to
DP_DPCD_QUIRK_NO_PSR (Ville)

v3:
Adding documentation to DP_DPCD_QUIRK_NO_PSR(Dhinakaran and Jani)
Fixed typo in comment of the new quirk entry(Jani)

Fixes: 598c6cfe0690 (drm/i915/psr: Enable PSR1 on gen-9+ HW)
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/drm_dp_helper.c  | 2 ++
 drivers/gpu/drm/i915/intel_psr.c | 6 ++++++
 include/drm/drm_dp_helper.h      | 7 +++++++
 3 files changed, 15 insertions(+)

Comments

Souza, Jose Dec. 4, 2018, 8:46 p.m. UTC | #1
Patches merged to drm-intel-next-queued, thanks for the reviews DK and
Rodrigo.

On Tue, 2018-12-04 at 03:05 +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [v4,1/9] drm/i915: Disable PSR in Apple
> panels
> URL   : https://patchwork.freedesktop.org/series/53448/
> State : success
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_5250_full -> Patchwork_11004_full
> ====================================================
> 
> Summary
> -------
> 
>   **WARNING**
> 
>   Minor unknown changes coming with Patchwork_11004_full need to be
> verified
>   manually.
>   
>   If you think the reported changes have nothing to do with the
> changes
>   introduced in Patchwork_11004_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_11004_full:
> 
> ### IGT changes ###
> 
> #### Warnings ####
> 
>   * igt@pm_rc6_residency@rc6-accuracy:
>     - shard-snb:          PASS -> SKIP
> 
>   
> Known issues
> ------------
> 
>   Here are the changes found in Patchwork_11004_full that come from
> known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_exec_schedule@pi-ringfull-vebox:
>     - shard-apl:          NOTRUN -> FAIL [fdo#103158]
> 
>   * igt@gem_ppgtt@blt-vs-render-ctxn:
>     - shard-kbl:          PASS -> INCOMPLETE [fdo#103665] /
> [fdo#106023] / [fdo#106887]
> 
>   * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
>     - shard-hsw:          PASS -> DMESG-WARN [fdo#107956]
> 
>   * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
>     - shard-glk:          PASS -> DMESG-WARN [fdo#107956]
> 
>   * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
>     - shard-skl:          NOTRUN -> DMESG-WARN [fdo#107956]
> 
>   * igt@kms_cursor_crc@cursor-128x128-offscreen:
>     - shard-skl:          PASS -> FAIL [fdo#103232]
> 
>   * igt@kms_cursor_crc@cursor-256x85-random:
>     - shard-glk:          PASS -> FAIL [fdo#103232] +1
> 
>   * igt@kms_cursor_crc@cursor-64x64-onscreen:
>     - shard-apl:          PASS -> FAIL [fdo#103232]
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
>     - shard-apl:          PASS -> FAIL [fdo#103167]
> 
>   * igt@kms
> _frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
>     - shard-glk:          PASS -> FAIL [fdo#103167] +1
> 
>   * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
>     - shard-skl:          NOTRUN -> FAIL [fdo#105683]
> 
>   * igt@kms_plane@pixel-format-pipe-a-planes:
>     - shard-skl:          NOTRUN -> DMESG-WARN [fdo#106885]
> 
>   * igt@kms_plane@plane-position-covered-pipe-b-planes:
>     - shard-glk:          PASS -> FAIL [fdo#103166] +1
> 
>   * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
>     - shard-skl:          NOTRUN -> FAIL [fdo#107815] / [fdo#108145]
> 
>   * igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
>     - shard-skl:          NOTRUN -> FAIL [fdo#108145] +2
> 
>   * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
>     - shard-apl:          NOTRUN -> FAIL [fdo#108145]
> 
>   * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
>     - shard-skl:          PASS -> FAIL [fdo#107815]
> 
>   * igt@kms_properties@connector-properties-atomic:
>     - shard-skl:          NOTRUN -> FAIL [fdo#108642]
> 
>   * igt@pm_backlight@fade_with_suspend:
>     - shard-skl:          NOTRUN -> FAIL [fdo#107847]
> 
>   * igt@pm_rpm@cursor:
>     - shard-skl:          PASS -> INCOMPLETE [fdo#107807] +1
> 
>   
> #### Possible fixes ####
> 
>   * igt@gem_eio@reset-stress:
>     - shard-glk:          FAIL [fdo#107799] -> PASS
> 
>   * igt@gem_exec_schedule@preempt-queue-chain-render:
>     - shard-apl:          INCOMPLETE [fdo#103927] -> PASS
> 
>   * igt@gem_ppgtt@blt-vs-render-ctx0:
>     - shard-skl:          TIMEOUT [fdo#108039] -> PASS
> 
>   * igt@kms_busy@extended-pageflip-hang-newfb-render-a:
>     - shard-glk:          DMESG-WARN [fdo#107956] -> PASS
> 
>   * igt@kms_color@pipe-c-legacy-gamma:
>     - shard-apl:          FAIL [fdo#104782] -> PASS
> 
>   * igt@kms_cursor_crc@cursor-64x64-suspend:
>     - shard-skl:          INCOMPLETE [fdo#104108] -> PASS +1
> 
>   * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
>     - shard-glk:          FAIL [fdo#104873] -> PASS
> 
>   * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-untiled:
>     - shard-skl:          FAIL [fdo#103184] -> PASS
> 
>   * igt@kms_flip@2x-flip-vs-expired-vblank:
>     - shard-hsw:          FAIL [fdo#102887] -> PASS
> 
>   * igt@kms_flip@flip-vs-expired-vblank:
>     - shard-skl:          FAIL [fdo#105363] -> PASS
> 
>   * igt@kms_flip@nonexisting-fb-interruptible:
>     - {shard-iclb}:       DMESG-WARN -> PASS
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
>     - shard-glk:          FAIL [fdo#103167] -> PASS +5
> 
>   * igt@kms
> _frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
>     - shard-apl:          FAIL [fdo#103167] -> PASS +2
> 
>   * igt@kms_plane@plane-position-covered-pipe-b-planes:
>     - shard-apl:          FAIL [fdo#103166] -> PASS
> 
>   * igt@pm_rpm@cursor-dpms:
>     - shard-skl:          INCOMPLETE [fdo#107807] -> PASS
> 
>   * igt@pm_rpm@gem-execbuf-stress-extra-wait:
>     - shard-skl:          INCOMPLETE [fdo#107803] / [fdo#107807] ->
> PASS
> 
>   * igt@pm_rpm@reg-read-ioctl:
>     - {shard-iclb}:       DMESG-WARN [fdo#107724] -> PASS
> 
>   
>   {name}: This element is suppressed. This means it is ignored when
> computing
>           the status of the difference (SUCCESS, WARNING, or
> FAILURE).
> 
>   [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
>   [fdo#103158]: https://bugs.freedesktop.org/show_bug.cgi?id=103158
>   [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
>   [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   [fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
>   [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
>   [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
>   [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
>   [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
>   [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
>   [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
>   [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
>   [fdo#105683]: https://bugs.freedesktop.org/show_bug.cgi?id=105683
>   [fdo#106023]: https://bugs.freedesktop.org/show_bug.cgi?id=106023
>   [fdo#106885]: https://bugs.freedesktop.org/show_bug.cgi?id=106885
>   [fdo#106887]: https://bugs.freedesktop.org/show_bug.cgi?id=106887
>   [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
>   [fdo#107799]: https://bugs.freedesktop.org/show_bug.cgi?id=107799
>   [fdo#107803]: https://bugs.freedesktop.org/show_bug.cgi?id=107803
>   [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
>   [fdo#107815]: https://bugs.freedesktop.org/show_bug.cgi?id=107815
>   [fdo#107847]: https://bugs.freedesktop.org/show_bug.cgi?id=107847
>   [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
>   [fdo#108039]: https://bugs.freedesktop.org/show_bug.cgi?id=108039
>   [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>   [fdo#108642]: https://bugs.freedesktop.org/show_bug.cgi?id=108642
> 
> 
> Participating hosts (7 -> 7)
> ------------------------------
> 
>   No changes in participating hosts
> 
> 
> Build changes
> -------------
> 
>     * Linux: CI_DRM_5250 -> Patchwork_11004
> 
>   CI_DRM_5250: 1e4e49c57969d1b53dea913c92e1d23ec23aee31 @
> git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_4736: 285ebfb3b7adc56586031afa5150c4e5ad40c229 @
> git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_11004: d067bd608588524c0a9f30ad59def19ab00d9a6c @
> git://anongit.freedesktop.org/gfx-ci/linux
>   piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @
> git://anongit.freedesktop.org/piglit
> 
> == Logs ==
> 
> For more details see: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_11004/
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 2d6c491a0542..516e82d0ed50 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -1273,6 +1273,8 @@  static const struct dpcd_quirk dpcd_quirk_list[] = {
 	{ OUI(0x00, 0x22, 0xb9), DEVICE_ID_ANY, true, BIT(DP_DPCD_QUIRK_CONSTANT_N) },
 	/* LG LP140WF6-SPM1 eDP panel */
 	{ OUI(0x00, 0x22, 0xb9), DEVICE_ID('s', 'i', 'v', 'a', 'r', 'T'), false, BIT(DP_DPCD_QUIRK_CONSTANT_N) },
+	/* Apple panels need some additional handling to support PSR */
+	{ OUI(0x00, 0x10, 0xfa), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_NO_PSR) }
 };
 
 #undef OUI
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 419e56342523..f71970df9936 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -274,10 +274,16 @@  void intel_psr_init_dpcd(struct intel_dp *intel_dp)
 	DRM_DEBUG_KMS("eDP panel supports PSR version %x\n",
 		      intel_dp->psr_dpcd[0]);
 
+	if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PSR)) {
+		DRM_DEBUG_KMS("PSR support not currently available for this panel\n");
+		return;
+	}
+
 	if (!(intel_dp->edp_dpcd[1] & DP_EDP_SET_POWER_CAP)) {
 		DRM_DEBUG_KMS("Panel lacks power state control, PSR cannot be enabled\n");
 		return;
 	}
+
 	dev_priv->psr.sink_support = true;
 	dev_priv->psr.sink_sync_latency =
 		intel_dp_get_sink_sync_latency(intel_dp);
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 5736c942c85b..c33e89c51d9f 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1365,6 +1365,13 @@  enum drm_dp_quirk {
 	 * to 16 bits. So will give a constant value (0x8000) for compatability.
 	 */
 	DP_DPCD_QUIRK_CONSTANT_N,
+	/**
+	 * @DP_DPCD_QUIRK_NO_PSR
+	 *
+	 * The device does not support PSR even if reports that it supports or
+	 * driver still need to implement proper handling for such device.
+	 */
+	DP_DPCD_QUIRK_NO_PSR,
 };
 
 /**