dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm: add drm_mode_cea_vic
@ 2012-11-23 14:09 Paulo Zanoni
  2012-11-23 14:09 ` [PATCH 2/2] drm/i915: set the VIC of the mode on the AVI InfoFrame Paulo Zanoni
  2012-11-23 14:11 ` [PATCH 1/2] drm: add drm_mode_cea_vic Thierry Reding
  0 siblings, 2 replies; 5+ messages in thread
From: Paulo Zanoni @ 2012-11-23 14:09 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, Paulo Zanoni

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.

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] drm/i915: set the VIC of the mode on the AVI InfoFrame
  2012-11-23 14:09 [PATCH 1/2] drm: add drm_mode_cea_vic Paulo Zanoni
@ 2012-11-23 14:09 ` Paulo Zanoni
  2012-11-26 18:38   ` Daniel Vetter
  2012-11-23 14:11 ` [PATCH 1/2] drm: add drm_mode_cea_vic Thierry Reding
  1 sibling, 1 reply; 5+ messages in thread
From: Paulo Zanoni @ 2012-11-23 14:09 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, Paulo Zanoni

From: Paulo Zanoni <paulo.r.zanoni@intel.com>

We currently set "0" as the VIC value of the AVI InfoFrames. According
to the specs this should be fine and work for every mode, so to my
point of view we can't consider the current behavior as a bug. The
problem is that  we recently received a bug report (Kernel bug #50371)
from a user that has an AV receiver that gives a black screen for any
mode with VIC set to 0.

So in order to make at least some modes work for him, this patch sets
the correct VIC number when sending AVI InfoFrames.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50371
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 1dcfd5b..eaf70d6 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -340,6 +340,8 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
 	if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK)
 		avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2;
 
+	avi_if.body.avi.VIC = drm_mode_cea_vic(adjusted_mode);
+
 	intel_set_infoframe(encoder, &avi_if);
 }
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] drm: add drm_mode_cea_vic
  2012-11-23 14:09 [PATCH 1/2] drm: add drm_mode_cea_vic Paulo Zanoni
  2012-11-23 14:09 ` [PATCH 2/2] drm/i915: set the VIC of the mode on the AVI InfoFrame Paulo Zanoni
@ 2012-11-23 14:11 ` Thierry Reding
  2012-11-26 16:55   ` Daniel Vetter
  1 sibling, 1 reply; 5+ messages in thread
From: Thierry Reding @ 2012-11-23 14:11 UTC (permalink / raw)
  To: Paulo Zanoni; +Cc: intel-gfx, Paulo Zanoni, dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 1093 bytes --]

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>

[-- Attachment #1.2: Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] drm: add drm_mode_cea_vic
  2012-11-23 14:11 ` [PATCH 1/2] drm: add drm_mode_cea_vic Thierry Reding
@ 2012-11-26 16:55   ` Daniel Vetter
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2012-11-26 16:55 UTC (permalink / raw)
  To: Thierry Reding; +Cc: intel-gfx, dri-devel, Paulo Zanoni

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
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] drm/i915: set the VIC of the mode on the AVI InfoFrame
  2012-11-23 14:09 ` [PATCH 2/2] drm/i915: set the VIC of the mode on the AVI InfoFrame Paulo Zanoni
@ 2012-11-26 18:38   ` Daniel Vetter
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2012-11-26 18:38 UTC (permalink / raw)
  To: Paulo Zanoni; +Cc: intel-gfx, Paulo Zanoni, dri-devel

On Fri, Nov 23, 2012 at 12:09:27PM -0200, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
> 
> We currently set "0" as the VIC value of the AVI InfoFrames. According
> to the specs this should be fine and work for every mode, so to my
> point of view we can't consider the current behavior as a bug. The
> problem is that  we recently received a bug report (Kernel bug #50371)
> from a user that has an AV receiver that gives a black screen for any
> mode with VIC set to 0.
> 
> So in order to make at least some modes work for him, this patch sets
> the correct VIC number when sending AVI InfoFrames.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50371
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-11-26 18:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-23 14:09 [PATCH 1/2] drm: add drm_mode_cea_vic Paulo Zanoni
2012-11-23 14:09 ` [PATCH 2/2] drm/i915: set the VIC of the mode on the AVI InfoFrame Paulo Zanoni
2012-11-26 18:38   ` Daniel Vetter
2012-11-23 14:11 ` [PATCH 1/2] drm: add drm_mode_cea_vic Thierry Reding
2012-11-26 16:55   ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).