]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/amd/display: Fix wrong handling for AUX_DEFER case
authorWayne Lin <Wayne.Lin@amd.com>
Sun, 20 Apr 2025 11:22:14 +0000 (19:22 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 7 May 2025 22:23:09 +0000 (18:23 -0400)
commit65924ec69b29296845c7f628112353438e63ea56
tree3d7e71c74f22bf21a279f57934b03d8b487658dc
parent3924f45d4de7250a603fd7b50379237a6a0e5adf
drm/amd/display: Fix wrong handling for AUX_DEFER case

[Why]
We incorrectly ack all bytes get written when the reply actually is defer.
When it's defer, means sink is not ready for the request. We should
retry the request.

[How]
Only reply all data get written when receive I2C_ACK|AUX_ACK. Otherwise,
reply the number of actual written bytes received from the sink.
Add some messages to facilitate debugging as well.

Fixes: ad6756b4d773 ("drm/amd/display: Shift dc link aux to aux_payload")
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Ray Wu <ray.wu@amd.com>
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
Signed-off-by: Ray Wu <ray.wu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 3637e457eb0000bc37d8bbbec95964aad2fb29fd)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c