[Intel-gfx] [PATCH v5 0/4] Haswell HDMI/DP audio enable

Wang, Xingchao xingchao.wang at intel.com
Wed Aug 8 09:30:51 CEST 2012



> -----Original Message-----
> From: Paul Menzel [mailto:paulepanter at users.sourceforge.net]
> Sent: Wednesday, August 08, 2012 3:15 PM
> To: Wang, Xingchao
> Cc: intel-gfx at lists.freedesktop.org; tiwai at suse.de; Fu, Michael; Wu,
> Fengguang
> Subject: Re: [Intel-gfx] [PATCH v5 0/4] Haswell HDMI/DP audio enable
> 
> Dear Wang,
> 
> 
> first is Wang your first name?
> 
Yes. :)

> Am Mittwoch, den 08.08.2012, 11:03 +0800 schrieb Wang Xingchao:
> > This patch series enable HDMI audio on Haswell platform, not DP audio.
> > The DP enablement will come after the DP patches are upstream.
> >
> > I tested this patch on Sharkbay machine and i could hear clear sound
> > from HDMI port.
> 
> Could you please add if that was a TV or a receiver?
> 

I tested the patch on Haswell Based Machine with a monitor hasing HDMI ports, this is the eld information from the monitor:
cat /proc/asound/card0/eld#0.*
monitor_present         0
eld_valid               0
monitor_present         1
eld_valid               1
monitor_name            DELL 2408WFP
connection_type         HDMI
eld_version             [0x2] CEA-861D or below
edid_version            [0x3] CEA-861-B, C or D
manufacture_id          0xac10
product_id              0xa02c
port_id                 0x0
support_hdcp            0
support_ai              1
audio_sync_delay        0
speakers                [0x1] FL/FR
sad_count               1
sad0_coding_type        [0x1] LPCM
sad0_channels           2
sad0_rates              [0xe0] 32000 44100 48000
sad0_bits               [0xe0000] 16 20 24
monitor_present         0
eld_valid               0

> > V2 patches fixed one warning and some type errors.
> >
> > V3 patches changes:
> > - change some registers definitions
> > - use macro for IBX/CPT/HSW to get registers
> > - remove some unused variable intended to use in TODO list.
> >
> > v4 patches changes:
> > - remove alsa related hack patch
> >
> > v5 patches changes:
> > - change comments stype
> > - split IBX/CTP registers patch into seperate one
> 
> • sep*a*rate
> 
> > - remove unused register definition
> >
> > Here're some notes useful for you to test the patches on Sharkbay machine:
> > I> please make sure your branch include below three commits in
> > I> Takashi's
> > sound tree, othersiwe there's no proper Haswell ID and HDMI ID.
> 
> • White space at the end.
> • other*wise*
> 
> > For the upstream tree, please refer to sound git tree
> >
> >    git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
> > You can just pull for-linus branch.
> > The all commits above are found in 3.6-rc1.
> >
> > e926f2c850c472f813f9bab486c68a3fe0b03ae4
> > 1c76684d2752b3a24bb7da183cc18e5d126dbcc9
> > bdbe34dece4942f4d8df9865dba7785bb813366a
> >
> > II> No sound from HDMI/DP.
> > we found it's not stable in current stage, sometimes you may not heard
> > sound from HDMI or DP port, but most of the time you can heard clear
> > sound. After some investigation, we suspect the HDA verb didnot really
> > make codec
> 
> did not
> 
> > change,and we regard the GPU register as the right one. (see III
> > explanation) the easy way is to use intel_audio_dump to compare
> > related registers, and make sure the port is enabled and unmute, otherwise
> there's no sound.
> > intel_audio_tools has no support on Haswell yet, i wrote patches to
> > make that happen, if you need the patches, please feel free to let me
> > know. Here's part of the snapshot about port enable and mute status from
> intel_audio_dump:
> >
> > AUD_PORT_EN_HD_CFG  Port_B_Out_Enable			1
> > AUD_PORT_EN_HD_CFG  Port_C_Out_Enable			1
> > AUD_PORT_EN_HD_CFG  Port_D_Out_Enable			1
> > AUD_PORT_EN_HD_CFG  Port_B_Amp_Mute_Status		1
> > AUD_PORT_EN_HD_CFG  Port_C_Amp_Mute_Status		0
> > AUD_PORT_EN_HD_CFG  Port_D_Amp_Mute_Status		1
> >
> > you can see from above message, the Port C is enabled and unmute,
> > that's what we expect.
> >
> > III> HDA Codec dependency. When you found there's no sound from HDMI,
> > III> please
> > use intel_audio_dump to check Port enable/mute status in II and also
> > check related Pipe/Transcoder/DDI port status. Sometimes the pipe and
> > transcoder was disabled in dpms and will not work anymore, that
> > results in the HDMI port no sound. HDA codec's three converters are
> > somehow hardwired to audio Pipes and if you choose the pipe, that
> > means the regarding Codec converter should be enabled too, and only
> > one digital Pin's HDA verbs could work, that depends on whehter your
> > Pin select the converter as input. Here's one example about the
> 
> whe*th*er
> 
> > Pipe/Transcoder/DDI port(Pipe B, DDI Port C):
> >
> > DDI_BUF_CTL_A         0x00000080  DDI Buffer Controler A
> > DDI_BUF_CTL_B         0x00000000  DDI Buffer Controler B
> > DDI_BUF_CTL_C         0x80000000  DDI Buffer Controler C
> > DDI_BUF_CTL_D         0x00000000  DDI Buffer Controler D
> > DDI_BUF_CTL_E         0x80000002  DDI Buffer Controler E
> > PIPE_CONF_A           0xc0000000  PIPE Configuration A
> > PIPE_CONF_B           0xc0000000  PIPE Configuration B
> > PIPE_CONF_C           0x00000000  PIPE Configuration C
> > PIPE_CONF_EDP         0x00000000  PIPE Configuration EDP
> > PIPE_DDI_FUNC_CTL_A   0xc4034002  PIPE DDI Function Control A
> > PIPE_DDI_FUNC_CTL_B   0xa0035000  PIPE DDI Function Control B
> > PIPE_DDI_FUNC_CTL_C   0x00030000  PIPE DDI Function Control C
> > PIPE_DDI_FUNC_CTL_EDP 0x00030000  PIPE DDI Function Control EDP
> >
> > Wang Xingchao (3):
> 
> The line above should be removed.
> 
> > Wang Xingchao (4):
> >   drm/i915: HSW audio registers definition
> >   drm/i915: write eld info for HDMI audio
> >   drm/i915: Haswell HDMI audio enable
> >   drm/i915: use _PIPE macro for IBX/CPT register definition
> >
> >  drivers/gpu/drm/i915/i915_reg.h      |   71
> ++++++++++++++++++++++++++++++++++
> >  drivers/gpu/drm/i915/intel_ddi.c     |    6 ++-
> >  drivers/gpu/drm/i915/intel_display.c |   52 ++++++++++++++++++++-----
> >  3 files changed, 118 insertions(+), 11 deletions(-)
> 
> 
> Thanks,
> 
> Paul

Thanks your review Paul, I fixed the type error.

--xingchao


More information about the Intel-gfx mailing list