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

Commit 374a868a authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Daniel Vetter
Browse files

drm: add drm_mode_cea_vic

This function returns the VIC of the mode. This value can be used when
creating AVI InfoFrames.

Cc: Thierry Reding <thierry.reding@avionic-design.de>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50371


Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 2ff4aeac
Loading
Loading
Loading
Loading
+19 −0
Original line number Original line Diff line number Diff line
@@ -2079,3 +2079,22 @@ int drm_add_modes_noedid(struct drm_connector *connector,
	return num_modes;
	return num_modes;
}
}
EXPORT_SYMBOL(drm_add_modes_noedid);
EXPORT_SYMBOL(drm_add_modes_noedid);

/**
 * drm_mode_cea_vic - return the CEA-861 VIC of a given mode
 * @mode: mode
 *
 * RETURNS:
 * The VIC number, 0 in case it's not a CEA-861 mode.
 */
uint8_t drm_mode_cea_vic(const struct drm_display_mode *mode)
{
	uint8_t i;

	for (i = 0; i < drm_num_cea_modes; i++)
		if (drm_mode_equal(mode, &edid_cea_modes[i]))
			return i + 1;

	return 0;
}
EXPORT_SYMBOL(drm_mode_cea_vic);
+1 −0
Original line number Original line Diff line number Diff line
@@ -1055,6 +1055,7 @@ 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 uint8_t drm_mode_cea_vic(const struct drm_display_mode *mode);


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);