All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] tda998x updates
@ 2019-06-11 11:00 Russell King - ARM Linux admin
  2019-06-11 11:01 ` [PATCH 01/13] drm/i2c: tda998x: introduce tda998x_audio_settings Russell King
                   ` (14 more replies)
  0 siblings, 15 replies; 48+ messages in thread
From: Russell King - ARM Linux admin @ 2019-06-11 11:00 UTC (permalink / raw)
  To: Sven Van Asbroeck, Mark Brown, Peter Ujfalusi, Jyri Sarha
  Cc: David Airlie, dri-devel

This series represents development work collected over the last six
months to improve the TDA998x driver, particularly for the audio
side.  These patches can be found in my "drm-tda998x-devel" branch
at git://git.armlinux.org.uk/~rmk/linux-arm.git

- Introduce an audio_settings structure so we can store the derived
  register settings independently of the audio parameters.
- Add support for the different I2S flavours.
- Improve the calculation of the audio clock divisor, the old code
  seemed to prevent combinations of video mode and audio sample rate
  from working.  Document what we don't know, what assumptions we are
  making, what has been found through experimentation, and what we are
  actually doing.
- Add calculation of the CTS n and k values depending on the bit clock
  to sample rate ratio (bclk_ratio) - we assume a bclk_ratio
  appropriate for the bus format that gives us the values we are using
  prior to this change to maintain compatibility.
- Move the "ena_ap" register value into the audio_settings structure.
- Eliminate the audio port array and repetitive searching of the array,
  instead looking up the "ena_ap" value by format - the DT binding only
  supports one setting per format, so old approach was not a good
  design.
- There is no need to set the two fields of the AIP_CLKSEL register
  independently of each other, so just write the register once while
  setting up audio.
- Deal with the format specific audio routing configuration when the
  audio settings are configured, rather than when programming the
  TDA998x, which means we can do all the validation at configuration
  time, rather than spreading it into other paths like modeset, where
  failures can't be reported.
- Since tda998x_configure_audio() is called from paths where failure
  is not an option, and we have eliminated the configuration dependent
  failures, we can make this functions return type void.  This allows
  simplification of tda998x_audio_hw_params() within the mutex
  protected region.
- We no longer need to store the full audio params within the audio
  settings structure, so eliminate it, only storing in the audio
  settings structure what we need to actually program the hardware.

- Add support for pixel repeated modes, tested on a Panasonic TV that
  supports these formats.
- Add bridge timing specifications for TDA9989 and TDA19988 devices,
  although we have no current users of this data it may be useful to
  complete the information passed from the bridge driver, especially
  where the pixel clock edge needs configuration.
