Skip to content

Commit ef1c0cb

Browse files
Jack Zhangalexdeucher
authored andcommitted
drm/amd/amdgpu/sriov temporarily skip ras,dtm,hdcp for arcturus VF
Temporarily skip ras,dtm,hdcp initialize and terminate for arcturus VF Currently the three features haven't been enabled at SRIOV, it would trigger guest driver load fail with the bare-metal path of the three features. Signed-off-by: Jack Zhang <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 210b3b3 commit ef1c0cb

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -758,6 +758,12 @@ static int psp_ras_terminate(struct psp_context *psp)
758758
{
759759
int ret;
760760

761+
/*
762+
* TODO: bypass the terminate in sriov for now
763+
*/
764+
if (amdgpu_sriov_vf(psp->adev))
765+
return 0;
766+
761767
if (!psp->ras.ras_initialized)
762768
return 0;
763769

@@ -779,6 +785,12 @@ static int psp_ras_initialize(struct psp_context *psp)
779785
{
780786
int ret;
781787

788+
/*
789+
* TODO: bypass the initialize in sriov for now
790+
*/
791+
if (amdgpu_sriov_vf(psp->adev))
792+
return 0;
793+
782794
if (!psp->adev->psp.ta_ras_ucode_size ||
783795
!psp->adev->psp.ta_ras_start_addr) {
784796
dev_warn(psp->adev->dev, "RAS: ras ta ucode is not available\n");
@@ -874,6 +886,12 @@ static int psp_hdcp_initialize(struct psp_context *psp)
874886
{
875887
int ret;
876888

889+
/*
890+
* TODO: bypass the initialize in sriov for now
891+
*/
892+
if (amdgpu_sriov_vf(psp->adev))
893+
return 0;
894+
877895
if (!psp->adev->psp.ta_hdcp_ucode_size ||
878896
!psp->adev->psp.ta_hdcp_start_addr) {
879897
dev_warn(psp->adev->dev, "HDCP: hdcp ta ucode is not available\n");
@@ -962,6 +980,12 @@ static int psp_hdcp_terminate(struct psp_context *psp)
962980
{
963981
int ret;
964982

983+
/*
984+
* TODO: bypass the terminate in sriov for now
985+
*/
986+
if (amdgpu_sriov_vf(psp->adev))
987+
return 0;
988+
965989
if (!psp->hdcp_context.hdcp_initialized)
966990
return 0;
967991

@@ -1053,6 +1077,12 @@ static int psp_dtm_initialize(struct psp_context *psp)
10531077
{
10541078
int ret;
10551079

1080+
/*
1081+
* TODO: bypass the initialize in sriov for now
1082+
*/
1083+
if (amdgpu_sriov_vf(psp->adev))
1084+
return 0;
1085+
10561086
if (!psp->adev->psp.ta_dtm_ucode_size ||
10571087
!psp->adev->psp.ta_dtm_start_addr) {
10581088
dev_warn(psp->adev->dev, "DTM: dtm ta ucode is not available\n");
@@ -1111,6 +1141,12 @@ static int psp_dtm_terminate(struct psp_context *psp)
11111141
{
11121142
int ret;
11131143

1144+
/*
1145+
* TODO: bypass the terminate in sriov for now
1146+
*/
1147+
if (amdgpu_sriov_vf(psp->adev))
1148+
return 0;
1149+
11141150
if (!psp->dtm_context.dtm_initialized)
11151151
return 0;
11161152

0 commit comments

Comments
 (0)