Lines Matching refs:par
85 struct mb862xxfb_par *par = info->par; in mb862xxfb_setcolreg() local
94 par->pseudo_palette[regno] = val; in mb862xxfb_setcolreg()
206 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_set_par() local
209 dev_dbg(par->dev, "%s\n", __func__); in mb862xxfb_set_par()
210 if (par->type == BT_CORALP) in mb862xxfb_set_par()
213 if (par->pre_init) in mb862xxfb_set_par()
222 sc = par->refclk / (1000000 / fbi->var.pixclock) - 1; in mb862xxfb_set_par()
227 dev_dbg(par->dev, "SC 0x%lx\n", sc); in mb862xxfb_set_par()
276 struct mb862xxfb_par *par = info->par; in mb862xxfb_pan() local
289 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_blank() local
317 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_ioctl() local
318 struct mb862xx_l1_cfg *l1_cfg = &par->l1_cfg; in mb862xxfb_ioctl()
368 outreg(disp, GC_L1DA, par->cap_buf); in mb862xxfb_ioctl()
374 (par->l1_stride << 16)); in mb862xxfb_ioctl()
424 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_init_fbinfo() local
425 struct mb862xx_gc_mode *mode = par->gc_mode; in mb862xxfb_init_fbinfo()
430 fbi->pseudo_palette = par->pseudo_palette; in mb862xxfb_init_fbinfo()
431 fbi->screen_base = par->fb_base; in mb862xxfb_init_fbinfo()
432 fbi->screen_size = par->mapped_vram; in mb862xxfb_init_fbinfo()
435 fbi->fix.smem_start = (unsigned long)par->fb_base_phys; in mb862xxfb_init_fbinfo()
436 fbi->fix.mmio_start = (unsigned long)par->mmio_base_phys; in mb862xxfb_init_fbinfo()
437 fbi->fix.mmio_len = par->mmio_len; in mb862xxfb_init_fbinfo()
451 dev_dbg(par->dev, "using bootloader's disp. mode\n"); in mb862xxfb_init_fbinfo()
452 fbi->var.pixclock = (sc * 1000000) / par->refclk; in mb862xxfb_init_fbinfo()
480 dev_dbg(par->dev, "using supplied mode\n"); in mb862xxfb_init_fbinfo()
489 dev_err(par->dev, in mb862xxfb_init_fbinfo()
513 dev_err(par->dev, "check_var() failed on initial setup?\n"); in mb862xxfb_init_fbinfo()
525 par->cap_buf = par->mapped_vram - 0x1bd800 - 0x10000; in mb862xxfb_init_fbinfo()
526 par->cap_len = 0x1bd800; in mb862xxfb_init_fbinfo()
527 par->l1_cfg.sx = 0; in mb862xxfb_init_fbinfo()
528 par->l1_cfg.sy = 0; in mb862xxfb_init_fbinfo()
529 par->l1_cfg.sw = 720; in mb862xxfb_init_fbinfo()
530 par->l1_cfg.sh = 576; in mb862xxfb_init_fbinfo()
531 par->l1_cfg.dx = 0; in mb862xxfb_init_fbinfo()
532 par->l1_cfg.dy = 0; in mb862xxfb_init_fbinfo()
533 par->l1_cfg.dw = 720; in mb862xxfb_init_fbinfo()
534 par->l1_cfg.dh = 576; in mb862xxfb_init_fbinfo()
535 stride = par->l1_cfg.sw * (fbi->var.bits_per_pixel / 8); in mb862xxfb_init_fbinfo()
536 par->l1_stride = stride / 64 + ((stride % 64) ? 1 : 0); in mb862xxfb_init_fbinfo()
538 (par->l1_stride << 16)); in mb862xxfb_init_fbinfo()
539 outreg(cap, GC_CAP_CBOA, par->cap_buf); in mb862xxfb_init_fbinfo()
540 outreg(cap, GC_CAP_CBLA, par->cap_buf + par->cap_len); in mb862xxfb_init_fbinfo()
551 struct mb862xxfb_par *par = fbi->par; in mb862xxfb_show_dispregs() local
586 struct mb862xxfb_par *par = (struct mb862xxfb_par *) dev_id; in mb862xx_intr() local
589 if (!par) in mb862xx_intr()
592 if (par->type == BT_CARMINE) { in mb862xx_intr()
624 static int mb862xx_gdc_init(struct mb862xxfb_par *par) in mb862xx_gdc_init() argument
629 if (!par) in mb862xx_gdc_init()
633 par->pre_init = 1; in mb862xx_gdc_init()
635 par->host = par->mmio_base; in mb862xx_gdc_init()
636 par->i2c = par->mmio_base + MB862XX_I2C_BASE; in mb862xx_gdc_init()
637 par->disp = par->mmio_base + MB862XX_DISP_BASE; in mb862xx_gdc_init()
638 par->cap = par->mmio_base + MB862XX_CAP_BASE; in mb862xx_gdc_init()
639 par->draw = par->mmio_base + MB862XX_DRAW_BASE; in mb862xx_gdc_init()
640 par->geo = par->mmio_base + MB862XX_GEO_BASE; in mb862xx_gdc_init()
641 par->pio = par->mmio_base + MB862XX_PIO_BASE; in mb862xx_gdc_init()
643 par->refclk = GC_DISP_REFCLK_400; in mb862xx_gdc_init()
648 dev_info(par->dev, "Fujitsu Lime v1.%d found\n", in mb862xx_gdc_init()
650 par->type = BT_LIME; in mb862xx_gdc_init()
651 ccf = par->gc_mode ? par->gc_mode->ccf : GC_CCF_COT_100; in mb862xx_gdc_init()
652 mmr = par->gc_mode ? par->gc_mode->mmr : 0x414fb7f2; in mb862xx_gdc_init()
654 dev_info(par->dev, "? GDC, CID/Rev.: 0x%lx/0x%lx \n", ver, rev); in mb862xx_gdc_init()
658 if (!par->pre_init) { in mb862xx_gdc_init()
675 struct mb862xxfb_par *par; in of_platform_mb862xx_probe() local
692 par = info->par; in of_platform_mb862xx_probe()
693 par->info = info; in of_platform_mb862xx_probe()
694 par->dev = dev; in of_platform_mb862xx_probe()
696 par->irq = irq_of_parse_and_map(np, 0); in of_platform_mb862xx_probe()
697 if (par->irq == NO_IRQ) { in of_platform_mb862xx_probe()
704 par->res = request_mem_region(res.start, res_size, DRV_NAME); in of_platform_mb862xx_probe()
705 if (par->res == NULL) { in of_platform_mb862xx_probe()
712 par->gc_mode = &socrates_gc_mode; in of_platform_mb862xx_probe()
715 par->fb_base_phys = res.start; in of_platform_mb862xx_probe()
716 par->mmio_base_phys = res.start + MB862XX_MMIO_BASE; in of_platform_mb862xx_probe()
717 par->mmio_len = MB862XX_MMIO_SIZE; in of_platform_mb862xx_probe()
718 if (par->gc_mode) in of_platform_mb862xx_probe()
719 par->mapped_vram = par->gc_mode->max_vram; in of_platform_mb862xx_probe()
721 par->mapped_vram = MB862XX_MEM_SIZE; in of_platform_mb862xx_probe()
723 par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram); in of_platform_mb862xx_probe()
724 if (par->fb_base == NULL) { in of_platform_mb862xx_probe()
729 par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len); in of_platform_mb862xx_probe()
730 if (par->mmio_base == NULL) { in of_platform_mb862xx_probe()
736 (u64)par->fb_base_phys, (ulong)par->mapped_vram); in of_platform_mb862xx_probe()
738 (u64)par->mmio_base_phys, (ulong)par->mmio_len, par->irq); in of_platform_mb862xx_probe()
740 if (mb862xx_gdc_init(par)) in of_platform_mb862xx_probe()
743 if (request_irq(par->irq, mb862xx_intr, 0, in of_platform_mb862xx_probe()
744 DRV_NAME, (void *)par)) { in of_platform_mb862xx_probe()
774 free_irq(par->irq, (void *)par); in of_platform_mb862xx_probe()
776 iounmap(par->mmio_base); in of_platform_mb862xx_probe()
778 iounmap(par->fb_base); in of_platform_mb862xx_probe()
782 irq_dispose_mapping(par->irq); in of_platform_mb862xx_probe()
791 struct mb862xxfb_par *par = fbi->par; in of_platform_mb862xx_remove() local
792 resource_size_t res_size = resource_size(par->res); in of_platform_mb862xx_remove()
805 free_irq(par->irq, (void *)par); in of_platform_mb862xx_remove()
806 irq_dispose_mapping(par->irq); in of_platform_mb862xx_remove()
813 iounmap(par->mmio_base); in of_platform_mb862xx_remove()
814 iounmap(par->fb_base); in of_platform_mb862xx_remove()
816 release_mem_region(par->res->start, res_size); in of_platform_mb862xx_remove()
847 static int coralp_init(struct mb862xxfb_par *par) in coralp_init() argument
851 par->host = par->mmio_base; in coralp_init()
852 par->i2c = par->mmio_base + MB862XX_I2C_BASE; in coralp_init()
853 par->disp = par->mmio_base + MB862XX_DISP_BASE; in coralp_init()
854 par->cap = par->mmio_base + MB862XX_CAP_BASE; in coralp_init()
855 par->draw = par->mmio_base + MB862XX_DRAW_BASE; in coralp_init()
856 par->geo = par->mmio_base + MB862XX_GEO_BASE; in coralp_init()
857 par->pio = par->mmio_base + MB862XX_PIO_BASE; in coralp_init()
859 par->refclk = GC_DISP_REFCLK_400; in coralp_init()
861 if (par->mapped_vram >= 0x2000000) { in coralp_init()
863 writel(1, par->fb_base + MB862XX_MMIO_BASE + GC_RSW); in coralp_init()
873 dev_info(par->dev, "Fujitsu Coral-%s GDC Rev.%d found\n",\ in coralp_init()
875 par->pdev->revision); in coralp_init()
878 par->pre_init = 1; in coralp_init()
880 if (!par->pre_init) { in coralp_init()
892 mb862xx_i2c_init(par); in coralp_init()
896 static int init_dram_ctrl(struct mb862xxfb_par *par) in init_dram_ctrl() argument
919 dev_err(par->dev, "VRAM init failed.\n"); in init_dram_ctrl()
928 static int carmine_init(struct mb862xxfb_par *par) in carmine_init() argument
932 par->ctrl = par->mmio_base + MB86297_CTRL_BASE; in carmine_init()
933 par->i2c = par->mmio_base + MB86297_I2C_BASE; in carmine_init()
934 par->disp = par->mmio_base + MB86297_DISP0_BASE; in carmine_init()
935 par->disp1 = par->mmio_base + MB86297_DISP1_BASE; in carmine_init()
936 par->cap = par->mmio_base + MB86297_CAP0_BASE; in carmine_init()
937 par->cap1 = par->mmio_base + MB86297_CAP1_BASE; in carmine_init()
938 par->draw = par->mmio_base + MB86297_DRAW_BASE; in carmine_init()
939 par->dram_ctrl = par->mmio_base + MB86297_DRAMCTRL_BASE; in carmine_init()
940 par->wrback = par->mmio_base + MB86297_WRBACK_BASE; in carmine_init()
942 par->refclk = GC_DISP_REFCLK_533; in carmine_init()
950 dev_info(par->dev, "Fujitsu Carmine GDC Rev.%d found\n", in carmine_init()
951 par->pdev->revision); in carmine_init()
959 if (init_dram_ctrl(par) < 0) in carmine_init()
970 static inline int mb862xx_pci_gdc_init(struct mb862xxfb_par *par) in mb862xx_pci_gdc_init() argument
972 switch (par->type) { in mb862xx_pci_gdc_init()
974 return coralp_init(par); in mb862xx_pci_gdc_init()
976 return carmine_init(par); in mb862xx_pci_gdc_init()
999 struct mb862xxfb_par *par; in mb862xx_pci_probe() local
1017 par = info->par; in mb862xx_pci_probe()
1018 par->info = info; in mb862xx_pci_probe()
1019 par->dev = dev; in mb862xx_pci_probe()
1020 par->pdev = pdev; in mb862xx_pci_probe()
1021 par->irq = pdev->irq; in mb862xx_pci_probe()
1032 par->fb_base_phys = pci_resource_start(par->pdev, 0); in mb862xx_pci_probe()
1033 par->mapped_vram = CORALP_MEM_SIZE; in mb862xx_pci_probe()
1034 if (par->mapped_vram >= 0x2000000) { in mb862xx_pci_probe()
1035 par->mmio_base_phys = par->fb_base_phys + in mb862xx_pci_probe()
1038 par->mmio_base_phys = par->fb_base_phys + in mb862xx_pci_probe()
1041 par->mmio_len = MB862XX_MMIO_SIZE; in mb862xx_pci_probe()
1042 par->type = BT_CORALP; in mb862xx_pci_probe()
1045 par->fb_base_phys = pci_resource_start(par->pdev, 2); in mb862xx_pci_probe()
1046 par->mmio_base_phys = pci_resource_start(par->pdev, 3); in mb862xx_pci_probe()
1047 par->mmio_len = pci_resource_len(par->pdev, 3); in mb862xx_pci_probe()
1048 par->mapped_vram = CARMINE_MEM_SIZE; in mb862xx_pci_probe()
1049 par->type = BT_CARMINE; in mb862xx_pci_probe()
1057 par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram); in mb862xx_pci_probe()
1058 if (par->fb_base == NULL) { in mb862xx_pci_probe()
1064 par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len); in mb862xx_pci_probe()
1065 if (par->mmio_base == NULL) { in mb862xx_pci_probe()
1072 (unsigned long long)par->fb_base_phys, (ulong)par->mapped_vram); in mb862xx_pci_probe()
1074 (unsigned long long)par->mmio_base_phys, (ulong)par->mmio_len); in mb862xx_pci_probe()
1076 ret = mb862xx_pci_gdc_init(par); in mb862xx_pci_probe()
1080 ret = request_irq(par->irq, mb862xx_intr, IRQF_SHARED, in mb862xx_pci_probe()
1081 DRV_NAME, (void *)par); in mb862xx_pci_probe()
1109 if (par->type == BT_CARMINE) in mb862xx_pci_probe()
1119 free_irq(par->irq, (void *)par); in mb862xx_pci_probe()
1121 iounmap(par->mmio_base); in mb862xx_pci_probe()
1123 iounmap(par->fb_base); in mb862xx_pci_probe()
1137 struct mb862xxfb_par *par = fbi->par; in mb862xx_pci_remove() local
1147 if (par->type == BT_CARMINE) { in mb862xx_pci_remove()
1154 mb862xx_i2c_exit(par); in mb862xx_pci_remove()
1161 free_irq(par->irq, (void *)par); in mb862xx_pci_remove()
1162 iounmap(par->mmio_base); in mb862xx_pci_remove()
1163 iounmap(par->fb_base); in mb862xx_pci_remove()