aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4576-drm-amd-amdgpu-sriov-temporarily-skip-ras-dtm-hdcp-f.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4576-drm-amd-amdgpu-sriov-temporarily-skip-ras-dtm-hdcp-f.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4576-drm-amd-amdgpu-sriov-temporarily-skip-ras-dtm-hdcp-f.patch103
1 files changed, 103 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4576-drm-amd-amdgpu-sriov-temporarily-skip-ras-dtm-hdcp-f.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4576-drm-amd-amdgpu-sriov-temporarily-skip-ras-dtm-hdcp-f.patch
new file mode 100644
index 00000000..e243c09e
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4576-drm-amd-amdgpu-sriov-temporarily-skip-ras-dtm-hdcp-f.patch
@@ -0,0 +1,103 @@
+From 1880194a969a309d0591171b910a4cbfaaf035bf Mon Sep 17 00:00:00 2001
+From: Jack Zhang <Jack.Zhang1@amd.com>
+Date: Thu, 21 Nov 2019 13:59:28 +0800
+Subject: [PATCH 4576/4736] 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@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ 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 b9922a5f6890..0f903c4bab2e 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+@@ -760,6 +760,12 @@ static int psp_ras_terminate(struct psp_context *psp)
+ {
+ int ret;
+
++ /*
++ * TODO: bypass the terminate in sriov for now
++ */
++ if (amdgpu_sriov_vf(psp->adev))
++ return 0;
++
+ if (!psp->ras.ras_initialized)
+ return 0;
+
+@@ -781,6 +787,12 @@ static int psp_ras_initialize(struct psp_context *psp)
+ {
+ 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 ||
+ !psp->adev->psp.ta_ras_start_addr) {
+ dev_warn(psp->adev->dev, "RAS: ras ta ucode is not available\n");
+@@ -876,6 +888,12 @@ static int psp_hdcp_initialize(struct psp_context *psp)
+ {
+ 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 ||
+ !psp->adev->psp.ta_hdcp_start_addr) {
+ dev_warn(psp->adev->dev, "HDCP: hdcp ta ucode is not available\n");
+@@ -964,6 +982,12 @@ static int psp_hdcp_terminate(struct psp_context *psp)
+ {
+ int ret;
+
++ /*
++ * TODO: bypass the terminate in sriov for now
++ */
++ if (amdgpu_sriov_vf(psp->adev))
++ return 0;
++
+ if (!psp->hdcp_context.hdcp_initialized)
+ return 0;
+
+@@ -1055,6 +1079,12 @@ static int psp_dtm_initialize(struct psp_context *psp)
+ {
+ 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 ||
+ !psp->adev->psp.ta_dtm_start_addr) {
+ dev_warn(psp->adev->dev, "DTM: dtm ta ucode is not available\n");
+@@ -1113,6 +1143,12 @@ static int psp_dtm_terminate(struct psp_context *psp)
+ {
+ int ret;
+
++ /*
++ * TODO: bypass the terminate in sriov for now
++ */
++ if (amdgpu_sriov_vf(psp->adev))
++ return 0;
++
+ if (!psp->dtm_context.dtm_initialized)
+ return 0;
+
+--
+2.17.1
+