diff mbox

[1/2] drm: add drm_mode_cea_vic

Message ID 1353679767-3737-1-git-send-email-przanoni@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paulo Zanoni Nov. 23, 2012, 2:09 p.m. UTC
From: Paulo Zanoni <paulo.r.zanoni@intel.com>

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: Paulo Zanoni <paulo.r.zanoni@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.

Comments

Thierry Reding Nov. 23, 2012, 2:11 p.m. UTC | #1
On Fri, Nov 23, 2012 at 12:09:26PM -0200, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
> 
> 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: Paulo Zanoni <paulo.r.zanoni@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.

Looks good to me:

Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Daniel Vetter Nov. 26, 2012, 4:55 p.m. UTC | #2
On Fri, Nov 23, 2012 at 03:11:52PM +0100, Thierry Reding wrote:
> On Fri, Nov 23, 2012 at 12:09:26PM -0200, Paulo Zanoni wrote:
> > From: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > 
> > 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: Paulo Zanoni <paulo.r.zanoni@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.
> 
> Looks good to me:
> 
> Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>

Merged to drm-intel-next for 3.8 with Dave's irc-ack.
-Daniel
diff mbox

Patch

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