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

Daniel Vetter daniel at ffwll.ch
Wed Jul 10 15:27:20 UTC 2019


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 at st.com>

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 at st.com>
> > ---
> >   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


More information about the dri-devel mailing list