mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	Revert "Revert "drm/amdgpu/gmc11: enable AGP aperture""
This reverts commit 1a65327a84.
This should be resolved so we can re-enable this. Also,
the AGP apeture was bring programmed to 0 on MMHUB 3.0.1
since agp_start and end were not being set.
Acked-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Yifan Zhang <yifan1.zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
			
			
This commit is contained in:
		
							parent
							
								
									0294868fd8
								
							
						
					
					
						commit
						c6eafee038
					
				
					 4 changed files with 12 additions and 9 deletions
				
			
		| 
						 | 
					@ -151,10 +151,11 @@ static void gfxhub_v3_0_init_system_aperture_regs(struct amdgpu_device *adev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	uint64_t value;
 | 
						uint64_t value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Disable AGP. */
 | 
						/* Program the AGP BAR */
 | 
				
			||||||
	WREG32_SOC15(GC, 0, regGCMC_VM_AGP_BASE, 0);
 | 
						WREG32_SOC15(GC, 0, regGCMC_VM_AGP_BASE, 0);
 | 
				
			||||||
	WREG32_SOC15(GC, 0, regGCMC_VM_AGP_TOP, 0);
 | 
						WREG32_SOC15(GC, 0, regGCMC_VM_AGP_BOT, adev->gmc.agp_start >> 24);
 | 
				
			||||||
	WREG32_SOC15(GC, 0, regGCMC_VM_AGP_BOT, 0x00FFFFFF);
 | 
						WREG32_SOC15(GC, 0, regGCMC_VM_AGP_TOP, adev->gmc.agp_end >> 24);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Program the system aperture low logical page number. */
 | 
						/* Program the system aperture low logical page number. */
 | 
				
			||||||
	WREG32_SOC15(GC, 0, regGCMC_VM_SYSTEM_APERTURE_LOW_ADDR,
 | 
						WREG32_SOC15(GC, 0, regGCMC_VM_SYSTEM_APERTURE_LOW_ADDR,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -673,6 +673,7 @@ static void gmc_v11_0_vram_gtt_location(struct amdgpu_device *adev,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	amdgpu_gmc_vram_location(adev, &adev->gmc, base);
 | 
						amdgpu_gmc_vram_location(adev, &adev->gmc, base);
 | 
				
			||||||
	amdgpu_gmc_gart_location(adev, mc);
 | 
						amdgpu_gmc_gart_location(adev, mc);
 | 
				
			||||||
 | 
						amdgpu_gmc_agp_location(adev, mc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* base offset of vram pages */
 | 
						/* base offset of vram pages */
 | 
				
			||||||
	if (amdgpu_sriov_vf(adev))
 | 
						if (amdgpu_sriov_vf(adev))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -177,10 +177,11 @@ static void mmhub_v3_0_init_system_aperture_regs(struct amdgpu_device *adev)
 | 
				
			||||||
	 * these regs, and they will be programed at host.
 | 
						 * these regs, and they will be programed at host.
 | 
				
			||||||
	 * so skip programing these regs.
 | 
						 * so skip programing these regs.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	/* Disable AGP. */
 | 
						/* Program the AGP BAR */
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0);
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0);
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, 0);
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, adev->gmc.agp_start >> 24);
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, 0x00FFFFFF);
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, adev->gmc.agp_end >> 24);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Program the system aperture low logical page number. */
 | 
						/* Program the system aperture low logical page number. */
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
 | 
				
			||||||
		     adev->gmc.vram_start >> 18);
 | 
							     adev->gmc.vram_start >> 18);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,10 +162,10 @@ static void mmhub_v3_0_2_init_system_aperture_regs(struct amdgpu_device *adev)
 | 
				
			||||||
	uint64_t value;
 | 
						uint64_t value;
 | 
				
			||||||
	uint32_t tmp;
 | 
						uint32_t tmp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Disable AGP. */
 | 
						/* Program the AGP BAR */
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0);
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0);
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, 0);
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, adev->gmc.agp_start >> 24);
 | 
				
			||||||
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, 0x00FFFFFF);
 | 
						WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, adev->gmc.agp_end >> 24);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!amdgpu_sriov_vf(adev)) {
 | 
						if (!amdgpu_sriov_vf(adev)) {
 | 
				
			||||||
		/*
 | 
							/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue