-----Original Message----- From: Pierre-Louis Bossart [mailto:pierre-louis.bossart@linux.intel.com] Sent: Saturday, January 7, 2017 2:03 AM To: Anand, Jerome jerome.anand@intel.com; intel- gfx@lists.freedesktop.org; alsa-devel@alsa-project.org Cc: tiwai@suse.de; broonie@kernel.org; Ughreja, Rakesh A rakesh.a.ughreja@intel.com; ville.syrjala@linux.intel.com Subject: Re: [alsa-devel] [PATCH V2 3/7] ALSA: add shell for Intel HDMI LPE audio driver
Minor misses here as well.
Ignored it since it was mostly cosmetic.
On 1/6/17 7:21 PM, Jerome Anand wrote:
On Baytrail and Cherrytrail, HDaudio may be fused out or disabled by the BIOS. This driver enables an alternate path to the i915 display registers and DMA.
Although there is no hardware path between i915 display and LPE/SST audio clusters, this HDMI capability is referred to in the documentation as "HDMI LPE Audio" so we keep the name for consistency. There is no hardware path or control dependencies with the LPE/SST DSP
functionality.
The hdmi-lpe-audio driver will be probed when the i915 driver creates a child platform device.
Since this driver is neither SoC nor PCI, a new x86 folder is added
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Signed-off-by: Jerome Anand jerome.anand@intel.com
Change the commit title to remove 'shell', e.g. 'add BYT/CHT-T HDMI LPE audio driver' and mention that indirect calls will be removed later (to help with DP integration)
OK
diff --git a/sound/x86/Kconfig b/sound/x86/Kconfig new file mode 100644 index 0000000..e9297d0 --- /dev/null +++ b/sound/x86/Kconfig @@ -0,0 +1,16 @@ +menuconfig SND_X86
- tristate "X86 sound devices"
- ---help---
X86 sound devices that don't fall under SoC or PCI categories
+if SND_X86
+config HDMI_LPE_AUDIO
- tristate "HDMI audio without HDaudio on Intel Atom platforms"
- depends on DRM_I915
- default n
- help
Choose this option to support HDMI LPE Audio mode
+endif # SND_X86 diff --git a/sound/x86/Makefile b/sound/x86/Makefile new file mode 100644 index 0000000..baa6333 --- /dev/null +++ b/sound/x86/Makefile @@ -0,0 +1,6 @@ +ccflags-y += -Idrivers/gpu/drm/i915
from Takashi: Is it just for intel_lpe_audio.h? Then rather put intel_lpe_audio.h to include/drm. JA: OK
+snd-hdmi-lpe-audio-objs += \
- intel_hdmi_lpe_audio.o
+obj-$(CONFIG_HDMI_LPE_AUDIO) += snd-hdmi-lpe-audio.o diff --git a/sound/x86/intel_hdmi_lpe_audio.c b/sound/x86/intel_hdmi_lpe_audio.c new file mode 100644 index 0000000..61347ab --- /dev/null +++ b/sound/x86/intel_hdmi_lpe_audio.c @@ -0,0 +1,623 @@ +/*
- intel_hdmi_lpe_audio.c - Intel HDMI LPE audio driver for Atom
+platforms
- Copyright (C) 2016 Intel Corp
- Authors:
Jerome Anand <jerome.anand@intel.com>
Aravind Siddappaji <aravindx.siddappaji@intel.com>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +~~~~~ > + * > + * This program is free software; you can redistribute it and/or > +modify > + * it under the terms of the GNU General Public License as published > +by > + * the Free Software Foundation; version 2 of the License. > + * > + * This program is distributed in the hope that it will be useful, > +but > + * WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * General Public License for more details. > + * > + * > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~
- */
+#define pr_fmt(fmt) "hdmi_lpe_audio: " fmt
From Takashi: Better to use dev_*() variant. JA: OK
+static inline int hdmi_get_eld(void *eld) {
- memcpy(eld, (void *)&hlpe_eld, sizeof(hlpe_eld));
- {
int i;
uint8_t *eld_data = (uint8_t *)&hlpe_eld;
pr_debug("hdmi_get_eld:\n{{");
for (i = 0; i < sizeof(hlpe_eld); i++)
pr_debug("0x%x, ", eld_data[i]);
pr_debug("}}\n");
- }
- return 0;
From Takashi: There is a hexdump debug print helper, too. JA: OK