Hi, Team, Would you please help to take a look this patch? BR Jack -----Original Message----- From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Jack Zhang Sent: Thursday, November 21, 2019 2:17 PM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Zhang, Jack (Jian) <Jack.Zhang1@xxxxxxx> Subject: [PATCH 1/2] 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 <Jack.Zhang1@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index 2a8a08a..c3a42d3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -756,6 +756,12 @@ int psp_ras_enable_features(struct psp_context *psp, static int psp_ras_terminate(struct psp_context *psp) { + /* + * TODO: bypass the terminate in sriov for now + */ + if (amdgpu_sriov_vf(psp->adev)) + return 0; + int ret; if (!psp->ras.ras_initialized) @@ -777,6 +783,12 @@ static int psp_ras_terminate(struct psp_context *psp) static int psp_ras_initialize(struct psp_context *psp) { + /* + * TODO: bypass the initialize in sriov for now + */ + if (amdgpu_sriov_vf(psp->adev)) + return 0; + int ret; if (!psp->adev->psp.ta_ras_ucode_size || @@ -872,6 +884,12 @@ static int psp_hdcp_load(struct psp_context *psp) } static int psp_hdcp_initialize(struct psp_context *psp) { + /* + * TODO: bypass the initialize in sriov for now + */ + if (amdgpu_sriov_vf(psp->adev)) + return 0; + int ret; if (!psp->adev->psp.ta_hdcp_ucode_size || @@ -960,6 +978,12 @@ int psp_hdcp_invoke(struct psp_context *psp, uint32_t ta_cmd_id) static int psp_hdcp_terminate(struct psp_context *psp) { + /* + * TODO: bypass the terminate in sriov for now + */ + if (amdgpu_sriov_vf(psp->adev)) + return 0; + int ret; if (!psp->hdcp_context.hdcp_initialized) @@ -1051,6 +1075,12 @@ static int psp_dtm_load(struct psp_context *psp) static int psp_dtm_initialize(struct psp_context *psp) { + /* + * TODO: bypass the initialize in sriov for now + */ + if (amdgpu_sriov_vf(psp->adev)) + return 0; + int ret; if (!psp->adev->psp.ta_dtm_ucode_size || @@ -1109,6 +1139,12 @@ int psp_dtm_invoke(struct psp_context *psp, uint32_t ta_cmd_id) static int psp_dtm_terminate(struct psp_context *psp) { + /* + * TODO: bypass the terminate in sriov for now + */ + if (amdgpu_sriov_vf(psp->adev)) + return 0; + int ret; if (!psp->dtm_context.dtm_initialized) -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx