Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ad81f16 authored by Chunming Zhou's avatar Chunming Zhou Committed by Alex Deucher
Browse files

drm/amdgpu: add need backup function V2



V2:
add checking if need backup in amdgpu_bo_create.

Signed-off-by: default avatarChunming Zhou <David1.Zhou@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent abc8c1ce
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2376,6 +2376,7 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)

/* Common functions */
int amdgpu_gpu_reset(struct amdgpu_device *adev);
bool amdgpu_need_backup(struct amdgpu_device *adev);
void amdgpu_pci_config_reset(struct amdgpu_device *adev);
bool amdgpu_card_posted(struct amdgpu_device *adev);
void amdgpu_update_display_priority(struct amdgpu_device *adev);
+8 −0
Original line number Diff line number Diff line
@@ -2049,6 +2049,14 @@ static int amdgpu_post_soft_reset(struct amdgpu_device *adev)
	return 0;
}

bool amdgpu_need_backup(struct amdgpu_device *adev)
{
	if (adev->flags & AMD_IS_APU)
		return false;

	return amdgpu_lockup_timeout > 0 ? true : false;
}

/**
 * amdgpu_gpu_reset - reset the asic
 *
+1 −1
Original line number Diff line number Diff line
@@ -436,7 +436,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
	if (r)
		return r;

	if (flags & AMDGPU_GEM_CREATE_SHADOW) {
	if (amdgpu_need_backup(adev) && (flags & AMDGPU_GEM_CREATE_SHADOW)) {
		r = amdgpu_bo_create_shadow(adev, size, byte_align, (*bo_ptr));
		if (r)
			amdgpu_bo_unref(bo_ptr);