Re: [PATCH] drm/bridge: sii902x: add audio graph card support

From: Daniel Vetter
Date: Wed Jul 10 2019 - 11:27:27 EST


On Fri, Jul 05, 2019 at 12:41:03PM +0000, Philippe CORNU wrote:
> Hi Olivier,
> and many thanks for your patch.
> Good to have the audio graph card support, looks ok.
> Reviewed-by: Philippe Cornu <philippe.cornu@xxxxxx>

Since you have drm-misc commit rights I'm assuming you're going to push
this too. Correct?
-Daniel

> Philippe :-)
>
> On 7/3/19 10:04 AM, Olivier Moysan wrote:
> > Implement get_dai_id callback of audio HDMI codec
> > to support ASoC audio graph card.
> > HDMI audio output has to be connected to sii902x port 3.
> > get_dai_id callback maps this port to ASoC DAI index 0.
> >
> > Signed-off-by: Olivier Moysan <olivier.moysan@xxxxxx>
> > ---
> > drivers/gpu/drm/bridge/sii902x.c | 23 +++++++++++++++++++++++
> > 1 file changed, 23 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
> > index dd7aa466b280..daf9ef3cd817 100644
> > --- a/drivers/gpu/drm/bridge/sii902x.c
> > +++ b/drivers/gpu/drm/bridge/sii902x.c
> > @@ -158,6 +158,8 @@
> >
> > #define SII902X_I2C_BUS_ACQUISITION_TIMEOUT_MS 500
> >
> > +#define SII902X_AUDIO_PORT_INDEX 3
> > +
> > struct sii902x {
> > struct i2c_client *i2c;
> > struct regmap *regmap;
> > @@ -690,11 +692,32 @@ static int sii902x_audio_get_eld(struct device *dev, void *data,
> > return 0;
> > }
> >
> > +static int sii902x_audio_get_dai_id(struct snd_soc_component *component,
> > + struct device_node *endpoint)
> > +{
> > + struct of_endpoint of_ep;
> > + int ret;
> > +
> > + ret = of_graph_parse_endpoint(endpoint, &of_ep);
> > + if (ret < 0)
> > + return ret;
> > +
> > + /*
> > + * HDMI sound should be located at reg = <3>
> > + * Return expected DAI index 0.
> > + */
> > + if (of_ep.port == SII902X_AUDIO_PORT_INDEX)
> > + return 0;
> > +
> > + return -EINVAL;
> > +}
> > +
> > static const struct hdmi_codec_ops sii902x_audio_codec_ops = {
> > .hw_params = sii902x_audio_hw_params,
> > .audio_shutdown = sii902x_audio_shutdown,
> > .digital_mute = sii902x_audio_digital_mute,
> > .get_eld = sii902x_audio_get_eld,
> > + .get_dai_id = sii902x_audio_get_dai_id,
> > };
> >
> > static int sii902x_audio_codec_init(struct sii902x *sii902x,
> >

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch