Subversion Repositories Kolibri OS

Rev

Rev 3192 | Rev 5078 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3192 Rev 3764
Line 833... Line 833...
833
			struct radeon_framebuffer *rfb,
833
			struct radeon_framebuffer *rfb,
834
			struct drm_mode_fb_cmd2 *mode_cmd,
834
			struct drm_mode_fb_cmd2 *mode_cmd,
835
			  struct drm_gem_object *obj)
835
			  struct drm_gem_object *obj)
836
{
836
{
837
	int ret;
837
	int ret;
838
 
-
 
839
    ENTER();
-
 
840
 
-
 
841
	rfb->obj = obj;
838
	rfb->obj = obj;
-
 
839
	drm_helper_mode_fill_fb_struct(&rfb->base, mode_cmd);
842
	ret = drm_framebuffer_init(dev, &rfb->base, &radeon_fb_funcs);
840
	ret = drm_framebuffer_init(dev, &rfb->base, &radeon_fb_funcs);
843
	if (ret) {
841
	if (ret) {
844
		rfb->obj = NULL;
842
		rfb->obj = NULL;
845
		return ret;
843
		return ret;
846
	}
844
	}
847
	drm_helper_mode_fill_fb_struct(&rfb->base, mode_cmd);
-
 
848
    LEAVE();
-
 
849
	return 0;
845
	return 0;
850
}
846
}
Line 1041... Line 1037...
1041
int radeon_modeset_init(struct radeon_device *rdev)
1037
int radeon_modeset_init(struct radeon_device *rdev)
1042
{
1038
{
1043
	int i;
1039
	int i;
1044
	int ret;
1040
	int ret;
Line 1045... Line -...
1045
 
-
 
1046
    ENTER();
-
 
1047
 
1041
 
1048
	drm_mode_config_init(rdev->ddev);
1042
	drm_mode_config_init(rdev->ddev);
Line 1049... Line 1043...
1049
	rdev->mode_info.mode_config_initialized = true;
1043
	rdev->mode_info.mode_config_initialized = true;
Line 1072... Line 1066...
1072
	}
1066
	}
Line 1073... Line 1067...
1073
 
1067
 
1074
	/* init i2c buses */
1068
	/* init i2c buses */
Line 1075... Line -...
1075
	radeon_i2c_init(rdev);
-
 
1076
 
-
 
1077
    dbgprintf("i2c init\n");
1069
	radeon_i2c_init(rdev);
1078
 
1070
 
1079
	/* check combios for a valid hardcoded EDID - Sun servers */
1071
	/* check combios for a valid hardcoded EDID - Sun servers */
1080
	if (!rdev->is_atom_bios) {
1072
	if (!rdev->is_atom_bios) {
1081
		/* check for hardcoded EDID in BIOS */
1073
		/* check for hardcoded EDID in BIOS */
Line 1085... Line 1077...
1085
	/* allocate crtcs */
1077
	/* allocate crtcs */
1086
	for (i = 0; i < rdev->num_crtc; i++) {
1078
	for (i = 0; i < rdev->num_crtc; i++) {
1087
		radeon_crtc_init(rdev->ddev, i);
1079
		radeon_crtc_init(rdev->ddev, i);
1088
	}
1080
	}
Line 1089... Line -...
1089
 
-
 
1090
    dbgprintf("crtc init\n");
-
 
1091
 
1081
 
1092
	/* okay we should have all the bios connectors */
1082
	/* okay we should have all the bios connectors */
1093
	ret = radeon_setup_enc_conn(rdev->ddev);
1083
	ret = radeon_setup_enc_conn(rdev->ddev);
1094
	if (!ret) {
1084
	if (!ret) {
1095
		return ret;
1085
		return ret;
Line 1111... Line 1101...
1111
//   radeon_pm_init(rdev);
1101
//   radeon_pm_init(rdev);
Line 1112... Line 1102...
1112
 
1102
 
1113
	radeon_fbdev_init(rdev);
1103
	radeon_fbdev_init(rdev);
Line 1114... Line -...
1114
//   drm_kms_helper_poll_init(rdev->ddev);
-
 
1115
 
-
 
1116
    LEAVE();
1104
//   drm_kms_helper_poll_init(rdev->ddev);
1117
 
1105
 
Line 1118... Line 1106...
1118
	return 0;
1106
	return 0;
1119
}
1107
}
Line 1124... Line 1112...
1124
 
1112
 
1125
	if (rdev->mode_info.mode_config_initialized) {
1113
	if (rdev->mode_info.mode_config_initialized) {
1126
//		radeon_afmt_fini(rdev);
1114
//		radeon_afmt_fini(rdev);
1127
//       drm_kms_helper_poll_fini(rdev->ddev);
1115
//       drm_kms_helper_poll_fini(rdev->ddev);
1128
//       radeon_hpd_fini(rdev);
1116
//       radeon_hpd_fini(rdev);
1129
		drm_mode_config_cleanup(rdev->ddev);
1117
//       drm_mode_config_cleanup(rdev->ddev);
1130
		rdev->mode_info.mode_config_initialized = false;
1118
		rdev->mode_info.mode_config_initialized = false;
1131
	}
1119
	}
1132
	/* free i2c buses */
1120
	/* free i2c buses */
1133
	radeon_i2c_fini(rdev);
1121
	radeon_i2c_fini(rdev);
Line 1161... Line 1149...
1161
	u32 src_h = 1, dst_h = 1;
1149
	u32 src_h = 1, dst_h = 1;
Line 1162... Line 1150...
1162
 
1150
 
1163
	radeon_crtc->h_border = 0;
1151
	radeon_crtc->h_border = 0;
Line 1164... Line -...
1164
	radeon_crtc->v_border = 0;
-
 
1165
 
-
 
1166
    ENTER();
1152
	radeon_crtc->v_border = 0;
1167
 
1153
 
1168
	list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
1154
	list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
1169
		if (encoder->crtc != crtc)
1155
		if (encoder->crtc != crtc)
1170
			continue;
1156
			continue;
1171
		radeon_encoder = to_radeon_encoder(encoder);
1157
		radeon_encoder = to_radeon_encoder(encoder);
Line 1172... Line -...
1172
		connector = radeon_get_connector_for_encoder(encoder);
-
 
1173
		radeon_connector = to_radeon_connector(connector);
-
 
1174
 
-
 
1175
        dbgprintf("native_hdisplay %d vdisplay %d\n",
-
 
1176
                   radeon_encoder->native_mode.hdisplay,
1158
		connector = radeon_get_connector_for_encoder(encoder);
1177
                   radeon_encoder->native_mode.vdisplay);
1159
		radeon_connector = to_radeon_connector(connector);
1178
 
1160
 
1179
		if (first) {
1161
		if (first) {
1180
			/* set scaling */
1162
			/* set scaling */
Line 1239... Line 1221...
1239
		radeon_crtc->hsc.full = dfixed_div(a, b);
1221
		radeon_crtc->hsc.full = dfixed_div(a, b);
1240
	} else {
1222
	} else {
1241
		radeon_crtc->vsc.full = dfixed_const(1);
1223
		radeon_crtc->vsc.full = dfixed_const(1);
1242
		radeon_crtc->hsc.full = dfixed_const(1);
1224
		radeon_crtc->hsc.full = dfixed_const(1);
1243
	}
1225
	}
1244
 
-
 
1245
    LEAVE();
-
 
1246
 
-
 
1247
	return true;
1226
	return true;
1248
}
1227
}
Line 1249... Line 1228...
1249
 
1228
 
1250
/*
1229
/*