drm: add drm_set_preferred_mode
New helper function to set the preferred video mode. Can be called after drm_add_modes_noedid if you don't want the largest supported video mode be used by default. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
23c453a4af
commit
3cf70dafd7
|
@ -3482,6 +3482,19 @@ int drm_add_modes_noedid(struct drm_connector *connector,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_add_modes_noedid);
|
EXPORT_SYMBOL(drm_add_modes_noedid);
|
||||||
|
|
||||||
|
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 (drm_mode_width(mode) == hpref &&
|
||||||
|
drm_mode_height(mode) == vpref)
|
||||||
|
mode->type |= DRM_MODE_TYPE_PREFERRED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_set_preferred_mode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_hdmi_avi_infoframe_from_display_mode() - fill an HDMI AVI infoframe with
|
* drm_hdmi_avi_infoframe_from_display_mode() - fill an HDMI AVI infoframe with
|
||||||
* data from a DRM display mode
|
* data from a DRM display mode
|
||||||
|
|
|
@ -1118,6 +1118,8 @@ extern struct drm_display_mode *drm_gtf_mode_complex(struct drm_device *dev,
|
||||||
int GTF_2C, int GTF_K, int GTF_2J);
|
int GTF_2C, int GTF_K, int GTF_2J);
|
||||||
extern int drm_add_modes_noedid(struct drm_connector *connector,
|
extern int drm_add_modes_noedid(struct drm_connector *connector,
|
||||||
int hdisplay, int vdisplay);
|
int hdisplay, int vdisplay);
|
||||||
|
extern void drm_set_preferred_mode(struct drm_connector *connector,
|
||||||
|
int hpref, int vpref);
|
||||||
|
|
||||||
extern int drm_edid_header_is_valid(const u8 *raw_edid);
|
extern int drm_edid_header_is_valid(const u8 *raw_edid);
|
||||||
extern bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid);
|
extern bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid);
|
||||||
|
|
Loading…
Reference in New Issue