Re: [PATCH] drm/bridge: anx7625: Support HDMI_I2S audio format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2022-07-26 at 11:30 +0800, Xin Ji wrote:
> 1. Support HDMI_I2S audio format.
> 2. Return 0 if there is no sink connection in .hw_param callback.
> 
> Signed-off-by: Xin Ji <xji@xxxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/bridge/analogix/anx7625.c | 23 +++++++++++++++++--
> ----
>  1 file changed, 17 insertions(+), 6 deletions(-)
> 
Acked-by: Jiaxin Yu<jiaxin.yu@xxxxxxxxxxxx>
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c
> b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index 79fc7a50b497..c74b5df4cade 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -1797,8 +1797,13 @@ static int anx7625_audio_hw_params(struct
> device *dev, void *data,
>  	int wl, ch, rate;
>  	int ret = 0;
>  
> -	if (fmt->fmt != HDMI_DSP_A) {
> -		DRM_DEV_ERROR(dev, "only supports DSP_A\n");
> +	if (anx7625_sink_detect(ctx) == connector_status_disconnected)
> {
> +		DRM_DEV_DEBUG_DRIVER(dev, "DP not connected\n");
> +		return 0;
> +	}
> +
> +	if (fmt->fmt != HDMI_DSP_A && fmt->fmt != HDMI_I2S) {
> +		DRM_DEV_ERROR(dev, "only supports DSP_A & I2S\n");
>  		return -EINVAL;
>  	}
>  
> @@ -1806,10 +1811,16 @@ static int anx7625_audio_hw_params(struct
> device *dev, void *data,
>  			     params->sample_rate, params->sample_width,
>  			     params->cea.channels);
>  
> -	ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
> -				    AUDIO_CHANNEL_STATUS_6,
> -				    ~I2S_SLAVE_MODE,
> -				    TDM_SLAVE_MODE);
> +	if (fmt->fmt == HDMI_DSP_A)
> +		ret = anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
> +					   AUDIO_CHANNEL_STATUS_6,
> +					   ~I2S_SLAVE_MODE,
> +					   TDM_SLAVE_MODE);
> +	else
> +		ret = anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
> +					   AUDIO_CHANNEL_STATUS_6,
> +					   ~TDM_SLAVE_MODE,
> +					   I2S_SLAVE_MODE);
>  
>  	/* Word length */
>  	switch (params->sample_width) {




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux