⬢ DragonFlyBSD Kernel Audit
DF-4048 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/display/dc/bios/command_table.c
+++ b/sys/dev/drm/amd/display/dc/bios/command_table.c
@@ -854,7 +854,7 @@
 	params.ucHPDSel = cmd->hpd_sel_to_atom(cntl->hpd_sel);
 	params.ucDigEncoderSel = cmd->dig_encoder_sel_to_atom(cntl->engine_id);
 	params.ucConnObjId = (uint8_t)cntl->connector_obj_id.id;
-	params.ulSymClock = cntl->pixel_clock/10;
+	params.ulSymClock = cpu_to_le32(cntl->pixel_clock / 10);
 
 	/*
 	 * In SI/TN case, caller have to set usPixelClock as following:
@@ -870,21 +870,21 @@
 	switch (cntl->signal) {
 	case SIGNAL_TYPE_HDMI_TYPE_A:
 		switch (cntl->color_depth) {
 		case COLOR_DEPTH_101010:
 			params.ulSymClock =
-				cpu_to_le16((le16_to_cpu(params.ulSymClock) * 30) / 24);
+				cpu_to_le32((le32_to_cpu(params.ulSymClock) * 30) / 24);
 			break;
 		case COLOR_DEPTH_121212:
 			params.ulSymClock =
-				cpu_to_le16((le16_to_cpu(params.ulSymClock) * 36) / 24);
+				cpu_to_le32((le32_to_cpu(params.ulSymClock) * 36) / 24);
 			break;
 		case COLOR_DEPTH_161616:
 			params.ulSymClock =
-				cpu_to_le16((le16_to_cpu(params.ulSymClock) * 48) / 24);
+				cpu_to_le32((le32_to_cpu(params.ulSymClock) * 48) / 24);
 			break;
 		default:
 			break;
 		}
 		break;