diff options
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 22 | 
1 files changed, 6 insertions, 16 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 2db449fed300..8e4b668faa35 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -66,7 +66,6 @@  #include "ivsrcid/ivsrcid_vislands30.h" -#include "i2caux_interface.h"  #include <linux/backlight.h>  #include <linux/module.h>  #include <linux/moduleparam.h> @@ -1504,8 +1503,6 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)  		case IP_VERSION(3, 0, 1):  		case IP_VERSION(3, 1, 2):  		case IP_VERSION(3, 1, 3): -		case IP_VERSION(3, 1, 4): -		case IP_VERSION(3, 1, 5):  		case IP_VERSION(3, 1, 6):  			init_data.flags.gpu_vm_support = true;  			break; @@ -1734,15 +1731,11 @@ static void amdgpu_dm_fini(struct amdgpu_device *adev)  		adev->dm.vblank_control_workqueue = NULL;  	} -	for (i = 0; i < adev->dm.display_indexes_num; i++) { -		drm_encoder_cleanup(&adev->dm.mst_encoders[i].base); -	} -  	amdgpu_dm_destroy_drm_device(&adev->dm);  #if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)  	if (adev->dm.secure_display_ctxs) { -		for (i = 0; i < adev->dm.dc->caps.max_links; i++) { +		for (i = 0; i < adev->mode_info.num_crtc; i++) {  			if (adev->dm.secure_display_ctxs[i].crtc) {  				flush_work(&adev->dm.secure_display_ctxs[i].notify_ta_work);  				flush_work(&adev->dm.secure_display_ctxs[i].forward_roi_work); @@ -1949,10 +1942,7 @@ static int dm_dmub_sw_init(struct amdgpu_device *adev)  		dmub_asic = DMUB_ASIC_DCN21;  		break;  	case IP_VERSION(3, 0, 0): -		if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(10, 3, 0)) -			dmub_asic = DMUB_ASIC_DCN30; -		else -			dmub_asic = DMUB_ASIC_DCN30; +		dmub_asic = DMUB_ASIC_DCN30;  		break;  	case IP_VERSION(3, 0, 1):  		dmub_asic = DMUB_ASIC_DCN301; @@ -5342,8 +5332,6 @@ static void fill_stream_properties_from_drm_display_mode(  	timing_out->aspect_ratio = get_aspect_ratio(mode_in); -	stream->output_color_space = get_output_color_space(timing_out); -  	stream->out_transfer_func->type = TF_TYPE_PREDEFINED;  	stream->out_transfer_func->tf = TRANSFER_FUNCTION_SRGB;  	if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A) { @@ -5354,6 +5342,8 @@ static void fill_stream_properties_from_drm_display_mode(  			adjust_colour_depth_from_display_info(timing_out, info);  		}  	} + +	stream->output_color_space = get_output_color_space(timing_out);  }  static void fill_audio_info(struct audio_info *audio_info, @@ -9685,8 +9675,8 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,  			goto fail;  		} -		if (dm_old_con_state->abm_level != -		    dm_new_con_state->abm_level) +		if (dm_old_con_state->abm_level != dm_new_con_state->abm_level || +		    dm_old_con_state->scaling != dm_new_con_state->scaling)  			new_crtc_state->connectors_changed = true;  	}  | 
