• 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 refs:fbi

153 	struct fb_info *fbi;
168 fbi = inf->fb[HEAD_CRT];
177 if (fbi && ptr < smem_len)
188 fbi = inf->fb[HEAD_PANEL];
189 if (fbi) {
190 par = fbi->par;
201 fbi = inf->fb[HEAD_CRT];
202 ptr = fbi ? smem_len : 0;
204 fbi = inf->fb[HEAD_PANEL];
205 if (fbi) {
206 par = fbi->par;
257 static void sm501fb_setup_gamma(struct sm501fb_info *fbi,
265 writel(value, fbi->regs + palette + offset);
412 struct sm501fb_info *fbi = par->info;
420 dev_dbg(fbi->dev, "%s: %dx%d, bpp = %d, virtual %dx%d\n",
461 dev_dbg(fbi->dev, "%s: line length = %u\n", __func__,
464 if (sm501_alloc_mem(fbi, &par->screen, mem_type, smem_len, smem_len)) {
465 dev_err(fbi->dev, "no memory available\n");
470 info->fix.smem_start = fbi->fbmem_res->start + par->screen.sm_addr;
474 info->screen_base = fbi->fbmem + par->screen.sm_addr;
479 writel(par->screen.sm_addr | SM501_ADDR_FLIP, fbi->regs + head_addr);
485 sm501pixclock = sm501_set_clock(fbi->dev->parent, clock_type,
491 dev_dbg(fbi->dev, "%s: pixclock(ps) = %u, pixclock(Hz) = %lu, "
508 struct sm501fb_info *fbi = par->info;
509 void __iomem *base = fbi->regs;
522 writel(reg, fbi->regs + (par->head == HEAD_CRT ?
562 struct sm501fb_info *fbi = par->info;
569 reg = readl(fbi->regs + SM501_DC_CRT_CONTROL);
573 writel(reg, fbi->regs + SM501_DC_CRT_CONTROL);
577 writel(reg | SM501_ADDR_FLIP, fbi->regs + SM501_DC_CRT_FB_ADDR);
579 sm501fb_sync_regs(fbi);
592 struct sm501fb_info *fbi = par->info;
596 writel(reg, fbi->regs + SM501_DC_PANEL_FB_WIDTH);
599 writel(reg, fbi->regs + SM501_DC_PANEL_FB_HEIGHT);
601 sm501fb_sync_regs(fbi);
613 struct sm501fb_info *fbi = par->info;
620 dev_dbg(fbi->dev, "%s(%p)\n", __func__, info);
623 sm501_misc_control(fbi->dev->parent, 0, SM501_MISC_DAC_POWER);
625 control = readl(fbi->regs + SM501_DC_CRT_CONTROL);
645 sm501_alloc_mem(fbi, &par->screen, SM501_MEMF_CRT, 0,
652 dev_err(fbi->dev, "failed to set common parameters\n");
668 sm501fb_setup_gamma(fbi, SM501_DC_CRT_PALETTE);
673 sm501fb_setup_gamma(fbi, SM501_DC_CRT_PALETTE);
685 dev_dbg(fbi->dev, "new control is %08lx\n", control);
687 writel(control, fbi->regs + SM501_DC_CRT_CONTROL);
688 sm501fb_sync_regs(fbi);
693 static void sm501fb_panel_power(struct sm501fb_info *fbi, int to)
696 void __iomem *ctrl_reg = fbi->regs + SM501_DC_PANEL_CONTROL;
697 struct sm501_platdata_fbsub *pd = fbi->pdata->fb_pnl;
706 sm501fb_sync_regs(fbi);
711 sm501fb_sync_regs(fbi);
723 sm501fb_sync_regs(fbi);
734 sm501fb_sync_regs(fbi);
746 sm501fb_sync_regs(fbi);
757 sm501fb_sync_regs(fbi);
763 sm501fb_sync_regs(fbi);
768 sm501fb_sync_regs(fbi);
772 sm501fb_sync_regs(fbi);
783 struct sm501fb_info *fbi = par->info;
789 dev_dbg(fbi->dev, "%s(%p)\n", __func__, info);
802 control = readl(fbi->regs + SM501_DC_PANEL_CONTROL);
824 sm501fb_setup_gamma(fbi, SM501_DC_PANEL_PALETTE);
829 sm501fb_setup_gamma(fbi, SM501_DC_PANEL_PALETTE);
836 writel(0x0, fbi->regs + SM501_DC_PANEL_PANNING_CONTROL);
840 writel(0x00, fbi->regs + SM501_DC_PANEL_TL_LOC);
845 writel(reg, fbi->regs + SM501_DC_PANEL_BR_LOC);
858 writel(control, fbi->regs + SM501_DC_PANEL_CONTROL);
859 sm501fb_sync_regs(fbi);
863 sm501_modify_reg(fbi->dev->parent, SM501_SYSTEM_CONTROL,
867 sm501fb_panel_power(fbi, 1);
897 struct sm501fb_info *fbi = par->info;
898 void __iomem *base = fbi->regs;
947 struct sm501fb_info *fbi = par->info;
949 dev_dbg(fbi->dev, "%s(mode=%d, %p)\n", __func__, blank_mode, info);
953 sm501fb_panel_power(fbi, 0);
957 sm501fb_panel_power(fbi, 1);
978 struct sm501fb_info *fbi = par->info;
981 dev_dbg(fbi->dev, "%s(mode=%d, %p)\n", __func__, blank_mode, info);
983 ctrl = readl(fbi->regs + SM501_DC_CRT_CONTROL);
988 sm501_misc_control(fbi->dev->parent, SM501_MISC_DAC_POWER, 0);
997 sm501_misc_control(fbi->dev->parent, 0, SM501_MISC_DAC_POWER);
1007 writel(ctrl, fbi->regs + SM501_DC_CRT_CONTROL);
1008 sm501fb_sync_regs(fbi);
1021 struct sm501fb_info *fbi = par->info;
1022 void __iomem *base = fbi->regs;
1026 dev_dbg(fbi->dev, "%s(%p,%p)\n", __func__, info, cursor);
1059 dev_dbg(fbi->dev, "set position %d,%d\n", x, y);
1070 dev_dbg(fbi->dev, "%s: update cmap (%08x,%08x)\n",
1081 dev_dbg(fbi->dev, "fgcol %08lx, bgcol %08lx\n", fg, bg);
1101 dev_dbg(fbi->dev, "%s: setting shape (%d,%d)\n",
1129 sm501fb_sync_regs(fbi); /* ensure cursor data flushed */
1256 struct sm501fb_info *fbi = par->info;
1260 (readl(fbi->regs + SM501_SYSTEM_CONTROL) &
1274 struct sm501fb_info *fbi = par->info;
1315 writel(par->screen.sm_addr, fbi->regs2d + SM501_2D_SOURCE_BASE);
1316 writel(par->screen.sm_addr, fbi->regs2d + SM501_2D_DESTINATION_BASE);
1320 fbi->regs2d + SM501_2D_WINDOW_WIDTH);
1324 fbi->regs2d + SM501_2D_PITCH);
1329 writel(0, fbi->regs2d + SM501_2D_STRETCH);
1332 writel(0x00100000, fbi->regs2d + SM501_2D_STRETCH);
1335 writel(0x00200000, fbi->regs2d + SM501_2D_STRETCH);
1340 writel(0xffffffff, fbi->regs2d + SM501_2D_COLOR_COMPARE_MASK);
1343 writel(0xffffffff, fbi->regs2d + SM501_2D_MASK);
1346 writel((sx << 16) | sy, fbi->regs2d + SM501_2D_SOURCE);
1347 writel((dx << 16) | dy, fbi->regs2d + SM501_2D_DESTINATION);
1350 writel((width << 16) | height, fbi->regs2d + SM501_2D_DIMENSION);
1353 writel(0x800000cc | rtl, fbi->regs2d + SM501_2D_CONTROL);
1359 struct sm501fb_info *fbi = par->info;
1375 writel(par->screen.sm_addr, fbi->regs2d + SM501_2D_SOURCE_BASE);
1376 writel(par->screen.sm_addr, fbi->regs2d + SM501_2D_DESTINATION_BASE);
1380 fbi->regs2d + SM501_2D_WINDOW_WIDTH);
1384 fbi->regs2d + SM501_2D_PITCH);
1389 writel(0, fbi->regs2d + SM501_2D_STRETCH);
1392 writel(0x00100000, fbi->regs2d + SM501_2D_STRETCH);
1395 writel(0x00200000, fbi->regs2d + SM501_2D_STRETCH);
1400 writel(0xffffffff, fbi->regs2d + SM501_2D_COLOR_COMPARE_MASK);
1403 writel(0xffffffff, fbi->regs2d + SM501_2D_MASK);
1406 writel(rect->color, fbi->regs2d + SM501_2D_FOREGROUND);
1409 writel((rect->dx << 16) | rect->dy, fbi->regs2d + SM501_2D_DESTINATION);
1412 writel((width << 16) | height, fbi->regs2d + SM501_2D_DIMENSION);
1415 writel(0x800100cc, fbi->regs2d + SM501_2D_CONTROL);
1452 static int sm501_init_cursor(struct fb_info *fbi, unsigned int reg_base)
1458 if (fbi == NULL)
1461 par = fbi->par;
1467 fbi->fix.smem_len);
1789 struct fb_info *fbi;
1799 fbi = framebuffer_alloc(sizeof(struct sm501fb_par), info->dev);
1800 if (fbi == NULL) {
1805 par = fbi->par;
1808 fbi->pseudo_palette = &par->pseudo_palette;
1810 info->fb[head] = fbi;
1820 struct fb_info *fbi = info->fb[head];
1822 fb_dealloc_cmap(&fbi->cmap);
1829 struct fb_info *fbi = info->fb[head];
1832 if (!fbi)
1850 dev_info(info->dev, "fb%d: %s frame buffer\n", fbi->node, fbi->fix.id);
2002 struct fb_info *fbi = info->fb[head];
2003 struct sm501fb_par *par = fbi->par;
2009 (par->ops.fb_blank)(FB_BLANK_POWERDOWN, fbi);
2014 fb_set_suspend(fbi, 1);
2049 struct fb_info *fbi = info->fb[head];
2050 struct sm501fb_par *par = fbi->par;
2057 (par->ops.fb_set_par)(fbi);
2073 fb_set_suspend(fbi, 0);