Re: [PATCH v2 02/14] ASoC: codecs: Add HD-Audio codec driver

From: Cezary Rojewski
Date: Tue Jul 05 2022 - 08:03:56 EST


On 2022-07-05 12:20 PM, Geert Uytterhoeven wrote:
    Hi Cezary,

On Wed, 11 May 2022, Cezary Rojewski wrote:

...


Relation with hdac_hda:

Addition of parallel solution is motivated by behavioral differences
between hdac_hda.c and its legacy equivalent found in sound/pci/hda
e.g.: lack of dynamic, based on codec capabilities, resource allocation
and high cost of removing such differences on actively used targets.
Major goal of codec driver presented here is to follow HD-Audio legacy
behavior in 1:1 fashion by becoming a wrapper. Doing so increases code
coverage of the legacy code and reduces the maintenance cost for both
solutions.

Signed-off-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx>

Thanks for your patch, which is now commit b5df2a7dca1cc6c6 ("ASoC:
codecs: Add HD-Audio codec driver") in sound-asoc/for-next.

--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -937,6 +937,16 @@ config SND_SOC_HDAC_HDA
    tristate
    select SND_HDA

+config SND_SOC_HDA
+    tristate "HD-Audio codec driver"
+    select SND_HDA_EXT_CORE
+    select SND_HDA

I am wondering if this needs a platform dependency?
Or perhaps this symbol should be made invisible, as it is selected by
SND_SOC_INTEL_AVS_MACH_HDAUDIO?  Are there any other users?


Your feedback is much appreciated!

So, this codec-driver - HDAudio codec driver to be strict - is _generic_ i.e. works with any HDAudio codec type, be it Cirrus, Maxim, Conexant or anything else.

It makes heavy use of HDAudio library found in sound/hda/ and re-uses a lot of non-DSP HDAudio related code found in sound/pci/hda. It's basically a wrapper for logic present in ALSA (sound/) so ASoC (sound/soc/) users can have first class HDAudio codec support without us duplicating the entire implementation.

Right now the only user is avs-driver found in sound/soc/intel/avs. By design, any HDAudio bus driver in ASoC framework can make use of it though. Because of that, we decided not to couple avs-driver and this HDAudio codec driver tightly.


Gr{oetje,eeting}s,

This made my day :) it's wonderful!