@@ -1520,6 +1520,7 @@ static ssize_t i915_joiner_write(struct file *file,
struct seq_file *m = file->private_data;
struct intel_connector *connector = m->private;
struct intel_display *display = to_intel_display(connector);
+ struct drm_i915_private *i915 = to_i915(display->drm);
int force_join_pipes = 0;
int ret;
@@ -1538,6 +1539,13 @@ static ssize_t i915_joiner_write(struct file *file,
case 2:
connector->force_joined_pipes = force_join_pipes;
break;
+ case 4:
+ if (HAS_ULTRAJOINER(i915)) {
+ connector->force_joined_pipes = 4;
+ break;
+ }
+
+ fallthrough;
default:
drm_dbg(display->drm, "Ignoring Invalid num of pipes %d for force joining\n",
force_join_pipes);
@@ -1317,6 +1317,8 @@ int intel_dp_compute_num_pipes(struct intel_dp *intel_dp,
case 1:
fallthrough;
case 2:
+ fallthrough;
+ case 4:
return connector->force_joined_pipes;
default:
MISSING_CASE(connector->force_joined_pipes);