mirror of
https://github.com/torvalds/linux.git
synced 2026-05-05 23:05:25 -04:00
drm/amd/pm: Add debug bit for smu pool allocation
In certain cases, it's desirable to avoid PMFW log transactions to system memory. Add a mask bit to decide whether to allocate smu pool in device memory or system memory. Signed-off-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -139,6 +139,7 @@ enum AMDGPU_DEBUG_MASK {
|
||||
AMDGPU_DEBUG_ENABLE_RAS_ACA = BIT(4),
|
||||
AMDGPU_DEBUG_ENABLE_EXP_RESETS = BIT(5),
|
||||
AMDGPU_DEBUG_DISABLE_GPU_RING_RESET = BIT(6),
|
||||
AMDGPU_DEBUG_SMU_POOL = BIT(7),
|
||||
};
|
||||
|
||||
unsigned int amdgpu_vram_limit = UINT_MAX;
|
||||
@@ -2238,6 +2239,10 @@ static void amdgpu_init_debug_options(struct amdgpu_device *adev)
|
||||
pr_info("debug: ring reset disabled\n");
|
||||
adev->debug_disable_gpu_ring_reset = true;
|
||||
}
|
||||
if (amdgpu_debug_mask & AMDGPU_DEBUG_SMU_POOL) {
|
||||
pr_info("debug: use vram for smu pool\n");
|
||||
adev->pm.smu_debug_mask |= SMU_DEBUG_POOL_USE_VRAM;
|
||||
}
|
||||
}
|
||||
|
||||
static unsigned long amdgpu_fix_asic_type(struct pci_dev *pdev, unsigned long flags)
|
||||
|
||||
@@ -295,7 +295,8 @@ enum ip_power_state {
|
||||
};
|
||||
|
||||
/* Used to mask smu debug modes */
|
||||
#define SMU_DEBUG_HALT_ON_ERROR 0x1
|
||||
#define SMU_DEBUG_HALT_ON_ERROR BIT(0)
|
||||
#define SMU_DEBUG_POOL_USE_VRAM BIT(1)
|
||||
|
||||
#define MAX_SMU_I2C_BUSES 2
|
||||
|
||||
|
||||
@@ -1027,7 +1027,10 @@ static int smu_alloc_memory_pool(struct smu_context *smu)
|
||||
|
||||
memory_pool->size = pool_size;
|
||||
memory_pool->align = PAGE_SIZE;
|
||||
memory_pool->domain = AMDGPU_GEM_DOMAIN_GTT;
|
||||
memory_pool->domain =
|
||||
(adev->pm.smu_debug_mask & SMU_DEBUG_POOL_USE_VRAM) ?
|
||||
AMDGPU_GEM_DOMAIN_VRAM :
|
||||
AMDGPU_GEM_DOMAIN_GTT;
|
||||
|
||||
switch (pool_size) {
|
||||
case SMU_MEMORY_POOL_SIZE_256_MB:
|
||||
|
||||
Reference in New Issue
Block a user