[PATCH v3 0/1] Add support for sun4i HDMI audio

From: Stefan Mavrodiev
Date: Tue Jan 28 2020 - 09:07:04 EST


This patch series add support for HDMI audio for sun4i HDMI encored.
The code uses some parts from the Allwinners's BSP kernel.

In the previous patch series there was additional patch enabling the
cyclic DMA transfers. It was accepted, so it's omitted here.

The patch is tested on A20 chip. For the other chips, only the addresses
of the registers are checked.

Changes for v3:
- Dropped the patch which enable the cyclic DMA transfers
- In v2, a separate platform_driver was created. However this is not
practical and the idea is dropped.
- Since this module depends on SND_SOC, a new Kconfig entry is added. When
SND_SOC is not enabled, the audio part is not initialized.
- The "big" issue with v1 was that snd_soc_register_card() overwrites
the driver_data pointer. To resolve this issue, the original pointer is
stored as drvdata of the card. Then before card unregistering, the
pointer is restored. This is done by calling additional destroy function.

Changes for v2:
- Create a new platform driver instead of using the HDMI encoder
- Expose a new kcontrol to the userspace holding the ELD data
- Wrap all macro arguments in parentheses

Stefan Mavrodiev (1):
drm: sun4i: hdmi: Add support for sun4i HDMI encoder audio

drivers/gpu/drm/sun4i/Kconfig | 11 +
drivers/gpu/drm/sun4i/Makefile | 3 +
drivers/gpu/drm/sun4i/sun4i_hdmi.h | 37 ++
drivers/gpu/drm/sun4i/sun4i_hdmi_audio.c | 450 +++++++++++++++++++++++
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 14 +
5 files changed, 515 insertions(+)
create mode 100644 drivers/gpu/drm/sun4i/sun4i_hdmi_audio.c

--
2.17.1