diff options
| author | 2018-03-21 09:40:55 -0400 | |
|---|---|---|
| committer | 2018-03-21 09:40:55 -0400 | |
| commit | 1c7095d2836baafd84e596dd34ba1a1293a4faa9 (patch) | |
| tree | 498f529809b9c0a3c75c8b8bb1098ed4f71233db /drivers/gpu/drm/amd/amdgpu/vi.c | |
| parent | drm/qxl: Replace drm_gem_object_reference/unreference() with _get/put() (diff) | |
| parent | Merge tag 'omapdrm-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next (diff) | |
| download | wireguard-linux-1c7095d2836baafd84e596dd34ba1a1293a4faa9.tar.xz wireguard-linux-1c7095d2836baafd84e596dd34ba1a1293a4faa9.zip | |
Merge airlied/drm-next into drm-misc-next
Refresh -misc-next
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/vi.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vi.c | 41 | 
1 files changed, 29 insertions, 12 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c index 1e3e05a11f7a..e7fb165cc9db 100644 --- a/drivers/gpu/drm/amd/amdgpu/vi.c +++ b/drivers/gpu/drm/amd/amdgpu/vi.c @@ -71,7 +71,6 @@  #include "uvd_v5_0.h"  #include "uvd_v6_0.h"  #include "vce_v3_0.h" -#include "amdgpu_powerplay.h"  #if defined(CONFIG_DRM_AMD_ACP)  #include "amdgpu_acp.h"  #endif @@ -856,6 +855,27 @@ static uint32_t vi_get_rev_id(struct amdgpu_device *adev)  			>> PCIE_EFUSE4__STRAP_BIF_ATI_REV_ID__SHIFT;  } +static void vi_flush_hdp(struct amdgpu_device *adev, struct amdgpu_ring *ring) +{ +	if (!ring || !ring->funcs->emit_wreg) { +		WREG32(mmHDP_MEM_COHERENCY_FLUSH_CNTL, 1); +		RREG32(mmHDP_MEM_COHERENCY_FLUSH_CNTL); +	} else { +		amdgpu_ring_emit_wreg(ring, mmHDP_MEM_COHERENCY_FLUSH_CNTL, 1); +	} +} + +static void vi_invalidate_hdp(struct amdgpu_device *adev, +			      struct amdgpu_ring *ring) +{ +	if (!ring || !ring->funcs->emit_wreg) { +		WREG32(mmHDP_DEBUG0, 1); +		RREG32(mmHDP_DEBUG0); +	} else { +		amdgpu_ring_emit_wreg(ring, mmHDP_DEBUG0, 1); +	} +} +  static const struct amdgpu_asic_funcs vi_asic_funcs =  {  	.read_disabled_bios = &vi_read_disabled_bios, @@ -867,6 +887,8 @@ static const struct amdgpu_asic_funcs vi_asic_funcs =  	.set_uvd_clocks = &vi_set_uvd_clocks,  	.set_vce_clocks = &vi_set_vce_clocks,  	.get_config_memsize = &vi_get_config_memsize, +	.flush_hdp = &vi_flush_hdp, +	.invalidate_hdp = &vi_invalidate_hdp,  };  #define CZ_REV_BRISTOL(rev)	 \ @@ -1074,11 +1096,6 @@ static int vi_common_early_init(void *handle)  		xgpu_vi_mailbox_set_irq_funcs(adev);  	} -	/* vi use smc load by default */ -	adev->firmware.load_type = amdgpu_ucode_get_load_type(adev, amdgpu_fw_load_type); - -	amdgpu_device_get_pcie_info(adev); -  	return 0;  } @@ -1493,7 +1510,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block);  		amdgpu_device_ip_block_add(adev, &gmc_v7_4_ip_block);  		amdgpu_device_ip_block_add(adev, &iceland_ih_ip_block); -		amdgpu_device_ip_block_add(adev, &amdgpu_pp_ip_block); +		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display)  			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);  		amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block); @@ -1503,7 +1520,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block);  		amdgpu_device_ip_block_add(adev, &gmc_v8_5_ip_block);  		amdgpu_device_ip_block_add(adev, &tonga_ih_ip_block); -		amdgpu_device_ip_block_add(adev, &amdgpu_pp_ip_block); +		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))  			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);  #if defined(CONFIG_DRM_AMD_DC) @@ -1523,7 +1540,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block);  		amdgpu_device_ip_block_add(adev, &gmc_v8_0_ip_block);  		amdgpu_device_ip_block_add(adev, &tonga_ih_ip_block); -		amdgpu_device_ip_block_add(adev, &amdgpu_pp_ip_block); +		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))  			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);  #if defined(CONFIG_DRM_AMD_DC) @@ -1545,7 +1562,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block);  		amdgpu_device_ip_block_add(adev, &gmc_v8_1_ip_block);  		amdgpu_device_ip_block_add(adev, &tonga_ih_ip_block); -		amdgpu_device_ip_block_add(adev, &amdgpu_pp_ip_block); +		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display)  			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);  #if defined(CONFIG_DRM_AMD_DC) @@ -1563,7 +1580,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block);  		amdgpu_device_ip_block_add(adev, &gmc_v8_0_ip_block);  		amdgpu_device_ip_block_add(adev, &cz_ih_ip_block); -		amdgpu_device_ip_block_add(adev, &amdgpu_pp_ip_block); +		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display)  			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);  #if defined(CONFIG_DRM_AMD_DC) @@ -1584,7 +1601,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block);  		amdgpu_device_ip_block_add(adev, &gmc_v8_0_ip_block);  		amdgpu_device_ip_block_add(adev, &cz_ih_ip_block); -		amdgpu_device_ip_block_add(adev, &amdgpu_pp_ip_block); +		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display)  			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);  #if defined(CONFIG_DRM_AMD_DC) | 
