Lines Matching refs:dev

60 void vivid_clear_fb(struct vivid_dev *dev)  in vivid_clear_fb()  argument
62 void *p = dev->video_vbase; in vivid_clear_fb()
66 if (dev->fb_defined.green.length == 6) in vivid_clear_fb()
69 for (y = 0; y < dev->display_height; y++) { in vivid_clear_fb()
72 for (x = 0; x < dev->display_width; x++) in vivid_clear_fb()
74 p += dev->display_byte_stride; in vivid_clear_fb()
82 struct vivid_dev *dev = (struct vivid_dev *)info->par; in vivid_fb_ioctl() local
100 dprintk(dev, 1, "Unknown ioctl %08x\n", cmd); in vivid_fb_ioctl()
108 static int vivid_fb_set_var(struct vivid_dev *dev, struct fb_var_screeninfo *var) in vivid_fb_set_var() argument
110 dprintk(dev, 1, "vivid_fb_set_var\n"); in vivid_fb_set_var()
113 dprintk(dev, 1, "vivid_fb_set_var - Invalid bpp\n"); in vivid_fb_set_var()
116 dev->display_byte_stride = var->xres * dev->bytes_per_pixel; in vivid_fb_set_var()
121 static int vivid_fb_get_fix(struct vivid_dev *dev, struct fb_fix_screeninfo *fix) in vivid_fb_get_fix() argument
123 dprintk(dev, 1, "vivid_fb_get_fix\n"); in vivid_fb_get_fix()
126 fix->smem_start = dev->video_pbase; in vivid_fb_get_fix()
127 fix->smem_len = dev->video_buffer_size; in vivid_fb_get_fix()
133 fix->line_length = dev->display_byte_stride; in vivid_fb_get_fix()
141 static int _vivid_fb_check_var(struct fb_var_screeninfo *var, struct vivid_dev *dev) in _vivid_fb_check_var() argument
143 dprintk(dev, 1, "vivid_fb_check_var\n"); in _vivid_fb_check_var()
183 struct vivid_dev *dev = (struct vivid_dev *) info->par; in vivid_fb_check_var() local
185 dprintk(dev, 1, "vivid_fb_check_var\n"); in vivid_fb_check_var()
186 return _vivid_fb_check_var(var, dev); in vivid_fb_check_var()
197 struct vivid_dev *dev = (struct vivid_dev *) info->par; in vivid_fb_set_par() local
199 dprintk(dev, 1, "vivid_fb_set_par\n"); in vivid_fb_set_par()
201 rc = vivid_fb_set_var(dev, &info->var); in vivid_fb_set_par()
202 vivid_fb_get_fix(dev, &info->fix); in vivid_fb_set_par()
244 struct vivid_dev *dev = (struct vivid_dev *)info->par; in vivid_fb_blank() local
246 dprintk(dev, 1, "Set blanking mode : %d\n", blank_mode); in vivid_fb_blank()
277 static int vivid_fb_init_vidmode(struct vivid_dev *dev) in vivid_fb_init_vidmode() argument
283 dev->bits_per_pixel = 16; in vivid_fb_init_vidmode()
284 dev->bytes_per_pixel = dev->bits_per_pixel / 8; in vivid_fb_init_vidmode()
289 dev->display_byte_stride = start_window.width * dev->bytes_per_pixel; in vivid_fb_init_vidmode()
296 dev->display_width = start_window.width; in vivid_fb_init_vidmode()
297 dev->display_height = start_window.height; in vivid_fb_init_vidmode()
301 dev->fb_defined.xres = dev->display_width; in vivid_fb_init_vidmode()
302 dev->fb_defined.yres = dev->display_height; in vivid_fb_init_vidmode()
303 dev->fb_defined.xres_virtual = dev->display_width; in vivid_fb_init_vidmode()
304 dev->fb_defined.yres_virtual = dev->display_height; in vivid_fb_init_vidmode()
305 dev->fb_defined.bits_per_pixel = dev->bits_per_pixel; in vivid_fb_init_vidmode()
306 dev->fb_defined.vmode = FB_VMODE_NONINTERLACED; in vivid_fb_init_vidmode()
307 dev->fb_defined.left_margin = start_window.left + 1; in vivid_fb_init_vidmode()
308 dev->fb_defined.upper_margin = start_window.top + 1; in vivid_fb_init_vidmode()
309 dev->fb_defined.accel_flags = FB_ACCEL_NONE; in vivid_fb_init_vidmode()
310 dev->fb_defined.nonstd = 0; in vivid_fb_init_vidmode()
312 dev->fb_defined.green.length = 5; in vivid_fb_init_vidmode()
316 _vivid_fb_check_var(&dev->fb_defined, dev); in vivid_fb_init_vidmode()
320 vivid_fb_get_fix(dev, &dev->fb_fix); in vivid_fb_init_vidmode()
324 dev->fb_info.node = -1; in vivid_fb_init_vidmode()
325 dev->fb_info.flags = FBINFO_FLAG_DEFAULT; in vivid_fb_init_vidmode()
326 dev->fb_info.fbops = &vivid_fb_ops; in vivid_fb_init_vidmode()
327 dev->fb_info.par = dev; in vivid_fb_init_vidmode()
328 dev->fb_info.var = dev->fb_defined; in vivid_fb_init_vidmode()
329 dev->fb_info.fix = dev->fb_fix; in vivid_fb_init_vidmode()
330 dev->fb_info.screen_base = (u8 __iomem *)dev->video_vbase; in vivid_fb_init_vidmode()
331 dev->fb_info.fbops = &vivid_fb_ops; in vivid_fb_init_vidmode()
334 dev->fb_info.monspecs.hfmin = 8000; in vivid_fb_init_vidmode()
335 dev->fb_info.monspecs.hfmax = 70000; in vivid_fb_init_vidmode()
336 dev->fb_info.monspecs.vfmin = 10; in vivid_fb_init_vidmode()
337 dev->fb_info.monspecs.vfmax = 100; in vivid_fb_init_vidmode()
340 if (fb_alloc_cmap(&dev->fb_info.cmap, 256, 1)) { in vivid_fb_init_vidmode()
346 dev->fb_info.pseudo_palette = kmalloc_array(16, sizeof(u32), GFP_KERNEL); in vivid_fb_init_vidmode()
348 return dev->fb_info.pseudo_palette ? 0 : -ENOMEM; in vivid_fb_init_vidmode()
352 void vivid_fb_release_buffers(struct vivid_dev *dev) in vivid_fb_release_buffers() argument
354 if (dev->video_vbase == NULL) in vivid_fb_release_buffers()
358 if (dev->fb_info.cmap.len) in vivid_fb_release_buffers()
359 fb_dealloc_cmap(&dev->fb_info.cmap); in vivid_fb_release_buffers()
362 kfree(dev->fb_info.pseudo_palette); in vivid_fb_release_buffers()
363 kfree((void *)dev->video_vbase); in vivid_fb_release_buffers()
368 int vivid_fb_init(struct vivid_dev *dev) in vivid_fb_init() argument
372 dev->video_buffer_size = MAX_OSD_HEIGHT * MAX_OSD_WIDTH * 2; in vivid_fb_init()
373 dev->video_vbase = kzalloc(dev->video_buffer_size, GFP_KERNEL | GFP_DMA32); in vivid_fb_init()
374 if (dev->video_vbase == NULL) in vivid_fb_init()
376 dev->video_pbase = virt_to_phys(dev->video_vbase); in vivid_fb_init()
379 dev->video_pbase, dev->video_vbase, in vivid_fb_init()
380 dev->video_buffer_size / 1024); in vivid_fb_init()
383 ret = vivid_fb_init_vidmode(dev); in vivid_fb_init()
385 vivid_fb_release_buffers(dev); in vivid_fb_init()
389 vivid_clear_fb(dev); in vivid_fb_init()
392 if (register_framebuffer(&dev->fb_info) < 0) { in vivid_fb_init()
393 vivid_fb_release_buffers(dev); in vivid_fb_init()
398 vivid_fb_set_par(&dev->fb_info); in vivid_fb_init()