Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8b46a05 authored by Adam Jackson's avatar Adam Jackson Committed by Dave Airlie
Browse files

drm/edid: Rewrite drm_mode_find_dmt search loop



No functional change, but will make an upcoming change clearer.

Signed-off-by: default avatarAdam Jackson <ajax@redhat.com>
Tested-by: default avatarTakashi Iwai <tiwai@suse.de>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 33c7531d
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -499,20 +499,21 @@ static void edid_fixup_preferred(struct drm_connector *connector,
struct drm_display_mode *drm_mode_find_dmt(struct drm_device *dev,
					   int hsize, int vsize, int fresh)
{
	struct drm_display_mode *mode = NULL;
	int i;

	for (i = 0; i < drm_num_dmt_modes; i++) {
		const struct drm_display_mode *ptr = &drm_dmt_modes[i];
		if (hsize == ptr->hdisplay &&
			vsize == ptr->vdisplay &&
			fresh == drm_mode_vrefresh(ptr)) {
			/* get the expected default mode */
			mode = drm_mode_duplicate(dev, ptr);
			break;
		}
		if (hsize != ptr->hdisplay)
			continue;
		if (vsize != ptr->vdisplay)
			continue;
		if (fresh != drm_mode_vrefresh(ptr))
			continue;

		return drm_mode_duplicate(dev, ptr);
	}
	return mode;

	return NULL;
}
EXPORT_SYMBOL(drm_mode_find_dmt);