[alsa-devel] [PATCH V2 3/7] ALSA: add shell for Intel HDMI LPE audio driver
Anand, Jerome
jerome.anand at intel.com
Sat Jan 7 05:56:51 CET 2017
> -----Original Message-----
> From: Pierre-Louis Bossart [mailto:pierre-louis.bossart at linux.intel.com]
> Sent: Saturday, January 7, 2017 2:03 AM
> To: Anand, Jerome <jerome.anand at intel.com>; intel-
> gfx at lists.freedesktop.org; alsa-devel at alsa-project.org
> Cc: tiwai at suse.de; broonie at kernel.org; Ughreja, Rakesh A
> <rakesh.a.ughreja at intel.com>; ville.syrjala at 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 at linux.intel.com>
> > Signed-off-by: Jerome Anand <jerome.anand at 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 at intel.com>
> > + * Aravind Siddappaji <aravindx.siddappaji at 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
>
More information about the Alsa-devel
mailing list