Skip to content

Commit 8f0284f

Browse files
committed
Merge tag 'amd-drm-next-5.15-2021-08-27' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
amd-drm-next-5.15-2021-08-27: amdgpu: - PLL fix for SI - Misc code cleanups - RAS fixes - PSP cleanups - Polaris UVD/VCE suspend fixes - aldebaran fixes - DCN3.x mclk fixes amdkfd: - CWSR fixes for arcturus and aldebaran - SVM fixes Signed-off-by: Dave Airlie <[email protected]> From: Alex Deucher <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 5bea1c8 + 61d861c commit 8f0284f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+997
-258
lines changed

drivers/gpu/drm/amd/amdgpu/Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ amdgpu-y += amdgpu_device.o amdgpu_kms.o \
5858
amdgpu_vm_sdma.o amdgpu_discovery.o amdgpu_ras_eeprom.o amdgpu_nbio.o \
5959
amdgpu_umc.o smu_v11_0_i2c.o amdgpu_fru_eeprom.o amdgpu_rap.o \
6060
amdgpu_fw_attestation.o amdgpu_securedisplay.o amdgpu_hdp.o \
61-
amdgpu_eeprom.o
61+
amdgpu_eeprom.o amdgpu_mca.o
6262

6363
amdgpu-$(CONFIG_PROC_FS) += amdgpu_fdinfo.o
6464

@@ -189,6 +189,10 @@ amdgpu-y += \
189189
amdgpu-y += \
190190
amdgpu_reset.o
191191

192+
# add MCA block
193+
amdgpu-y += \
194+
mca_v3_0.o
195+
192196
# add amdkfd interfaces
193197
amdgpu-y += amdgpu_amdkfd.o
194198

drivers/gpu/drm/amd/amdgpu/amdgpu.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
#include "amdgpu_df.h"
109109
#include "amdgpu_smuio.h"
110110
#include "amdgpu_fdinfo.h"
111+
#include "amdgpu_mca.h"
111112

112113
#define MAX_GPU_INSTANCE 16
113114

