Loading drivers/gpu/drm/drm_edid.c +34 −38 Original line number Diff line number Diff line Loading @@ -502,25 +502,9 @@ static int add_detailed_info(struct drm_connector *connector, struct detailed_non_pixel *data = &timing->data.other_data; struct drm_display_mode *newmode; /* EDID up to and including 1.2 may put monitor info here */ if (edid->version == 1 && edid->revision < 3) continue; /* Detailed mode timing */ if (timing->pixel_clock) { newmode = drm_mode_detailed(dev, edid, timing, quirks); if (!newmode) continue; /* First detailed mode is preferred */ if (i == 0 && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING)) newmode->type |= DRM_MODE_TYPE_PREFERRED; drm_mode_probed_add(connector, newmode); modes++; continue; } /* X server check is version 1.1 or higher */ if (edid->version == 1 && edid->revision >= 1 && !timing->pixel_clock) { /* Other timing or info */ switch (data->type) { case EDID_DETAIL_MONITOR_SERIAL: Loading Loading @@ -551,6 +535,18 @@ static int add_detailed_info(struct drm_connector *connector, default: break; } } else { newmode = drm_mode_detailed(dev, edid, timing, quirks); if (!newmode) continue; /* First detailed mode is preferred */ if (i == 0 && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING)) newmode->type |= DRM_MODE_TYPE_PREFERRED; drm_mode_probed_add(connector, newmode); modes++; } } return modes; Loading Loading
drivers/gpu/drm/drm_edid.c +34 −38 Original line number Diff line number Diff line Loading @@ -502,25 +502,9 @@ static int add_detailed_info(struct drm_connector *connector, struct detailed_non_pixel *data = &timing->data.other_data; struct drm_display_mode *newmode; /* EDID up to and including 1.2 may put monitor info here */ if (edid->version == 1 && edid->revision < 3) continue; /* Detailed mode timing */ if (timing->pixel_clock) { newmode = drm_mode_detailed(dev, edid, timing, quirks); if (!newmode) continue; /* First detailed mode is preferred */ if (i == 0 && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING)) newmode->type |= DRM_MODE_TYPE_PREFERRED; drm_mode_probed_add(connector, newmode); modes++; continue; } /* X server check is version 1.1 or higher */ if (edid->version == 1 && edid->revision >= 1 && !timing->pixel_clock) { /* Other timing or info */ switch (data->type) { case EDID_DETAIL_MONITOR_SERIAL: Loading Loading @@ -551,6 +535,18 @@ static int add_detailed_info(struct drm_connector *connector, default: break; } } else { newmode = drm_mode_detailed(dev, edid, timing, quirks); if (!newmode) continue; /* First detailed mode is preferred */ if (i == 0 && (edid->features & DRM_EDID_FEATURE_PREFERRED_TIMING)) newmode->type |= DRM_MODE_TYPE_PREFERRED; drm_mode_probed_add(connector, newmode); modes++; } } return modes; Loading