[PATCH] drm/radeon: remove init of CIK VMIDs 8-16 for amdkfd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 29.11.2017 um 16:23 schrieb Oded Gabbay:
> VMIDs 8-16 in Kaveri were reserved for use by the amdkfd driver.
> Because we removed amdkfd support from radeon, those VMIDs are now
> used by radeon and are initialized by radeon.
>
> This patch removes the function that initialized those VMIDs for amdkfd
> use.
> This initialization overridden the radeon initialization and caused GPU
> faults and GUI crashed.
>
> This bug was found by Michel Dänzer.
>
> Signed-off-by: Oded Gabbay <oded.gabbay at gmail.com>

Acked-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/radeon/cik.c | 24 ------------------------
>   1 file changed, 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
> index 898f9a0..a651191 100644
> --- a/drivers/gpu/drm/radeon/cik.c
> +++ b/drivers/gpu/drm/radeon/cik.c
> @@ -5451,28 +5451,6 @@ void cik_pcie_gart_tlb_flush(struct radeon_device *rdev)
>   	WREG32(VM_INVALIDATE_REQUEST, 0x1);
>   }
>   
> -static void cik_pcie_init_compute_vmid(struct radeon_device *rdev)
> -{
> -	int i;
> -	uint32_t sh_mem_bases, sh_mem_config;
> -
> -	sh_mem_bases = 0x6000 | 0x6000 << 16;
> -	sh_mem_config = ALIGNMENT_MODE(SH_MEM_ALIGNMENT_MODE_UNALIGNED);
> -	sh_mem_config |= DEFAULT_MTYPE(MTYPE_NONCACHED);
> -
> -	mutex_lock(&rdev->srbm_mutex);
> -	for (i = 8; i < 16; i++) {
> -		cik_srbm_select(rdev, 0, 0, 0, i);
> -		/* CP and shaders */
> -		WREG32(SH_MEM_CONFIG, sh_mem_config);
> -		WREG32(SH_MEM_APE1_BASE, 1);
> -		WREG32(SH_MEM_APE1_LIMIT, 0);
> -		WREG32(SH_MEM_BASES, sh_mem_bases);
> -	}
> -	cik_srbm_select(rdev, 0, 0, 0, 0);
> -	mutex_unlock(&rdev->srbm_mutex);
> -}
> -
>   /**
>    * cik_pcie_gart_enable - gart enable
>    *
> @@ -5586,8 +5564,6 @@ static int cik_pcie_gart_enable(struct radeon_device *rdev)
>   	cik_srbm_select(rdev, 0, 0, 0, 0);
>   	mutex_unlock(&rdev->srbm_mutex);
>   
> -	cik_pcie_init_compute_vmid(rdev);
> -
>   	cik_pcie_gart_tlb_flush(rdev);
>   	DRM_INFO("PCIE GART of %uM enabled (table at 0x%016llX).\n",
>   		 (unsigned)(rdev->mc.gtt_size >> 20),



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux