Lines Matching defs:info

65 static void s3c2410fb_set_lcdaddr(struct fb_info *info)
68 struct s3c2410fb_info *fbi = info->par;
71 saddr1 = info->fix.smem_start >> 1;
72 saddr2 = info->fix.smem_start;
73 saddr2 += info->fix.line_length * info->var.yres;
77 S3C2410_PAGEWIDTH((info->fix.line_length / 2) & 0x3ff);
118 struct fb_info *info)
120 struct s3c2410fb_info *fbi = info->par;
128 dprintk("check_var(var=%p, info=%p)\n", var, info);
246 static void s3c2410fb_calculate_stn_lcd_regs(const struct fb_info *info,
249 const struct s3c2410fb_info *fbi = info->par;
250 const struct fb_var_screeninfo *var = &info->var;
283 /* update X/Y info */
306 static void s3c2410fb_calculate_tft_lcd_regs(const struct fb_info *info,
309 const struct s3c2410fb_info *fbi = info->par;
310 const struct fb_var_screeninfo *var = &info->var;
344 /* update X/Y info */
368 static void s3c2410fb_activate_var(struct fb_info *info)
370 struct s3c2410fb_info *fbi = info->par;
373 struct fb_var_screeninfo *var = &info->var;
383 s3c2410fb_calculate_tft_lcd_regs(info, &fbi->regs);
388 s3c2410fb_calculate_stn_lcd_regs(info, &fbi->regs);
412 s3c2410fb_set_lcdaddr(info);
420 * @info: frame buffer structure that represents a single frame buffer
423 static int s3c2410fb_set_par(struct fb_info *info)
425 struct fb_var_screeninfo *var = &info->var;
431 info->fix.visual = FB_VISUAL_TRUECOLOR;
434 info->fix.visual = FB_VISUAL_MONO01;
437 info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
441 info->fix.line_length = (var->xres_virtual * var->bits_per_pixel) / 8;
445 s3c2410fb_activate_var(info);
483 unsigned transp, struct fb_info *info)
485 struct s3c2410fb_info *fbi = info->par;
492 switch (info->fix.visual) {
497 u32 *pal = info->pseudo_palette;
499 val = chan_to_field(red, &info->var.red);
500 val |= chan_to_field(green, &info->var.green);
501 val |= chan_to_field(blue, &info->var.blue);
552 * @info: frame buffer structure that represents a single frame buffer
562 static int s3c2410fb_blank(int blank_mode, struct fb_info *info)
564 struct s3c2410fb_info *fbi = info->par;
567 dprintk("blank(mode=%d, info=%p)\n", blank_mode, info);
635 static int s3c2410fb_map_video_memory(struct fb_info *info)
637 struct s3c2410fb_info *fbi = info->par;
639 unsigned map_size = PAGE_ALIGN(info->fix.smem_len);
643 info->screen_base = dma_alloc_wc(fbi->dev, map_size, &map_dma,
646 if (info->screen_base) {
649 info->screen_base, map_size);
650 memset(info->screen_base, 0x00, map_size);
652 info->fix.smem_start = map_dma;
655 info->fix.smem_start, info->screen_base, map_size);
658 return info->screen_base ? 0 : -ENOMEM;
661 static inline void s3c2410fb_unmap_video_memory(struct fb_info *info)
663 struct s3c2410fb_info *fbi = info->par;
665 dma_free_wc(fbi->dev, PAGE_ALIGN(info->fix.smem_len),
666 info->screen_base, info->fix.smem_start);
684 static int s3c2410fb_init_registers(struct fb_info *info)
686 struct s3c2410fb_info *fbi = info->par;
773 struct s3c2410fb_info *info;
777 info = container_of(nb, struct s3c2410fb_info, freq_transition);
778 fbinfo = dev_get_drvdata(info->dev);
781 delta_f = info->clk_rate - clk_get_rate(info->clk);
785 info->clk_rate = clk_get_rate(info->clk);
792 static inline int s3c2410fb_cpufreq_register(struct s3c2410fb_info *info)
794 info->freq_transition.notifier_call = s3c2410fb_cpufreq_transition;
796 return cpufreq_register_notifier(&info->freq_transition,
800 static inline void s3c2410fb_cpufreq_deregister(struct s3c2410fb_info *info)
802 cpufreq_unregister_notifier(&info->freq_transition,
807 static inline int s3c2410fb_cpufreq_register(struct s3c2410fb_info *info)
812 static inline void s3c2410fb_cpufreq_deregister(struct s3c2410fb_info *info)
823 struct s3c2410fb_info *info;
861 info = fbinfo->par;
862 info->dev = &pdev->dev;
863 info->drv_type = drv_type;
873 info->mem = request_mem_region(res->start, size, pdev->name);
874 if (info->mem == NULL) {
880 info->io = ioremap(res->start, size);
881 if (info->io == NULL) {
888 info->irq_base = info->io + S3C2412_LCDINTBASE;
890 info->irq_base = info->io + S3C2410_LCDINTBASE;
897 lcdcon1 = readl(info->io + S3C2410_LCDCON1);
898 writel(lcdcon1 & ~S3C2410_LCDCON1_ENVID, info->io + S3C2410_LCDCON1);
914 fbinfo->pseudo_palette = &info->pseudo_pal;
917 info->palette_buffer[i] = PALETTE_BUFF_CLEAR;
919 ret = request_irq(irq, s3c2410fb_irq, 0, pdev->name, info);
926 info->clk = clk_get(NULL, "lcd");
927 if (IS_ERR(info->clk)) {
929 ret = PTR_ERR(info->clk);
933 clk_prepare_enable(info->clk);
938 info->clk_rate = clk_get_rate(info->clk);
969 ret = s3c2410fb_cpufreq_register(info);
993 s3c2410fb_cpufreq_deregister(info);
997 clk_disable_unprepare(info->clk);
998 clk_put(info->clk);
1000 free_irq(irq, info);
1002 iounmap(info->io);
1027 struct s3c2410fb_info *info = fbinfo->par;
1031 s3c2410fb_cpufreq_deregister(info);
1033 s3c2410fb_lcd_enable(info, 0);
1038 if (info->clk) {
1039 clk_disable_unprepare(info->clk);
1040 clk_put(info->clk);
1041 info->clk = NULL;
1045 free_irq(irq, info);
1047 iounmap(info->io);
1049 release_mem_region(info->mem->start, resource_size(info->mem));
1062 struct s3c2410fb_info *info = fbinfo->par;
1064 s3c2410fb_lcd_enable(info, 0);
1071 clk_disable_unprepare(info->clk);
1079 struct s3c2410fb_info *info = fbinfo->par;
1081 clk_prepare_enable(info->clk);