[Intel-gfx] [PATCH v4 0/3] Haswell HDMI/DP audio enable

Takashi Iwai tiwai at suse.de
Mon Aug 6 16:26:47 CEST 2012


At Mon,  6 Aug 2012 18:43:57 +0800,
Wang Xingchao wrote:
> 
> 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.
> 
> 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
> 
> Here're some notes useful for you to test the patches on Sharkbay machine:
> I> please make sure your branch include below three patches in Takashi's 
> sound tree, othersiwe there's no proper Haswell ID and HDMI ID.  
> http://git.alsa-project.org/?p=alsa-kmirror.git;a=commitdiff;h=79fc901301d6115b11457e8240ed6abc4b3f5c65
> http://git.alsa-project.org/?p=alsa-kmirror.git;a=commitdiff;h=e269cee227a2b2297b79bfc71094c709b9387061
> http://git.alsa-project.org/?p=alsa-kmirror.git;a=commitdiff;h=cb192625233496ac3d96cce667ebf4e322dab678

Well, alsa-kmirror is not my tree.  Please avoid using it.
It's no kernel tree, thus the commit ids are different from the
upstream (they have been cherry-picked).

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


thanks,

Takashi

> 
> 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 
> 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, 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
> 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):
>   drm/i915: HSW audio registers definition
>   drm/i915: write eld info for HDMI audio
>   drm/i915: Haswell HDMI audio enable
> 
>  drivers/gpu/drm/i915/i915_reg.h      |   76 ++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_ddi.c     |    6 ++-
>  drivers/gpu/drm/i915/intel_display.c |   52 ++++++++++++++++++-----
>  3 files changed, 123 insertions(+), 11 deletions(-)
> 
> -- 
> 1.7.9.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 



More information about the Intel-gfx mailing list