Lines Matching refs:dev

48 void vivid_clear_fb(struct vivid_dev *dev)  in vivid_clear_fb()  argument
50 void *p = dev->video_vbase; in vivid_clear_fb()
54 if (dev->fb_defined.green.length == 6) in vivid_clear_fb()
57 for (y = 0; y < dev->display_height; y++) { in vivid_clear_fb()
60 for (x = 0; x < dev->display_width; x++) in vivid_clear_fb()
62 p += dev->display_byte_stride; in vivid_clear_fb()
70 struct vivid_dev *dev = (struct vivid_dev *)info->par; in vivid_fb_ioctl() local
88 dprintk(dev, 1, "Unknown ioctl %08x\n", cmd); in vivid_fb_ioctl()
96 static int vivid_fb_set_var(struct vivid_dev *dev, struct fb_var_screeninfo *var) in vivid_fb_set_var() argument
98 dprintk(dev, 1, "vivid_fb_set_var\n"); in vivid_fb_set_var()
101 dprintk(dev, 1, "vivid_fb_set_var - Invalid bpp\n"); in vivid_fb_set_var()
104 dev->display_byte_stride = var->xres * dev->bytes_per_pixel; in vivid_fb_set_var()
109 static int vivid_fb_get_fix(struct vivid_dev *dev, struct fb_fix_screeninfo *fix) in vivid_fb_get_fix() argument
111 dprintk(dev, 1, "vivid_fb_get_fix\n"); in vivid_fb_get_fix()
114 fix->smem_start = dev->video_pbase; in vivid_fb_get_fix()
115 fix->smem_len = dev->video_buffer_size; in vivid_fb_get_fix()
121 fix->line_length = dev->display_byte_stride; in vivid_fb_get_fix()
129 static int _vivid_fb_check_var(struct fb_var_screeninfo *var, struct vivid_dev *dev) in _vivid_fb_check_var() argument
131 dprintk(dev, 1, "vivid_fb_check_var\n"); in _vivid_fb_check_var()
171 struct vivid_dev *dev = (struct vivid_dev *) info->par; in vivid_fb_check_var() local
173 dprintk(dev, 1, "vivid_fb_check_var\n"); in vivid_fb_check_var()
174 return _vivid_fb_check_var(var, dev); in vivid_fb_check_var()
185 struct vivid_dev *dev = (struct vivid_dev *) info->par; in vivid_fb_set_par() local
187 dprintk(dev, 1, "vivid_fb_set_par\n"); in vivid_fb_set_par()
189 rc = vivid_fb_set_var(dev, &info->var); in vivid_fb_set_par()
190 vivid_fb_get_fix(dev, &info->fix); in vivid_fb_set_par()
232 struct vivid_dev *dev = (struct vivid_dev *)info->par; in vivid_fb_blank() local
234 dprintk(dev, 1, "Set blanking mode : %d\n", blank_mode); in vivid_fb_blank()
263 static int vivid_fb_init_vidmode(struct vivid_dev *dev) in vivid_fb_init_vidmode() argument
269 dev->bits_per_pixel = 16; in vivid_fb_init_vidmode()
270 dev->bytes_per_pixel = dev->bits_per_pixel / 8; in vivid_fb_init_vidmode()
275 dev->display_byte_stride = start_window.width * dev->bytes_per_pixel; in vivid_fb_init_vidmode()
282 dev->display_width = start_window.width; in vivid_fb_init_vidmode()
283 dev->display_height = start_window.height; in vivid_fb_init_vidmode()
287 dev->fb_defined.xres = dev->display_width; in vivid_fb_init_vidmode()
288 dev->fb_defined.yres = dev->display_height; in vivid_fb_init_vidmode()
289 dev->fb_defined.xres_virtual = dev->display_width; in vivid_fb_init_vidmode()
290 dev->fb_defined.yres_virtual = dev->display_height; in vivid_fb_init_vidmode()
291 dev->fb_defined.bits_per_pixel = dev->bits_per_pixel; in vivid_fb_init_vidmode()
292 dev->fb_defined.vmode = FB_VMODE_NONINTERLACED; in vivid_fb_init_vidmode()
293 dev->fb_defined.left_margin = start_window.left + 1; in vivid_fb_init_vidmode()
294 dev->fb_defined.upper_margin = start_window.top + 1; in vivid_fb_init_vidmode()
295 dev->fb_defined.accel_flags = FB_ACCEL_NONE; in vivid_fb_init_vidmode()
296 dev->fb_defined.nonstd = 0; in vivid_fb_init_vidmode()
298 dev->fb_defined.green.length = 5; in vivid_fb_init_vidmode()
302 _vivid_fb_check_var(&dev->fb_defined, dev); in vivid_fb_init_vidmode()
306 vivid_fb_get_fix(dev, &dev->fb_fix); in vivid_fb_init_vidmode()
310 dev->fb_info.node = -1; in vivid_fb_init_vidmode()
311 dev->fb_info.par = dev; in vivid_fb_init_vidmode()
312 dev->fb_info.var = dev->fb_defined; in vivid_fb_init_vidmode()
313 dev->fb_info.fix = dev->fb_fix; in vivid_fb_init_vidmode()
314 dev->fb_info.screen_base = (u8 __iomem *)dev->video_vbase; in vivid_fb_init_vidmode()
315 dev->fb_info.fbops = &vivid_fb_ops; in vivid_fb_init_vidmode()
318 dev->fb_info.monspecs.hfmin = 8000; in vivid_fb_init_vidmode()
319 dev->fb_info.monspecs.hfmax = 70000; in vivid_fb_init_vidmode()
320 dev->fb_info.monspecs.vfmin = 10; in vivid_fb_init_vidmode()
321 dev->fb_info.monspecs.vfmax = 100; in vivid_fb_init_vidmode()
324 if (fb_alloc_cmap(&dev->fb_info.cmap, 256, 1)) { in vivid_fb_init_vidmode()
330 dev->fb_info.pseudo_palette = kmalloc_array(16, sizeof(u32), GFP_KERNEL); in vivid_fb_init_vidmode()
332 return dev->fb_info.pseudo_palette ? 0 : -ENOMEM; in vivid_fb_init_vidmode()
336 void vivid_fb_release_buffers(struct vivid_dev *dev) in vivid_fb_release_buffers() argument
338 if (dev->video_vbase == NULL) in vivid_fb_release_buffers()
342 if (dev->fb_info.cmap.len) in vivid_fb_release_buffers()
343 fb_dealloc_cmap(&dev->fb_info.cmap); in vivid_fb_release_buffers()
346 kfree(dev->fb_info.pseudo_palette); in vivid_fb_release_buffers()
347 kfree(dev->video_vbase); in vivid_fb_release_buffers()
352 int vivid_fb_init(struct vivid_dev *dev) in vivid_fb_init() argument
356 dev->video_buffer_size = MAX_OSD_HEIGHT * MAX_OSD_WIDTH * 2; in vivid_fb_init()
357 dev->video_vbase = kzalloc(dev->video_buffer_size, GFP_KERNEL); in vivid_fb_init()
358 if (dev->video_vbase == NULL) in vivid_fb_init()
360 dev->video_pbase = virt_to_phys(dev->video_vbase); in vivid_fb_init()
363 dev->video_pbase, dev->video_vbase, in vivid_fb_init()
364 dev->video_buffer_size / 1024); in vivid_fb_init()
367 ret = vivid_fb_init_vidmode(dev); in vivid_fb_init()
369 vivid_fb_release_buffers(dev); in vivid_fb_init()
373 vivid_clear_fb(dev); in vivid_fb_init()
376 if (register_framebuffer(&dev->fb_info) < 0) { in vivid_fb_init()
377 vivid_fb_release_buffers(dev); in vivid_fb_init()
382 vivid_fb_set_par(&dev->fb_info); in vivid_fb_init()