diff options
| author | Finn Zeruhn <fzeruhn@icloud.com> | 2026-10-02 17:28:33 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2026-11-05 14:22:21 +1000 |
| commit | 06bb2e5c71e9983519929a8482bea89da6d80ad8 (patch) | |
| tree | 21bc5e95a0348dad5a938e391d03651500752cdf /scripts/Makefile.thinlto | |
| parent | a1f7f37417bacf2eaf80a8ce6b598b1fa56f8906 (diff) | |
| download | linux-next-06bb2e5c71e9983519929a8482bea89da6d80ad8.tar.gz linux-next-06bb2e5c71e9983519929a8482bea89da6d80ad8.zip | |
drm/dp: keep MOT set between messages when no_zero_sized is set
When aux->no_zero_sized is set, drm_dp_i2c_xfer() cannot use a bare
address packet to close the transaction, so it clears MOT on the last
data packet instead. The check only looks at the position within the
current i2c_msg, so MOT is cleared at the end of every message and each
one is terminated by an I2C stop.
This breaks E-DDC reads of EDID blocks 2 and up. Those are read as three
messages: a write of the segment pointer to 0x30, a write of the offset
to 0x50, and the read. The stop after the first message resets the
segment pointer, so the read returns segment 0 again.
On a Pimax Dream Air (three EDID blocks, native timings in a DisplayID
extension in block 2) connected to an RTX 5070 Ti with nouveau, block 2
reads back as a copy of block 0. The checksum is valid, so nothing is
reported, and the connector only offers fallback modes.
Clear MOT only on the last packet of the last message, as the commit
that added the option describes. With this, block 2 reads correctly and
the native 7104x3840 modes are listed for the Dream Air.
The same problem was pointed out by the Sashiko review of the patch that
sets no_zero_sized for all DisplayPort connectors in nouveau.
Fixes: f0ddbb1eed18 ("drm/dp: add option to disable zero sized address only transactions.")
Link: https://lore.kernel.org/all/20260827015758.0B4FB1F000E9@smtp.kernel.org/
Cc: stable@vger.kernel.org
Signed-off-by: Finn Zeruhn <fzeruhn@icloud.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patch.msgid.link/20261002212833.9674-1-fzeruhn@icloud.com
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
