devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC v5 0/8] Implement generic ASoC HDMI codec and use it in tda998x
@ 2016-02-17 14:49 Jyri Sarha
  2016-02-17 14:49 ` [PATCH RFC v5 1/8] ALSA: pcm: add IEC958 channel status helper for hw_params Jyri Sarha
                   ` (7 more replies)
  0 siblings, 8 replies; 28+ messages in thread
From: Jyri Sarha @ 2016-02-17 14:49 UTC (permalink / raw)
  To: dri-devel, airlied, linux-omap, devicetree, bcousson, alsa-devel
  Cc: peter.ujfalusi, moinejf, tony, broonie, arnaud.pouliquen,
	Jyri Sarha, liam.r.girdwood, tomi.valkeinen, rmk+kernel

There is very little change to this series since the RFC v4, but because
of the recent interest on the hdmi-codec patch I decided to send
another version of the series.

Changes since RFC v4,
- Rebased on top of the latest drm-next branch
- Split the hdmi-codec abort functionality into a separate patch for
  better visibility of what it is all about
  - This does not affect the tda998x patches as the abort
    functionality is not used
- Drop S18_3* formats from I2S_FORMATS and add a comment about formats
  not supported by HDMI

There was also some comments about the DT ports binding for tda998x by
Jean-Francois Moine. However I did not have time to come up with
alternative approach. All in all my tda998x patches should be
considered more as a proof of concept for the hdmi-codec part, rather
than a serious attempt to get those patches in. However, all comments
to those patch are more than welcome as they will help me to come up
with something that could finally get merged.

Changes since RFC v3,
ASoC side:
- Add "ALSA: pcm: add IEC958 channel status helper for hw_params"
- Add "tda998x: Improve tda998x_configure_audio() audio related pdata"
- use snd_pcm_create_iec958_consumer_hw_params() to construct the stream header
- Remove set_clk() callback from hdmi-codec. It is not needed for now.
- Refer to stream header in AIF as specified in HDMI standard
- Set current_stream to NULL only after video side audio_shutdown() has
  been called. Avoid potential race if video side attempts to abort audio
  at the same time.
- No need to have video side device pointer in the hdmi codec's pdata as
  it is found from dev->parent.
- Fix hdmi-codec enum: DAI_ID_I2C > DAI_ID_I2S
- Improve audio_startup API comment
- Make improved checkpatch happy 
  - BUG_ON > WARN_ON
  - put */ ending the block comment to a separate line

DRM side:
- Fix tda998x get_eld() locking
- Change tda998x audio parameters in pdata to more generic, that can
  be readily used in tda998x_audio_config()
- Rename and restructure audio port related private data members to
  be more descriptive
- Require audio configuration trough ASoC hdmi-codec if HDMI audio is
  configured trough DT binding. 

DTS:
- Increase McASP fifo usage form 1 to 32

The binding for tda998x is taken from Jean Francois' patch series[1] on
the same subject. The implementation of the of-node parsing has some
minor changes from my self.

Here is what I think at least could or should still be done, but non of
that stuff does not sounds critical right now.
 
Missing from tda998x driver side
- hdmi_codec_ops audio_startup() implementation for audio abort support
- multi channel audio support (I would need specs and preferably some
  HW to test for this).

Missing from ASoC side generic implementation:
- channel_allocation handling is completely left for the video side driver,
  see if ASoC side could help in any way
- snd_soc_jack functionality to handle hdmi cable plug/unplug events

