Subversion Repositories Kolibri OS

Rev

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

Rev 1404 Rev 1430
Line 145... Line 145...
145
	struct drm_framebuffer *fb = NULL;
145
	struct drm_framebuffer *fb = NULL;
146
	struct radeon_framebuffer *rfb;
146
	struct radeon_framebuffer *rfb;
147
	struct drm_mode_fb_cmd mode_cmd;
147
	struct drm_mode_fb_cmd mode_cmd;
148
	struct drm_gem_object *gobj = NULL;
148
	struct drm_gem_object *gobj = NULL;
149
	struct radeon_bo *rbo = NULL;
149
	struct radeon_bo *rbo = NULL;
150
  //  struct device *device = &rdev->pdev->dev;
150
	struct device *device = &rdev->pdev->dev;
151
	int size, aligned_size, ret;
151
	int size, aligned_size, ret;
152
	u64 fb_gpuaddr;
152
	u64 fb_gpuaddr;
153
	void *fbptr = NULL;
153
	void *fbptr = NULL;
154
	unsigned long tmp;
154
	unsigned long tmp;
155
	bool fb_tiled = false; /* useful for testing */
155
	bool fb_tiled = false; /* useful for testing */
156
	u32 tiling_flags = 0;
156
	u32 tiling_flags = 0;
157
	int crtc_count;
-
 
Line 158... Line 157...
158
 
157
 
159
    mode_cmd.width  = surface_width;
158
    mode_cmd.width  = surface_width;
Line 160... Line 159...
160
	mode_cmd.height = surface_height;
159
	mode_cmd.height = surface_height;
Line 233... Line 232...
233
	*fb_p = fb;
232
	*fb_p = fb;
234
	rfb = to_radeon_framebuffer(fb);
233
	rfb = to_radeon_framebuffer(fb);
235
	rdev->fbdev_rfb = rfb;
234
	rdev->fbdev_rfb = rfb;
236
	rdev->fbdev_rbo = rbo;
235
	rdev->fbdev_rbo = rbo;
Line 237... Line 236...
237
 
236
 
238
    info = framebuffer_alloc(sizeof(struct radeon_fb_device), NULL);
237
	info = framebuffer_alloc(sizeof(struct radeon_fb_device), device);
239
	if (info == NULL) {
238
	if (info == NULL) {
240
		ret = -ENOMEM;
239
		ret = -ENOMEM;
241
		goto out_unref;
240
		goto out_unref;
Line 242... Line 241...
242
	}
241
	}
243
 
242
 
244
	rdev->fbdev_info = info;
243
	rdev->fbdev_info = info;
245
	rfbdev = info->par;
244
	rfbdev = info->par;
246
	rfbdev->helper.funcs = &radeon_fb_helper_funcs;
-
 
247
	rfbdev->helper.dev = dev;
-
 
248
	if (rdev->flags & RADEON_SINGLE_CRTC)
-
 
249
		crtc_count = 1;
-
 
250
	else
245
	rfbdev->helper.funcs = &radeon_fb_helper_funcs;
251
		crtc_count = 2;
246
	rfbdev->helper.dev = dev;
252
	ret = drm_fb_helper_init_crtc_count(&rfbdev->helper, crtc_count,
247
	ret = drm_fb_helper_init_crtc_count(&rfbdev->helper, rdev->num_crtc,
253
					    RADEONFB_CONN_LIMIT);
248
					    RADEONFB_CONN_LIMIT);
Line 260... Line 255...
260
	drm_fb_helper_fill_fix(info, fb->pitch, fb->depth);
255
	drm_fb_helper_fill_fix(info, fb->pitch, fb->depth);
Line 261... Line 256...
261
 
256
 
262
	info->flags = FBINFO_DEFAULT;
257
	info->flags = FBINFO_DEFAULT;
Line 263... Line 258...
263
	info->fbops = &radeonfb_ops;
258
	info->fbops = &radeonfb_ops;
264
 
259
 
265
	tmp = fb_gpuaddr - rdev->mc.vram_location;
260
	tmp = fb_gpuaddr - rdev->mc.vram_start;
266
	info->fix.smem_start = rdev->mc.aper_base + tmp;
261
	info->fix.smem_start = rdev->mc.aper_base + tmp;
267
	info->fix.smem_len = size;
262
	info->fix.smem_len = size;
Line 360... Line 355...
360
	printk(KERN_INFO "unregistered panic notifier\n");
355
	printk(KERN_INFO "unregistered panic notifier\n");
Line 361... Line 356...
361
 
356
 
362
	return 0;
357
	return 0;
363
}
358
}
364
EXPORT_SYMBOL(radeonfb_remove);
-
 
365
-
 
366
-
 
-
 
359
EXPORT_SYMBOL(radeonfb_remove);