Subversion Repositories Kolibri OS

Rev

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

Rev 1123 Rev 1125
Line 177... Line 177...
177
{
177
{
178
	struct radeon_device *rdev = dev->dev_private;
178
	struct radeon_device *rdev = dev->dev_private;
179
	struct radeon_crtc *radeon_crtc;
179
	struct radeon_crtc *radeon_crtc;
180
	int i;
180
	int i;
Line -... Line 181...
-
 
181
 
-
 
182
    ENTRY();
181
 
183
 
182
	radeon_crtc = kzalloc(sizeof(struct radeon_crtc) + (RADEONFB_CONN_LIMIT * sizeof(struct drm_connector *)), GFP_KERNEL);
184
	radeon_crtc = kzalloc(sizeof(struct radeon_crtc) + (RADEONFB_CONN_LIMIT * sizeof(struct drm_connector *)), GFP_KERNEL);
183
	if (radeon_crtc == NULL)
185
	if (radeon_crtc == NULL)
Line 184... Line 186...
184
		return;
186
		return;
Line 200... Line 202...
200
 
202
 
201
	if (rdev->is_atom_bios && (ASIC_IS_AVIVO(rdev) || radeon_r4xx_atom))
203
	if (rdev->is_atom_bios && (ASIC_IS_AVIVO(rdev) || radeon_r4xx_atom))
202
		radeon_atombios_init_crtc(dev, radeon_crtc);
204
		radeon_atombios_init_crtc(dev, radeon_crtc);
203
	else
205
	else
-
 
206
		radeon_legacy_init_crtc(dev, radeon_crtc);
-
 
207
 
204
		radeon_legacy_init_crtc(dev, radeon_crtc);
208
    LEAVE();
Line 205... Line 209...
205
}
209
}
206
 
210
 
