linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] SPDIF support
@ 2013-08-31 12:34 Russell King - ARM Linux
  2013-08-31 12:35 ` [PATCH 01/14] ASoC: kirkwood: merge struct kirkwood_dma_priv with struct kirkwood_dma_data Russell King
                   ` (14 more replies)
  0 siblings, 15 replies; 58+ messages in thread
From: Russell King - ARM Linux @ 2013-08-31 12:34 UTC (permalink / raw)
  To: linux-arm-kernel

This is my latest set of patches to get SPDIF working on the Dove Cubox
platform.  As per the last time, I've left out the "card" part of this,
because that is only useful for non-DT setups, which aren't supported in
mainline.

The first seven patches have already been applied by Mark, and are
included here for completeness by anyone who wishes to test this series.

There is very little change between this and the previous set of patches.

The HACK patch is gone, as I've found out through much digging and
experimentation with DAPM (inspite of the complete lack of assistance
from ASoC developers) how to use the stream widgets without the widget
overwriting bug getting in the way.

The CPU DAI widgets are attached to the CPU DAI context, and their
access to the driver private data updated accordingly.  Why attaching
them to the CPU DAI context previously didn't work, I'm not entirely
sure, but that certainly previously failed in testing (it may have been
due to the duplicated DAI routes and/or the lack of output pin on the
SPDIF tranceiver.)

I've added three patches: one to add IEC958 channel status setting,
another to prefer the external clock over the internal clock, and
removal of the IEC958 subframe support (see the commit message for
that patch why this can not be supported.)

This is a non-DPCM driver, and is the absolute minimum solution which
can provide correct hardware behaviour while still being conformant
with single zImage kernels and not causing any known regressions.

The same conditions apply as per my previous posting - the DAI link
needs to be setup and the associated DAPM routes to tell the CPU DAI
which outputs are in use, like this:

DAI link:
                .name = "S/PDIF1",
                .stream_name = "IEC958 Playback",
                .platform_name = "mvebu-audio.1",
                .cpu_dai_name = "mvebu-audio.1",
                .codec_dai_name = "dit-hifi",
                .codec_name = "spdif-dit",

static const struct snd_soc_dapm_route routes[] = {
        { "Playback", NULL, "spdifdo" },
};

When DPCM is eventually implemented, the DAPM route remains, the DAI link
becomes two, as previously illustrated in other discussions.

Full diffstat for this series:

 arch/arm/mach-dove/common.c          |    4 +-
 arch/arm/mach-kirkwood/common.c      |   24 ++---
 sound/soc/codecs/spdif_transciever.c |   15 +++-
 sound/soc/kirkwood/Kconfig           |    5 -
 sound/soc/kirkwood/Makefile          |    4 +-
 sound/soc/kirkwood/kirkwood-dma.c    |  114 ++++--------------
 sound/soc/kirkwood/kirkwood-i2s.c    |  213 +++++++++++++++++++++++++++++-----
 sound/soc/kirkwood/kirkwood-openrd.c |   12 ++-
 sound/soc/kirkwood/kirkwood-t5325.c  |    8 +-
 sound/soc/kirkwood/kirkwood.h        |   45 +++++++-
 sound/soc/soc-dapm.c                 |    2 +-
 11 files changed, 295 insertions(+), 151 deletions(-)

Diffstat for the patches remaining for mainline:

 sound/soc/kirkwood/kirkwood-dma.c    |    4 +-
 sound/soc/kirkwood/kirkwood-i2s.c    |  170 +++++++++++++++++++++++++++++++---
 sound/soc/kirkwood/kirkwood-openrd.c |    8 ++
 sound/soc/kirkwood/kirkwood-t5325.c  |    4 +
 sound/soc/kirkwood/kirkwood.h        |   34 +++++++
 5 files changed, 205 insertions(+), 15 deletions(-)

