From: Jani Nikula <jani.nikula@intel.com> To: intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com Subject: [Intel-gfx] [PATCH v2 02/20] drm/edid: check for HF-SCDB block Date: Tue, 3 May 2022 12:23:47 +0300 [thread overview] Message-ID: <2bf7110cdb56d5dda311480787faf472c9802de4.1651569697.git.jani.nikula@intel.com> (raw) In-Reply-To: <cover.1651569697.git.jani.nikula@intel.com> From: Lee Shawn C <shawn.c.lee@intel.com> Find HF-SCDB information in CEA extensions block. And retrieve Max_TMDS_Character_Rate that support by sink device. v2: HF-SCDB and HF-VSDBS carry the same SCDS data. Reuse drm_parse_hdmi_forum_vsdb() to parse this packet. Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjala <ville.syrjala@linux.intel.com> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Cc: intel-gfx <intel-gfx@lists.freedesktop.org> Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/drm_edid.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 1dea0e2f0cab..fe527a0c50bc 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -3471,6 +3471,7 @@ add_detailed_modes(struct drm_connector *connector, const struct edid *edid, #define EXT_VIDEO_CAPABILITY_BLOCK 0x00 #define EXT_VIDEO_DATA_BLOCK_420 0x0E #define EXT_VIDEO_CAP_BLOCK_Y420CMDB 0x0F +#define EXT_VIDEO_HF_SCDB_DATA_BLOCK 0x79 #define EDID_BASIC_AUDIO (1 << 6) #define EDID_CEA_YCRCB444 (1 << 5) #define EDID_CEA_YCRCB422 (1 << 4) @@ -4402,6 +4403,20 @@ static bool cea_db_is_vcdb(const u8 *db) return true; } +static bool cea_db_is_hdmi_forum_scdb(const u8 *db) +{ + if (cea_db_tag(db) != USE_EXTENDED_TAG) + return false; + + if (cea_db_payload_len(db) < 7) + return false; + + if (cea_db_extended_tag(db) != EXT_VIDEO_HF_SCDB_DATA_BLOCK) + return false; + + return true; +} + static bool cea_db_is_y420cmdb(const u8 *db) { if (cea_db_tag(db) != USE_EXTENDED_TAG) @@ -5363,7 +5378,8 @@ static void drm_parse_cea_ext(struct drm_connector *connector, if (cea_db_is_hdmi_vsdb(db)) drm_parse_hdmi_vsdb_video(connector, db); - if (cea_db_is_hdmi_forum_vsdb(db)) + if (cea_db_is_hdmi_forum_vsdb(db) || + cea_db_is_hdmi_forum_scdb(db)) drm_parse_hdmi_forum_vsdb(connector, db); if (cea_db_is_microsoft_vsdb(db)) drm_parse_microsoft_vsdb(connector, db); -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@intel.com> To: intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com, Ankit Nautiyal <ankit.k.nautiyal@intel.com>, Lee Shawn C <shawn.c.lee@intel.com> Subject: [PATCH v2 02/20] drm/edid: check for HF-SCDB block Date: Tue, 3 May 2022 12:23:47 +0300 [thread overview] Message-ID: <2bf7110cdb56d5dda311480787faf472c9802de4.1651569697.git.jani.nikula@intel.com> (raw) In-Reply-To: <cover.1651569697.git.jani.nikula@intel.com> From: Lee Shawn C <shawn.c.lee@intel.com> Find HF-SCDB information in CEA extensions block. And retrieve Max_TMDS_Character_Rate that support by sink device. v2: HF-SCDB and HF-VSDBS carry the same SCDS data. Reuse drm_parse_hdmi_forum_vsdb() to parse this packet. Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjala <ville.syrjala@linux.intel.com> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Cc: intel-gfx <intel-gfx@lists.freedesktop.org> Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/drm_edid.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 1dea0e2f0cab..fe527a0c50bc 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -3471,6 +3471,7 @@ add_detailed_modes(struct drm_connector *connector, const struct edid *edid, #define EXT_VIDEO_CAPABILITY_BLOCK 0x00 #define EXT_VIDEO_DATA_BLOCK_420 0x0E #define EXT_VIDEO_CAP_BLOCK_Y420CMDB 0x0F +#define EXT_VIDEO_HF_SCDB_DATA_BLOCK 0x79 #define EDID_BASIC_AUDIO (1 << 6) #define EDID_CEA_YCRCB444 (1 << 5) #define EDID_CEA_YCRCB422 (1 << 4) @@ -4402,6 +4403,20 @@ static bool cea_db_is_vcdb(const u8 *db) return true; } +static bool cea_db_is_hdmi_forum_scdb(const u8 *db) +{ + if (cea_db_tag(db) != USE_EXTENDED_TAG) + return false; + + if (cea_db_payload_len(db) < 7) + return false; + + if (cea_db_extended_tag(db) != EXT_VIDEO_HF_SCDB_DATA_BLOCK) + return false; + + return true; +} + static bool cea_db_is_y420cmdb(const u8 *db) { if (cea_db_tag(db) != USE_EXTENDED_TAG) @@ -5363,7 +5378,8 @@ static void drm_parse_cea_ext(struct drm_connector *connector, if (cea_db_is_hdmi_vsdb(db)) drm_parse_hdmi_vsdb_video(connector, db); - if (cea_db_is_hdmi_forum_vsdb(db)) + if (cea_db_is_hdmi_forum_vsdb(db) || + cea_db_is_hdmi_forum_scdb(db)) drm_parse_hdmi_forum_vsdb(connector, db); if (cea_db_is_microsoft_vsdb(db)) drm_parse_microsoft_vsdb(connector, db); -- 2.30.2
next prev parent reply other threads:[~2022-05-03 9:24 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-03 9:23 [Intel-gfx] [PATCH v2 00/20] drm/edid: CEA data block iterators, and more Jani Nikula 2022-05-03 9:23 ` Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 01/20] drm/edid: reset display info in drm_add_edid_modes() for NULL edid Jani Nikula 2022-05-03 9:23 ` Jani Nikula [this message] 2022-05-03 9:23 ` [PATCH v2 02/20] drm/edid: check for HF-SCDB block Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 03/20] drm/edid: rename HDMI Forum VSDB to SCDS Jani Nikula 2022-05-04 21:45 ` Ville Syrjälä 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 04/20] drm/edid: clean up CTA data block tag definitions Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 05/20] drm/edid: add iterator for EDID base and extension blocks Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 06/20] drm/edid: add iterator for CTA data blocks Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 07/20] drm/edid: clean up cea_db_is_*() functions Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 08/20] drm/edid: convert add_cea_modes() to use cea db iter Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 09/20] drm/edid: convert drm_edid_to_speaker_allocation() " Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 10/20] drm/edid: convert drm_edid_to_sad() " Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 11/20] drm/edid: convert drm_detect_hdmi_monitor() " Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 12/20] drm/edid: convert drm_detect_monitor_audio() " Jani Nikula 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 13/20] drm/edid: convert drm_parse_cea_ext() " Jani Nikula 2022-05-04 22:14 ` Ville Syrjälä 2022-05-03 9:23 ` [Intel-gfx] [PATCH v2 14/20] drm/edid: convert drm_edid_to_eld() " Jani Nikula 2022-05-03 9:24 ` [Intel-gfx] [PATCH v2 15/20] drm/edid: sunset the old unused cea data block iterators Jani Nikula 2022-05-03 9:24 ` [Intel-gfx] [PATCH v2 16/20] drm/edid: restore some type safety to cea_db_*() functions Jani Nikula 2022-05-03 9:24 ` [Intel-gfx] [PATCH v2 17/20] drm/edid: detect basic audio in all CEA extensions Jani Nikula 2022-05-03 9:24 ` [Intel-gfx] [PATCH v2 18/20] drm/edid: detect color formats and CTA revision in all CTA extensions Jani Nikula 2022-05-04 22:11 ` Ville Syrjälä 2022-05-05 10:53 ` Jani Nikula 2022-05-05 10:52 ` [Intel-gfx] [PATCH v3] " Jani Nikula 2022-05-05 14:32 ` Ville Syrjälä 2022-05-05 14:32 ` [Intel-gfx] " Ville Syrjälä 2022-05-03 9:24 ` [Intel-gfx] [PATCH v2 19/20] drm/edid: skip CTA extension scan in drm_edid_to_eld() just for CTA rev Jani Nikula 2022-05-03 9:24 ` Jani Nikula 2022-05-03 9:24 ` [Intel-gfx] [PATCH v2 20/20] drm/edid: sunset drm_find_cea_extension() Jani Nikula 2022-05-03 9:24 ` Jani Nikula 2022-05-03 12:35 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: CEA data block iterators, and more (rev3) Patchwork 2022-05-03 12:59 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-05-04 8:10 ` [PATCH v2 00/20] drm/edid: CEA data block iterators, and more Jani Nikula 2022-05-04 8:10 ` [Intel-gfx] " Jani Nikula 2022-05-04 10:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/edid: CEA data block iterators, and more (rev3) Patchwork 2022-05-04 22:30 ` [PATCH v2 00/20] drm/edid: CEA data block iterators, and more Ville Syrjälä 2022-05-04 22:30 ` [Intel-gfx] " Ville Syrjälä 2022-05-05 17:40 ` Jani Nikula 2022-05-05 17:40 ` [Intel-gfx] " Jani Nikula 2022-05-05 12:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: CEA data block iterators, and more (rev4) Patchwork 2022-05-05 12:46 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-05-05 14:54 ` [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=2bf7110cdb56d5dda311480787faf472c9802de4.1651569697.git.jani.nikula@intel.com \ --to=jani.nikula@intel.com \ --cc=intel-gfx@lists.freedesktop.org \ /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: linkBe 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.