dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Jani Nikula <jani.nikula@linux.intel.com>,
	Jammy Huang <jammy_huang@aspeedtech.com>,
	Dave Airlie <airlied@redhat.com>,
	Jocelyn Falempe <jfalempe@redhat.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/ast: DisplayPort edid supports 256 bytes
Date: Mon, 16 Mar 2026 13:06:51 +0100	[thread overview]
Message-ID: <ee764699-d2d7-4da6-bf54-db3bd5d12a85@suse.de> (raw)
In-Reply-To: <ad40e82fc2e6501f1b6e1073c70a6f1c308c89a8@intel.com>

Hi

Am 16.03.26 um 12:38 schrieb Jani Nikula:
> On Mon, 16 Mar 2026, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi Jammy
>>
>> Am 13.03.26 um 11:04 schrieb Jammy Huang:
>>> DisplayPort supports edid at most 256 bytes. Thus, allow it to fetch
>>> edid block 0 and 1.
>>>
>>> Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
>>> ---
>>> ASPEED DisplayPort's EDID size can be 256 bytes at most. Thus, EDID
>>> blocks fetched can be 0 and 1.
>>> ---
>>>    drivers/gpu/drm/ast/ast_dp.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/ast/ast_dp.c b/drivers/gpu/drm/ast/ast_dp.c
>>> index 9d07dad358c..c938e1d6b1d 100644
>>> --- a/drivers/gpu/drm/ast/ast_dp.c
>>> +++ b/drivers/gpu/drm/ast/ast_dp.c
>>> @@ -88,7 +88,7 @@ static int ast_astdp_read_edid_block(void *data, u8 *buf, unsigned int block, si
>>>    	int ret = 0;
>>>    	unsigned int i;
>>>    
>>> -	if (block > 0)
>>> +	if (block > 1)
>>>    		return -EIO; /* extension headers not supported */
>> But see the code at [1]. It clears the number of extensions to zero and
>> updates the checksum accordingly. This is required to make the shortened
>> EDID work with DRM. If you leave this as-is, it will still clear support
>> for any extension in block 1.
>>
>> See the table 2.4 in the VESA EDID 1.4 standard for the semantics. For
>> 1.3, if the number of blocks is >2, the first extensions is a 'block map
>> of the extensions'. This is useless, as it's not a data extension in
>> itself.  In 1.4, the block map is optional. That code should clear the
>> EDID's number of extensions to 0 or 1, depending on whether there is a
>> block map to be expected.
> I think long-term the goal should be for the kernel to not modify the
> EDID, at all.

We only fix up the checksum to address the fact that we cannot read the 
extensions.

I guess the kernel could be fixed to work correctly with the extensions 
missing, but what about user space? Exporting an EDID without the 
extensions blocks could cause problems with user-space programs.

Best regards
Thomas


>
> BR,
> Jani.
>
>
>> Best regards
>> Thomas
>>
>> [1]
>> https://elixir.bootlin.com/linux/v6.19.8/source/drivers/gpu/drm/ast/ast_dp.c#L157
>>
>>>    
>>>    	/*
>>>
>>> ---
>>> base-commit: 5ee8dbf54602dc340d6235b1d6aa17c0f283f48c
>>> change-id: 20260313-upstream_ast_dp_edid-5fe6adf7ad36
>>>
>>> Best regards,

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)



  reply	other threads:[~2026-03-16 12:06 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-13 10:04 [PATCH] drm/ast: DisplayPort edid supports 256 bytes Jammy Huang
2026-03-16 10:04 ` Thomas Zimmermann
2026-03-16 11:38   ` Jani Nikula
2026-03-16 12:06     ` Thomas Zimmermann [this message]
2026-03-17  2:44       ` Jammy Huang
2026-03-17  7:44         ` Thomas Zimmermann
2026-03-17  7:09     ` Ville Syrjälä
2026-03-17  7:41       ` Thomas Zimmermann
2026-03-17  8:12         ` Ville Syrjälä
2026-03-17  8:17           ` Thomas Zimmermann
2026-03-17  8:28           ` Jani Nikula

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=ee764699-d2d7-4da6-bf54-db3bd5d12a85@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@gmail.com \
    --cc=airlied@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jammy_huang@aspeedtech.com \
    --cc=jani.nikula@linux.intel.com \
    --cc=jfalempe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=simona@ffwll.ch \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox