drm/amd/pm: defer UCLK DPM enablement on Apple Navi 14 0218 - #60
Open
edschofield wants to merge 2 commits into
Open
drm/amd/pm: defer UCLK DPM enablement on Apple Navi 14 0218#60edschofield wants to merge 2 commits into
edschofield wants to merge 2 commits into
Conversation
Add the board-specific initialization workaround for the tested 0218/41 iMac. Keep the existing 0219 patch unchanged. Assisted-by: LLM
Defer UCLK DPM enablement to avoid timeouts on Apple iMac 1002:7340/106b:0218. Update firmware bit and memory DPM table accordingly.
edschofield
marked this pull request as ready for review
September 8, 2026 04:58
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On an iMac20,1 (2020, 27") with GPU
1002:7340 / 106b:0218, revision41, the normalEnableAllSmuFeaturesrequest can time out with error-62, leaving no AMDGPU DRM device. This patch leaves UCLK DPM out of that request and enables it from Navi's post-init callback. It then verifies the firmware bit and refreshes the driver's supported-feature bit, memory DPM table and sustainable clock limits.Both memory-voltage features stay enabled during normal initialization. The patch respects
PP_MCLK_DPM_MASK, validates the PPT memory states consumed by DCN20, and matches only the tested0218/41board. It leaves patch 6001's0219workaround unchanged.This follows Atharva Tiwari's delayed-UCLK proposal for 0219. I described results with my hardware in
the September 4 comment on kernel issue 19. Enabling UCLK separately immediately after enable-all failed in an earlier
experiment; the later callback is the tested point in initialization. The results do not establish the firmware's internal cause.
Here's the testing I've done on my iMac:
The build uses Arch
v7.2.3-arch1plus T2 patch collection1ed4126844013f7e6fb3c8b0347cf0c5d6f99ffa. Historical counts belong to the experimental implementation. An intended unplugged start was corrected to AC-connected when the operator clarified the sequence; the actual unplugged check was then performed and confirmed. Other Apple boards, macOS-predecessor starts, suspend/resume and native 5K have not been validated. Boot-time MCE and Bluetooth observations remain outside this GPU initialization patch.I would appreciate review of the callback ordering and clock-state updates, and testing on other affected hardware before considering a broader match. The intended destination is AMDGPU upstream; carrying it in T2 would also make the tested fix available to affected users.
This work was prompted by frequent, intermittent boot failures on my iMac due to the GPU not being initialized. I used Codex / GPT-6 to do the source investigation, patch implementation, test scripts, as well as then by requests to isolate the UCLK sequencing change, retain public policy behaviour and validate a production extraction. The checks above include compiled C, real hardware and an original-policy control; the host tests use mocked firmware.
Formatting checks:
checkpatch --strict --no-signoffreports zero errors, two warnings and five checks. The warnings concern the accessible mail-archive link and the older assistance-trailer format expected by the checked-out checker; the five checks concern existing firmware-interface CamelCase names.