From: Ed Schofield <ed@charmerstraining.com>
To: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com>
Cc: Doitall <diainquiries@protonmail.com>,
"Andre Eikmeyer" <dev@deq.rocks>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] drm/amd/amdgpu: Add 5K Support for iMac20,1 and iMac20,2
Date: Sun, 15 Nov 2026 14:08:48 +1100 [thread overview]
Message-ID: <20261115030848.17705-1-ed@charmerstraining.com> (raw)
In-Reply-To: <20261113214721.9382-1-atharvatiwarilinuxdev@gmail.com>
Hi Atharva,
Thanks for posting this. I've built v2 unchanged and tested it on my
iMac20,1 over the weekend (on 7.3 plus the t2linux patches).
It works well in normal use. I ran automated tests over 32 boots, 55
display off/on cycles and about 40 suspend/resume cycles, and both
halves of the panel came back at 2560x2880 and 10 bpc every time,
including from scaled modes.
However, your v2 hangs the GPU when the two halves are set to different
modes. This happened 3 times out of 3, just as with my very similar "r2"
variant that I described in [1].
To reproduce this, leave the left half (eDP) at 2560x2880, set the right
half (DP-1) to 2048x2304, which its EDID advertises, then start a
second program that uses the GPU. Each time the log showed:
amdgpu: SMU: No response msg_reg: 2a resp_reg: 0
amdgpu: Failed to disable gfxoff!
(repeated four times, about 4 s apart)
amdgpu: ring sdma1 timeout, signaled seq=17, emitted seq=19
amdgpu: Ring sdma1 reset failed
amdgpu: GPU reset begin!
The reset never finishes and the machine has to be rebooted. Since the
halves are separate connectors, anything that sets modes per connector
can trigger this.
I think the cause is the early "return true" in
resource_are_streams_timing_synchronizable(), which tells DC the two
streams are synchronized even when their timings differ. Taking the
shortcut only when the timings really match avoids the hang:
if (stream1->ctx->dc->config.imac5K_support &&
stream1->timing.h_total == stream2->timing.h_total &&
stream1->timing.v_total == stream2->timing.v_total &&
stream1->timing.pix_clk_100hz == stream2->timing.pix_clk_100hz &&
((stream1->signal == SIGNAL_TYPE_EDP && ...
With that check, the same test passed 9 times out of 9 on a kernel
("r3" [2]) that is otherwise very close to your v2, and the normal 5K
case still takes the shortcut. Without the check it failed 7 times out
of 7 before v2, so the result is consistent. Dropping the shortcut
altogether also passed (8 of 8, "r1" [3]).
Could you add that check in v3? I'm happy to retest quickly.
One note: my Tested-by and Signed-off-by tags were added before
I had seen or tested this version. I'm glad to give both for a version
with the check above. Please use ed@charmerstraining.com.
Thanks again for all your work on this!
Ed
[1] https://github.com/t2linux/wiki/issues/743#issuecomment-6588960822
[2] https://github.com/edschofield/linux-t2-patches/blob/7273823e425200e9f371e9272e02ebf9abb6f1c2/7003-amdgpu-add-support-for-5K.patch
[3] https://github.com/edschofield/linux-t2-patches/blob/5d3775923bf481c487ff96efc8fb3e24ecf8c9cd/7003-amdgpu-add-support-for-5K.patch
prev parent reply other threads:[~2026-11-15 3:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-13 21:47 [PATCH v2] drm/amd/amdgpu: Add 5K Support for iMac20,1 and iMac20,2 Atharva Tiwari
2026-11-13 22:39 ` sashiko-bot
2026-11-15 3:08 ` Ed Schofield [this message]
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=20261115030848.17705-1-ed@charmerstraining.com \
--to=ed@charmerstraining.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=atharvatiwarilinuxdev@gmail.com \
--cc=christian.koenig@amd.com \
--cc=dev@deq.rocks \
--cc=diainquiries@protonmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=simona@ffwll.ch \
--cc=siqueira@igalia.com \
--cc=sunpeng.li@amd.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.