Lines Matching refs:info

70 static void s3c2410fb_set_lcdaddr(struct fb_info *info)  in s3c2410fb_set_lcdaddr()  argument
73 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_set_lcdaddr()
76 saddr1 = info->fix.smem_start >> 1; in s3c2410fb_set_lcdaddr()
77 saddr2 = info->fix.smem_start; in s3c2410fb_set_lcdaddr()
78 saddr2 += info->fix.line_length * info->var.yres; in s3c2410fb_set_lcdaddr()
82 S3C2410_PAGEWIDTH((info->fix.line_length / 2) & 0x3ff); in s3c2410fb_set_lcdaddr()
123 struct fb_info *info) in s3c2410fb_check_var() argument
125 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_check_var()
133 dprintk("check_var(var=%p, info=%p)\n", var, info); in s3c2410fb_check_var()
251 static void s3c2410fb_calculate_stn_lcd_regs(const struct fb_info *info, in s3c2410fb_calculate_stn_lcd_regs() argument
254 const struct s3c2410fb_info *fbi = info->par; in s3c2410fb_calculate_stn_lcd_regs()
255 const struct fb_var_screeninfo *var = &info->var; in s3c2410fb_calculate_stn_lcd_regs()
311 static void s3c2410fb_calculate_tft_lcd_regs(const struct fb_info *info, in s3c2410fb_calculate_tft_lcd_regs() argument
314 const struct s3c2410fb_info *fbi = info->par; in s3c2410fb_calculate_tft_lcd_regs()
315 const struct fb_var_screeninfo *var = &info->var; in s3c2410fb_calculate_tft_lcd_regs()
373 static void s3c2410fb_activate_var(struct fb_info *info) in s3c2410fb_activate_var() argument
375 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_activate_var()
378 struct fb_var_screeninfo *var = &info->var; 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()
417 s3c2410fb_set_lcdaddr(info); in s3c2410fb_activate_var()
428 static int s3c2410fb_set_par(struct fb_info *info) in s3c2410fb_set_par() argument
430 struct fb_var_screeninfo *var = &info->var; in s3c2410fb_set_par()
436 info->fix.visual = FB_VISUAL_TRUECOLOR; in s3c2410fb_set_par()
439 info->fix.visual = FB_VISUAL_MONO01; in s3c2410fb_set_par()
442 info->fix.visual = FB_VISUAL_PSEUDOCOLOR; in s3c2410fb_set_par()
446 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel) / 8; in s3c2410fb_set_par()
450 s3c2410fb_activate_var(info); in s3c2410fb_set_par()
488 unsigned transp, struct fb_info *info) in s3c2410fb_setcolreg() argument
490 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_setcolreg()
497 switch (info->fix.visual) { in s3c2410fb_setcolreg()
502 u32 *pal = info->pseudo_palette; in s3c2410fb_setcolreg()
504 val = chan_to_field(red, &info->var.red); in s3c2410fb_setcolreg()
505 val |= chan_to_field(green, &info->var.green); in s3c2410fb_setcolreg()
506 val |= chan_to_field(blue, &info->var.blue); in s3c2410fb_setcolreg()
567 static int s3c2410fb_blank(int blank_mode, struct fb_info *info) in s3c2410fb_blank() argument
569 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_blank()
572 dprintk("blank(mode=%d, info=%p)\n", blank_mode, info); in s3c2410fb_blank()
640 static int s3c2410fb_map_video_memory(struct fb_info *info) in s3c2410fb_map_video_memory() argument
642 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_map_video_memory()
644 unsigned map_size = PAGE_ALIGN(info->fix.smem_len); in s3c2410fb_map_video_memory()
648 info->screen_base = dma_alloc_writecombine(fbi->dev, map_size, in s3c2410fb_map_video_memory()
651 if (info->screen_base) { in s3c2410fb_map_video_memory()
654 info->screen_base, map_size); in s3c2410fb_map_video_memory()
655 memset(info->screen_base, 0x00, map_size); in s3c2410fb_map_video_memory()
657 info->fix.smem_start = map_dma; in s3c2410fb_map_video_memory()
660 info->fix.smem_start, info->screen_base, map_size); in s3c2410fb_map_video_memory()
663 return info->screen_base ? 0 : -ENOMEM; in s3c2410fb_map_video_memory()
666 static inline void s3c2410fb_unmap_video_memory(struct fb_info *info) in s3c2410fb_unmap_video_memory() argument
668 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_unmap_video_memory()
670 dma_free_writecombine(fbi->dev, PAGE_ALIGN(info->fix.smem_len), in s3c2410fb_unmap_video_memory()
671 info->screen_base, info->fix.smem_start); in s3c2410fb_unmap_video_memory()
686 static int s3c2410fb_init_registers(struct fb_info *info) in s3c2410fb_init_registers() argument
688 struct s3c2410fb_info *fbi = info->par; in s3c2410fb_init_registers()
775 struct s3c2410fb_info *info; in s3c2410fb_cpufreq_transition() local
779 info = container_of(nb, struct s3c2410fb_info, freq_transition); in s3c2410fb_cpufreq_transition()
780 fbinfo = platform_get_drvdata(to_platform_device(info->dev)); in s3c2410fb_cpufreq_transition()
783 delta_f = info->clk_rate - clk_get_rate(info->clk); in s3c2410fb_cpufreq_transition()
787 info->clk_rate = clk_get_rate(info->clk); in s3c2410fb_cpufreq_transition()
794 static inline int s3c2410fb_cpufreq_register(struct s3c2410fb_info *info) in s3c2410fb_cpufreq_register() argument
796 info->freq_transition.notifier_call = s3c2410fb_cpufreq_transition; in s3c2410fb_cpufreq_register()
798 return cpufreq_register_notifier(&info->freq_transition, in s3c2410fb_cpufreq_register()
802 static inline void s3c2410fb_cpufreq_deregister(struct s3c2410fb_info *info) in s3c2410fb_cpufreq_deregister() argument
804 cpufreq_unregister_notifier(&info->freq_transition, in s3c2410fb_cpufreq_deregister()
809 static inline int s3c2410fb_cpufreq_register(struct s3c2410fb_info *info) in s3c2410fb_cpufreq_register() argument
814 static inline void s3c2410fb_cpufreq_deregister(struct s3c2410fb_info *info) in s3c2410fb_cpufreq_deregister() argument
825 struct s3c2410fb_info *info; in s3c24xxfb_probe() local
863 info = fbinfo->par; in s3c24xxfb_probe()
864 info->dev = &pdev->dev; in s3c24xxfb_probe()
865 info->drv_type = drv_type; in s3c24xxfb_probe()
875 info->mem = request_mem_region(res->start, size, pdev->name); in s3c24xxfb_probe()
876 if (info->mem == NULL) { in s3c24xxfb_probe()
882 info->io = ioremap(res->start, size); in s3c24xxfb_probe()
883 if (info->io == NULL) { in s3c24xxfb_probe()
890 info->irq_base = info->io + S3C2412_LCDINTBASE; in s3c24xxfb_probe()
892 info->irq_base = info->io + S3C2410_LCDINTBASE; in s3c24xxfb_probe()
899 lcdcon1 = readl(info->io + S3C2410_LCDCON1); in s3c24xxfb_probe()
900 writel(lcdcon1 & ~S3C2410_LCDCON1_ENVID, info->io + S3C2410_LCDCON1); in s3c24xxfb_probe()
916 fbinfo->pseudo_palette = &info->pseudo_pal; in s3c24xxfb_probe()
919 info->palette_buffer[i] = PALETTE_BUFF_CLEAR; in s3c24xxfb_probe()
921 ret = request_irq(irq, s3c2410fb_irq, 0, pdev->name, info); in s3c24xxfb_probe()
928 info->clk = clk_get(NULL, "lcd"); in s3c24xxfb_probe()
929 if (IS_ERR(info->clk)) { in s3c24xxfb_probe()
931 ret = PTR_ERR(info->clk); in s3c24xxfb_probe()
935 clk_prepare_enable(info->clk); in s3c24xxfb_probe()
940 info->clk_rate = clk_get_rate(info->clk); in s3c24xxfb_probe()
971 ret = s3c2410fb_cpufreq_register(info); in s3c24xxfb_probe()
995 s3c2410fb_cpufreq_deregister(info); in s3c24xxfb_probe()
999 clk_disable_unprepare(info->clk); in s3c24xxfb_probe()
1000 clk_put(info->clk); in s3c24xxfb_probe()
1002 free_irq(irq, info); in s3c24xxfb_probe()
1004 iounmap(info->io); in s3c24xxfb_probe()
1029 struct s3c2410fb_info *info = fbinfo->par; in s3c2410fb_remove() local
1033 s3c2410fb_cpufreq_deregister(info); in s3c2410fb_remove()
1035 s3c2410fb_lcd_enable(info, 0); in s3c2410fb_remove()
1040 if (info->clk) { in s3c2410fb_remove()
1041 clk_disable_unprepare(info->clk); in s3c2410fb_remove()
1042 clk_put(info->clk); in s3c2410fb_remove()
1043 info->clk = NULL; in s3c2410fb_remove()
1047 free_irq(irq, info); in s3c2410fb_remove()
1049 iounmap(info->io); in s3c2410fb_remove()
1051 release_mem_region(info->mem->start, resource_size(info->mem)); in s3c2410fb_remove()
1064 struct s3c2410fb_info *info = fbinfo->par; in s3c2410fb_suspend() local
1066 s3c2410fb_lcd_enable(info, 0); in s3c2410fb_suspend()
1073 clk_disable_unprepare(info->clk); in s3c2410fb_suspend()
1081 struct s3c2410fb_info *info = fbinfo->par; in s3c2410fb_resume() local
1083 clk_prepare_enable(info->clk); in s3c2410fb_resume()