Currently debugfs for joiner can take a value of 0->dont care and
2->join 2 pipes. Add option to force to use only 1 pipe.

If debugfs is set to 1, force to exactly one pipe (ie. no
joiner despite what the automagic logic is saying).

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

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c 
b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 7ceaf01a884a..8b0cb750d9ae 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1545,6 +1545,9 @@ static ssize_t i915_joiner_write(struct file *file,
        switch (force_join_pipes) {
        case 0:
                break;
+       case 1:
+               connector->force_joined_pipes = force_join_pipes;
+               break;
        case 2:
                if (intel_dp_has_joiner(intel_dp))
                        connector->force_joined_pipes = force_join_pipes;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 333624fcebd7..65044f63d1f5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1276,6 +1276,8 @@ int intel_dp_compute_joiner_pipes(struct intel_dp 
*intel_dp,
                                  int hdisplay, int clock)
 {
        switch (connector->force_joined_pipes) {
+       case 1:
+               fallthrough;
        case 2:
                return connector->force_joined_pipes;
        default:
@@ -1287,7 +1289,7 @@ int intel_dp_compute_joiner_pipes(struct intel_dp 
*intel_dp,
                        return 2;
        }
 
-       return 0;
+       return 1;
 }
 
 bool intel_dp_has_dsc(const struct intel_connector *connector)
-- 
2.45.2

Reply via email to