diff options
| author | Dave Airlie <airlied@redhat.com> | 2017-03-23 21:05:06 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2017-03-23 21:05:06 -0400 |
| commit | d64a04720b0e64c1cd0726a3a27b360822fbee22 (patch) | |
| tree | 195fa6ff0372d1f87feafec378a34299efd6f3ea | |
| parent | f505a5c0ec9b8c19632cd572ed58feb178f45fbf (diff) | |
| parent | cf8c73afb3abf0f8905efbaddd4ce11a0deec9da (diff) | |
Merge branch 'drm-fixes-4.11' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
A few small fixes for 4.11
* 'drm-fixes-4.11' of git://people.freedesktop.org/~agd5f/linux:
drm/amd/amdgpu: add POLARIS12 PCI ID
drm/amdgpu: fix the clearing wb size
drm/amdgpu: reinstate oland workaround for sclk
drm/radeon: reinstate oland workaround for sclk
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/si_dpm.c | 10 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/si_dpm.c | 10 |
4 files changed, 17 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index a3a105ec99e2..de0cf3315484 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
| @@ -475,7 +475,7 @@ static int amdgpu_wb_init(struct amdgpu_device *adev) | |||
| 475 | int r; | 475 | int r; |
| 476 | 476 | ||
| 477 | if (adev->wb.wb_obj == NULL) { | 477 | if (adev->wb.wb_obj == NULL) { |
| 478 | r = amdgpu_bo_create_kernel(adev, AMDGPU_MAX_WB * 4, | 478 | r = amdgpu_bo_create_kernel(adev, AMDGPU_MAX_WB * sizeof(uint32_t), |
| 479 | PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT, | 479 | PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT, |
| 480 | &adev->wb.wb_obj, &adev->wb.gpu_addr, | 480 | &adev->wb.wb_obj, &adev->wb.gpu_addr, |
| 481 | (void **)&adev->wb.wb); | 481 | (void **)&adev->wb.wb); |
| @@ -488,7 +488,7 @@ static int amdgpu_wb_init(struct amdgpu_device *adev) | |||
| 488 | memset(&adev->wb.used, 0, sizeof(adev->wb.used)); | 488 | memset(&adev->wb.used, 0, sizeof(adev->wb.used)); |
| 489 | 489 | ||
| 490 | /* clear wb memory */ | 490 | /* clear wb memory */ |
| 491 | memset((char *)adev->wb.wb, 0, AMDGPU_GPU_PAGE_SIZE); | 491 | memset((char *)adev->wb.wb, 0, AMDGPU_MAX_WB * sizeof(uint32_t)); |
| 492 | } | 492 | } |
| 493 | 493 | ||
| 494 | return 0; | 494 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index f7adbace428a..b76cd699eb0d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | |||
| @@ -421,6 +421,7 @@ static const struct pci_device_id pciidlist[] = { | |||
| 421 | {0x1002, 0x6985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, | 421 | {0x1002, 0x6985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, |
| 422 | {0x1002, 0x6986, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, | 422 | {0x1002, 0x6986, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, |
| 423 | {0x1002, 0x6987, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, | 423 | {0x1002, 0x6987, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, |
| 424 | {0x1002, 0x6995, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, | ||
| 424 | {0x1002, 0x699F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, | 425 | {0x1002, 0x699F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_POLARIS12}, |
| 425 | 426 | ||
| 426 | {0, 0, 0} | 427 | {0, 0, 0} |
diff --git a/drivers/gpu/drm/amd/amdgpu/si_dpm.c b/drivers/gpu/drm/amd/amdgpu/si_dpm.c index 33b504bafb88..c5dec210d529 100644 --- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c | |||
| @@ -3465,9 +3465,13 @@ static void si_apply_state_adjust_rules(struct amdgpu_device *adev, | |||
| 3465 | max_sclk = 75000; | 3465 | max_sclk = 75000; |
| 3466 | } | 3466 | } |
| 3467 | } else if (adev->asic_type == CHIP_OLAND) { | 3467 | } else if (adev->asic_type == CHIP_OLAND) { |
| 3468 | if ((adev->pdev->device == 0x6604) && | 3468 | if ((adev->pdev->revision == 0xC7) || |
| 3469 | (adev->pdev->subsystem_vendor == 0x1028) && | 3469 | (adev->pdev->revision == 0x80) || |
| 3470 | (adev->pdev->subsystem_device == 0x066F)) { | 3470 | (adev->pdev->revision == 0x81) || |
| 3471 | (adev->pdev->revision == 0x83) || | ||
| 3472 | (adev->pdev->revision == 0x87) || | ||
| 3473 | (adev->pdev->device == 0x6604) || | ||
| 3474 | (adev->pdev->device == 0x6605)) { | ||
| 3471 | max_sclk = 75000; | 3475 | max_sclk = 75000; |
| 3472 | } | 3476 | } |
| 3473 | } | 3477 | } |
diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c index 72e1588580a1..c7af9fdd20c7 100644 --- a/drivers/gpu/drm/radeon/si_dpm.c +++ b/drivers/gpu/drm/radeon/si_dpm.c | |||
| @@ -2985,9 +2985,13 @@ static void si_apply_state_adjust_rules(struct radeon_device *rdev, | |||
| 2985 | max_sclk = 75000; | 2985 | max_sclk = 75000; |
| 2986 | } | 2986 | } |
| 2987 | } else if (rdev->family == CHIP_OLAND) { | 2987 | } else if (rdev->family == CHIP_OLAND) { |
| 2988 | if ((rdev->pdev->device == 0x6604) && | 2988 | if ((rdev->pdev->revision == 0xC7) || |
| 2989 | (rdev->pdev->subsystem_vendor == 0x1028) && | 2989 | (rdev->pdev->revision == 0x80) || |
| 2990 | (rdev->pdev->subsystem_device == 0x066F)) { | 2990 | (rdev->pdev->revision == 0x81) || |
| 2991 | (rdev->pdev->revision == 0x83) || | ||
| 2992 | (rdev->pdev->revision == 0x87) || | ||
| 2993 | (rdev->pdev->device == 0x6604) || | ||
| 2994 | (rdev->pdev->device == 0x6605)) { | ||
| 2991 | max_sclk = 75000; | 2995 | max_sclk = 75000; |
| 2992 | } | 2996 | } |
| 2993 | } | 2997 | } |
