aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0260-drm-amdgpu-add-check-for-atombios-GPU-virtualization.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0260-drm-amdgpu-add-check-for-atombios-GPU-virtualization.patch')
-rw-r--r--common/recipes-kernel/linux/files/0260-drm-amdgpu-add-check-for-atombios-GPU-virtualization.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0260-drm-amdgpu-add-check-for-atombios-GPU-virtualization.patch b/common/recipes-kernel/linux/files/0260-drm-amdgpu-add-check-for-atombios-GPU-virtualization.patch
new file mode 100644
index 00000000..48f0ecc9
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0260-drm-amdgpu-add-check-for-atombios-GPU-virtualization.patch
@@ -0,0 +1,61 @@
+From bebed259df3daca6fee960d5243b5df96879c684 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Mon, 1 Feb 2016 11:00:49 -0500
+Subject: [PATCH 0260/1110] drm/amdgpu: add check for atombios GPU
+ virtualization table
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This table is found on boards that support SR-IOV. This will
+be used to determine if the board supports SR-IOV and allow
+the driver to take specific action in certain cases.
+
+Reviewed-by: Monk Liu <monk.liu@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 13 +++++++++++++
+ drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 2 ++
+ 2 files changed, 15 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
+index 9416e0f..84b0ce3 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
+@@ -1514,6 +1514,19 @@ int amdgpu_atombios_init_mc_reg_table(struct amdgpu_device *adev,
+ return -EINVAL;
+ }
+
++bool amdgpu_atombios_has_gpu_virtualization_table(struct amdgpu_device *adev)
++{
++ int index = GetIndexIntoMasterTable(DATA, GPUVirtualizationInfo);
++ u8 frev, crev;
++ u16 data_offset, size;
++
++ if (amdgpu_atom_parse_data_header(adev->mode_info.atom_context, index, &size,
++ &frev, &crev, &data_offset))
++ return true;
++
++ return false;
++}
++
+ void amdgpu_atombios_scratch_regs_lock(struct amdgpu_device *adev, bool lock)
+ {
+ uint32_t bios_6_scratch;
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
+index 0ebb959..9e14420 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h
+@@ -196,6 +196,8 @@ int amdgpu_atombios_init_mc_reg_table(struct amdgpu_device *adev,
+ u8 module_index,
+ struct atom_mc_reg_table *reg_table);
+
++bool amdgpu_atombios_has_gpu_virtualization_table(struct amdgpu_device *adev);
++
+ void amdgpu_atombios_scratch_regs_lock(struct amdgpu_device *adev, bool lock);
+ void amdgpu_atombios_scratch_regs_init(struct amdgpu_device *adev);
+ void amdgpu_atombios_scratch_regs_save(struct amdgpu_device *adev);
+--
+2.7.4
+