From: Tomi Valkeinen <tomi.valkeinen@ti.com> To: Jyri Sarha <jsarha@ti.com>, alsa-devel@alsa-project.org, linux-fbdev@vger.kernel.org, linux-omap@vger.kernel.org Cc: peter.ujfalusi@ti.com, broonie@kernel.org, liam.r.girdwood@linux.intel.com, detheridge@ti.com, jyri.sarha@iki.fi Subject: Re: [PATCH 04/12] OMAPDSS: hdmi_audio: Integrated ASoC DAI component driver implementation Date: Fri, 27 Jun 2014 11:10:29 +0000 [thread overview] Message-ID: <53AD5125.4040006@ti.com> (raw) In-Reply-To: <69f5b1481bd8b8a005b5d9142626f3529a0d71c7.1403807781.git.jsarha@ti.com> [-- Attachment #1: Type: text/plain, Size: 3618 bytes --] On 26/06/14 22:20, Jyri Sarha wrote: > Integrate ASoC DAI component driver in to the OMAP hdmi driver. The > patch also updates the relevant entry in ti,omap5-dss DT binding > document. The driver registers a dummy hdmi codec driver and a > simple-card driver to produce a fully functional ALSA device. The DAI > driver is implemented in hdmi_audio.c, but it still needs to be > registered from hdmi4.c or hdmi5.c. > > Signed-off-by: Jyri Sarha <jsarha@ti.com> > --- > drivers/video/fbdev/omap2/dss/Makefile | 2 + > drivers/video/fbdev/omap2/dss/hdmi.h | 38 +++- > drivers/video/fbdev/omap2/dss/hdmi_audio.c | 317 ++++++++++++++++++++++++++++ > 3 files changed, 355 insertions(+), 2 deletions(-) > create mode 100644 drivers/video/fbdev/omap2/dss/hdmi_audio.c > > diff --git a/drivers/video/fbdev/omap2/dss/Makefile b/drivers/video/fbdev/omap2/dss/Makefile > index 245f933..8260987 100644 > --- a/drivers/video/fbdev/omap2/dss/Makefile > +++ b/drivers/video/fbdev/omap2/dss/Makefile > @@ -14,5 +14,7 @@ omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o > omapdss-$(CONFIG_OMAP2_DSS_HDMI_COMMON) += hdmi_common.o hdmi_wp.o hdmi_pll.o \ > hdmi_phy.o > omapdss-$(CONFIG_OMAP4_DSS_HDMI) += hdmi4.o hdmi4_core.o > +omapdss-$(CONFIG_OMAP4_DSS_HDMI_AUDIO) += hdmi_audio.o > omapdss-$(CONFIG_OMAP5_DSS_HDMI) += hdmi5.o hdmi5_core.o > +omapdss-$(CONFIG_OMAP5_DSS_HDMI_AUDIO) += hdmi_audio.o > ccflags-$(CONFIG_OMAP2_DSS_DEBUG) += -DDEBUG > diff --git a/drivers/video/fbdev/omap2/dss/hdmi.h b/drivers/video/fbdev/omap2/dss/hdmi.h > index 927cb4d..cc6ecb5 100644 > --- a/drivers/video/fbdev/omap2/dss/hdmi.h > +++ b/drivers/video/fbdev/omap2/dss/hdmi.h > @@ -25,6 +25,11 @@ > #include <linux/hdmi.h> > #include <video/omapdss.h> > > +#if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO) || defined(CONFIG_OMAP5_DSS_HDMI_AUDIO) I think you're a bit overeager with these ifdefs =). They make the code more difficult to read. The question is, what is their purpose here? I'm quite sure those includes below can be included just fine even without HDMI support in the driver. So as far as I see, their only purpose would be to very minimally speed up the kernel compilation. > +#include <sound/dmaengine_pcm.h> > +#include <uapi/sound/asound.h> > +#endif > + > #include "dss.h" > > /* HDMI Wrapper */ > @@ -338,6 +343,35 @@ int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep, > struct hdmi_phy_data *phy); > > #if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO) || defined(CONFIG_OMAP5_DSS_HDMI_AUDIO) Same here. The struct definition doesn't do any harm, even if the audio support is not compiled in. > +struct hdmi_audio_data { > + /* These should be initialized when hdmi_audio_register() is called */ > + struct mutex *hdmi_lock; > + struct hdmi_wp_data *wp; > + struct hdmi_core_data *core; > + struct hdmi_config *cfg; > + struct snd_soc_dai_driver *hdmi_dai_drv; > + > + int (*audio_start)(struct hdmi_core_data *core, > + struct hdmi_wp_data *wp); > + void (*audio_stop)(struct hdmi_core_data *core, > + struct hdmi_wp_data *wp); > + int (*audio_config)(struct hdmi_core_data *core, > + struct hdmi_wp_data *wp, > + struct omap_dss_audio *audio, > + u32 pclk); > + > + /* These are of audio implementation's private use */ > + struct snd_dmaengine_dai_dma_data dma_data; > + struct omap_dss_audio dss_audio; > + struct snd_aes_iec958 iec; > + struct snd_cea_861_aud_if cea; > + struct platform_device *codec_pdev; > + struct platform_device *card_pdev; > +}; Tomi [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com> To: Jyri Sarha <jsarha@ti.com>, alsa-devel@alsa-project.org, linux-fbdev@vger.kernel.org, linux-omap@vger.kernel.org Cc: peter.ujfalusi@ti.com, broonie@kernel.org, liam.r.girdwood@linux.intel.com, detheridge@ti.com, jyri.sarha@iki.fi Subject: Re: [PATCH 04/12] OMAPDSS: hdmi_audio: Integrated ASoC DAI component driver implementation Date: Fri, 27 Jun 2014 14:10:29 +0300 [thread overview] Message-ID: <53AD5125.4040006@ti.com> (raw) In-Reply-To: <69f5b1481bd8b8a005b5d9142626f3529a0d71c7.1403807781.git.jsarha@ti.com> [-- Attachment #1: Type: text/plain, Size: 3618 bytes --] On 26/06/14 22:20, Jyri Sarha wrote: > Integrate ASoC DAI component driver in to the OMAP hdmi driver. The > patch also updates the relevant entry in ti,omap5-dss DT binding > document. The driver registers a dummy hdmi codec driver and a > simple-card driver to produce a fully functional ALSA device. The DAI > driver is implemented in hdmi_audio.c, but it still needs to be > registered from hdmi4.c or hdmi5.c. > > Signed-off-by: Jyri Sarha <jsarha@ti.com> > --- > drivers/video/fbdev/omap2/dss/Makefile | 2 + > drivers/video/fbdev/omap2/dss/hdmi.h | 38 +++- > drivers/video/fbdev/omap2/dss/hdmi_audio.c | 317 ++++++++++++++++++++++++++++ > 3 files changed, 355 insertions(+), 2 deletions(-) > create mode 100644 drivers/video/fbdev/omap2/dss/hdmi_audio.c > > diff --git a/drivers/video/fbdev/omap2/dss/Makefile b/drivers/video/fbdev/omap2/dss/Makefile > index 245f933..8260987 100644 > --- a/drivers/video/fbdev/omap2/dss/Makefile > +++ b/drivers/video/fbdev/omap2/dss/Makefile > @@ -14,5 +14,7 @@ omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o > omapdss-$(CONFIG_OMAP2_DSS_HDMI_COMMON) += hdmi_common.o hdmi_wp.o hdmi_pll.o \ > hdmi_phy.o > omapdss-$(CONFIG_OMAP4_DSS_HDMI) += hdmi4.o hdmi4_core.o > +omapdss-$(CONFIG_OMAP4_DSS_HDMI_AUDIO) += hdmi_audio.o > omapdss-$(CONFIG_OMAP5_DSS_HDMI) += hdmi5.o hdmi5_core.o > +omapdss-$(CONFIG_OMAP5_DSS_HDMI_AUDIO) += hdmi_audio.o > ccflags-$(CONFIG_OMAP2_DSS_DEBUG) += -DDEBUG > diff --git a/drivers/video/fbdev/omap2/dss/hdmi.h b/drivers/video/fbdev/omap2/dss/hdmi.h > index 927cb4d..cc6ecb5 100644 > --- a/drivers/video/fbdev/omap2/dss/hdmi.h > +++ b/drivers/video/fbdev/omap2/dss/hdmi.h > @@ -25,6 +25,11 @@ > #include <linux/hdmi.h> > #include <video/omapdss.h> > > +#if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO) || defined(CONFIG_OMAP5_DSS_HDMI_AUDIO) I think you're a bit overeager with these ifdefs =). They make the code more difficult to read. The question is, what is their purpose here? I'm quite sure those includes below can be included just fine even without HDMI support in the driver. So as far as I see, their only purpose would be to very minimally speed up the kernel compilation. > +#include <sound/dmaengine_pcm.h> > +#include <uapi/sound/asound.h> > +#endif > + > #include "dss.h" > > /* HDMI Wrapper */ > @@ -338,6 +343,35 @@ int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep, > struct hdmi_phy_data *phy); > > #if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO) || defined(CONFIG_OMAP5_DSS_HDMI_AUDIO) Same here. The struct definition doesn't do any harm, even if the audio support is not compiled in. > +struct hdmi_audio_data { > + /* These should be initialized when hdmi_audio_register() is called */ > + struct mutex *hdmi_lock; > + struct hdmi_wp_data *wp; > + struct hdmi_core_data *core; > + struct hdmi_config *cfg; > + struct snd_soc_dai_driver *hdmi_dai_drv; > + > + int (*audio_start)(struct hdmi_core_data *core, > + struct hdmi_wp_data *wp); > + void (*audio_stop)(struct hdmi_core_data *core, > + struct hdmi_wp_data *wp); > + int (*audio_config)(struct hdmi_core_data *core, > + struct hdmi_wp_data *wp, > + struct omap_dss_audio *audio, > + u32 pclk); > + > + /* These are of audio implementation's private use */ > + struct snd_dmaengine_dai_dma_data dma_data; > + struct omap_dss_audio dss_audio; > + struct snd_aes_iec958 iec; > + struct snd_cea_861_aud_if cea; > + struct platform_device *codec_pdev; > + struct platform_device *card_pdev; > +}; Tomi [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-06-27 11:10 UTC|newest] Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-06-26 19:20 [PATCH 00/12] Rework OMAP4+ HDMI audio support Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 01/12] ARM: OMAP2+: Remove non working OMAP HDMI audio initialization Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-07-07 11:46 ` Tony Lindgren 2014-07-07 11:46 ` Tony Lindgren 2014-07-08 7:30 ` Peter Ujfalusi 2014-07-08 7:30 ` Peter Ujfalusi 2014-07-08 8:09 ` Tony Lindgren 2014-07-08 8:09 ` Tony Lindgren 2014-07-15 19:25 ` Jyri Sarha 2014-07-15 19:25 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 02/12] OMAPDSS: hdmi.h: Add HDMI_AUDIO_LAYOUT_6CH enum value Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 03/12] OMAPDSS: hdmi_wp: Add function for getting hdmi_wp physical base address Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-27 10:41 ` Tomi Valkeinen 2014-06-27 10:41 ` Tomi Valkeinen 2014-06-27 11:35 ` Jyri Sarha 2014-06-27 11:35 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 04/12] OMAPDSS: hdmi_audio: Integrated ASoC DAI component driver implementation Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-27 11:10 ` Tomi Valkeinen [this message] 2014-06-27 11:10 ` Tomi Valkeinen 2014-06-27 11:57 ` Tomi Valkeinen 2014-06-27 11:57 ` Tomi Valkeinen 2014-06-27 12:06 ` Jyri Sarha 2014-06-27 12:06 ` Jyri Sarha 2014-06-27 12:11 ` Tomi Valkeinen 2014-06-27 12:11 ` Tomi Valkeinen 2014-06-27 12:26 ` Jyri Sarha 2014-06-27 12:26 ` Jyri Sarha 2014-06-27 13:06 ` Tomi Valkeinen 2014-06-27 13:06 ` Tomi Valkeinen 2014-06-27 15:33 ` Jyri Sarha 2014-06-27 15:33 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 05/12] OMAPDSS: Kconfig: Select audio dependencies if OMAP4_DSS_HDMI_AUDIO=y Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 06/12] OMAPDSS: hdmi4: Register HDMI audio ASoC drivers from HDMI driver Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-27 11:39 ` Tomi Valkeinen 2014-06-27 11:39 ` Tomi Valkeinen 2014-06-27 15:33 ` Jyri Sarha 2014-06-27 15:33 ` Jyri Sarha 2014-06-26 19:20 ` [PATCH 07/12] OMAPDSS: Kconfig: Select audio dependencies if OMAP5_DSS_HDMI_AUDIO=y Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-27 11:49 ` Tomi Valkeinen 2014-06-27 11:49 ` Tomi Valkeinen 2014-06-26 19:20 ` [PATCH 08/12] OMAPDSS: hdmi5: Register HDMI audio ASoC drivers from HDMI driver Jyri Sarha 2014-06-26 19:20 ` Jyri Sarha 2014-06-26 19:21 ` [PATCH 09/12] ASoC: omap: Remove obsolete HDMI audio code and Kconfig options Jyri Sarha 2014-06-26 19:21 ` Jyri Sarha 2014-06-27 12:17 ` Mark Brown 2014-06-27 12:17 ` Mark Brown 2014-06-26 19:21 ` [PATCH 10/12] OMAPDSS: hdmi4: Remove callbacks for an external ASoC DAI driver Jyri Sarha 2014-06-26 19:21 ` Jyri Sarha 2014-06-26 19:21 ` [PATCH 11/12] OMAPDSS: hdmi5: " Jyri Sarha 2014-06-26 19:21 ` Jyri Sarha 2014-06-26 19:21 ` [PATCH 12/12] OMAPDSS: Remove all references to obsolete HDMI audio callbacks Jyri Sarha 2014-06-26 19:21 ` Jyri Sarha
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=53AD5125.4040006@ti.com \ --to=tomi.valkeinen@ti.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=detheridge@ti.com \ --cc=jsarha@ti.com \ --cc=jyri.sarha@iki.fi \ --cc=liam.r.girdwood@linux.intel.com \ --cc=linux-fbdev@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=peter.ujfalusi@ti.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.