mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 13:34:30 +00:00
drm/client: Extract drm_connector_first_mode()
Use a consistent method for picking the first mode from the connnector's mode list. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240404203336.10454-9-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
90c6b18727
commit
cbc1e8696f
@ -159,6 +159,12 @@ drm_connector_preferred_mode(struct drm_connector *connector, int width, int hei
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct drm_display_mode *drm_connector_first_mode(struct drm_connector *connector)
|
||||
{
|
||||
return list_first_entry_or_null(&connector->modes,
|
||||
struct drm_display_mode, head);
|
||||
}
|
||||
|
||||
static struct drm_display_mode *drm_connector_pick_cmdline_mode(struct drm_connector *connector)
|
||||
{
|
||||
struct drm_cmdline_mode *cmdline_mode;
|
||||
@ -444,10 +450,8 @@ retry:
|
||||
modes[i] = drm_connector_preferred_mode(connector, width, height);
|
||||
}
|
||||
/* No preferred modes, pick one off the list */
|
||||
if (!modes[i] && !list_empty(&connector->modes)) {
|
||||
list_for_each_entry(modes[i], &connector->modes, head)
|
||||
break;
|
||||
}
|
||||
if (!modes[i])
|
||||
modes[i] = drm_connector_first_mode(connector);
|
||||
/*
|
||||
* In case of tiled mode if all tiles not present fallback to
|
||||
* first available non tiled mode.
|
||||
@ -693,9 +697,7 @@ retry:
|
||||
if (!modes[i] && !list_empty(&connector->modes)) {
|
||||
drm_dbg_kms(dev, "[CONNECTOR:%d:%s] using first listed mode\n",
|
||||
connector->base.id, connector->name);
|
||||
modes[i] = list_first_entry(&connector->modes,
|
||||
struct drm_display_mode,
|
||||
head);
|
||||
modes[i] = drm_connector_first_mode(connector);
|
||||
}
|
||||
|
||||
/* last resort: use current mode */
|
||||
|
Loading…
x
Reference in New Issue
Block a user