At the moment, we allow force joiner debugs to work only for connector
with status connected and a crtc attached to it.
This creates a problem when we force bigjoiner and then pipe gets reset
before the force bigjoiner is disabled.
Relax the condition to check for crtc while exposing the debugfs.

Signed-off-by: Ankit Nautiyal <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display_debugfs.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c 
b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index b99c024b0934..94bc9e0d30fe 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1405,10 +1405,8 @@ out:     
drm_modeset_unlock(&i915->drm.mode_config.connection_mutex);
 static int i915_bigjoiner_enable_show(struct seq_file *m, void *data)
 {
        struct intel_connector *connector = m->private;
-       struct drm_crtc *crtc;
 
-       crtc = connector->base.state->crtc;
-       if (connector->base.status != connector_status_connected || !crtc)
+       if (connector->base.status != connector_status_connected)
                return -ENODEV;
 
        seq_printf(m, "Bigjoiner enable: %d\n", 
connector->force_bigjoiner_enable);
@@ -1443,12 +1441,10 @@ static ssize_t i915_bigjoiner_enable_write(struct file 
*file,
 {
        struct seq_file *m = file->private_data;
        struct intel_connector *connector = m->private;
-       struct drm_crtc *crtc;
        bool bigjoiner_en = 0;
        int ret;
 
-       crtc = connector->base.state->crtc;
-       if (connector->base.status != connector_status_connected || !crtc)
+       if (connector->base.status != connector_status_connected)
                return -ENODEV;
 
        ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
-- 
2.40.1

Reply via email to