207
static const char *encoder_names[34] = {
211
static const char *encoder_names[34] = {
Line 316... Line 320...
316
{
320
{
317
	struct radeon_device *rdev = dev->dev_private;
321
	struct radeon_device *rdev = dev->dev_private;
318
	struct drm_connector *drm_connector;
322
	struct drm_connector *drm_connector;
319
	bool ret = false;
323
	bool ret = false;
Line -... Line 324...
-
 
324
 
-
 
325
    ENTRY();
320
 
326
 
321
	if (rdev->bios) {
327
	if (rdev->bios) {
322
		if (rdev->is_atom_bios) {
328
		if (rdev->is_atom_bios) {
323
			if (rdev->family >= CHIP_R600)
329
			if (rdev->family >= CHIP_R600)
324
				ret = radeon_get_atom_connector_info_from_object_table(dev);
330
				ret = radeon_get_atom_connector_info_from_object_table(dev);
Line 333... Line 339...
333
	if (ret) {
339
	if (ret) {
334
		radeon_print_display_setup(dev);
340
		radeon_print_display_setup(dev);
335
		list_for_each_entry(drm_connector, &dev->mode_config.connector_list, head)
341
		list_for_each_entry(drm_connector, &dev->mode_config.connector_list, head)
336
			radeon_ddc_dump(drm_connector);
342
			radeon_ddc_dump(drm_connector);
337
	}
343
	}
-
 
344
    LEAVE();
Line 338... Line 345...
338
 
345
 
339
	return ret;
346
	return ret;
Line 340... Line 347...
340
}
347
}
Line 582... Line 589...
582
static const struct drm_framebuffer_funcs radeon_fb_funcs = {
589
static const struct drm_framebuffer_funcs radeon_fb_funcs = {
583
	.destroy = radeon_user_framebuffer_destroy,
590
	.destroy = radeon_user_framebuffer_destroy,
584
    .create_handle = radeon_user_framebuffer_create_handle,
591
    .create_handle = radeon_user_framebuffer_create_handle,
585
};
592
};
Line -... Line 593...
-
 
593
 
-
 
594
#endif
586
 
595
 
587
struct drm_framebuffer *
596
struct drm_framebuffer *
588
radeon_framebuffer_create(struct drm_device *dev,
597
radeon_framebuffer_create(struct drm_device *dev,
589
			  struct drm_mode_fb_cmd *mode_cmd,
598
			  struct drm_mode_fb_cmd *mode_cmd,
590
			  struct drm_gem_object *obj)
599
			  struct drm_gem_object *obj)
Line 593... Line 602...
593
 
602
 
594
	radeon_fb = kzalloc(sizeof(*radeon_fb), GFP_KERNEL);
603
	radeon_fb = kzalloc(sizeof(*radeon_fb), GFP_KERNEL);
595
	if (radeon_fb == NULL) {
604
	if (radeon_fb == NULL) {
596
		return NULL;
605
		return NULL;
597
	}
606
	}
598
	drm_framebuffer_init(dev, &radeon_fb->base, &radeon_fb_funcs);
607
//   drm_framebuffer_init(dev, &radeon_fb->base, &radeon_fb_funcs);
599
	drm_helper_mode_fill_fb_struct(&radeon_fb->base, mode_cmd);
608
//   drm_helper_mode_fill_fb_struct(&radeon_fb->base, mode_cmd);
600
	radeon_fb->obj = obj;
609
	radeon_fb->obj = obj;
601
	return &radeon_fb->base;
610
	return &radeon_fb->base;
Line 602... Line 611...
602
}
611
}
Line 606... Line 615...
606
			       struct drm_file *file_priv,
615
			       struct drm_file *file_priv,
607
			       struct drm_mode_fb_cmd *mode_cmd)
616
			       struct drm_mode_fb_cmd *mode_cmd)
608
{
617
{
609
	struct drm_gem_object *obj;
618
	struct drm_gem_object *obj;
Line 610... Line 619...
610
 
619
 
Line -... Line 620...
-
 
620
    return NULL;
-
 
621
 
611
	obj = drm_gem_object_lookup(dev, file_priv, mode_cmd->handle);
622
//   obj = drm_gem_object_lookup(dev, file_priv, mode_cmd->handle);
612
 
623
//
Line -... Line 624...
-
 
624
//   return radeon_framebuffer_create(dev, mode_cmd, obj);
613
	return radeon_framebuffer_create(dev, mode_cmd, obj);
625
}
614
}
626
 
615
 
627
 
616
static const struct drm_mode_config_funcs radeon_mode_funcs = {
628
static const struct drm_mode_config_funcs radeon_mode_funcs = {
Line 617... Line -...
617
	.fb_create = radeon_user_framebuffer_create,
-
 
Line 618... Line 629...
618
   .fb_changed = radeonfb_probe,
629
 //  .fb_create = radeon_user_framebuffer_create,
619
};
630
 //   .fb_changed = radeonfb_probe,
-
 
631
};
-
 
632
 
-
 
633
 
620
 
634
int radeon_modeset_init(struct radeon_device *rdev)
621
#endif
635
{
Line 622... Line 636...
622
 
636
 
623
int radeon_modeset_init(struct radeon_device *rdev)
637
    dbgprintf("%s\n",__FUNCTION__);
Line 624... Line 638...
624
{
638
 
Line 625... Line 639...
625
	int num_crtc = 2, i;
639
	int num_crtc = 2, i;
626
	int ret;
640
	int ret;
627
 
641
 
628
	drm_mode_config_init(rdev->ddev);
642
	drm_mode_config_init(rdev->ddev);
Line 649... Line 663...
649
	ret = radeon_setup_enc_conn(rdev->ddev);
663
	ret = radeon_setup_enc_conn(rdev->ddev);
650
	if (!ret) {
664
	if (!ret) {
651
		return ret;
665
		return ret;
652
	}
666
	}
653
	drm_helper_initial_config(rdev->ddev);
667
	drm_helper_initial_config(rdev->ddev);
-
 
668
 
-
 
669
    dbgprintf("done %s\n",__FUNCTION__);
-
 
670
 
654
	return 0;
671
	return 0;
655
}
672
}
Line 656... Line 673...
656
 
673
 
657
void radeon_modeset_fini(struct radeon_device *rdev)
674
void radeon_modeset_fini(struct radeon_device *rdev)