[Intel-gfx] [PATCH 01/13] drm/edid: parse display info has_audio similar to is_hdmi

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Mon May 29 04:56:56 UTC 2023


LGTM.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>

On 4/21/2023 5:17 PM, Jani Nikula wrote:
> Since we already iterate everything that's needed for determining audio,
> reduce the need to call drm_detect_monitor_audio() by storing has_audio
> to connector info.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>   drivers/gpu/drm/drm_edid.c  | 6 ++++++
>   include/drm/drm_connector.h | 8 ++++++++
>   2 files changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 0454da505687..813ce00a106a 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -6243,6 +6243,9 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
>   			info->color_formats |= DRM_COLOR_FORMAT_YCBCR444;
>   		if (edid_ext[3] & EDID_CEA_YCRCB422)
>   			info->color_formats |= DRM_COLOR_FORMAT_YCBCR422;
> +		if (edid_ext[3] & EDID_BASIC_AUDIO)
> +			info->has_audio = true;
> +
>   	}
>   	drm_edid_iter_end(&edid_iter);
>   
> @@ -6268,6 +6271,8 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
>   			drm_parse_hdr_metadata_block(connector, data);
>   		else if (cea_db_tag(db) == CTA_DB_VIDEO)
>   			parse_cta_vdb(connector, db);
> +		else if (cea_db_tag(db) == CTA_DB_AUDIO)
> +			info->has_audio = true;
>   	}
>   	cea_db_iter_end(&iter);
>   
> @@ -6424,6 +6429,7 @@ static void drm_reset_display_info(struct drm_connector *connector)
>   	info->max_tmds_clock = 0;
>   	info->dvi_dual = false;
>   	info->is_hdmi = false;
> +	info->has_audio = false;
>   	info->has_hdmi_infoframe = false;
>   	info->rgb_quant_range_selectable = false;
>   	memset(&info->hdmi, 0, sizeof(info->hdmi));
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 7b5048516185..c8be6a343589 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -653,6 +653,14 @@ struct drm_display_info {
>   	 */
>   	bool is_hdmi;
>   
> +	/**
> +	 * @has_audio: True if the sink supports audio.
> +	 *
> +	 * This field shall be used instead of calling
> +	 * drm_detect_monitor_audio() when possible.
> +	 */
> +	bool has_audio;
> +
>   	/**
>   	 * @has_hdmi_infoframe: Does the sink support the HDMI infoframe?
>   	 */


More information about the Intel-gfx mailing list