|
@@ -357,6 +357,16 @@ intel_dp_mst_mode_valid(struct drm_connector *connector,
|
|
|
return MODE_OK;
|
|
|
}
|
|
|
|
|
|
+static struct drm_encoder *intel_mst_atomic_best_encoder(struct drm_connector *connector,
|
|
|
+ struct drm_connector_state *state)
|
|
|
+{
|
|
|
+ struct intel_connector *intel_connector = to_intel_connector(connector);
|
|
|
+ struct intel_dp *intel_dp = intel_connector->mst_port;
|
|
|
+ struct intel_crtc *crtc = to_intel_crtc(state->crtc);
|
|
|
+
|
|
|
+ return &intel_dp->mst_encoders[crtc->pipe]->base.base;
|
|
|
+}
|
|
|
+
|
|
|
static struct drm_encoder *intel_mst_best_encoder(struct drm_connector *connector)
|
|
|
{
|
|
|
struct intel_connector *intel_connector = to_intel_connector(connector);
|
|
@@ -367,6 +377,7 @@ static struct drm_encoder *intel_mst_best_encoder(struct drm_connector *connecto
|
|
|
static const struct drm_connector_helper_funcs intel_dp_mst_connector_helper_funcs = {
|
|
|
.get_modes = intel_dp_mst_get_modes,
|
|
|
.mode_valid = intel_dp_mst_mode_valid,
|
|
|
+ .atomic_best_encoder = intel_mst_atomic_best_encoder,
|
|
|
.best_encoder = intel_mst_best_encoder,
|
|
|
};
|
|
|
|