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