drm/amdgpu/si: fix SI after doorbell rework

SI does not use doorbells, move asic doorbell init later
asic check.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=108920
Reviewed-by: Oak Zeng <Oak.Zeng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Alex Deucher 2018-12-02 21:47:42 -05:00
parent de4aaab5cc
commit 223577753b
1 changed files with 2 additions and 1 deletions

View File

@ -515,7 +515,6 @@ void amdgpu_device_pci_config_reset(struct amdgpu_device *adev)
*/ */
static int amdgpu_device_doorbell_init(struct amdgpu_device *adev) static int amdgpu_device_doorbell_init(struct amdgpu_device *adev)
{ {
amdgpu_asic_init_doorbell_index(adev);
/* No doorbell on SI hardware generation */ /* No doorbell on SI hardware generation */
if (adev->asic_type < CHIP_BONAIRE) { if (adev->asic_type < CHIP_BONAIRE) {
@ -529,6 +528,8 @@ static int amdgpu_device_doorbell_init(struct amdgpu_device *adev)
if (pci_resource_flags(adev->pdev, 2) & IORESOURCE_UNSET) if (pci_resource_flags(adev->pdev, 2) & IORESOURCE_UNSET)
return -EINVAL; return -EINVAL;
amdgpu_asic_init_doorbell_index(adev);
/* doorbell bar mapping */ /* doorbell bar mapping */
adev->doorbell.base = pci_resource_start(adev->pdev, 2); adev->doorbell.base = pci_resource_start(adev->pdev, 2);
adev->doorbell.size = pci_resource_len(adev->pdev, 2); adev->doorbell.size = pci_resource_len(adev->pdev, 2);