From: Jani Nikula <jani.nikula@linux.intel.com>
To: Fangzhi Zuo <jerry.zuo@amd.com>,
timo.proemer04@gmail.com, Harry Wentland <harry.wentland@amd.com>,
Leo Li <sunpeng.li@amd.com>,
Alex Deucher <alexander.deucher@amd.com>
Cc: Fangzhi Zuo <jerry.zuo@amd.com>,
dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2 2/2] drm/amd/display: Use drm_edid_block_count() instead of raw extensions
Date: Fri, 18 Sep 2026 17:30:02 +0300 [thread overview]
Message-ID: <a8a004b82a037ec2f218d6b324298ba505286bc2@intel.com> (raw)
In-Reply-To: <20260727213305.810014-1-jerry.zuo@amd.com>
On Mon, 27 Jul 2026, Fangzhi Zuo <jerry.zuo@amd.com> wrote:
> Hi Timo,
>
> Thanks for the patch. Heads-up that this overlaps with a fix already in
> amd-staging-drm-next:
>
> 21590e1adc9e ("drm/amd/display: Fix 8K Mode Not Parsed by EDID")
More precisely commit 11a90eaf5c80 ("drm/amd/display: Fix 8K Mode Not
Parsed by EDID") upstream.
> That commit addresses the same underlying problem your patch targets --
> edid->extensions (byte 0x7e) not accounting for HF-EEODB blocks, so only
> 2 of 4 blocks of an HDMI 2.1 EDID get copied into sink->dc_edid and the
> 8K modes in the DisplayID extension blocks are lost. It takes a slightly
> different approach: instead of drm_edid_block_count(), it populates
> edid_blob_ptr with a full, HF-EEODB-aware blob and copies
> edid_blob_ptr->length. So on current amd-staging the
> dm_helpers_read_local_edid() hunk here no longer applies cleanly.
That's an awful, ugly hack. Please work to remove it. Drivers are not
supposed to look at or use connector->edid_blob_ptr at all. See the
documentation.
I really did put in a *lot* of effort into abstracting HF-EEODB properly
and neatly for everyone, across the subsystem. The opaque struct
drm_edid is the abstraction. Please embrace it, and you'll get HF-EEODB
for free, with no hacks.
If you face issues, please talk to me instead of hacking stuff and
intentionally working around the the abstractions.
> Could you rebase on the latest amd-staging-drm-next and see what, if
> anything, is still needed on top? There may still be value in the
> helper conversion for readability, but we should avoid re-fixing the
> same HF-EEODB issue two different ways.
The one and only fix for HF-EEODB is to use struct drm_edid everywhere.
BR,
Jani.
--
Jani Nikula, Intel
next prev parent reply other threads:[~2026-09-18 14:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 19:32 [PATCH v2 0/2] drm/amd/display: Fix missing HF-EEODB blocks in EDID copies Timo Prömer
2026-07-13 19:32 ` [PATCH v2 1/2] drm/edid: Export drm_edid_block_count() Timo Prömer
2026-09-18 14:14 ` Jani Nikula
2026-07-13 19:32 ` [PATCH v2 2/2] drm/amd/display: Use drm_edid_block_count() instead of raw extensions Timo Prömer
2026-07-13 19:49 ` sashiko-bot
2026-07-27 21:33 ` Fangzhi Zuo
2026-07-28 23:57 ` Timo Prömer
2026-09-18 14:30 ` Jani Nikula [this message]
2026-09-18 15:19 ` Zuo, Jerry
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=a8a004b82a037ec2f218d6b324298ba505286bc2@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=jerry.zuo@amd.com \
--cc=sunpeng.li@amd.com \
--cc=timo.proemer04@gmail.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.