^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2013-09-04 19:33 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-31 12:34 [PATCH 00/14] SPDIF support Russell King - ARM Linux
2013-08-31 12:35 ` [PATCH 01/14] ASoC: kirkwood: merge struct kirkwood_dma_priv with struct kirkwood_dma_data Russell King
2013-08-31 12:36 ` [PATCH 02/14] ASoC: kirkwood: use devm_clk_get() for the external clock Russell King
2013-08-31 12:37 ` [PATCH 03/14] ASoC: avoid duplicated DAI routes Russell King
2013-08-31 12:38 ` [PATCH 04/14] ASoC: kirkwood: provide KIRKWOOD_PLAYCTL_ENABLE_MASK Russell King
2013-08-31 12:39 ` [PATCH 05/14] ASoC: kirkwood: combine kirkwood-i2s and kirkwood-dma drivers Russell King
2013-08-31 12:40 ` [PATCH 06/14] ASoC: kirkwood: move calculation of max buffer size to kirkwood.h Russell King
2013-08-31 12:41 ` [PATCH 07/14] ASoC: spdif_transceiver: add output pin widget Russell King
2013-08-31 12:42 ` [PATCH 08/14] ASoC: kirkwood: prefer external clock over internal clock Russell King
2013-09-01 16:41   ` Jean-Francois Moine
2013-09-02 11:01     ` Mark Brown
2013-09-02 14:17       ` Russell King - ARM Linux
2013-08-31 12:43 ` [PATCH 09/14] ASoC: kirkwood-dma: remove IEC958_SUBFRAME formats Russell King
2013-09-02 11:02   ` Mark Brown
2013-08-31 12:44 ` [PATCH 10/14] ASoC: kirkwood: add DAPM widgets for input and output routing Russell King
2013-08-31 12:45 ` [PATCH 11/14] ASoC: kirkwood-openrd: add DAPM links between codec and cpu DAI Russell King
2013-08-31 12:46 ` [PATCH 12/14] ASoC: kirkwood-t5325: " Russell King
2013-08-31 12:47 ` [PATCH 13/14] ASoC: kirkwood: add SPDIF output support Russell King
2013-09-03 11:17   ` Mark Brown
2013-09-03 11:38     ` Russell King - ARM Linux
2013-09-03 11:59       ` Mark Brown
2013-09-03 13:34         ` Russell King - ARM Linux
2013-09-04 16:34           ` Mark Brown
2013-08-31 12:48 ` [PATCH 14/14] ASoC: kirkwood: add IEC958 channel status support Russell King
2013-08-31 15:28 ` [alsa-devel] [PATCH 00/14] SPDIF support Lars-Peter Clausen
2013-08-31 17:28   ` Mark Brown
2013-08-31 19:19     ` Russell King - ARM Linux
2013-08-31 20:46       ` Lars-Peter Clausen
2013-08-31 21:05         ` Russell King - ARM Linux
2013-08-31 22:23           ` Russell King - ARM Linux
2013-09-01 12:19           ` Mark Brown
2013-09-01 12:34             ` Russell King - ARM Linux
2013-09-01 13:02               ` Russell King - ARM Linux
2013-09-02 14:06               ` Mark Brown
2013-09-02 14:16                 ` Russell King - ARM Linux
2013-09-02 16:27                   ` Mark Brown
2013-09-02 16:59                     ` Russell King - ARM Linux
2013-09-02 20:44                       ` Mark Brown
2013-09-02 21:18                         ` Russell King - ARM Linux
2013-09-02 22:35                           ` Mark Brown
2013-09-02 23:00                             ` Russell King - ARM Linux
2013-09-04 19:33                               ` Mark Brown
2013-09-01  6:42         ` Russell King - ARM Linux
2013-09-01  7:42           ` Lars-Peter Clausen
2013-09-01  8:51             ` Russell King - ARM Linux
2013-09-01 10:08               ` Lars-Peter Clausen
2013-09-01 12:04                 ` Russell King - ARM Linux
2013-09-01 17:32                   ` Lars-Peter Clausen
2013-09-01 11:51               ` Mark Brown
2013-09-01 12:15                 ` Russell King - ARM Linux
2013-09-01 17:05                   ` Mark Brown
2013-08-31 19:14   ` Russell King - ARM Linux
2013-08-31 19:34     ` Russell King - ARM Linux
2013-09-02 14:47       ` Mark Brown
2013-09-02 14:52         ` Russell King - ARM Linux
2013-09-02 14:57           ` Russell King - ARM Linux
2013-09-02 16:41             ` Mark Brown
2013-08-31 20:45     ` Lars-Peter Clausen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).