Commit edc2176d authored by Jack Zhang's avatar Jack Zhang Committed by Alex Deucher

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: default avatarJack Zhang <Jack.Zhang1@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c25edaaf
...@@ -758,6 +758,12 @@ static int psp_ras_terminate(struct psp_context *psp) ...@@ -758,6 +758,12 @@ static int psp_ras_terminate(struct psp_context *psp)
{ {
int ret; int ret;
/*
* TODO: bypass the terminate in sriov for now
*/
if (amdgpu_sriov_vf(psp->adev))
return 0;
if (!psp->ras.ras_initialized) if (!psp->ras.ras_initialized)
return 0; return 0;
...@@ -779,6 +785,12 @@ static int psp_ras_initialize(struct psp_context *psp) ...@@ -779,6 +785,12 @@ static int psp_ras_initialize(struct psp_context *psp)
{ {
int ret; int ret;
/*
* TODO: bypass the initialize in sriov for now
*/
if (amdgpu_sriov_vf(psp->adev))
return 0;
if (!psp->adev->psp.ta_ras_ucode_size || if (!psp->adev->psp.ta_ras_ucode_size ||
!psp->adev->psp.ta_ras_start_addr) { !psp->adev->psp.ta_ras_start_addr) {
dev_warn(psp->adev->dev, "RAS: ras ta ucode is not available\n"); 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) ...@@ -874,6 +886,12 @@ static int psp_hdcp_initialize(struct psp_context *psp)
{ {
int ret; int ret;
/*
* TODO: bypass the initialize in sriov for now
*/
if (amdgpu_sriov_vf(psp->adev))
return 0;
if (!psp->adev->psp.ta_hdcp_ucode_size || if (!psp->adev->psp.ta_hdcp_ucode_size ||
!psp->adev->psp.ta_hdcp_start_addr) { !psp->adev->psp.ta_hdcp_start_addr) {
dev_warn(psp->adev->dev, "HDCP: hdcp ta ucode is not available\n"); 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) ...@@ -962,6 +980,12 @@ static int psp_hdcp_terminate(struct psp_context *psp)
{ {
int ret; int ret;
/*
* TODO: bypass the terminate in sriov for now
*/
if (amdgpu_sriov_vf(psp->adev))
return 0;
if (!psp->hdcp_context.hdcp_initialized) if (!psp->hdcp_context.hdcp_initialized)
return 0; return 0;
...@@ -1053,6 +1077,12 @@ static int psp_dtm_initialize(struct psp_context *psp) ...@@ -1053,6 +1077,12 @@ static int psp_dtm_initialize(struct psp_context *psp)
{ {
int ret; int ret;
/*
* TODO: bypass the initialize in sriov for now
*/
if (amdgpu_sriov_vf(psp->adev))
return 0;
if (!psp->adev->psp.ta_dtm_ucode_size || if (!psp->adev->psp.ta_dtm_ucode_size ||
!psp->adev->psp.ta_dtm_start_addr) { !psp->adev->psp.ta_dtm_start_addr) {
dev_warn(psp->adev->dev, "DTM: dtm ta ucode is not available\n"); 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) ...@@ -1111,6 +1141,12 @@ static int psp_dtm_terminate(struct psp_context *psp)
{ {
int ret; int ret;
/*
* TODO: bypass the terminate in sriov for now
*/
if (amdgpu_sriov_vf(psp->adev))
return 0;
if (!psp->dtm_context.dtm_initialized) if (!psp->dtm_context.dtm_initialized)
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment