Skip to content

Commit d5c9ade

Browse files
Wayne Linalexdeucher
authored andcommitted
drm/amd/display: Shift DMUB AUX reply command if necessary
[Why] Defined value of dmub AUX reply command field get updated but didn't adjust dm receiving side accordingly. [How] Check the received reply command value to see if it's updated version or not. Adjust it if necessary. Fixes: ead08b9 ("drm/amd/display: Fix race condition in DPIA AUX transfer") Cc: Mario Limonciello <[email protected]> Cc: Alex Deucher <[email protected]> Reviewed-by: Ray Wu <[email protected]> Signed-off-by: Wayne Lin <[email protected]> Signed-off-by: Ray Wu <[email protected]> Tested-by: Daniel Wheeler <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 4465dd0 commit d5c9ade

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12848,8 +12848,11 @@ int amdgpu_dm_process_dmub_aux_transfer_sync(
1284812848
goto out;
1284912849
}
1285012850

12851+
payload->reply[0] = adev->dm.dmub_notify->aux_reply.command & 0xF;
12852+
if (adev->dm.dmub_notify->aux_reply.command & 0xF0)
12853+
/* The reply is stored in the top nibble of the command. */
12854+
payload->reply[0] = (adev->dm.dmub_notify->aux_reply.command >> 4) & 0xF;
1285112855

12852-
payload->reply[0] = adev->dm.dmub_notify->aux_reply.command;
1285312856
if (!payload->write && p_notify->aux_reply.length &&
1285412857
(payload->reply[0] == AUX_TRANSACTION_REPLY_AUX_ACK)) {
1285512858

0 commit comments

Comments
 (0)