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) |