• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/video/

Lines Matching defs:fbdev

125 	struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
133 fbdev->regs->lcd_control |= LCD_CONTROL_GO;
148 fbdev->regs->lcd_control &= ~LCD_CONTROL_GO;
169 int au1100fb_setmode(struct au1100fb_device *fbdev)
171 struct fb_info *info = &fbdev->info;
175 if (!fbdev)
179 if (panel_is_active(fbdev->panel) || panel_is_color(fbdev->panel)) {
203 index = (fbdev->panel->control_base & LCD_CONTROL_SBPPF_MASK) >> LCD_CONTROL_SBPPF_BIT;
219 info->var.rotate = ((fbdev->panel->control_base&LCD_CONTROL_SM_MASK) \
223 fbdev->regs->lcd_control = fbdev->panel->control_base;
224 fbdev->regs->lcd_horztiming = fbdev->panel->horztiming;
225 fbdev->regs->lcd_verttiming = fbdev->panel->verttiming;
226 fbdev->regs->lcd_clkcontrol = fbdev->panel->clkcontrol_base;
227 fbdev->regs->lcd_intenable = 0;
228 fbdev->regs->lcd_intstatus = 0;
229 fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(fbdev->fb_phys);
231 if (panel_is_dual(fbdev->panel)) {
235 fbdev->regs->lcd_dmaaddr1 = LCD_DMA_SA_N(fbdev->fb_phys +
239 fbdev->regs->lcd_dmaaddr1 = LCD_DMA_SA_N(fbdev->fb_phys);
250 fbdev->regs->lcd_words = LCD_WRD_WRDS_N(words);
252 fbdev->regs->lcd_pwmdiv = 0;
253 fbdev->regs->lcd_pwmhi = 0;
256 fbdev->regs->lcd_control |= LCD_CONTROL_GO;
268 struct au1100fb_device *fbdev;
272 fbdev = to_au1100fb_device(fbi);
273 palette = fbdev->regs->lcd_pallettebase;
300 } else if (panel_is_active(fbdev->panel)) {
305 } else if (panel_is_color(fbdev->panel)) {
307 value = (((panel_swap_rgb(fbdev->panel) ? blue : red) >> 12) & 0x000F) |
309 (((panel_swap_rgb(fbdev->panel) ? red : blue) >> 4) & 0x0F00);
327 struct au1100fb_device *fbdev;
330 fbdev = to_au1100fb_device(fbi);
334 if (!var || !fbdev) {
351 dmaaddr = fbdev->regs->lcd_dmaaddr0;
355 fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(dmaaddr);
357 if (panel_is_dual(fbdev->panel)) {
358 dmaaddr = fbdev->regs->lcd_dmaaddr1;
360 fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(dmaaddr);
374 struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
378 if (fbdev && (angle > 0) && !(angle % 90)) {
380 fbdev->regs->lcd_control &= ~LCD_CONTROL_GO;
382 fbdev->regs->lcd_control &= ~(LCD_CONTROL_SM_MASK);
383 fbdev->regs->lcd_control |= ((angle/90) << LCD_CONTROL_SM_BIT);
385 fbdev->regs->lcd_control |= LCD_CONTROL_GO;
395 struct au1100fb_device *fbdev;
399 fbdev = to_au1100fb_device(fbi);
405 start = fbdev->fb_phys & PAGE_MASK;
406 len = PAGE_ALIGN((start & ~PAGE_MASK) + fbdev->fb_len);
463 struct au1100fb_device *fbdev = NULL;
472 if (!(fbdev = kzalloc(sizeof(struct au1100fb_device), GFP_KERNEL))) {
477 fbdev->panel = &known_lcd_panels[drv_info.panel_idx];
479 platform_set_drvdata(dev, (void *)fbdev);
498 fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(au1100fb_fix.mmio_start);
500 print_dbg("Register memory map at %p", fbdev->regs);
501 print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
506 fbdev->fb_len = fbdev->panel->xres * fbdev->panel->yres *
507 (fbdev->panel->bpp >> 3) * AU1100FB_NBR_VIDEO_BUFFERS;
509 fbdev->fb_mem = dma_alloc_coherent(dev, PAGE_ALIGN(fbdev->fb_len),
510 &fbdev->fb_phys, GFP_KERNEL);
511 if (!fbdev->fb_mem) {
513 fbdev->fb_len / 1024);
517 au1100fb_fix.smem_start = fbdev->fb_phys;
518 au1100fb_fix.smem_len = fbdev->fb_len;
524 for (page = (unsigned long)fbdev->fb_mem;
525 page < PAGE_ALIGN((unsigned long)fbdev->fb_mem + fbdev->fb_len);
534 print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
535 print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
542 au1100fb_var.bits_per_pixel = fbdev->panel->bpp;
543 au1100fb_var.xres = fbdev->panel->xres;
545 au1100fb_var.yres = fbdev->panel->yres;
548 fbdev->info.screen_base = fbdev->fb_mem;
549 fbdev->info.fbops = &au1100fb_ops;
550 fbdev->info.fix = au1100fb_fix;
552 if (!(fbdev->info.pseudo_palette = kzalloc(sizeof(u32) * 16, GFP_KERNEL))) {
556 if (fb_alloc_cmap(&fbdev->info.cmap, AU1100_LCD_NBR_PALETTE_ENTRIES, 0) < 0) {
559 kfree(fbdev->info.pseudo_palette);
563 fbdev->info.var = au1100fb_var;
566 au1100fb_setmode(fbdev);
569 if (register_framebuffer(&fbdev->info) < 0) {
577 if (fbdev->regs) {
578 release_mem_region(fbdev->regs_phys, fbdev->regs_len);
580 if (fbdev->fb_mem) {
581 dma_free_noncoherent(dev, fbdev->fb_len, fbdev->fb_mem, fbdev->fb_phys);
583 if (fbdev->info.cmap.len != 0) {
584 fb_dealloc_cmap(&fbdev->info.cmap);
586 kfree(fbdev);
594 struct au1100fb_device *fbdev = NULL;
599 fbdev = (struct au1100fb_device *) platform_get_drvdata(dev);
602 au1100fb_fb_blank(VESA_POWERDOWN, &fbdev->info);
604 fbdev->regs->lcd_control &= ~LCD_CONTROL_GO;
607 unregister_framebuffer(&fbdev->info);
609 release_mem_region(fbdev->regs_phys, fbdev->regs_len);
611 dma_free_coherent(dev, PAGE_ALIGN(fbdev->fb_len), fbdev->fb_mem, fbdev->fb_phys);
613 fb_dealloc_cmap(&fbdev->info.cmap);
614 kfree(fbdev->info.pseudo_palette);
615 kfree((void*)fbdev);
626 struct au1100fb_device *fbdev = platform_get_drvdata(dev);
628 if (!fbdev)
635 au1100fb_fb_blank(VESA_POWERDOWN, &fbdev->info);
640 memcpy(&fbregs, fbdev->regs, sizeof(struct au1100fb_regs));
647 struct au1100fb_device *fbdev = platform_get_drvdata(dev);
649 if (!fbdev)
652 memcpy(fbdev->regs, &fbregs, sizeof(struct au1100fb_regs));
658 au1100fb_fb_blank(VESA_NO_BLANKING, &fbdev->info);