drm/i915: add module param "enable_dp_mst"
authorNathan Schulte <nmschulte@gmail.com>
Tue, 15 Mar 2016 15:14:05 +0000 (10:14 -0500)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 16 Mar 2016 15:40:50 +0000 (16:40 +0100)
Adds an (unsafe; auto-kernel-tainting) boolean module parameter to the i915
drm driver: "enable_dp_mst", which is enabled by default.  Disabling the
parameter forces newly connected DisplayPort sinks to report as not
supporting multi-stream transport (MST), thus "forcing" the use of
single-stream transport (SST).

v2: rename parameter to conform to style
v3: add signoff

Signed-off-by: Nathan Schulte <nmschulte@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1458054845-5837-1-git-send-email-nmschulte@gmail.com
drivers/gpu/drm/i915/i915_params.c
drivers/gpu/drm/i915/i915_params.h
drivers/gpu/drm/i915/intel_dp.c

index 278c9c4..97691f1 100644 (file)
@@ -56,6 +56,7 @@ struct i915_params i915 __read_mostly = {
        .edp_vswing = 0,
        .enable_guc_submission = false,
        .guc_log_level = -1,
+       .enable_dp_mst = true,
 };
 
 module_param_named(modeset, i915.modeset, int, 0400);
@@ -201,3 +202,7 @@ MODULE_PARM_DESC(enable_guc_submission, "Enable GuC submission (default:false)")
 module_param_named(guc_log_level, i915.guc_log_level, int, 0400);
 MODULE_PARM_DESC(guc_log_level,
        "GuC firmware logging level (-1:disabled (default), 0-3:enabled)");
+
+module_param_named_unsafe(enable_dp_mst, i915.enable_dp_mst, bool, 0600);
+MODULE_PARM_DESC(enable_dp_mst,
+       "Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true)");
index bd5026b..87153b0 100644 (file)
@@ -59,6 +59,7 @@ struct i915_params {
        bool enable_guc_submission;
        bool verbose_state_checks;
        bool nuclear_pageflip;
+       bool enable_dp_mst;
 };
 
 extern struct i915_params i915 __read_mostly;
index 0e326e7..ba2d024 100644 (file)
@@ -3882,6 +3882,9 @@ intel_dp_probe_mst(struct intel_dp *intel_dp)
 {
        u8 buf[1];
 
+       if (!i915.enable_dp_mst)
+               return false;
+
        if (!intel_dp->can_mst)
                return false;