diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c index 9ff600a38559..08478fce00f2 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c @@ -153,10 +153,6 @@ int amdgpu_gmc_set_pte_pde(struct amdgpu_device *adev, void *cpu_pt_addr,  {  	void __iomem *ptr = (void *)cpu_pt_addr;  	uint64_t value; -	int idx; - -	if (!drm_dev_enter(&adev->ddev, &idx)) -		return 0;  	/*  	 * The following is for PTE only. GART does not have PDEs. @@ -165,8 +161,6 @@ int amdgpu_gmc_set_pte_pde(struct amdgpu_device *adev, void *cpu_pt_addr,  	value |= flags;  	writeq(value, ptr + (gpu_page_idx * 8)); -	drm_dev_exit(idx); -  	return 0;  } @@ -749,6 +743,10 @@ void amdgpu_gmc_init_pdb0(struct amdgpu_device *adev)  		adev->gmc.xgmi.physical_node_id * adev->gmc.xgmi.node_segment_size;  	u64 vram_end = vram_addr + vram_size;  	u64 gart_ptb_gpu_pa = amdgpu_gmc_vram_pa(adev, adev->gart.bo); +	int idx; + +	if (!drm_dev_enter(adev_to_drm(adev), &idx)) +		return;  	flags |= AMDGPU_PTE_VALID | AMDGPU_PTE_READABLE;  	flags |= AMDGPU_PTE_WRITEABLE; @@ -770,6 +768,7 @@ void amdgpu_gmc_init_pdb0(struct amdgpu_device *adev)  	flags |= AMDGPU_PDE_BFS(0) | AMDGPU_PTE_SNOOPED;  	/* Requires gart_ptb_gpu_pa to be 4K aligned */  	amdgpu_gmc_set_pte_pde(adev, adev->gmc.ptr_pdb0, i, gart_ptb_gpu_pa, flags); +	drm_dev_exit(idx);  }  /** |