Re: [PATCH 0/8] media: i2c: adv748x: add support for HDMI audio

From: Hans Verkuil
Date: Fri Mar 13 2020 - 04:37:26 EST


On 3/13/20 9:31 AM, Alex Riesen wrote:
> Hi Hans,
>
> Hans Verkuil, Fri, Mar 13, 2020 09:21:05 +0100:
>> As a general note for this series: it might be better to have two
>> patch series: one for patches 1 and 3-6 (not sure whether 5 can be included
>> or not), and one where the public API changes (i.e. new V4L2 audio controls)
>> are added. The first can probably be merged fairly quickly, the second will
>> likely require more iterations since public API patches always take much longer
>> before they are mature.
>
> I see. After the discussion started, I started to have suspicions of my own
> regarding the V4L2 ioctls. Except for log-status, which is a practical
> diagnostics feature (even supported by v4l2-ctl), I'm thinking about dropping
> them altogether in favor of audio soc DAI implementation.
> The DAI implementation does all we ever needed from the device. Besides,
> selecting a I2S protocol variant from user space (I2S vs I2S/TDM) never felt
> right.

That sounds like what everyone else does as well.

>
> Shall I submit the log-status separately?

Yes please. In my experience, log status is a very nice and very useful feature.

If you have other sensible cleanups, then feel free to add those as well.

Regards,

Hans

>
> Regards,
> Alex
>
>> On 1/13/20 3:14 PM, Alex Riesen wrote:
>>> This adds minimal support for controlling the audio output I2S port available
>>> on ADV7481 and ADV7482 HDMI decoder devices by ADI. The port carries audio
>>> signal from the decoded HDMI stream.
>>>
>>> An ADV7482 on the Renesas Salvator-X ES1.1 was used during development of this
>>> code.
>>>
>>> Alex Riesen (8):
>>> 1. media: adv748x: add a device-specific wrapper for register block read
>>> 2. media: adv748x: add audio mute control and output selection ioctls
>>> 3. media: adv748x: add log_status ioctl
>>> 4. media: adv748x: reserve space for the audio (I2S) port in the driver
>>> structures
>>> 5. media: adv748x: add an ASoC DAI definition to the driver
>>> 6. media: adv748x: reduce amount of code for bitwise modification of
>>> device registers
>>> 7. dt-bindings: adv748x: add information about serial audio interface
>>> (I2S/TDM)
>>> 8. arm64: dts: renesas: salvator: add a connection from adv748x codec
>>> (HDMI input) to the R-Car SoC
>>>
>>> .../devicetree/bindings/media/i2c/adv748x.txt | 13 +-
>>> .../dts/renesas/r8a7795-es1-salvator-x.dts | 24 +-
>>> .../boot/dts/renesas/salvator-common.dtsi | 35 +-
>>> drivers/media/i2c/adv748x/adv748x-core.c | 54 +++
>>> drivers/media/i2c/adv748x/adv748x-hdmi.c | 355 ++++++++++++++++++
>>> drivers/media/i2c/adv748x/adv748x.h | 53 ++-
>>> 6 files changed, 523 insertions(+), 11 deletions(-)
>>>