Lines Matching defs:par
81 struct mb862xxfb_par *par = info->par;
90 par->pseudo_palette[regno] = val;
204 struct mb862xxfb_par *par = fbi->par;
207 dev_dbg(par->dev, "%s\n", __func__);
208 if (par->type == BT_CORALP)
211 if (par->pre_init)
220 sc = par->refclk / (1000000 / fbi->var.pixclock) - 1;
225 dev_dbg(par->dev, "SC 0x%lx\n", sc);
274 struct mb862xxfb_par *par = info->par;
287 struct mb862xxfb_par *par = fbi->par;
315 struct mb862xxfb_par *par = fbi->par;
316 struct mb862xx_l1_cfg *l1_cfg = &par->l1_cfg;
366 outreg(disp, GC_L1DA, par->cap_buf);
372 (par->l1_stride << 16));
422 struct mb862xxfb_par *par = fbi->par;
423 struct mb862xx_gc_mode *mode = par->gc_mode;
428 fbi->pseudo_palette = par->pseudo_palette;
429 fbi->screen_base = par->fb_base;
430 fbi->screen_size = par->mapped_vram;
433 fbi->fix.smem_start = (unsigned long)par->fb_base_phys;
434 fbi->fix.mmio_start = (unsigned long)par->mmio_base_phys;
435 fbi->fix.mmio_len = par->mmio_len;
449 dev_dbg(par->dev, "using bootloader's disp. mode\n");
450 fbi->var.pixclock = (sc * 1000000) / par->refclk;
478 dev_dbg(par->dev, "using supplied mode\n");
487 dev_err(par->dev,
511 dev_err(par->dev, "check_var() failed on initial setup?\n");
523 par->cap_buf = par->mapped_vram - 0x1bd800 - 0x10000;
524 par->cap_len = 0x1bd800;
525 par->l1_cfg.sx = 0;
526 par->l1_cfg.sy = 0;
527 par->l1_cfg.sw = 720;
528 par->l1_cfg.sh = 576;
529 par->l1_cfg.dx = 0;
530 par->l1_cfg.dy = 0;
531 par->l1_cfg.dw = 720;
532 par->l1_cfg.dh = 576;
533 stride = par->l1_cfg.sw * (fbi->var.bits_per_pixel / 8);
534 par->l1_stride = stride / 64 + ((stride % 64) ? 1 : 0);
536 (par->l1_stride << 16));
537 outreg(cap, GC_CAP_CBOA, par->cap_buf);
538 outreg(cap, GC_CAP_CBLA, par->cap_buf + par->cap_len);
549 struct mb862xxfb_par *par = fbi->par;
584 struct mb862xxfb_par *par = (struct mb862xxfb_par *) dev_id;
587 if (!par)
590 if (par->type == BT_CARMINE) {
622 static int mb862xx_gdc_init(struct mb862xxfb_par *par)
627 if (!par)
631 par->pre_init = 1;
633 par->host = par->mmio_base;
634 par->i2c = par->mmio_base + MB862XX_I2C_BASE;
635 par->disp = par->mmio_base + MB862XX_DISP_BASE;
636 par->cap = par->mmio_base + MB862XX_CAP_BASE;
637 par->draw = par->mmio_base + MB862XX_DRAW_BASE;
638 par->geo = par->mmio_base + MB862XX_GEO_BASE;
639 par->pio = par->mmio_base + MB862XX_PIO_BASE;
641 par->refclk = GC_DISP_REFCLK_400;
646 dev_info(par->dev, "Fujitsu Lime v1.%d found\n",
648 par->type = BT_LIME;
649 ccf = par->gc_mode ? par->gc_mode->ccf : GC_CCF_COT_100;
650 mmr = par->gc_mode ? par->gc_mode->mmr : 0x414fb7f2;
652 dev_info(par->dev, "? GDC, CID/Rev.: 0x%lx/0x%lx \n", ver, rev);
656 if (!par->pre_init) {
673 struct mb862xxfb_par *par;
688 par = info->par;
689 par->info = info;
690 par->dev = dev;
692 par->irq = irq_of_parse_and_map(np, 0);
693 if (par->irq == NO_IRQ) {
700 par->res = request_mem_region(res.start, res_size, DRV_NAME);
701 if (par->res == NULL) {
708 par->gc_mode = &socrates_gc_mode;
711 par->fb_base_phys = res.start;
712 par->mmio_base_phys = res.start + MB862XX_MMIO_BASE;
713 par->mmio_len = MB862XX_MMIO_SIZE;
714 if (par->gc_mode)
715 par->mapped_vram = par->gc_mode->max_vram;
717 par->mapped_vram = MB862XX_MEM_SIZE;
719 par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram);
720 if (par->fb_base == NULL) {
725 par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len);
726 if (par->mmio_base == NULL) {
732 (u64)par->fb_base_phys, (ulong)par->mapped_vram);
734 (u64)par->mmio_base_phys, (ulong)par->mmio_len, par->irq);
736 if (mb862xx_gdc_init(par))
739 if (request_irq(par->irq, mb862xx_intr, 0,
740 DRV_NAME, (void *)par)) {
770 free_irq(par->irq, (void *)par);
772 iounmap(par->mmio_base);
774 iounmap(par->fb_base);
778 irq_dispose_mapping(par->irq);
787 struct mb862xxfb_par *par = fbi->par;
788 resource_size_t res_size = resource_size(par->res);
801 free_irq(par->irq, (void *)par);
802 irq_dispose_mapping(par->irq);
809 iounmap(par->mmio_base);
810 iounmap(par->fb_base);
812 release_mem_region(par->res->start, res_size);
843 static int coralp_init(struct mb862xxfb_par *par)
847 par->host = par->mmio_base;
848 par->i2c = par->mmio_base + MB862XX_I2C_BASE;
849 par->disp = par->mmio_base + MB862XX_DISP_BASE;
850 par->cap = par->mmio_base + MB862XX_CAP_BASE;
851 par->draw = par->mmio_base + MB862XX_DRAW_BASE;
852 par->geo = par->mmio_base + MB862XX_GEO_BASE;
853 par->pio = par->mmio_base + MB862XX_PIO_BASE;
855 par->refclk = GC_DISP_REFCLK_400;
857 if (par->mapped_vram >= 0x2000000) {
859 writel(1, par->fb_base + MB862XX_MMIO_BASE + GC_RSW);
869 dev_info(par->dev, "Fujitsu Coral-%s GDC Rev.%d found\n",\
871 par->pdev->revision);
874 par->pre_init = 1;
876 if (!par->pre_init) {
888 mb862xx_i2c_init(par);
892 static int init_dram_ctrl(struct mb862xxfb_par *par)
915 dev_err(par->dev, "VRAM init failed.\n");
924 static int carmine_init(struct mb862xxfb_par *par)
928 par->ctrl = par->mmio_base + MB86297_CTRL_BASE;
929 par->i2c = par->mmio_base + MB86297_I2C_BASE;
930 par->disp = par->mmio_base + MB86297_DISP0_BASE;
931 par->disp1 = par->mmio_base + MB86297_DISP1_BASE;
932 par->cap = par->mmio_base + MB86297_CAP0_BASE;
933 par->cap1 = par->mmio_base + MB86297_CAP1_BASE;
934 par->draw = par->mmio_base + MB86297_DRAW_BASE;
935 par->dram_ctrl = par->mmio_base + MB86297_DRAMCTRL_BASE;
936 par->wrback = par->mmio_base + MB86297_WRBACK_BASE;
938 par->refclk = GC_DISP_REFCLK_533;
946 dev_info(par->dev, "Fujitsu Carmine GDC Rev.%d found\n",
947 par->pdev->revision);
955 if (init_dram_ctrl(par) < 0)
966 static inline int mb862xx_pci_gdc_init(struct mb862xxfb_par *par)
968 switch (par->type) {
970 return coralp_init(par);
972 return carmine_init(par);
995 struct mb862xxfb_par *par;
1012 par = info->par;
1013 par->info = info;
1014 par->dev = dev;
1015 par->pdev = pdev;
1016 par->irq = pdev->irq;
1027 par->fb_base_phys = pci_resource_start(par->pdev, 0);
1028 par->mapped_vram = CORALP_MEM_SIZE;
1029 if (par->mapped_vram >= 0x2000000) {
1030 par->mmio_base_phys = par->fb_base_phys +
1033 par->mmio_base_phys = par->fb_base_phys +
1036 par->mmio_len = MB862XX_MMIO_SIZE;
1037 par->type = BT_CORALP;
1040 par->fb_base_phys = pci_resource_start(par->pdev, 2);
1041 par->mmio_base_phys = pci_resource_start(par->pdev, 3);
1042 par->mmio_len = pci_resource_len(par->pdev, 3);
1043 par->mapped_vram = CARMINE_MEM_SIZE;
1044 par->type = BT_CARMINE;
1052 par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram);
1053 if (par->fb_base == NULL) {
1059 par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len);
1060 if (par->mmio_base == NULL) {
1067 (unsigned long long)par->fb_base_phys, (ulong)par->mapped_vram);
1069 (unsigned long long)par->mmio_base_phys, (ulong)par->mmio_len);
1071 ret = mb862xx_pci_gdc_init(par);
1075 ret = request_irq(par->irq, mb862xx_intr, IRQF_SHARED,
1076 DRV_NAME, (void *)par);
1104 if (par->type == BT_CARMINE)
1114 free_irq(par->irq, (void *)par);
1116 iounmap(par->mmio_base);
1118 iounmap(par->fb_base);
1132 struct mb862xxfb_par *par = fbi->par;
1142 if (par->type == BT_CARMINE) {
1149 mb862xx_i2c_exit(par);
1156 free_irq(par->irq, (void *)par);
1157 iounmap(par->mmio_base);
1158 iounmap(par->fb_base);