|
@@ -1516,6 +1516,26 @@ u8 *drm_find_cea_extension(struct edid *edid)
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_find_cea_extension);
|
|
|
|
|
|
+/*
|
|
|
+ * Looks for a CEA mode matching given drm_display_mode.
|
|
|
+ * Returns its CEA Video ID code, or 0 if not found.
|
|
|
+ */
|
|
|
+u8 drm_match_cea_mode(struct drm_display_mode *to_match)
|
|
|
+{
|
|
|
+ struct drm_display_mode *cea_mode;
|
|
|
+ u8 mode;
|
|
|
+
|
|
|
+ for (mode = 0; mode < drm_num_cea_modes; mode++) {
|
|
|
+ cea_mode = (struct drm_display_mode *)&edid_cea_modes[mode];
|
|
|
+
|
|
|
+ if (drm_mode_equal(to_match, cea_mode))
|
|
|
+ return mode + 1;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(drm_match_cea_mode);
|
|
|
+
|
|
|
+
|
|
|
static int
|
|
|
do_cea_modes (struct drm_connector *connector, u8 *db, u8 len)
|
|
|
{
|