diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 38 | 
1 files changed, 4 insertions, 34 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c index ff4eb96bdfb5..58f9d8c3a17a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c @@ -525,16 +525,12 @@ static int gddr6_mem_train_support(struct amdgpu_device *adev)  	return ret;  } -int amdgpu_atomfirmware_get_mem_train_fb_loc(struct amdgpu_device *adev) +int amdgpu_atomfirmware_get_mem_train_info(struct amdgpu_device *adev)  {  	struct atom_context *ctx = adev->mode_info.atom_context; -	unsigned char *bios = ctx->bios; -	struct vram_reserve_block *reserved_block; -	int index, block_number; +	int index;  	uint8_t frev, crev;  	uint16_t data_offset, size; -	uint32_t start_address_in_kb; -	uint64_t offset;  	int ret;  	adev->fw_vram_usage.mem_train_support = false; @@ -569,32 +565,6 @@ int amdgpu_atomfirmware_get_mem_train_fb_loc(struct amdgpu_device *adev)  		return -EINVAL;  	} -	reserved_block = (struct vram_reserve_block *) -		(bios + data_offset + sizeof(struct atom_common_table_header)); -	block_number = ((unsigned int)size - sizeof(struct atom_common_table_header)) -		/ sizeof(struct vram_reserve_block); -	reserved_block += (block_number > 0) ? block_number-1 : 0; -	DRM_DEBUG("block_number:0x%04x, last block: 0x%08xkb sz, %dkb fw, %dkb drv.\n", -		  block_number, -		  le32_to_cpu(reserved_block->start_address_in_kb), -		  le16_to_cpu(reserved_block->used_by_firmware_in_kb), -		  le16_to_cpu(reserved_block->used_by_driver_in_kb)); -	if (reserved_block->used_by_firmware_in_kb > 0) { -		start_address_in_kb = le32_to_cpu(reserved_block->start_address_in_kb); -		offset = (uint64_t)start_address_in_kb * ONE_KiB; -		if ((offset & (ONE_MiB - 1)) < (4 * ONE_KiB + 1) ) { -			offset -= ONE_MiB; -		} - -		offset &= ~(ONE_MiB - 1); -		adev->fw_vram_usage.mem_train_fb_loc = offset; -		adev->fw_vram_usage.mem_train_support = true; -		DRM_DEBUG("mem_train_fb_loc:0x%09llx.\n", offset); -		ret = 0; -	} else { -		DRM_ERROR("used_by_firmware_in_kb is 0!\n"); -		ret = -EINVAL; -	} - -	return ret; +	adev->fw_vram_usage.mem_train_support = true; +	return 0;  } | 
