diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 | ||||
| -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/amd/amdgpu/vi.c | 2 |
5 files changed, 18 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index d2d0f60ff36d..99424cb8020b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
| @@ -240,6 +240,8 @@ free_partial_kdata: | |||
| 240 | for (; i >= 0; i--) | 240 | for (; i >= 0; i--) |
| 241 | drm_free_large(p->chunks[i].kdata); | 241 | drm_free_large(p->chunks[i].kdata); |
| 242 | kfree(p->chunks); | 242 | kfree(p->chunks); |
| 243 | p->chunks = NULL; | ||
| 244 | p->nchunks = 0; | ||
| 243 | put_ctx: | 245 | put_ctx: |
| 244 | amdgpu_ctx_put(p->ctx); | 246 | amdgpu_ctx_put(p->ctx); |
| 245 | free_chunk: | 247 | free_chunk: |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 4120b351a8e5..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; |
| @@ -2590,7 +2590,7 @@ static ssize_t amdgpu_debugfs_regs_read(struct file *f, char __user *buf, | |||
| 2590 | use_bank = 0; | 2590 | use_bank = 0; |
| 2591 | } | 2591 | } |
| 2592 | 2592 | ||
| 2593 | *pos &= 0x3FFFF; | 2593 | *pos &= (1UL << 22) - 1; |
| 2594 | 2594 | ||
| 2595 | if (use_bank) { | 2595 | if (use_bank) { |
| 2596 | if ((sh_bank != 0xFFFFFFFF && sh_bank >= adev->gfx.config.max_sh_per_se) || | 2596 | if ((sh_bank != 0xFFFFFFFF && sh_bank >= adev->gfx.config.max_sh_per_se) || |
| @@ -2666,7 +2666,7 @@ static ssize_t amdgpu_debugfs_regs_write(struct file *f, const char __user *buf, | |||
| 2666 | use_bank = 0; | 2666 | use_bank = 0; |
| 2667 | } | 2667 | } |
| 2668 | 2668 | ||
| 2669 | *pos &= 0x3FFFF; | 2669 | *pos &= (1UL << 22) - 1; |
| 2670 | 2670 | ||
| 2671 | if (use_bank) { | 2671 | if (use_bank) { |
| 2672 | if ((sh_bank != 0xFFFFFFFF && sh_bank >= adev->gfx.config.max_sh_per_se) || | 2672 | if ((sh_bank != 0xFFFFFFFF && sh_bank >= adev->gfx.config.max_sh_per_se) || |
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 f55e45b52fbc..c5dec210d529 100644 --- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c | |||
| @@ -3464,6 +3464,16 @@ static void si_apply_state_adjust_rules(struct amdgpu_device *adev, | |||
| 3464 | (adev->pdev->device == 0x6667)) { | 3464 | (adev->pdev->device == 0x6667)) { |
| 3465 | max_sclk = 75000; | 3465 | max_sclk = 75000; |
| 3466 | } | 3466 | } |
| 3467 | } else if (adev->asic_type == CHIP_OLAND) { | ||
| 3468 | if ((adev->pdev->revision == 0xC7) || | ||
| 3469 | (adev->pdev->revision == 0x80) || | ||
| 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)) { | ||
| 3475 | max_sclk = 75000; | ||
| 3476 | } | ||
| 3467 | } | 3477 | } |
| 3468 | 3478 | ||
| 3469 | if (rps->vce_active) { | 3479 | if (rps->vce_active) { |
diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c index 50bdb24ef8d6..4a785d6acfb9 100644 --- a/drivers/gpu/drm/amd/amdgpu/vi.c +++ b/drivers/gpu/drm/amd/amdgpu/vi.c | |||
| @@ -1051,7 +1051,7 @@ static int vi_common_early_init(void *handle) | |||
| 1051 | /* rev0 hardware requires workarounds to support PG */ | 1051 | /* rev0 hardware requires workarounds to support PG */ |
| 1052 | adev->pg_flags = 0; | 1052 | adev->pg_flags = 0; |
| 1053 | if (adev->rev_id != 0x00) { | 1053 | if (adev->rev_id != 0x00) { |
| 1054 | adev->pg_flags |= AMD_PG_SUPPORT_GFX_PG | | 1054 | adev->pg_flags |= |
| 1055 | AMD_PG_SUPPORT_GFX_SMG | | 1055 | AMD_PG_SUPPORT_GFX_SMG | |
| 1056 | AMD_PG_SUPPORT_GFX_PIPELINE | | 1056 | AMD_PG_SUPPORT_GFX_PIPELINE | |
| 1057 | AMD_PG_SUPPORT_CP | | 1057 | AMD_PG_SUPPORT_CP | |
