diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c | 21 | 
1 files changed, 21 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c index b6cf801939aa..7fd8f09c28e6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c @@ -22,6 +22,7 @@   */  #include "amdgpu.h"  #include "amdgpu_ras.h" +#include <uapi/linux/kfd_ioctl.h>  int amdgpu_hdp_ras_sw_init(struct amdgpu_device *adev)  { @@ -46,3 +47,23 @@ int amdgpu_hdp_ras_sw_init(struct amdgpu_device *adev)  	/* hdp ras follows amdgpu_ras_block_late_init_default for late init */  	return 0;  } + +void amdgpu_hdp_generic_flush(struct amdgpu_device *adev, +			      struct amdgpu_ring *ring) +{ +	if (!ring || !ring->funcs->emit_wreg) { +		WREG32((adev->rmmio_remap.reg_offset + +			KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> +			       2, +		       0); +		RREG32((adev->rmmio_remap.reg_offset + +			KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> +		       2); +	} else { +		amdgpu_ring_emit_wreg(ring, +				      (adev->rmmio_remap.reg_offset + +				       KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL) >> +					      2, +				      0); +	} +}
\ No newline at end of file | 