- Add support for selecting the appropriate RGB quantisation range
  depending on the sink capabilities, and avoid sending full range RGB
  when the sink only supports limited range RGB for the mode.  We do
  this by enabling the TDA998x's colour scaling matrix and applying
  the appropriate constants.

 drivers/gpu/drm/i2c/tda998x_drv.c | 459 ++++++++++++++++++++++++++------------
 1 file changed, 311 insertions(+), 148 deletions(-)

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2019-06-13 20:56 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-11 11:00 [PATCH 00/13] tda998x updates Russell King - ARM Linux admin
2019-06-11 11:01 ` [PATCH 01/13] drm/i2c: tda998x: introduce tda998x_audio_settings Russell King
2019-06-12 15:24   ` Sven Van Asbroeck
2019-06-13  9:52     ` Russell King - ARM Linux admin
2019-06-11 11:01 ` [PATCH 02/13] drm/i2c: tda998x: implement different I2S flavours Russell King
2019-06-11 11:01 ` [PATCH 03/13] drm/i2c: tda998x: improve programming of audio divisor Russell King
2019-06-12 15:25   ` Sven Van Asbroeck
2019-06-12 16:26     ` Russell King - ARM Linux admin
2019-06-11 11:01 ` [PATCH 04/13] drm/i2c: tda998x: derive CTS_N value from aclk sample rate ratio Russell King
2019-06-12 15:27   ` Sven Van Asbroeck
2019-06-12 16:28     ` Russell King - ARM Linux admin
2019-06-12 16:37       ` Sven Van Asbroeck
2019-06-12 16:42         ` Russell King - ARM Linux admin
2019-06-12 16:45           ` Sven Van Asbroeck
2019-06-11 11:01 ` [PATCH 05/13] drm/i2c: tda998x: store audio port enable in settings Russell King
2019-06-11 11:02 ` [PATCH 06/13] drm/i2c: tda998x: index audio port enable config by route type Russell King
2019-06-11 11:02 ` [PATCH 07/13] drm/i2c: tda998x: configure both fields of AIP_CLKSEL together Russell King
2019-06-11 11:02 ` [PATCH 08/13] drm/i2c: tda998x: move audio routing configuration Russell King
2019-06-12 15:36   ` Sven Van Asbroeck
2019-06-12 16:32     ` Russell King - ARM Linux admin
2019-06-11 11:02 ` [PATCH 09/13] drm/i2c: tda998x: clean up tda998x_configure_audio() Russell King
2019-06-12 15:37   ` Sven Van Asbroeck
2019-06-11 11:02 ` [PATCH 10/13] drm/i2c: tda998x: get rid of params in audio settings Russell King
2019-06-11 11:02 ` [PATCH 11/13] drm/i2c: tda998x: add support for pixel repeated modes Russell King
2019-06-11 11:02 ` [PATCH 12/13] drm/i2c: tda998x: add bridge timing information Russell King
2019-06-12 15:38   ` Sven Van Asbroeck
2019-06-13 10:01     ` Russell King - ARM Linux admin
2019-06-11 11:02 ` [PATCH 13/13] drm/i2c: tda998x: improve correctness of quantisation range Russell King
2019-06-12 15:40 ` [PATCH 00/13] tda998x updates Sven Van Asbroeck
2019-06-13 10:52   ` Russell King - ARM Linux admin
2019-06-13 14:29 ` [PATCH v2 " Russell King - ARM Linux admin
2019-06-13 14:30   ` [PATCH v2 01/13] drm/i2c: tda998x: introduce tda998x_audio_settings Russell King
2019-06-13 18:48     ` Sven Van Asbroeck
2019-06-13 20:36       ` Russell King - ARM Linux admin
2019-06-13 14:31   ` [PATCH v2 02/13] drm/i2c: tda998x: implement different I2S flavours Russell King
2019-06-13 14:31   ` [PATCH v2 03/13] drm/i2c: tda998x: improve programming of audio divisor Russell King
2019-06-13 14:31   ` [PATCH v2 04/13] drm/i2c: tda998x: derive CTS_N value from aclk sample rate ratio Russell King
2019-06-13 14:31   ` [PATCH v2 05/13] drm/i2c: tda998x: store audio port enable in settings Russell King
2019-06-13 14:31   ` [PATCH v2 06/13] drm/i2c: tda998x: index audio port enable config by route type Russell King
2019-06-13 14:31   ` [PATCH v2 07/13] drm/i2c: tda998x: configure both fields of AIP_CLKSEL together Russell King
2019-06-13 14:31   ` [PATCH v2 08/13] drm/i2c: tda998x: move audio routing configuration Russell King
2019-06-13 14:31   ` [PATCH v2 09/13] drm/i2c: tda998x: clean up tda998x_configure_audio() Russell King
2019-06-13 14:31   ` [PATCH v2 10/13] drm/i2c: tda998x: get rid of params in audio settings Russell King
2019-06-13 14:31   ` [PATCH v2 11/13] drm/i2c: tda998x: add support for pixel repeated modes Russell King
2019-06-13 14:31   ` [PATCH v2 12/13] drm/i2c: tda998x: improve correctness of quantisation range Russell King
2019-06-13 14:31   ` [PATCH v2 13/13] drm/i2c: tda998x: add vendor specific infoframe support Russell King
2019-06-13 19:51   ` [PATCH v2 00/13] tda998x updates Sven Van Asbroeck
2019-06-13 20:56     ` Russell King - ARM Linux admin

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.