aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_modes.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2015-12-03 16:14:14 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-12-11 03:32:53 -0500
commit6af3e6561243f167dabc03f732d27ff5365cd4a4 (patch)
treeeaeb52f1411ee8e789064dd0637cc175a205eb35 /drivers/gpu/drm/drm_modes.c
parentfc245f88039cc52859841bde9b81a7d3b7cd8b5a (diff)
drm: Drop drm_helper_probe_single_connector_modes_nomerge()
Now that the mode type bit merge logic is fixed to only merge between new probed modes, hopefully we can eliminat the special case for qxl and virtio. That is make the merge the mode type bits from all matching new probed modes, just like every other driver. qxl and virtio got excluded from the merging in commit 3fbd6439e463 ("drm: copy mode type in drm_mode_connector_list_update()") commit abce1ec9b08a ("Revert "drm: copy mode type in drm_mode_connector_list_update()"") commit b87577b7c768 ("drm: try harder to avoid regression when merging mode bits") Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Dave Airlie <airlied@redhat.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Adam Jackson <ajax@redhat.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> [danvet: Resolve conflicts with doc updates.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/drm_modes.c')
-rw-r--r--drivers/gpu/drm/drm_modes.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 1888e3cbdeaf..a15e26281a41 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -1172,7 +1172,6 @@ EXPORT_SYMBOL(drm_mode_sort);
1172/** 1172/**
1173 * drm_mode_connector_list_update - update the mode list for the connector 1173 * drm_mode_connector_list_update - update the mode list for the connector
1174 * @connector: the connector to update 1174 * @connector: the connector to update
1175 * @merge_type_bits: whether to merge or overwrite type bits
1176 * 1175 *
1177 * This moves the modes from the @connector probed_modes list 1176 * This moves the modes from the @connector probed_modes list
1178 * to the actual mode list. It compares the probed mode against the current 1177 * to the actual mode list. It compares the probed mode against the current
@@ -1181,8 +1180,7 @@ EXPORT_SYMBOL(drm_mode_sort);
1181 * This is just a helper functions doesn't validate any modes itself and also 1180 * This is just a helper functions doesn't validate any modes itself and also
1182 * doesn't prune any invalid modes. Callers need to do that themselves. 1181 * doesn't prune any invalid modes. Callers need to do that themselves.
1183 */ 1182 */
1184void drm_mode_connector_list_update(struct drm_connector *connector, 1183void drm_mode_connector_list_update(struct drm_connector *connector)
1185 bool merge_type_bits)
1186{ 1184{
1187 struct drm_display_mode *pmode, *pt; 1185 struct drm_display_mode *pmode, *pt;
1188 1186
@@ -1215,14 +1213,10 @@ void drm_mode_connector_list_update(struct drm_connector *connector,
1215 drm_mode_copy(mode, pmode); 1213 drm_mode_copy(mode, pmode);
1216 } else if ((mode->type & DRM_MODE_TYPE_PREFERRED) == 0 && 1214 } else if ((mode->type & DRM_MODE_TYPE_PREFERRED) == 0 &&
1217 (pmode->type & DRM_MODE_TYPE_PREFERRED) != 0) { 1215 (pmode->type & DRM_MODE_TYPE_PREFERRED) != 0) {
1218 if (merge_type_bits) 1216 pmode->type |= mode->type;
1219 pmode->type |= mode->type;
1220 drm_mode_copy(mode, pmode); 1217 drm_mode_copy(mode, pmode);
1221 } else { 1218 } else {
1222 if (merge_type_bits) 1219 mode->type |= pmode->type;
1223 mode->type |= pmode->type;
1224 else
1225 mode->type = pmode->type;
1226 } 1220 }
1227 1221
1228 list_del(&pmode->head); 1222 list_del(&pmode->head);