[Intel-gfx] [PATCH 1/2] drm: add drm_mode_cea_vic
Paulo Zanoni
przanoni at gmail.com
Fri Nov 23 15:09:26 CET 2012
From: Paulo Zanoni <paulo.r.zanoni at intel.com>
This function returns the VIC of the mode. This value can be used when
creating AVI InfoFrames.
Cc: Thierry Reding <thierry.reding at avionic-design.de>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50371
Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
---
drivers/gpu/drm/drm_edid.c | 19 +++++++++++++++++++
include/drm/drm_crtc.h | 1 +
2 files changed, 20 insertions(+)
Since drm-intel-next-queued is too old for this patch, I am rebasing it against
drm-next and splitting into 2 patches: one drm-only and the other i915-only, so
I imagine the first will be merged by Dave and the second by Daniel.
New version:
- Based on Dave's drm-next
- Fix function name inside the comments
- Remove the i915 chunk
- Constification of other functions is no more required as they are already
const here.
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 1648200..011bd4f 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2079,3 +2079,22 @@ int drm_add_modes_noedid(struct drm_connector *connector,
return num_modes;
}
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);
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index c0635b7..3538eda 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -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);
extern int drm_add_modes_noedid(struct drm_connector *connector,
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 bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid);
--
1.7.10.4
More information about the Intel-gfx
mailing list