Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6103 → Rev 6104

/drivers/video/drm/radeon/radeon_fb.c
192,7 → 192,6
struct drm_mode_fb_cmd2 mode_cmd;
struct drm_gem_object *gobj = NULL;
struct radeon_bo *rbo = NULL;
struct device *device = &rdev->pdev->dev;
int ret;
unsigned long tmp;
 
215,18 → 214,19
rbo = gem_to_radeon_bo(gobj);
 
/* okay we have an object now allocate the framebuffer */
info = framebuffer_alloc(0, device);
if (info == NULL) {
ret = -ENOMEM;
info = drm_fb_helper_alloc_fbi(helper);
if (IS_ERR(info)) {
ret = PTR_ERR(info);
goto out_unref;
}
 
info->par = rfbdev;
info->skip_vt_switch = true;
 
ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->rfb, &mode_cmd, gobj);
if (ret) {
DRM_ERROR("failed to initialize framebuffer %d\n", ret);
goto out_unref;
goto out_destroy_fbi;
}
 
fb = &rfbdev->rfb.base;
233,7 → 233,6
 
/* setup helper */
rfbdev->helper.fb = fb;
rfbdev->helper.fbdev = info;
 
// memset_io(rbo->kptr, 0x0, radeon_bo_size(rbo));
 
253,11 → 252,6
drm_fb_helper_fill_var(info, &rfbdev->helper, sizes->fb_width, sizes->fb_height);
 
/* setup aperture base/size for vesafb takeover */
info->apertures = alloc_apertures(1);
if (!info->apertures) {
ret = -ENOMEM;
goto out_unref;
}
info->apertures->ranges[0].base = rdev->ddev->mode_config.fb_base;
info->apertures->ranges[0].size = rdev->mc.aper_size;
 
275,6 → 269,8
 
return 0;
 
out_destroy_fbi:
// drm_fb_helper_release_fbi(helper);
out_unref:
if (rbo) {
 
288,16 → 284,11
 
static int radeon_fbdev_destroy(struct drm_device *dev, struct radeon_fbdev *rfbdev)
{
struct fb_info *info;
struct radeon_framebuffer *rfb = &rfbdev->rfb;
 
if (rfbdev->helper.fbdev) {
info = rfbdev->helper.fbdev;
// drm_fb_helper_unregister_fbi(&rfbdev->helper);
// drm_fb_helper_release_fbi(&rfbdev->helper);
 
// unregister_framebuffer(info);
// framebuffer_release(info);
}
 
if (rfb->obj) {
rfb->obj = NULL;
}
318,7 → 309,6
struct radeon_fbdev *rfbdev;
int bpp_sel = 32;
int ret;
ENTER();
 
/* select 8 bpp console on RN50 or 16MB cards */
if (ASIC_IS_RN50(rdev) || rdev->mc.real_vram_size <= (32*1024*1024))
337,20 → 327,27
ret = drm_fb_helper_init(rdev->ddev, &rfbdev->helper,
rdev->num_crtc,
RADEONFB_CONN_LIMIT);
if (ret) {
kfree(rfbdev);
return ret;
}
if (ret)
goto free;
 
drm_fb_helper_single_add_all_connectors(&rfbdev->helper);
ret = drm_fb_helper_single_add_all_connectors(&rfbdev->helper);
if (ret)
goto fini;
 
/* disable all the possible outputs/crtcs before entering KMS mode */
drm_helper_disable_unused_functions(rdev->ddev);
 
drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel);
LEAVE();
ret = drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel);
if (ret)
goto fini;
 
return 0;
 
fini:
// drm_fb_helper_fini(&rfbdev->helper);
free:
kfree(rfbdev);
return ret;
}
 
void radeon_fbdev_fini(struct radeon_device *rdev)
363,17 → 360,6
rdev->mode_info.rfbdev = NULL;
}
 
 
int radeon_fbdev_total_size(struct radeon_device *rdev)
{
struct radeon_bo *robj;
int size = 0;
 
robj = gem_to_radeon_bo(rdev->mode_info.rfbdev->rfb.obj);
size += radeon_bo_size(robj);
return size;
}
 
bool radeon_fbdev_robj_is_fb(struct radeon_device *rdev, struct radeon_bo *robj)
{
if (robj == gem_to_radeon_bo(rdev->mode_info.rfbdev->rfb.obj))
380,3 → 366,13
return true;
return false;
}
 
void radeon_fb_add_connector(struct radeon_device *rdev, struct drm_connector *connector)
{
drm_fb_helper_add_one_connector(&rdev->mode_info.rfbdev->helper, connector);
}
 
void radeon_fb_remove_connector(struct radeon_device *rdev, struct drm_connector *connector)
{
drm_fb_helper_remove_one_connector(&rdev->mode_info.rfbdev->helper, connector);
}