Lines Matching refs:info
59 nouveau_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in nouveau_fbcon_fillrect() argument
61 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_fillrect()
66 if (info->state != FBINFO_STATE_RUNNING) in nouveau_fbcon_fillrect()
70 if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED) && in nouveau_fbcon_fillrect()
72 if (device->info.family < NV_DEVICE_INFO_V0_TESLA) in nouveau_fbcon_fillrect()
73 ret = nv04_fbcon_fillrect(info, rect); in nouveau_fbcon_fillrect()
75 if (device->info.family < NV_DEVICE_INFO_V0_FERMI) in nouveau_fbcon_fillrect()
76 ret = nv50_fbcon_fillrect(info, rect); in nouveau_fbcon_fillrect()
78 ret = nvc0_fbcon_fillrect(info, rect); in nouveau_fbcon_fillrect()
86 nouveau_fbcon_gpu_lockup(info); in nouveau_fbcon_fillrect()
87 drm_fb_helper_cfb_fillrect(info, rect); in nouveau_fbcon_fillrect()
91 nouveau_fbcon_copyarea(struct fb_info *info, const struct fb_copyarea *image) in nouveau_fbcon_copyarea() argument
93 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_copyarea()
98 if (info->state != FBINFO_STATE_RUNNING) in nouveau_fbcon_copyarea()
102 if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED) && in nouveau_fbcon_copyarea()
104 if (device->info.family < NV_DEVICE_INFO_V0_TESLA) in nouveau_fbcon_copyarea()
105 ret = nv04_fbcon_copyarea(info, image); in nouveau_fbcon_copyarea()
107 if (device->info.family < NV_DEVICE_INFO_V0_FERMI) in nouveau_fbcon_copyarea()
108 ret = nv50_fbcon_copyarea(info, image); in nouveau_fbcon_copyarea()
110 ret = nvc0_fbcon_copyarea(info, image); in nouveau_fbcon_copyarea()
118 nouveau_fbcon_gpu_lockup(info); in nouveau_fbcon_copyarea()
119 drm_fb_helper_cfb_copyarea(info, image); in nouveau_fbcon_copyarea()
123 nouveau_fbcon_imageblit(struct fb_info *info, const struct fb_image *image) in nouveau_fbcon_imageblit() argument
125 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_imageblit()
130 if (info->state != FBINFO_STATE_RUNNING) in nouveau_fbcon_imageblit()
134 if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED) && in nouveau_fbcon_imageblit()
136 if (device->info.family < NV_DEVICE_INFO_V0_TESLA) in nouveau_fbcon_imageblit()
137 ret = nv04_fbcon_imageblit(info, image); in nouveau_fbcon_imageblit()
139 if (device->info.family < NV_DEVICE_INFO_V0_FERMI) in nouveau_fbcon_imageblit()
140 ret = nv50_fbcon_imageblit(info, image); in nouveau_fbcon_imageblit()
142 ret = nvc0_fbcon_imageblit(info, image); in nouveau_fbcon_imageblit()
150 nouveau_fbcon_gpu_lockup(info); in nouveau_fbcon_imageblit()
151 drm_fb_helper_cfb_imageblit(info, image); in nouveau_fbcon_imageblit()
155 nouveau_fbcon_sync(struct fb_info *info) in nouveau_fbcon_sync() argument
157 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_sync()
163 info->state != FBINFO_STATE_RUNNING || in nouveau_fbcon_sync()
164 info->flags & FBINFO_HWACCEL_DISABLED) in nouveau_fbcon_sync()
173 nouveau_fbcon_gpu_lockup(info); in nouveau_fbcon_sync()
182 nouveau_fbcon_open(struct fb_info *info, int user) in nouveau_fbcon_open() argument
184 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_open()
193 nouveau_fbcon_release(struct fb_info *info, int user) in nouveau_fbcon_release() argument
195 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_release()
278 struct fb_info *info = fbcon->helper.fbdev; in nouveau_fbcon_accel_init() local
281 if (drm->device.info.family < NV_DEVICE_INFO_V0_TESLA) in nouveau_fbcon_accel_init()
282 ret = nv04_fbcon_accel_init(info); in nouveau_fbcon_accel_init()
284 if (drm->device.info.family < NV_DEVICE_INFO_V0_FERMI) in nouveau_fbcon_accel_init()
285 ret = nv50_fbcon_accel_init(info); in nouveau_fbcon_accel_init()
287 ret = nvc0_fbcon_accel_init(info); in nouveau_fbcon_accel_init()
290 info->fbops = &nouveau_fbcon_ops; in nouveau_fbcon_accel_init()
316 struct fb_info *info = fbcon->helper.fbdev; in nouveau_fbcon_zfill() local
324 rect.width = info->var.xres_virtual; in nouveau_fbcon_zfill()
325 rect.height = info->var.yres_virtual; in nouveau_fbcon_zfill()
328 info->fbops->fb_fillrect(info, &rect); in nouveau_fbcon_zfill()
340 struct fb_info *info; in nouveau_fbcon_create() local
380 if (chan && device->info.family >= NV_DEVICE_INFO_V0_TESLA) { in nouveau_fbcon_create()
391 info = drm_fb_helper_alloc_fbi(helper); in nouveau_fbcon_create()
392 if (IS_ERR(info)) { in nouveau_fbcon_create()
393 ret = PTR_ERR(info); in nouveau_fbcon_create()
396 info->skip_vt_switch = 1; in nouveau_fbcon_create()
398 info->par = fbcon; in nouveau_fbcon_create()
408 strcpy(info->fix.id, "nouveaufb"); in nouveau_fbcon_create()
410 info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_DISABLED; in nouveau_fbcon_create()
412 info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA | in nouveau_fbcon_create()
415 info->flags |= FBINFO_CAN_FORCE_OUTPUT; in nouveau_fbcon_create()
416 info->fbops = &nouveau_fbcon_sw_ops; in nouveau_fbcon_create()
417 info->fix.smem_start = nvbo->bo.mem.bus.base + in nouveau_fbcon_create()
419 info->fix.smem_len = size; in nouveau_fbcon_create()
421 info->screen_base = nvbo_kmap_obj_iovirtual(nouveau_fb->nvbo); in nouveau_fbcon_create()
422 info->screen_size = size; in nouveau_fbcon_create()
424 drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); in nouveau_fbcon_create()
425 drm_fb_helper_fill_var(info, &fbcon->helper, sizes->fb_width, sizes->fb_height); in nouveau_fbcon_create()
440 vga_switcheroo_client_fb_set(dev->pdev, info); in nouveau_fbcon_create()
485 void nouveau_fbcon_gpu_lockup(struct fb_info *info) in nouveau_fbcon_gpu_lockup() argument
487 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_gpu_lockup()
491 info->flags |= FBINFO_HWACCEL_DISABLED; in nouveau_fbcon_gpu_lockup()
545 if (drm->device.info.ram_size <= 32 * 1024 * 1024) in nouveau_fbcon_init()
548 if (drm->device.info.ram_size <= 64 * 1024 * 1024) in nouveau_fbcon_init()