On 08/07/2018 11:01 AM, Zhi, Yong wrote:
Hi, Takashi,
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Tuesday, August 7, 2018 10:41 AM To: Zhi, Yong yong.zhi@intel.com Cc: broonie@kernel.org; pierre-louis.bossart@linux.intel.com; alsa- devel@alsa-project.org; N, Harshapriya harshapriya.n@intel.com; vkoul@kernel.org; M, Naveen naveen.m@intel.com; Kale, Sanyog R sanyog.r.kale@intel.com Subject: Re: [alsa-devel] [PATCH] ASoC: Intel: hdac_hdmi: Add sampling frequencies constraint
On Tue, 07 Aug 2018 17:36:12 +0200, Zhi, Yong wrote:
Hi, Takashi,
Thanks for the review.
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Tuesday, August 7, 2018 10:23 AM To: Zhi, Yong yong.zhi@intel.com Cc: broonie@kernel.org; pierre-louis.bossart@linux.intel.com; alsa- devel@alsa-project.org; N, Harshapriya harshapriya.n@intel.com; vkoul@kernel.org; M, Naveen naveen.m@intel.com; Kale, Sanyog R sanyog.r.kale@intel.com Subject: Re: [alsa-devel] [PATCH] ASoC: Intel: hdac_hdmi: Add sampling frequencies constraint
On Tue, 07 Aug 2018 16:56:05 +0200, Yong Zhi wrote:
Playback of 44.1Khz contents with HDMI plugged returns "Invalid pipe config".
Why? Is it a limitation of i915 graphics side? If it's a generic issue, we'd need to fix also in the legacy HDMI driver, too.
The HDMI paths in DFW topology are configured for 48Khz operation.
OK, so it's specific to this driver, not for the legacy configuration, so far.
What if the legacy HDMI codec driver is used on top of Intel SST (as the recent patchset "Enable HDA Codec support on Intel Platforms")? The legacy HDMI codec driver isn't enabled there, but in theory it can be. I suppose that a similar workaround is required, right?
Think so if that's the case, but I am far from expert on this topic :)
There are two issues here. 1. the firmware relies on a timer which isn't aligned with any 44.1 frequency. In general we don't support 44.1kHz in master mode (we've relied on 48kHz frequencies since 2013 and no one cared or bothered to complain). If you look at all machine drivers using hdmi_hdac they are all based on 48kHz already. I suggested to Yong to do this filtering in the codec itself rather than in the front-ends since the DSP *could* do some resampling. I was also planning to remove all these front-end restrictions which prevent folks from using more that 48kHz/stereo/16 bits over HDMI.
2. it's not clear how the link itself would be configured (need the 12-11-11- pattern), it's not clear to me it's supported in decoupled mode (and I don't know how to test it in the first place due to issue #1)
For the case with the HDA codec path, we are also using that same hdac_hdmi codec in the machine driver, along with the new hdac_hda pseudo codec, so the same limitations will be enforced.
As to your question on whether this applies to the legacy driver, I don't think so. I just tried on my Skylake NUC, all HDMI devices seem to support 44.1kHz without errors. The limitation that Yong added is just a pragmatic view that 44.1 support is broken when going through the DSP and there isn't any real plan to fix this for now since this isn't a required feature and doesn't break compliance (HDMI sources may select one of 32,44.1,48kHz, HDMI sinks must support all of these frequencies).
thanks,
Takashi