Commit 57ad33a3 authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu: only check mmBIF_IOV_FUNC_IDENTIFIER on tonga/fiji

We only support SR-IOV on tonga/fiji.  Don't check this register
on other VI parts.

Fixes: 048765ad (amdgpu: fix asic initialization for virtualized environments (v2))
Reviewed-by: default avatarXiangliang Yu <Xiangliang.Yu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent ea478d01
...@@ -449,7 +449,11 @@ static bool vi_read_bios_from_rom(struct amdgpu_device *adev, ...@@ -449,7 +449,11 @@ static bool vi_read_bios_from_rom(struct amdgpu_device *adev,
static void vi_detect_hw_virtualization(struct amdgpu_device *adev) static void vi_detect_hw_virtualization(struct amdgpu_device *adev)
{ {
uint32_t reg = RREG32(mmBIF_IOV_FUNC_IDENTIFIER); uint32_t reg = 0;
if (adev->asic_type == CHIP_TONGA ||
adev->asic_type == CHIP_FIJI) {
reg = RREG32(mmBIF_IOV_FUNC_IDENTIFIER);
/* bit0: 0 means pf and 1 means vf */ /* bit0: 0 means pf and 1 means vf */
/* bit31: 0 means disable IOV and 1 means enable */ /* bit31: 0 means disable IOV and 1 means enable */
if (reg & 1) if (reg & 1)
...@@ -457,6 +461,7 @@ static void vi_detect_hw_virtualization(struct amdgpu_device *adev) ...@@ -457,6 +461,7 @@ static void vi_detect_hw_virtualization(struct amdgpu_device *adev)
if (reg & 0x80000000) if (reg & 0x80000000)
adev->virt.caps |= AMDGPU_SRIOV_CAPS_ENABLE_IOV; adev->virt.caps |= AMDGPU_SRIOV_CAPS_ENABLE_IOV;
}
if (reg == 0) { if (reg == 0) {
if (is_virtual_machine()) /* passthrough mode exclus sr-iov mode */ if (is_virtual_machine()) /* passthrough mode exclus sr-iov mode */
......
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