[PATCH] dp-mst-register
Chris Wilson
chris at chris-wilson.co.uk
Tue Jan 10 10:46:41 UTC 2017
---
drivers/gpu/drm/i915/intel_dp.c | 11 ++++++++++-
drivers/gpu/drm/i915/intel_dp_mst.c | 12 ++++--------
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 624834c1e485..5e226338625b 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4736,7 +4736,16 @@ intel_dp_connector_register(struct drm_connector *connector)
intel_dp->aux.name, connector->kdev->kobj.name);
intel_dp->aux.dev = connector->kdev;
- return drm_dp_aux_register(&intel_dp->aux);
+ ret = drm_dp_aux_register(&intel_dp->aux);
+ if (ret)
+ return ret;
+
+ if (intel_dp->mbr.cbs) {
+ intel_dp->can_mst = true;
+ intel_dp_configure_mst(intel_dp);
+ }
+
+ return 0;
}
static void
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index c93c1999a494..d46c99bbf87d 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -580,19 +580,15 @@ intel_dp_mst_encoder_init(struct intel_digital_port *intel_dig_port, int conn_ba
{
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct drm_device *dev = intel_dig_port->base.base.dev;
- int ret;
- intel_dp->can_mst = true;
+ intel_dp->can_mst = false;
intel_dp->mst_mgr.cbs = &mst_cbs;
/* create encoders */
intel_dp_create_fake_mst_encoders(intel_dig_port);
- ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst_mgr, dev->dev, &intel_dp->aux, 16, 3, conn_base_id);
- if (ret) {
- intel_dp->can_mst = false;
- return ret;
- }
- return 0;
+ return drm_dp_mst_topology_mgr_init(&intel_dp->mst_mgr, dev->dev,
+ &intel_dp->aux, 16, 3,
+ conn_base_id);
}
void
--
2.11.0
More information about the Intel-gfx-trybot
mailing list