diff options
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.patch | 61 |
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 + |