@@ -1009,6 +1010,9 @@ struct amdgpu_device {
10091010
/* df */
10101011
struct amdgpu_df df;
10111012

1013+
/* MCA */
1014+
struct amdgpu_mca mca;
1015+
10121016
struct amdgpu_ip_block ip_blocks[AMDGPU_MAX_IP_NUM];
10131017
uint32_t harvest_ip_mask;
10141018
int num_ip_blocks;

drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1040,7 +1040,7 @@ void amdgpu_acpi_detect(void)
10401040
*/
10411041
bool amdgpu_acpi_is_s0ix_active(struct amdgpu_device *adev)
10421042
{
1043-
#if IS_ENABLED(CONFIG_AMD_PMC) && IS_ENABLED(CONFIG_PM_SLEEP)
1043+
#if IS_ENABLED(CONFIG_AMD_PMC) && IS_ENABLED(CONFIG_SUSPEND)
10441044
if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) {
10451045
if (adev->flags & AMD_IS_APU)
10461046
return pm_suspend_target_state == PM_SUSPEND_TO_IDLE;

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,5 @@ const struct kfd2kgd_calls aldebaran_kfd2kgd = {
4444
.get_atc_vmid_pasid_mapping_info =
4545
kgd_gfx_v9_get_atc_vmid_pasid_mapping_info,
4646
.set_vm_context_page_table_base = kgd_gfx_v9_set_vm_context_page_table_base,
47+
.program_trap_handler_settings = kgd_gfx_v9_program_trap_handler_settings
4748
};

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,5 +305,6 @@ const struct kfd2kgd_calls arcturus_kfd2kgd = {
305305
kgd_gfx_v9_get_atc_vmid_pasid_mapping_info,
306306
.set_vm_context_page_table_base =
307307
kgd_gfx_v9_set_vm_context_page_table_base,
308-
.get_cu_occupancy = kgd_gfx_v9_get_cu_occupancy
308+
.get_cu_occupancy = kgd_gfx_v9_get_cu_occupancy,
309+
.program_trap_handler_settings = kgd_gfx_v9_program_trap_handler_settings
309310
};

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,7 @@ void kgd_gfx_v9_get_cu_occupancy(struct kgd_dev *kgd, int pasid,
882882
adev->gfx.cu_info.max_waves_per_simd;
883883
}
884884

885-
static void kgd_gfx_v9_program_trap_handler_settings(struct kgd_dev *kgd,
885+
void kgd_gfx_v9_program_trap_handler_settings(struct kgd_dev *kgd,
886886
uint32_t vmid, uint64_t tba_addr, uint64_t tma_addr)
887887
{
888888
struct amdgpu_device *adev = get_amdgpu_device(kgd);

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,5 @@ void kgd_gfx_v9_set_vm_context_page_table_base(struct kgd_dev *kgd,
6565
uint32_t vmid, uint64_t page_table_base);
6666
void kgd_gfx_v9_get_cu_occupancy(struct kgd_dev *kgd, int pasid,
6767
int *pasid_wave_cnt, int *max_waves_per_cu);
68+
void kgd_gfx_v9_program_trap_handler_settings(struct kgd_dev *kgd,
69+
uint32_t vmid, uint64_t tba_addr, uint64_t tma_addr);

drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ static int amdgpu_gart_dummy_page_init(struct amdgpu_device *adev)
7676
if (adev->dummy_page_addr)
7777
return 0;
7878
adev->dummy_page_addr = dma_map_page(&adev->pdev->dev, dummy_page, 0,
79-
PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
79+
PAGE_SIZE, DMA_BIDIRECTIONAL);
8080
if (dma_mapping_error(&adev->pdev->dev, adev->dummy_page_addr)) {
8181
dev_err(&adev->pdev->dev, "Failed to DMA MAP the dummy page\n");
8282
adev->dummy_page_addr = 0;
@@ -96,8 +96,8 @@ void amdgpu_gart_dummy_page_fini(struct amdgpu_device *adev)
9696
{
9797
if (!adev->dummy_page_addr)
9898
return;
99-
pci_unmap_page(adev->pdev, adev->dummy_page_addr,
100-
PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
99+
dma_unmap_page(&adev->pdev->dev, adev->dummy_page_addr, PAGE_SIZE,
100+
DMA_BIDIRECTIONAL);
101101
adev->dummy_page_addr = 0;
102102
}
103103

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,
904904
DIV_ROUND_UP(args->bpp, 8), 0);
905905
args->size = (u64)args->pitch * args->height;
906906
args->size = ALIGN(args->size, PAGE_SIZE);
907-
domain = amdgpu_bo_get_preferred_pin_domain(adev,
907+
domain = amdgpu_bo_get_preferred_domain(adev,
908908
amdgpu_display_supported_domains(adev, flags));
909909
r = amdgpu_gem_object_create(adev, args->size, 0, domain, flags,
910910
ttm_bo_type_device, NULL, &gobj);

drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,27 @@ int amdgpu_gmc_ras_late_init(struct amdgpu_device *adev)
471471
return r;
472472
}
473473

474+
if (adev->mca.mp0.ras_funcs &&
475+
adev->mca.mp0.ras_funcs->ras_late_init) {
476+
r = adev->mca.mp0.ras_funcs->ras_late_init(adev);
477+
if (r)
478+
return r;
479+
}
480+
481+
if (adev->mca.mp1.ras_funcs &&
482+
adev->mca.mp1.ras_funcs->ras_late_init) {
483+
r = adev->mca.mp1.ras_funcs->ras_late_init(adev);
484+
if (r)
485+
return r;
486+
}
487+
488+
if (adev->mca.mpio.ras_funcs &&
489+
adev->mca.mpio.ras_funcs->ras_late_init) {
490+
r = adev->mca.mpio.ras_funcs->ras_late_init(adev);
491+
if (r)
492+
return r;
493+
}
494+
474495
return 0;
475496
}
476497

0 commit comments

Comments
 (0)