diff options
Diffstat (limited to 'drivers/gpu/drm/radeon')
| -rw-r--r-- | drivers/gpu/drm/radeon/atom.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/atombios_dp.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/cik.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_connectors.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_device.c | 19 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_display.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_dp_mst.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_gem.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_kms.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_mode.h | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_object.c | 34 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_object.h | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_ttm.c | 22 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_uvd.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/rv770.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/si.c | 2 | 
20 files changed, 38 insertions, 89 deletions
| diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c index f15b20da5315..c1bbfbe28bda 100644 --- a/drivers/gpu/drm/radeon/atom.c +++ b/drivers/gpu/drm/radeon/atom.c @@ -25,6 +25,7 @@  #include <linux/module.h>  #include <linux/sched.h>  #include <linux/slab.h> +#include <linux/string_helpers.h>  #include <asm/unaligned.h> @@ -722,7 +723,7 @@ static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)  		break;  	}  	if (arg != ATOM_COND_ALWAYS) -		SDEBUG("   taken: %s\n", execute ? "yes" : "no"); +		SDEBUG("   taken: %s\n", str_yes_no(execute));  	SDEBUG("   target: 0x%04X\n", target);  	if (execute) {  		if (ctx->last_jump == (ctx->start + target)) { diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index 4c1e551d9714..4798cf23d251 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c @@ -30,7 +30,7 @@  #include "atom.h"  #include "atom-bits.h" -#include <drm/drm_dp_helper.h> +#include <drm/dp/drm_dp_helper.h>  /* move these to drm_dp_helper.c/h */  #define DP_LINK_CONFIGURATION_SIZE 9 diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c index 81b4de7be9f2..5819737c21c6 100644 --- a/drivers/gpu/drm/radeon/cik.c +++ b/drivers/gpu/drm/radeon/cik.c @@ -8517,8 +8517,8 @@ int cik_suspend(struct radeon_device *rdev)  	cik_cp_enable(rdev, false);  	cik_sdma_enable(rdev, false);  	if (rdev->has_uvd) { -		uvd_v1_0_fini(rdev);  		radeon_uvd_suspend(rdev); +		uvd_v1_0_fini(rdev);  	}  	if (rdev->has_vce)  		radeon_vce_suspend(rdev); diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index eeb590d2dec2..455f8036aa54 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -5156,8 +5156,8 @@ int evergreen_suspend(struct radeon_device *rdev)  	radeon_pm_suspend(rdev);  	radeon_audio_fini(rdev);  	if (rdev->has_uvd) { -		uvd_v1_0_fini(rdev);  		radeon_uvd_suspend(rdev); +		uvd_v1_0_fini(rdev);  	}  	r700_cp_stop(rdev);  	r600_dma_stop(rdev); diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index 4a364ca7a1be..927e5f42e97d 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c @@ -2323,8 +2323,8 @@ int cayman_suspend(struct radeon_device *rdev)  	cayman_cp_enable(rdev, false);  	cayman_dma_stop(rdev);  	if (rdev->has_uvd) { -		uvd_v1_0_fini(rdev);  		radeon_uvd_suspend(rdev); +		uvd_v1_0_fini(rdev);  	}  	evergreen_irq_suspend(rdev);  	radeon_wb_disable(rdev); diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index ca3fcae2adb5..dd78fc499402 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -3232,8 +3232,8 @@ int r600_suspend(struct radeon_device *rdev)  	radeon_audio_fini(rdev);  	r600_cp_stop(rdev);  	if (rdev->has_uvd) { -		uvd_v1_0_fini(rdev);  		radeon_uvd_suspend(rdev); +		uvd_v1_0_fini(rdev);  	}  	r600_irq_suspend(rdev);  	radeon_wb_disable(rdev); diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 895776c421d4..08f83bf2c330 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h @@ -2462,8 +2462,6 @@ struct radeon_device {  	struct radeon_vm_manager	vm_manager;  	struct mutex			gpu_clock_mutex;  	/* memory stats */ -	atomic64_t			vram_usage; -	atomic64_t			gtt_usage;  	atomic64_t			num_bytes_moved;  	atomic_t			gpu_reset_counter;  	/* ACPI interface */ diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 607ad5620bd9..0cb1345c6ba4 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -27,7 +27,7 @@  #include <drm/drm_edid.h>  #include <drm/drm_crtc_helper.h>  #include <drm/drm_fb_helper.h> -#include <drm/drm_dp_mst_helper.h> +#include <drm/dp/drm_dp_mst_helper.h>  #include <drm/drm_probe_helper.h>  #include <drm/radeon_drm.h>  #include "radeon.h" @@ -204,7 +204,7 @@ int radeon_get_monitor_bpc(struct drm_connector *connector)  			/* Check if bpc is within clock limit. Try to degrade gracefully otherwise */  			if ((bpc == 12) && (mode_clock * 3/2 > max_tmds_clock)) { -				if ((connector->display_info.edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30) && +				if ((connector->display_info.edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30) &&  					(mode_clock * 5/4 <= max_tmds_clock))  					bpc = 10;  				else @@ -777,7 +777,7 @@ static void radeon_fixup_lvds_native_mode(struct drm_encoder *encoder,  		if (mode->type & DRM_MODE_TYPE_PREFERRED) {  			if (mode->hdisplay != native_mode->hdisplay ||  			    mode->vdisplay != native_mode->vdisplay) -				memcpy(native_mode, mode, sizeof(*mode)); +				drm_mode_copy(native_mode, mode);  		}  	} @@ -786,7 +786,7 @@ static void radeon_fixup_lvds_native_mode(struct drm_encoder *encoder,  		list_for_each_entry_safe(mode, t, &connector->probed_modes, head) {  			if (mode->hdisplay == native_mode->hdisplay &&  			    mode->vdisplay == native_mode->vdisplay) { -				*native_mode = *mode; +				drm_mode_copy(native_mode, mode);  				drm_mode_set_crtcinfo(native_mode, CRTC_INTERLACE_HALVE_V);  				DRM_DEBUG_KMS("Determined LVDS native mode details from EDID\n");  				break; diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index 4f0fbf667431..15692cb241fc 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -1086,19 +1086,6 @@ static unsigned int radeon_vga_set_decode(struct pci_dev *pdev, bool state)  }  /** - * radeon_check_pot_argument - check that argument is a power of two - * - * @arg: value to check - * - * Validates that a certain argument is a power of two (all asics). - * Returns true if argument is valid. - */ -static bool radeon_check_pot_argument(int arg) -{ -	return (arg & (arg - 1)) == 0; -} - -/**   * radeon_gart_size_auto - Determine a sensible default GART size   *                         according to ASIC family.   * @@ -1126,7 +1113,7 @@ static int radeon_gart_size_auto(enum radeon_family family)  static void radeon_check_arguments(struct radeon_device *rdev)  {  	/* vramlimit must be a power of two */ -	if (!radeon_check_pot_argument(radeon_vram_limit)) { +	if (!is_power_of_2(radeon_vram_limit)) {  		dev_warn(rdev->dev, "vram limit (%d) must be a power of 2\n",  				radeon_vram_limit);  		radeon_vram_limit = 0; @@ -1140,7 +1127,7 @@ static void radeon_check_arguments(struct radeon_device *rdev)  		dev_warn(rdev->dev, "gart size (%d) too small\n",  				radeon_gart_size);  		radeon_gart_size = radeon_gart_size_auto(rdev->family); -	} else if (!radeon_check_pot_argument(radeon_gart_size)) { +	} else if (!is_power_of_2(radeon_gart_size)) {  		dev_warn(rdev->dev, "gart size (%d) must be a power of 2\n",  				radeon_gart_size);  		radeon_gart_size = radeon_gart_size_auto(rdev->family); @@ -1163,7 +1150,7 @@ static void radeon_check_arguments(struct radeon_device *rdev)  		break;  	} -	if (!radeon_check_pot_argument(radeon_vm_size)) { +	if (!is_power_of_2(radeon_vm_size)) {  		dev_warn(rdev->dev, "VM size (%d) must be a power of 2\n",  			 radeon_vm_size);  		radeon_vm_size = 4; diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 573154268d43..b9a07677a71e 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -1596,6 +1596,8 @@ int radeon_modeset_init(struct radeon_device *rdev)  	rdev->ddev->mode_config.preferred_depth = 24;  	rdev->ddev->mode_config.prefer_shadow = 1; +	rdev->ddev->mode_config.fb_modifiers_not_supported = true; +  	rdev->ddev->mode_config.fb_base = rdev->mc.aper_base;  	ret = radeon_modeset_create_props(rdev); diff --git a/drivers/gpu/drm/radeon/radeon_dp_mst.c b/drivers/gpu/drm/radeon/radeon_dp_mst.c index 751c2c075e09..9f26baf7adb0 100644 --- a/drivers/gpu/drm/radeon/radeon_dp_mst.c +++ b/drivers/gpu/drm/radeon/radeon_dp_mst.c @@ -1,6 +1,6 @@  // SPDX-License-Identifier: MIT -#include <drm/drm_dp_mst_helper.h> +#include <drm/dp/drm_dp_mst_helper.h>  #include <drm/drm_fb_helper.h>  #include <drm/drm_file.h>  #include <drm/drm_probe_helper.h> diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c index a36a4f2c76b0..f563284a7fac 100644 --- a/drivers/gpu/drm/radeon/radeon_gem.c +++ b/drivers/gpu/drm/radeon/radeon_gem.c @@ -26,6 +26,7 @@   *          Jerome Glisse   */ +#include <linux/iosys-map.h>  #include <linux/pci.h>  #include <drm/drm_device.h> diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c index 11ad210919c8..965161b8565b 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c @@ -241,6 +241,7 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  	struct drm_radeon_info *info = data;  	struct radeon_mode_info *minfo = &rdev->mode_info;  	uint32_t *value, value_tmp, *value_ptr, value_size; +	struct ttm_resource_manager *man;  	uint64_t value64;  	struct drm_crtc *crtc;  	int i, found; @@ -550,12 +551,14 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  	case RADEON_INFO_VRAM_USAGE:  		value = (uint32_t*)&value64;  		value_size = sizeof(uint64_t); -		value64 = atomic64_read(&rdev->vram_usage); +		man = ttm_manager_type(&rdev->mman.bdev, TTM_PL_VRAM); +		value64 = ttm_resource_manager_usage(man);  		break;  	case RADEON_INFO_GTT_USAGE:  		value = (uint32_t*)&value64;  		value_size = sizeof(uint64_t); -		value64 = atomic64_read(&rdev->gtt_usage); +		man = ttm_manager_type(&rdev->mman.bdev, TTM_PL_TT); +		value64 = ttm_resource_manager_usage(man);  		break;  	case RADEON_INFO_ACTIVE_CU_COUNT:  		if (rdev->family >= CHIP_BONAIRE) diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index fe16f140a6b4..5288dc7a4897 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -33,8 +33,8 @@  #include <drm/drm_crtc.h>  #include <drm/drm_edid.h>  #include <drm/drm_encoder.h> -#include <drm/drm_dp_helper.h> -#include <drm/drm_dp_mst_helper.h> +#include <drm/dp/drm_dp_helper.h> +#include <drm/dp/drm_dp_mst_helper.h>  #include <drm/drm_fixed.h>  #include <drm/drm_crtc_helper.h>  #include <linux/i2c.h> diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 56ede9d63b12..91a72cd14304 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -49,27 +49,6 @@ static void radeon_bo_clear_surface_reg(struct radeon_bo *bo);   * function are calling it.   */ -static void radeon_update_memory_usage(struct ttm_buffer_object *bo, -				       unsigned int mem_type, int sign) -{ -	struct radeon_device *rdev = radeon_get_rdev(bo->bdev); - -	switch (mem_type) { -	case TTM_PL_TT: -		if (sign > 0) -			atomic64_add(bo->base.size, &rdev->gtt_usage); -		else -			atomic64_sub(bo->base.size, &rdev->gtt_usage); -		break; -	case TTM_PL_VRAM: -		if (sign > 0) -			atomic64_add(bo->base.size, &rdev->vram_usage); -		else -			atomic64_sub(bo->base.size, &rdev->vram_usage); -		break; -	} -} -  static void radeon_ttm_bo_destroy(struct ttm_buffer_object *tbo)  {  	struct radeon_bo *bo; @@ -434,7 +413,9 @@ void radeon_bo_fini(struct radeon_device *rdev)  static u64 radeon_bo_get_threshold_for_moves(struct radeon_device *rdev)  {  	u64 real_vram_size = rdev->mc.real_vram_size; -	u64 vram_usage = atomic64_read(&rdev->vram_usage); +	struct ttm_resource_manager *man = +		ttm_manager_type(&rdev->mman.bdev, TTM_PL_VRAM); +	u64 vram_usage = ttm_resource_manager_usage(man);  	/* This function is based on the current VRAM usage.  	 * @@ -567,7 +548,6 @@ int radeon_bo_get_surface_reg(struct radeon_bo *bo)  		return 0;  	if (bo->surface_reg >= 0) { -		reg = &rdev->surface_regs[bo->surface_reg];  		i = bo->surface_reg;  		goto out;  	} @@ -724,16 +704,10 @@ int radeon_bo_check_tiling(struct radeon_bo *bo, bool has_moved,  	return radeon_bo_get_surface_reg(bo);  } -void radeon_bo_move_notify(struct ttm_buffer_object *bo, -			   unsigned int old_type, -			   struct ttm_resource *new_mem) +void radeon_bo_move_notify(struct ttm_buffer_object *bo)  {  	struct radeon_bo *rbo; -	radeon_update_memory_usage(bo, old_type, -1); -	if (new_mem) -		radeon_update_memory_usage(bo, new_mem->mem_type, 1); -  	if (!radeon_ttm_bo_is_radeon_bo(bo))  		return; diff --git a/drivers/gpu/drm/radeon/radeon_object.h b/drivers/gpu/drm/radeon/radeon_object.h index 1afc7992ef91..0a6ef49e990a 100644 --- a/drivers/gpu/drm/radeon/radeon_object.h +++ b/drivers/gpu/drm/radeon/radeon_object.h @@ -160,9 +160,7 @@ extern void radeon_bo_get_tiling_flags(struct radeon_bo *bo,  				u32 *tiling_flags, u32 *pitch);  extern int radeon_bo_check_tiling(struct radeon_bo *bo, bool has_moved,  				bool force_drop); -extern void radeon_bo_move_notify(struct ttm_buffer_object *bo, -				  unsigned int old_type, -				  struct ttm_resource *new_mem); +extern void radeon_bo_move_notify(struct ttm_buffer_object *bo);  extern vm_fault_t radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo);  extern int radeon_bo_get_surface_reg(struct radeon_bo *bo);  extern void radeon_bo_fence(struct radeon_bo *bo, struct radeon_fence *fence, diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c index 11b21d605584..44594d16611f 100644 --- a/drivers/gpu/drm/radeon/radeon_ttm.c +++ b/drivers/gpu/drm/radeon/radeon_ttm.c @@ -199,7 +199,7 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict,  	struct ttm_resource *old_mem = bo->resource;  	struct radeon_device *rdev;  	struct radeon_bo *rbo; -	int r, old_type; +	int r;  	if (new_mem->mem_type == TTM_PL_TT) {  		r = radeon_ttm_tt_bind(bo->bdev, bo->ttm, new_mem); @@ -216,9 +216,6 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict,  	if (WARN_ON_ONCE(rbo->tbo.pin_count > 0))  		return -EINVAL; -	/* Save old type for statistics update */ -	old_type = old_mem->mem_type; -  	rdev = radeon_get_rdev(bo->bdev);  	if (old_mem->mem_type == TTM_PL_SYSTEM && bo->ttm == NULL) {  		ttm_bo_move_null(bo, new_mem); @@ -264,7 +261,7 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict,  out:  	/* update statistics */  	atomic64_add(bo->base.size, &rdev->num_bytes_moved); -	radeon_bo_move_notify(bo, old_type, new_mem); +	radeon_bo_move_notify(bo);  	return 0;  } @@ -679,16 +676,6 @@ bool radeon_ttm_tt_is_readonly(struct radeon_device *rdev,  	return !!(gtt->userflags & RADEON_GEM_USERPTR_READONLY);  } -static void -radeon_bo_delete_mem_notify(struct ttm_buffer_object *bo) -{ -	unsigned int old_type = TTM_PL_SYSTEM; - -	if (bo->resource) -		old_type = bo->resource->mem_type; -	radeon_bo_move_notify(bo, old_type, NULL); -} -  static struct ttm_device_funcs radeon_bo_driver = {  	.ttm_tt_create = &radeon_ttm_tt_create,  	.ttm_tt_populate = &radeon_ttm_tt_populate, @@ -697,7 +684,6 @@ static struct ttm_device_funcs radeon_bo_driver = {  	.eviction_valuable = ttm_bo_eviction_valuable,  	.evict_flags = &radeon_evict_flags,  	.move = &radeon_bo_move, -	.delete_mem_notify = &radeon_bo_delete_mem_notify,  	.io_mem_reserve = &radeon_ttm_io_mem_reserve,  }; @@ -802,7 +788,7 @@ static int radeon_mm_vram_dump_table_show(struct seq_file *m, void *unused)  							    TTM_PL_VRAM);  	struct drm_printer p = drm_seq_file_printer(m); -	man->func->debug(man, &p); +	ttm_resource_manager_debug(man, &p);  	return 0;  } @@ -820,7 +806,7 @@ static int radeon_mm_gtt_dump_table_show(struct seq_file *m, void *unused)  							    TTM_PL_TT);  	struct drm_printer p = drm_seq_file_printer(m); -	man->func->debug(man, &p); +	ttm_resource_manager_debug(man, &p);  	return 0;  } diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c index 84013faa4756..bc0f44299bb9 100644 --- a/drivers/gpu/drm/radeon/radeon_uvd.c +++ b/drivers/gpu/drm/radeon/radeon_uvd.c @@ -497,6 +497,7 @@ static int radeon_uvd_cs_msg(struct radeon_cs_parser *p, struct radeon_bo *bo,  	handle = msg[2];  	if (handle == 0) { +		radeon_bo_kunmap(bo);  		DRM_ERROR("Invalid UVD handle!\n");  		return -EINVAL;  	} @@ -559,12 +560,10 @@ static int radeon_uvd_cs_msg(struct radeon_cs_parser *p, struct radeon_bo *bo,  		return 0;  	default: -  		DRM_ERROR("Illegal UVD message type (%d)!\n", msg_type); -		return -EINVAL;  	} -	BUG(); +	radeon_bo_kunmap(bo);  	return -EINVAL;  } diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index e592e57be1bb..38796af4fadd 100644 --- a/drivers/gpu/drm/radeon/rv770.c +++ b/drivers/gpu/drm/radeon/rv770.c @@ -1894,8 +1894,8 @@ int rv770_suspend(struct radeon_device *rdev)  	radeon_pm_suspend(rdev);  	radeon_audio_fini(rdev);  	if (rdev->has_uvd) { -		uvd_v1_0_fini(rdev);  		radeon_uvd_suspend(rdev); +		uvd_v1_0_fini(rdev);  	}  	r700_cp_stop(rdev);  	r600_dma_stop(rdev); diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 013e44ed0f39..8d5e4b25609d 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c @@ -6800,8 +6800,8 @@ int si_suspend(struct radeon_device *rdev)  	si_cp_enable(rdev, false);  	cayman_dma_stop(rdev);  	if (rdev->has_uvd) { -		uvd_v1_0_fini(rdev);  		radeon_uvd_suspend(rdev); +		uvd_v1_0_fini(rdev);  	}  	if (rdev->has_vce)  		radeon_vce_suspend(rdev); | 
