mbox series

[v2,0/8] drm/bridge: dw-hdmi: improve i2s support

Message ID 20190812120726.1528-1-jbrunet@baylibre.com (mailing list archive)
Headers show
Series drm/bridge: dw-hdmi: improve i2s support | expand

Message

Jerome Brunet Aug. 12, 2019, 12:07 p.m. UTC
The purpose of this patchset is to improve the support of the i2s
interface of the synopsys hdmi controller.

Once applied, the interface should support all the usual i2s bus formats,
8 channels playback and properly setup the channel number and allocation
in the infoframes.

Also, the dw-hdmi i2s interface will now provide the eld to the generic
hdmi-codec so it can expose the related controls to user space.

This work was inspired by Jonas Karlman's work, available here [0].

This was tested the Amlogic meson-g12a-sei510 platform.
For this specific platform, which uses codec2codec links, there is a
runtime dependency for patch 8 on this ASoC series [1].

Changes since v1 [2]:
 * Fix copy size in .get_eld()

[0]: https://github.com/Kwiboo/linux-rockchip/commits/rockchip-5.2-for-libreelec-v5.2.3
[1]: https://lkml.kernel.org/r/20190725165949.29699-1-jbrunet@baylibre.com
[2]: https://lkml.kernel.org/r/20190805134102.24173-1-jbrunet@baylibre.com

Jerome Brunet (8):
  drm/bridge: dw-hdmi-i2s: support more i2s format
  drm/bridge: dw-hdmi: move audio channel setup out of ahb
  drm/bridge: dw-hdmi: set channel count in the infoframes
  drm/bridge: dw-hdmi-i2s: enable lpcm multi channels
  drm/bridge: dw-hdmi-i2s: set the channel allocation
  drm/bridge: dw-hdmi-i2s: reset audio fifo before applying new params
  drm/bridge: dw-hdmi-i2s: enable only the required i2s lanes
  drm/bridge: dw-hdmi-i2s: add .get_eld support

 .../drm/bridge/synopsys/dw-hdmi-ahb-audio.c   | 20 ++-----
 .../gpu/drm/bridge/synopsys/dw-hdmi-audio.h   |  1 +
 .../drm/bridge/synopsys/dw-hdmi-i2s-audio.c   | 60 +++++++++++++++++--
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     | 37 ++++++++++++
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.h     | 13 +++-
 include/drm/bridge/dw_hdmi.h                  |  2 +
 6 files changed, 108 insertions(+), 25 deletions(-)

Comments

Jerome Brunet Aug. 12, 2019, 12:35 p.m. UTC | #1
On Mon 12 Aug 2019 at 14:19, Neil Armstrong <narmstrong@baylibre.com> wrote:

> Hi,
>
> On 12/08/2019 14:07, Jerome Brunet wrote:
>> The purpose of this patchset is to improve the support of the i2s
>> interface of the synopsys hdmi controller.
>> 
>> Once applied, the interface should support all the usual i2s bus formats,
>> 8 channels playback and properly setup the channel number and allocation
>> in the infoframes.
>> 
>> Also, the dw-hdmi i2s interface will now provide the eld to the generic
>> hdmi-codec so it can expose the related controls to user space.
>> 
>> This work was inspired by Jonas Karlman's work, available here [0].
>> 
>> This was tested the Amlogic meson-g12a-sei510 platform.
>> For this specific platform, which uses codec2codec links, there is a
>> runtime dependency for patch 8 on this ASoC series [1].
>> 
>> Changes since v1 [2]:
>>  * Fix copy size in .get_eld()
>> 
>> [0]: https://github.com/Kwiboo/linux-rockchip/commits/rockchip-5.2-for-libreelec-v5.2.3
>> [1]: https://lkml.kernel.org/r/20190725165949.29699-1-jbrunet@baylibre.com
>> [2]: https://lkml.kernel.org/r/20190805134102.24173-1-jbrunet@baylibre.com
>> 
>> Jerome Brunet (8):
>>   drm/bridge: dw-hdmi-i2s: support more i2s format
>>   drm/bridge: dw-hdmi: move audio channel setup out of ahb
>>   drm/bridge: dw-hdmi: set channel count in the infoframes
>>   drm/bridge: dw-hdmi-i2s: enable lpcm multi channels
>>   drm/bridge: dw-hdmi-i2s: set the channel allocation
>>   drm/bridge: dw-hdmi-i2s: reset audio fifo before applying new params
>>   drm/bridge: dw-hdmi-i2s: enable only the required i2s lanes
>>   drm/bridge: dw-hdmi-i2s: add .get_eld support
>
> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
>
> Jonas, is patch 8 ok for you now ? If yes I'll apply them to
> drm-misc-next.

Please don't ! I did not pick the right change and what I just sent is
just crazy, give me a second to resend

>
> Neil
>
>> 
>>  .../drm/bridge/synopsys/dw-hdmi-ahb-audio.c   | 20 ++-----
>>  .../gpu/drm/bridge/synopsys/dw-hdmi-audio.h   |  1 +
>>  .../drm/bridge/synopsys/dw-hdmi-i2s-audio.c   | 60 +++++++++++++++++--
>>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     | 37 ++++++++++++
>>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.h     | 13 +++-
>>  include/drm/bridge/dw_hdmi.h                  |  2 +
>>  6 files changed, 108 insertions(+), 25 deletions(-)
>>