Commit 13854c60 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu: add HDP asic callbacks for CIK



Needed to flush and invalidate the HDP block using the CPU.

Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarSamuel Li <Samuel.Li@amd.com>
parent 2d5e0807
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1715,6 +1715,18 @@ static void cik_detect_hw_virtualization(struct amdgpu_device *adev)
		adev->virt.caps |= AMDGPU_PASSTHROUGH_MODE;
}

static void cik_flush_hdp(struct amdgpu_device *adev)
{
	WREG32(mmHDP_MEM_COHERENCY_FLUSH_CNTL, 1);
	RREG32(mmHDP_MEM_COHERENCY_FLUSH_CNTL);
}

static void cik_invalidate_hdp(struct amdgpu_device *adev)
{
	WREG32(mmHDP_DEBUG0, 1);
	RREG32(mmHDP_DEBUG0);
}

static const struct amdgpu_asic_funcs cik_asic_funcs =
{
	.read_disabled_bios = &cik_read_disabled_bios,
@@ -1726,6 +1738,8 @@ static const struct amdgpu_asic_funcs cik_asic_funcs =
	.set_uvd_clocks = &cik_set_uvd_clocks,
	.set_vce_clocks = &cik_set_vce_clocks,
	.get_config_memsize = &cik_get_config_memsize,
	.flush_hdp = &cik_flush_hdp,
	.invalidate_hdp = &cik_invalidate_hdp,
};

static int cik_common_early_init(void *handle)