All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: dri-devel@lists.freedesktop.org
Cc: Jani Nikula <jani.nikula@intel.com>,
	intel-gfx@lists.freedesktop.org,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: [PATCH 1/9] drm/edid: parse display info has_audio similar to is_hdmi
Date: Thu,  1 Sep 2022 15:47:03 +0300	[thread overview]
Message-ID: <59682553399bacfbbfaf61faa5f29646570681c7.1662036058.git.jani.nikula@intel.com> (raw)
In-Reply-To: <cover.1662036058.git.jani.nikula@intel.com>

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@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 90a5e26eafa8..fe34ff98e5e9 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -5994,6 +5994,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);
 
@@ -6015,6 +6018,8 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
 			drm_parse_vcdb(connector, data);
 		else if (cea_db_is_hdmi_hdr_metadata_block(db))
 			drm_parse_hdr_metadata_block(connector, data);
+		else if (cea_db_tag(db) == CTA_DB_AUDIO)
+			info->has_audio = true;
 	}
 	cea_db_iter_end(&iter);
 }
@@ -6141,6 +6146,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 248206bbd975..a9f714612b44 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -597,6 +597,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?
 	 */
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@intel.com>
To: dri-devel@lists.freedesktop.org
Cc: Jani Nikula <jani.nikula@intel.com>,
	intel-gfx@lists.freedesktop.org,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: [Intel-gfx] [PATCH 1/9] drm/edid: parse display info has_audio similar to is_hdmi
Date: Thu,  1 Sep 2022 15:47:03 +0300	[thread overview]
Message-ID: <59682553399bacfbbfaf61faa5f29646570681c7.1662036058.git.jani.nikula@intel.com> (raw)
In-Reply-To: <cover.1662036058.git.jani.nikula@intel.com>

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@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 90a5e26eafa8..fe34ff98e5e9 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -5994,6 +5994,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);
 
@@ -6015,6 +6018,8 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
 			drm_parse_vcdb(connector, data);
 		else if (cea_db_is_hdmi_hdr_metadata_block(db))
 			drm_parse_hdr_metadata_block(connector, data);
+		else if (cea_db_tag(db) == CTA_DB_AUDIO)
+			info->has_audio = true;
 	}
 	cea_db_iter_end(&iter);
 }
@@ -6141,6 +6146,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 248206bbd975..a9f714612b44 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -597,6 +597,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?
 	 */
-- 
2.34.1


  reply	other threads:[~2022-09-01 12:47 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-01 12:47 [PATCH 0/9] drm: convert to using is_hdmi and has_audio from display info Jani Nikula
2022-09-01 12:47 ` Jani Nikula
2022-09-01 12:47 ` [Intel-gfx] " Jani Nikula
2022-09-01 12:47 ` Jani Nikula
2022-09-01 12:47 ` [Nouveau] " Jani Nikula
2022-09-01 12:47 ` Jani Nikula [this message]
2022-09-01 12:47   ` [Intel-gfx] [PATCH 1/9] drm/edid: parse display info has_audio similar to is_hdmi Jani Nikula
2022-09-01 12:47 ` [Nouveau] [PATCH 2/9] drm/nouveau: convert to using is_hdmi and has_audio from display info Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-01 12:47   ` Jani Nikula
2022-09-01 20:16   ` Lyude Paul
2022-09-01 20:16     ` [Intel-gfx] " Lyude Paul
2022-09-01 20:16     ` [Nouveau] " Lyude Paul
2022-09-01 12:47 ` [PATCH 3/9] drm/radeon: " Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-01 12:47 ` [PATCH 4/9] drm/tegra: convert to using is_hdmi " Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-01 12:47   ` Jani Nikula
2022-09-15 12:29   ` Thierry Reding
2022-09-15 12:29     ` [Intel-gfx] " Thierry Reding
2022-09-15 12:29     ` Thierry Reding
2022-09-01 12:47 ` [PATCH 5/9] drm/exynos: " Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-01 12:47 ` [PATCH 6/9] drm/i2c/tda998x: convert to using has_audio from display_info Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-01 12:47 ` [PATCH 7/9] drm/sti/sti_hdmi: convert to using is_hdmi from display info Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2023-04-22 17:06   ` Alain Volmat
2023-04-22 17:06     ` [Intel-gfx] " Alain Volmat
2022-09-01 12:47 ` [PATCH 8/9] drm/rockchip: cdn-dp: call drm_connector_update_edid_property() unconditionally Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-05 10:12   ` Heiko Stübner
2022-09-05 10:12     ` [Intel-gfx] " Heiko Stübner
2022-09-01 12:47 ` [PATCH 9/9] drm/rockchip: convert to using has_audio from display_info Jani Nikula
2022-09-01 12:47   ` [Intel-gfx] " Jani Nikula
2022-09-05 10:13   ` Heiko Stübner
2022-09-05 10:13     ` [Intel-gfx] " Heiko Stübner
2022-09-01 13:49 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm: convert to using is_hdmi and has_audio from display info Patchwork
2022-09-01 14:00 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-09-02 10:38 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59682553399bacfbbfaf61faa5f29646570681c7.1662036058.git.jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=laurent.pinchart@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.