diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 21 | 
1 files changed, 13 insertions, 8 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 12414a713256..99f4df133ed3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -557,6 +557,7 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  			crtc = (struct drm_crtc *)minfo->crtcs[i];  			if (crtc && crtc->base.id == info->mode_crtc.id) {  				struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); +  				ui32 = amdgpu_crtc->crtc_id;  				found = 1;  				break; @@ -575,7 +576,7 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  		if (ret)  			return ret; -		ret = copy_to_user(out, &ip, min((size_t)size, sizeof(ip))); +		ret = copy_to_user(out, &ip, min_t(size_t, size, sizeof(ip)));  		return ret ? -EFAULT : 0;  	}  	case AMDGPU_INFO_HW_IP_COUNT: { @@ -721,17 +722,18 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  				    ? -EFAULT : 0;  	}  	case AMDGPU_INFO_READ_MMR_REG: { -		unsigned n, alloc_size; +		unsigned int n, alloc_size;  		uint32_t *regs; -		unsigned se_num = (info->read_mmr_reg.instance >> +		unsigned int se_num = (info->read_mmr_reg.instance >>  				   AMDGPU_INFO_MMR_SE_INDEX_SHIFT) &  				  AMDGPU_INFO_MMR_SE_INDEX_MASK; -		unsigned sh_num = (info->read_mmr_reg.instance >> +		unsigned int sh_num = (info->read_mmr_reg.instance >>  				   AMDGPU_INFO_MMR_SH_INDEX_SHIFT) &  				  AMDGPU_INFO_MMR_SH_INDEX_MASK;  		/* set full masks if the userspace set all bits -		 * in the bitfields */ +		 * in the bitfields +		 */  		if (se_num == AMDGPU_INFO_MMR_SE_INDEX_MASK)  			se_num = 0xffffffff;  		else if (se_num >= AMDGPU_GFX_MAX_SE) @@ -896,7 +898,7 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  		return ret;  	}  	case AMDGPU_INFO_VCE_CLOCK_TABLE: { -		unsigned i; +		unsigned int i;  		struct drm_amdgpu_info_vce_clock_table vce_clk_table = {};  		struct amd_vce_state *vce_state; @@ -1017,7 +1019,7 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  		case AMDGPU_INFO_SENSOR_GPU_AVG_POWER:  			/* get average GPU power */  			if (amdgpu_dpm_read_sensor(adev, -						   AMDGPU_PP_SENSOR_GPU_POWER, +						   AMDGPU_PP_SENSOR_GPU_AVG_POWER,  						   (void *)&ui32, &ui32_size)) {  				return -EINVAL;  			} @@ -1102,6 +1104,9 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)  		struct drm_amdgpu_info_video_caps *caps;  		int r; +		if (!adev->asic_funcs->query_video_codecs) +			return -EINVAL; +  		switch (info->video_cap.type) {  		case AMDGPU_INFO_VIDEO_CAPS_DECODE:  			r = amdgpu_asic_query_video_codecs(adev, false, &codecs); @@ -1719,7 +1724,7 @@ static int amdgpu_debugfs_firmware_info_show(struct seq_file *m, void *unused)  	seq_printf(m, "MES feature version: %u, firmware version: 0x%08x\n",  		   fw_info.feature, fw_info.ver); -	seq_printf(m, "VBIOS version: %s\n", ctx->vbios_version); +	seq_printf(m, "VBIOS version: %s\n", ctx->vbios_pn);  	return 0;  } | 
