drm/i915/display: Support Multiple Transcoders' PSR status on debugfs
authorGwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Thu, 4 Feb 2021 13:40:15 +0000 (15:40 +0200)
committerJosé Roberto de Souza <jose.souza@intel.com>
Fri, 5 Feb 2021 13:29:17 +0000 (05:29 -0800)
In order to support the PSR state of each transcoder, it adds
i915_psr_status to sub-directory of each transcoder.

v2: Change using of Symbolic permissions 'S_IRUGO' to using of octal
    permissions '0444'
v5: Addressed JJani Nikula's review comments
 - Remove checking of Gen12 for i915_psr_status.
 - Add check of HAS_PSR()
 - Remove meaningless check routine.

Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210204134015.419036-2-gwan-gyeong.mun@intel.com
drivers/gpu/drm/i915/display/intel_display_debugfs.c

index b1bda1f..d6e4a92 100644 (file)
@@ -2211,6 +2211,16 @@ static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data)
 }
 DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
 
+static int i915_psr_status_show(struct seq_file *m, void *data)
+{
+       struct drm_connector *connector = m->private;
+       struct intel_dp *intel_dp =
+               intel_attached_dp(to_intel_connector(connector));
+
+       return intel_psr_status(m, intel_dp);
+}
+DEFINE_SHOW_ATTRIBUTE(i915_psr_status);
+
 #define LPSP_CAPABLE(COND) (COND ? seq_puts(m, "LPSP: capable\n") : \
                                seq_puts(m, "LPSP: incapable\n"))
 
@@ -2386,6 +2396,12 @@ int intel_connector_debugfs_add(struct drm_connector *connector)
                                    connector, &i915_psr_sink_status_fops);
        }
 
+       if (HAS_PSR(dev_priv) &&
+           connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
+               debugfs_create_file("i915_psr_status", 0444, root,
+                                   connector, &i915_psr_status_fops);
+       }
+
        if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
            connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
            connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {