|
@@ -265,7 +265,6 @@ static struct drm_connector *radeon_dp_add_mst_connector(struct drm_dp_mst_topol
|
|
|
{
|
|
|
struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr);
|
|
|
struct drm_device *dev = master->base.dev;
|
|
|
- struct radeon_device *rdev = dev->dev_private;
|
|
|
struct radeon_connector *radeon_connector;
|
|
|
struct drm_connector *connector;
|
|
|
|
|
@@ -286,12 +285,19 @@ static struct drm_connector *radeon_dp_add_mst_connector(struct drm_dp_mst_topol
|
|
|
drm_object_attach_property(&connector->base, dev->mode_config.path_property, 0);
|
|
|
drm_mode_connector_set_path_property(connector, pathprop);
|
|
|
|
|
|
+ return connector;
|
|
|
+}
|
|
|
+
|
|
|
+static void radeon_dp_register_mst_connector(struct drm_connector *connector)
|
|
|
+{
|
|
|
+ struct drm_device *dev = connector->dev;
|
|
|
+ struct radeon_device *rdev = dev->dev_private;
|
|
|
+
|
|
|
drm_modeset_lock_all(dev);
|
|
|
radeon_fb_add_connector(rdev, connector);
|
|
|
drm_modeset_unlock_all(dev);
|
|
|
|
|
|
drm_connector_register(connector);
|
|
|
- return connector;
|
|
|
}
|
|
|
|
|
|
static void radeon_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
|
|
@@ -324,6 +330,7 @@ static void radeon_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr)
|
|
|
|
|
|
struct drm_dp_mst_topology_cbs mst_cbs = {
|
|
|
.add_connector = radeon_dp_add_mst_connector,
|
|
|
+ .register_connector = radeon_dp_register_mst_connector,
|
|
|
.destroy_connector = radeon_dp_destroy_mst_connector,
|
|
|
.hotplug = radeon_dp_mst_hotplug,
|
|
|
};
|