All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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: link
Be 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.