Commit 75bc6099 authored by Monk Liu's avatar Monk Liu Committed by Alex Deucher
Browse files

drm/amdgpu:read VRAMLOST from gim

parent 0c03b912
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -3037,11 +3037,10 @@ error:
	amdgpu_virt_release_full_gpu(adev, true);

	if (reset_flags) {
		/* will get vram_lost from GIM in future, now all
		 * reset request considered VRAM LOST
		 */
		(*reset_flags) |= ~AMDGPU_RESET_INFO_VRAM_LOST;
		if (adev->virt.gim_feature & AMDGIM_FEATURE_GIM_FLR_VRAMLOST) {
			(*reset_flags) |= AMDGPU_RESET_INFO_VRAM_LOST;
			atomic_inc(&adev->vram_lost_counter);
		}

		/* VF FLR or hotlink reset is always full-reset */
		(*reset_flags) |= AMDGPU_RESET_INFO_FULLRESET;
+1 −0
Original line number Diff line number Diff line
@@ -334,6 +334,7 @@ void amdgpu_virt_init_data_exchange(struct amdgpu_device *adev)
		pf2vf_ver = adev->virt.fw_reserve.p_pf2vf->version;
		AMDGPU_FW_VRAM_PF2VF_READ(adev, header.size, &pf2vf_size);
		AMDGPU_FW_VRAM_PF2VF_READ(adev, checksum, &checksum);
		AMDGPU_FW_VRAM_PF2VF_READ(adev, feature_flags, &adev->virt.gim_feature);

		/* pf2vf message must be in 4K */
		if (pf2vf_size > 0 && pf2vf_size < 4096) {
+3 −0
Original line number Diff line number Diff line
@@ -81,6 +81,8 @@ enum AMDGIM_FEATURE_FLAG {
	AMDGIM_FEATURE_ERROR_LOG_COLLECT = 0x1,
	/* GIM supports feature of loading uCodes */
	AMDGIM_FEATURE_GIM_LOAD_UCODES   = 0x2,
	/* VRAM LOST by GIM */
	AMDGIM_FEATURE_GIM_FLR_VRAMLOST = 0x4,
};

struct amdgim_pf2vf_info_header {
@@ -246,6 +248,7 @@ struct amdgpu_virt {
	const struct amdgpu_virt_ops	*ops;
	struct amdgpu_vf_error_buffer   vf_errors;
	struct amdgpu_virt_fw_reserve	fw_reserve;
	uint32_t gim_feature;
};

#define AMDGPU_CSA_SIZE    (8 * 1024)