]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/dp: Fix the PSR debugfs entries wrt. MST connectors
authorImre Deak <imre.deak@intel.com>
Wed, 3 Jan 2024 15:26:09 +0000 (17:26 +0200)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 10 Jan 2024 08:42:00 +0000 (10:42 +0200)
MST connectors don't have a static attached encoder, as their encoder
can change depending on the pipe they use; so the encoder for an MST
connector can't be retrieved using intel_dp_attached_encoder() (which
may return NULL for MST). Most of the PSR debugfs entries depend on a
static connector -> encoder mapping which is only true for eDP and SST
DP connectors and not for MST. These debugfs entries were enabled for
MST connectors as well recently to provide PR information for them, but
handling MST connectors needs more changes.

Fix this by not adding for now the PSR entries on MST connectors. To
make things more uniform add the entries for SST connectors on all
platforms, not just on platforms supporting DP2.0.

v2:
- Keep adding the entries for SST connectors. (Jouni)
- Add a TODO: comment for MST support.

Fixes: ef75c25e8fed ("drm/i915/panelreplay: Debugfs support for panel replay")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9850
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240103152609.2434100-1-imre.deak@intel.com
(cherry picked from commit 9b0b61c5bc08e1aa55a0c1e7cda28f952b2d02cc)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/display/intel_psr.c

index b6e2e70e129046040336012604f3955a12c3ce8f..8f702c3fc62d483e6ba92d4d02537576975441ae 100644 (file)
@@ -3319,11 +3319,11 @@ void intel_psr_connector_debugfs_add(struct intel_connector *connector)
        struct drm_i915_private *i915 = to_i915(connector->base.dev);
        struct dentry *root = connector->base.debugfs_entry;
 
-       if (connector->base.connector_type != DRM_MODE_CONNECTOR_eDP) {
-               if (!(HAS_DP20(i915) &&
-                     connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort))
-                       return;
-       }
+       /* TODO: Add support for MST connectors as well. */
+       if ((connector->base.connector_type != DRM_MODE_CONNECTOR_eDP &&
+            connector->base.connector_type != DRM_MODE_CONNECTOR_DisplayPort) ||
+           connector->mst_port)
+               return;
 
        debugfs_create_file("i915_psr_sink_status", 0444, root,
                            connector, &i915_psr_sink_status_fops);