drm/amd/display: Fully switch to dmub for all dcn21 asics
PATCH 1/1 drm/amd/display: Fully switch to dmub for all dcn21 asics
From: Roman Li <[email protected]>
[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.
--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1 -2
@@ -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; + init_data.flags.disable_dmcu = true;break ;case IP_VERSION (1 ,0 ,0 ):case IP_VERSION (1 ,0 ,1 ):
Signature · 1 line
2.7.4
Quoted 11 lines · On Fri, Oct 15, 2021 at 6:33 PM <[email protected]> wrote:
From: Roman Li <[email protected]>
[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.
Quoted 8 lines
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.
Quoted 21 lines
--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1
-3@@ -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; + init_data.flags.disable_dmcu = true;break ;case IP_VERSION (1 ,0 ,0 ):case IP_VERSION (1 ,0 ,1 ): --2.7.4
Quoted 10 lines · On 2021-10-15 18:31, [email protected] wrote:
From: Roman Li <[email protected]>
[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.
Quoted 8 lines
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.
Harry
Quoted 19 lines
--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1
-2@@ -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; + init_data.flags.disable_dmcu = true;break ;case IP_VERSION (1 ,0 ,0 ):case IP_VERSION (1 ,0 ,1 ):
Limonciello, Mario
Tested-byQuoted 16 lines · Harry Wentland
Quoted 15 lines · On 2021-10-15 18:31, [email protected] wrote:
From: Roman Li <[email protected]>
[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.
Quoted 5 lines
Quoted 3 lines
Reviewed-by Harry Wentland <[email protected]>
Quoted 23 lines
Harry
Quoted 19 lines
--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1
-2@@ -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; + init_data.flags.disable_dmcu = true;break ;case IP_VERSION (1 ,0 ,0 ):case IP_VERSION (1 ,0 ,1 ):
Quoted 10 lines · On 10/15/2021 17:31, [email protected] wrote:
From: Roman Li <[email protected]>
[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.
Quoted 7 lines
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.
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?
Quoted 20 lines
Signed-off-by Roman Li <[email protected]>--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1
-2@@ -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; + init_data.flags.disable_dmcu = true;break ;case IP_VERSION (1 ,0 ,0 ):case IP_VERSION (1 ,0 ,1 ):
Harry Wentland
maintainerQuoted 16 lines · Mario
Quoted 15 lines · On 10/15/2021 17:31, [email protected] wrote:
From: Roman Li <[email protected]>
[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.
Quoted 6 lines
Quoted 1 line
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?
Good point. Might be better of we drop Cc: stable from this patch
Harry
Quoted 21 lines
Quoted 20 lines
Signed-off-by Roman Li <[email protected]>---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c| 3 +--1 file changed, 1 insertion(+), 2 deletions(-)drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +0
-0@@ -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;
+ init_data.flags.disable_dmcu = true; break;
caseIP_VERSION(1, 0, 0):
caseIP_VERSION(1, 0, 1):
[Public]
Quoted 35 lines
-----Original Message-----
From: Wentland, Harry <[email protected]>
Sent: Monday, October 18, 2021 9:57 AM
To: Limonciello, Mario <[email protected]>; Li, Roman <[email protected]>; [email protected]; Deucher, Alexander <[email protected]>; Siqueira, Rodrigo <[email protected]>
Cc: [email protected]
Subject: Re: [PATCH] drm/amd/display: Fully switch to dmub for all dcn21 asicsQuoted 16 lines · Mario
Quoted 15 lines · On 10/15/2021 17:31, [email protected] wrote:
From: Roman Li <[email protected]>
[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.Quoted 4 lines
Quoted 2 lines
This won't backport cleanly to stable 5.15 and earlier don't use IP version to
detect the chip.
Quoted 1 line
Quoted 7 lines
Quoted 1 line
Also - a question: *should* this go to stable? If a user has the older FW what
happens with this change?
Quoted 1 line
Good point. Might be better of we drop Cc: stable from this patch
Harry
I will drop Cc: [email protected], thank you Mario and Harry.
- Roman
Quoted 23 lines
Quoted 23 lines
Quoted 22 lines
Signed-off-by Roman Li <[email protected]>--- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1
-2@@ -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; + init_data.flags.disable_dmcu = true;break ;case IP_VERSION (1 ,0 ,0 ):case IP_VERSION(1, 0, 1):