diff mbox

drm/i915: Enable DP audio for Haswell

Message ID s5hsj89hade.wl%tiwai@suse.de (mailing list archive)
State New, archived
Headers show

Commit Message

Takashi Iwai Nov. 16, 2012, 2:48 p.m. UTC
This patch adds the missing code to send ELD for Haswell DisplayPort,
based on Xingchao's original patch.

A test was performed with HSW-D machine and NEC EA232Wmi DP monitor.

Cc: Xingchao Wang <xingchao.wang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 drivers/gpu/drm/i915/intel_ddi.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Paulo Zanoni Nov. 19, 2012, 5:01 p.m. UTC | #1
Hi

drivers/gpu/drm/i915/intel_ddi.c: In function ‘intel_ddi_mode_set’:
drivers/gpu/drm/i915/intel_ddi.c:672:7: error: ‘intel_hdmi’ undeclared
(first use in this function)
drivers/gpu/drm/i915/intel_ddi.c:672:7: note: each undeclared
identifier is reported only once for each function it appears in
make[4]: ** [drivers/gpu/drm/i915/intel_ddi.o] Erro 1


2012/11/16 Takashi Iwai <tiwai@suse.de>:
> This patch adds the missing code to send ELD for Haswell DisplayPort,
> based on Xingchao's original patch.
>
> A test was performed with HSW-D machine and NEC EA232Wmi DP monitor.
>
> Cc: Xingchao Wang <xingchao.wang@intel.com>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 58f50eb..d8dbd99 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -669,6 +669,15 @@ static void intel_ddi_mode_set(struct drm_encoder *encoder,
>                         break;
>                 }
>
> +               if (intel_hdmi->has_audio) {

Replacing it with intel_dp->has_audio makes it look correct.

You could also try to "unify" the 2 "has_audio" checks of this
function into one single check at the end of the function.

> +                       DRM_DEBUG_DRIVER("DP audio on pipe %c on DDI\n",
> +                                        pipe_name(intel_crtc->pipe));
> +
> +                       /* write eld */
> +                       DRM_DEBUG_DRIVER("DP audio: write eld information\n");
> +                       intel_write_eld(encoder, adjusted_mode);
> +               }
> +
>                 intel_dp_init_link_config(intel_dp);
>
>         } else if (type == INTEL_OUTPUT_HDMI) {
> --
> 1.8.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Takashi Iwai Nov. 19, 2012, 5:05 p.m. UTC | #2
At Mon, 19 Nov 2012 15:01:59 -0200,
Paulo Zanoni wrote:
> 
> Hi
> 
> drivers/gpu/drm/i915/intel_ddi.c: In function ‘intel_ddi_mode_set’:
> drivers/gpu/drm/i915/intel_ddi.c:672:7: error: ‘intel_hdmi’ undeclared
> (first use in this function)
> drivers/gpu/drm/i915/intel_ddi.c:672:7: note: each undeclared
> identifier is reported only once for each function it appears in
> make[4]: ** [drivers/gpu/drm/i915/intel_ddi.o] Erro 1

Doh, sorry, I posted a version before refreshing.
Will submit the right one soon.

> 2012/11/16 Takashi Iwai <tiwai@suse.de>:
> > This patch adds the missing code to send ELD for Haswell DisplayPort,
> > based on Xingchao's original patch.
> >
> > A test was performed with HSW-D machine and NEC EA232Wmi DP monitor.
> >
> > Cc: Xingchao Wang <xingchao.wang@intel.com>
> > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > ---
> >  drivers/gpu/drm/i915/intel_ddi.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> > index 58f50eb..d8dbd99 100644
> > --- a/drivers/gpu/drm/i915/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/intel_ddi.c
> > @@ -669,6 +669,15 @@ static void intel_ddi_mode_set(struct drm_encoder *encoder,
> >                         break;
> >                 }
> >
> > +               if (intel_hdmi->has_audio) {
> 
> Replacing it with intel_dp->has_audio makes it look correct.
> 
> You could also try to "unify" the 2 "has_audio" checks of this
> function into one single check at the end of the function.

Yes.  A more refactoring is possible, but I left it as is from the
safety side.


thanks,

Takashi

> > +                       DRM_DEBUG_DRIVER("DP audio on pipe %c on DDI\n",
> > +                                        pipe_name(intel_crtc->pipe));
> > +
> > +                       /* write eld */
> > +                       DRM_DEBUG_DRIVER("DP audio: write eld information\n");
> > +                       intel_write_eld(encoder, adjusted_mode);
> > +               }
> > +
> >                 intel_dp_init_link_config(intel_dp);
> >
> >         } else if (type == INTEL_OUTPUT_HDMI) {
> > --
> > 1.8.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> 
> 
> -- 
> Paulo Zanoni
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 58f50eb..d8dbd99 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -669,6 +669,15 @@  static void intel_ddi_mode_set(struct drm_encoder *encoder,
 			break;
 		}
 
+		if (intel_hdmi->has_audio) {
+			DRM_DEBUG_DRIVER("DP audio on pipe %c on DDI\n",
+					 pipe_name(intel_crtc->pipe));
+
+			/* write eld */
+			DRM_DEBUG_DRIVER("DP audio: write eld information\n");
+			intel_write_eld(encoder, adjusted_mode);
+		}
+
 		intel_dp_init_link_config(intel_dp);
 
 	} else if (type == INTEL_OUTPUT_HDMI) {