svn commit: r280814 - head/sys/dev/drm2
Jean-Sebastien Pedron
dumbbell at FreeBSD.org
Sun Mar 29 18:45:52 UTC 2015
Author: dumbbell
Date: Sun Mar 29 18:45:51 2015
New Revision: 280814
URL: https://svnweb.freebsd.org/changeset/base/280814
Log:
drm: Import Linux commit 9bc3cd5673d84d29272fa7181a4dfca83cbb48c1
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date: Fri May 31 12:17:08 2013 +0000
drm: Sort connector modes based on vrefresh
Keeping the modes sorted by vrefresh before the pixel clock makes the
mode list somehow more pleasing to the eye.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
PR: 198936
Obtained from: Linux
MFC after: 1 month
MFC with: r280183
Modified:
head/sys/dev/drm2/drm_crtc_helper.c
head/sys/dev/drm2/drm_modes.c
Modified: head/sys/dev/drm2/drm_crtc_helper.c
==============================================================================
--- head/sys/dev/drm2/drm_crtc_helper.c Sun Mar 29 18:44:15 2015 (r280813)
+++ head/sys/dev/drm2/drm_crtc_helper.c Sun Mar 29 18:45:51 2015 (r280814)
@@ -189,13 +189,14 @@ prune:
if (list_empty(&connector->modes))
return 0;
+ list_for_each_entry(mode, &connector->modes, head)
+ mode->vrefresh = drm_mode_vrefresh(mode);
+
drm_mode_sort(&connector->modes);
DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed modes :\n", connector->base.id,
drm_get_connector_name(connector));
list_for_each_entry(mode, &connector->modes, head) {
- mode->vrefresh = drm_mode_vrefresh(mode);
-
drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
drm_mode_debug_printmodeline(mode);
}
Modified: head/sys/dev/drm2/drm_modes.c
==============================================================================
--- head/sys/dev/drm2/drm_modes.c Sun Mar 29 18:44:15 2015 (r280813)
+++ head/sys/dev/drm2/drm_modes.c Sun Mar 29 18:45:51 2015 (r280814)
@@ -927,6 +927,11 @@ static int drm_mode_compare(void *priv,
diff = b->hdisplay * b->vdisplay - a->hdisplay * a->vdisplay;
if (diff)
return diff;
+
+ diff = b->vrefresh - a->vrefresh;
+ if (diff)
+ return diff;
+
diff = b->clock - a->clock;
return diff;
}
More information about the svn-src-all
mailing list