[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2015-July/095596.html

Best regards,
Jyri

Jean-Francois Moine (1):
  drm/i2c: tda998x: Add support of a DT graph of ports

Jyri Sarha (7):
  ALSA: pcm: add IEC958 channel status helper for hw_params
  ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders
  ASoC: hdmi-codec: Add audio abort() callback for video side to use
  drm/i2c: tda998x: Remove include/sound/tda998x.h and fix graph parsing
  drm/i2c: tda998x: Improve tda998x_configure_audio() audio related
    pdata
  drm/i2c: tda998x: Register ASoC HDMI codec for audio functionality
  ARM: dts: am335x-boneblack: Add HDMI audio support

 .../devicetree/bindings/display/bridge/tda998x.txt |  51 +++
 arch/arm/boot/dts/am335x-boneblack.dts             |  90 ++++-
 drivers/gpu/drm/i2c/Kconfig                        |   1 +
 drivers/gpu/drm/i2c/tda998x_drv.c                  | 300 ++++++++++++---
 include/drm/i2c/tda998x.h                          |  24 +-
 include/sound/hdmi-codec.h                         | 104 ++++++
 include/sound/pcm_iec958.h                         |   2 +
 sound/core/pcm_iec958.c                            |  52 ++-
 sound/soc/codecs/Kconfig                           |   6 +
 sound/soc/codecs/Makefile                          |   2 +
 sound/soc/codecs/hdmi-codec.c                      | 411 +++++++++++++++++++++
 11 files changed, 964 insertions(+), 79 deletions(-)
 create mode 100644 include/sound/hdmi-codec.h
 create mode 100644 sound/soc/codecs/hdmi-codec.c

-- 
1.9.1

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

end of thread, other threads:[~2016-03-08 16:59 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-17 14:49 [PATCH RFC v5 0/8] Implement generic ASoC HDMI codec and use it in tda998x Jyri Sarha
2016-02-17 14:49 ` [PATCH RFC v5 1/8] ALSA: pcm: add IEC958 channel status helper for hw_params Jyri Sarha
2016-02-17 14:49 ` [PATCH RFC v5 2/8] ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders Jyri Sarha
2016-02-22 14:22   ` Arnaud Pouliquen
2016-03-08 16:59   ` Arnaud Pouliquen
     [not found] ` <cover.1455720381.git.jsarha-l0cyMroinI0@public.gmane.org>
2016-02-17 14:49   ` [PATCH RFC v5 3/8] ASoC: hdmi-codec: Add audio abort() callback for video side to use Jyri Sarha
2016-02-17 14:49 ` [PATCH RFC v5 4/8] drm/i2c: tda998x: Add support of a DT graph of ports Jyri Sarha
     [not found]   ` <842e221030a0b14bc862790eb2f5bc97bb29c012.1455720381.git.jsarha-l0cyMroinI0@public.gmane.org>
2016-02-18 14:35     ` Rob Herring
2016-02-18 15:18       ` Jean-Francois Moine
2016-02-18 15:32         ` Russell King - ARM Linux
2016-02-25 13:42       ` Jyri Sarha
     [not found]         ` <56CF04DA.8080905-l0cyMroinI0@public.gmane.org>
2016-02-26  0:43           ` Russell King - ARM Linux
2016-02-26 10:14             ` Jyri Sarha
2016-02-26 11:21               ` Russell King - ARM Linux
2016-02-29 10:36                 ` Jyri Sarha
2016-03-01 14:26                   ` Alternative binding proposal for tda998x audio (Was: Re: [PATCH RFC v5 4/8] drm/i2c: tda998x: Add support of a DT graph of ports) Jyri Sarha
2016-03-01 15:35                     ` Jean-Francois Moine
2016-03-01 15:51                       ` Jyri Sarha
2016-03-01 16:16                         ` Jean-Francois Moine
2016-03-01 18:29                           ` Jyri Sarha
     [not found]                             ` <56D5DF7D.7090608-l0cyMroinI0@public.gmane.org>
2016-03-01 19:26                               ` Jean-Francois Moine
2016-03-02  8:34                                 ` Jyri Sarha
     [not found]                           ` <20160301171630.630a47dc00060645f89bb8ab-GANU6spQydw@public.gmane.org>
2016-03-02  4:29                             ` Mark Brown
2016-02-17 14:49 ` [PATCH RFC v5 5/8] drm/i2c: tda998x: Remove include/sound/tda998x.h and fix graph parsing Jyri Sarha
2016-02-17 14:49 ` [PATCH RFC v5 6/8] drm/i2c: tda998x: Improve tda998x_configure_audio() audio related pdata Jyri Sarha
2016-02-17 14:49 ` [PATCH RFC v5 7/8] drm/i2c: tda998x: Register ASoC HDMI codec for audio functionality Jyri Sarha
2016-02-17 14:49 ` [PATCH RFC v5 8/8] ARM: dts: am335x-boneblack: Add HDMI audio support Jyri Sarha
2016-02-17 19:36   ` Robert Nelson

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).