Lines Matching refs:fbi
61 static int is_s3c2412(struct s3c2410fb_info *fbi) in is_s3c2412() argument
63 return (fbi->drv_type == DRV_S3C2412); in is_s3c2412()
73 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_set_lcdaddr() local
74 void __iomem *regs = fbi->io; in s3c2410fb_set_lcdaddr()
97 static unsigned int s3c2410fb_calc_pixclk(struct s3c2410fb_info *fbi, in s3c2410fb_calc_pixclk() argument
100 unsigned long clk = fbi->clk_rate; in s3c2410fb_calc_pixclk()
125 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_check_var() local
126 struct s3c2410fb_mach_info *mach_info = dev_get_platdata(fbi->dev); in s3c2410fb_check_var()
172 fbi->regs.lcdcon5 = display->lcdcon5; in s3c2410fb_check_var()
174 fbi->regs.lcdcon1 = display->type; in s3c2410fb_check_var()
254 const struct s3c2410fb_info *fbi = info->par; in s3c2410fb_calculate_stn_lcd_regs() local
285 dev_err(fbi->dev, "invalid bpp %d\n", in s3c2410fb_calculate_stn_lcd_regs()
314 const struct s3c2410fb_info *fbi = info->par; in s3c2410fb_calculate_tft_lcd_regs() local
346 dev_err(fbi->dev, "invalid bpp %d\n", in s3c2410fb_calculate_tft_lcd_regs()
375 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_activate_var() local
376 void __iomem *regs = fbi->io; in s3c2410fb_activate_var()
377 int type = fbi->regs.lcdcon1 & S3C2410_LCDCON1_TFT; in s3c2410fb_activate_var()
381 clkdiv = DIV_ROUND_UP(s3c2410fb_calc_pixclk(fbi, var->pixclock), 2); in s3c2410fb_activate_var()
388 s3c2410fb_calculate_tft_lcd_regs(info, &fbi->regs); in s3c2410fb_activate_var()
393 s3c2410fb_calculate_stn_lcd_regs(info, &fbi->regs); in s3c2410fb_activate_var()
398 fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(clkdiv); in s3c2410fb_activate_var()
403 dprintk("lcdcon[1] = 0x%08lx\n", fbi->regs.lcdcon1); in s3c2410fb_activate_var()
404 dprintk("lcdcon[2] = 0x%08lx\n", fbi->regs.lcdcon2); in s3c2410fb_activate_var()
405 dprintk("lcdcon[3] = 0x%08lx\n", fbi->regs.lcdcon3); in s3c2410fb_activate_var()
406 dprintk("lcdcon[4] = 0x%08lx\n", fbi->regs.lcdcon4); in s3c2410fb_activate_var()
407 dprintk("lcdcon[5] = 0x%08lx\n", fbi->regs.lcdcon5); in s3c2410fb_activate_var()
409 writel(fbi->regs.lcdcon1 & ~S3C2410_LCDCON1_ENVID, in s3c2410fb_activate_var()
411 writel(fbi->regs.lcdcon2, regs + S3C2410_LCDCON2); in s3c2410fb_activate_var()
412 writel(fbi->regs.lcdcon3, regs + S3C2410_LCDCON3); in s3c2410fb_activate_var()
413 writel(fbi->regs.lcdcon4, regs + S3C2410_LCDCON4); in s3c2410fb_activate_var()
414 writel(fbi->regs.lcdcon5, regs + S3C2410_LCDCON5); in s3c2410fb_activate_var()
419 fbi->regs.lcdcon1 |= S3C2410_LCDCON1_ENVID, in s3c2410fb_activate_var()
420 writel(fbi->regs.lcdcon1, regs + S3C2410_LCDCON1); in s3c2410fb_activate_var()
454 static void schedule_palette_update(struct s3c2410fb_info *fbi, in schedule_palette_update() argument
459 void __iomem *irq_base = fbi->irq_base; in schedule_palette_update()
463 fbi->palette_buffer[regno] = val; in schedule_palette_update()
465 if (!fbi->palette_ready) { in schedule_palette_update()
466 fbi->palette_ready = 1; in schedule_palette_update()
490 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_setcolreg() local
491 void __iomem *regs = fbi->io; in s3c2410fb_setcolreg()
521 schedule_palette_update(fbi, regno, val); in s3c2410fb_setcolreg()
537 static void s3c2410fb_lcd_enable(struct s3c2410fb_info *fbi, int enable) in s3c2410fb_lcd_enable() argument
544 fbi->regs.lcdcon1 |= S3C2410_LCDCON1_ENVID; in s3c2410fb_lcd_enable()
546 fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_ENVID; in s3c2410fb_lcd_enable()
548 writel(fbi->regs.lcdcon1, fbi->io + S3C2410_LCDCON1); in s3c2410fb_lcd_enable()
569 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_blank() local
570 void __iomem *tpal_reg = fbi->io; in s3c2410fb_blank()
574 tpal_reg += is_s3c2412(fbi) ? S3C2412_TPAL : S3C2410_TPAL; in s3c2410fb_blank()
577 s3c2410fb_lcd_enable(fbi, 0); in s3c2410fb_blank()
579 s3c2410fb_lcd_enable(fbi, 1); in s3c2410fb_blank()
642 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_map_video_memory() local
646 dprintk("map_video_memory(fbi=%p) map_size %u\n", fbi, map_size); in s3c2410fb_map_video_memory()
648 info->screen_base = dma_alloc_writecombine(fbi->dev, map_size, in s3c2410fb_map_video_memory()
668 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_unmap_video_memory() local
670 dma_free_writecombine(fbi->dev, PAGE_ALIGN(info->fix.smem_len), in s3c2410fb_unmap_video_memory()
688 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_init_registers() local
689 struct s3c2410fb_mach_info *mach_info = dev_get_platdata(fbi->dev); in s3c2410fb_init_registers()
691 void __iomem *regs = fbi->io; in s3c2410fb_init_registers()
695 if (is_s3c2412(fbi)) { in s3c2410fb_init_registers()
727 static void s3c2410fb_write_palette(struct s3c2410fb_info *fbi) in s3c2410fb_write_palette() argument
730 void __iomem *regs = fbi->io; in s3c2410fb_write_palette()
732 fbi->palette_ready = 0; in s3c2410fb_write_palette()
735 unsigned long ent = fbi->palette_buffer[i]; in s3c2410fb_write_palette()
747 fbi->palette_buffer[i] = PALETTE_BUFF_CLEAR; in s3c2410fb_write_palette()
749 fbi->palette_ready = 1; /* retry */ in s3c2410fb_write_palette()
755 struct s3c2410fb_info *fbi = dev_id; in s3c2410fb_irq() local
756 void __iomem *irq_base = fbi->irq_base; in s3c2410fb_irq()
760 if (fbi->palette_ready) in s3c2410fb_irq()
761 s3c2410fb_write_palette(fbi); in s3c2410fb_irq()