X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=drivers%2Fgpu%2Fdrm%2Fdrm_modes.c;h=c4f88c3a93b7a98baac9b7deed397b08a8f6dfca;hb=f8e4806e0dfa8796b3d7076a7fe054455a59c38b;hp=893f52ee492610e11ebb5ded63d1cc7683e81b31;hpb=5b890ad456b16a5b45e7f86d9708d7248e73d0f8;p=thirdparty%2Flinux.git diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index 893f52ee49261..c4f88c3a93b7a 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -2752,3 +2752,25 @@ bool drm_mode_is_420(const struct drm_display_info *display, drm_mode_is_420_also(display, mode); } EXPORT_SYMBOL(drm_mode_is_420); + +/** + * drm_set_preferred_mode - Sets the preferred mode of a connector + * @connector: connector whose mode list should be processed + * @hpref: horizontal resolution of preferred mode + * @vpref: vertical resolution of preferred mode + * + * Marks a mode as preferred if it matches the resolution specified by @hpref + * and @vpref. + */ +void drm_set_preferred_mode(struct drm_connector *connector, + int hpref, int vpref) +{ + struct drm_display_mode *mode; + + list_for_each_entry(mode, &connector->probed_modes, head) { + if (mode->hdisplay == hpref && + mode->vdisplay == vpref) + mode->type |= DRM_MODE_TYPE_PREFERRED; + } +} +EXPORT_SYMBOL(drm_set_preferred_mode);