Commit 6d832d18 authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: inline intel_best_encoder

Also kill the error-path, we have a fixed connector->encoder mapping.

Unfortunately we can't rip out all the ->best_encoder callbacks, these
are all still used by the fb_helper. Neat helper layering violation there.
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 4f660f49
...@@ -6644,7 +6644,7 @@ static int intel_crtc_set_config(struct drm_mode_set *set) ...@@ -6644,7 +6644,7 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
bool mode_changed = false; /* if true do a full mode set */ bool mode_changed = false; /* if true do a full mode set */
bool fb_changed = false; /* if true and !mode_changed just do a flip */ bool fb_changed = false; /* if true and !mode_changed just do a flip */
struct drm_connector *save_connectors, *connector; struct drm_connector *save_connectors, *connector;
int count = 0, ro, fail = 0; int count = 0, ro;
struct drm_mode_set save_set; struct drm_mode_set save_set;
int ret; int ret;
int i; int i;
...@@ -6660,7 +6660,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set) ...@@ -6660,7 +6660,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
if (!set->crtc->helper_private) if (!set->crtc->helper_private)
return -EINVAL; return -EINVAL;
if (!set->mode) if (!set->mode)
set->fb = NULL; set->fb = NULL;
...@@ -6753,17 +6752,11 @@ static int intel_crtc_set_config(struct drm_mode_set *set) ...@@ -6753,17 +6752,11 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
/* a) traverse passed in connector list and get encoders for them */ /* a) traverse passed in connector list and get encoders for them */
count = 0; count = 0;
list_for_each_entry(connector, &dev->mode_config.connector_list, head) { list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
struct drm_connector_helper_funcs *connector_funcs =
connector->helper_private;
new_encoder = connector->encoder; new_encoder = connector->encoder;
for (ro = 0; ro < set->num_connectors; ro++) { for (ro = 0; ro < set->num_connectors; ro++) {
if (set->connectors[ro] == connector) { if (set->connectors[ro] == connector) {
new_encoder = connector_funcs->best_encoder(connector); new_encoder =
/* if we can't get an encoder for a connector &intel_attached_encoder(connector)->base;
we are setting now - then fail */
if (new_encoder == NULL)
/* don't break so fail path works correct */
fail = 1;
break; break;
} }
} }
...@@ -6780,11 +6773,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set) ...@@ -6780,11 +6773,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
} }
} }
if (fail) {
ret = -EINVAL;
goto fail;
}
count = 0; count = 0;
list_for_each_entry(connector, &dev->mode_config.connector_list, head) { list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
if (!connector->encoder) if (!connector->encoder)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment