On 10/15/2021 17:31, Roman.Li@amd.com wrote:
From: Roman Li Roman.Li@amd.com
[Why] On renoir usb-c port stops functioning on resume after f/w update. New dmub firmware caused regression due to conflict with dmcu. With new dmub f/w dmcu is superseded and should be disabled.
[How]
- Disable dmcu for all dcn21.
Check dmesg for dmub f/w version. The old firmware (before regression): [drm] DMUB hardware initialized: version=0x00000001 All other versions require that patch for renoir.
Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1735 Cc: stable@vger.kernel.org
This won't backport cleanly to stable 5.15 and earlier don't use IP version to detect the chip.
Also - a question: *should* this go to stable? If a user has the older FW what happens with this change?
Signed-off-by: Roman Li Roman.Li@amd.com
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index ff54550..e56f73e 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -1356,8 +1356,7 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) switch (adev->ip_versions[DCE_HWIP][0]) { case IP_VERSION(2, 1, 0): init_data.flags.gpu_vm_support = true;
if (ASICREV_IS_GREEN_SARDINE(adev->external_rev_id))
init_data.flags.disable_dmcu = true;
case IP_VERSION(1, 0, 0): case IP_VERSION(1, 0, 1):init_data.flags.disable_dmcu = true; break;