Lines Matching defs:par
376 static void FFBFifo(struct ffb_par *par, int n)
379 int cache = par->fifo_cache;
382 fbc = par->fbc;
388 par->fifo_cache = cache - n;
391 static void FFBWait(struct ffb_par *par)
396 fbc = par->fbc;
409 struct ffb_par *par = (struct ffb_par *)p->par;
411 FFBWait(par);
415 static __inline__ void ffb_rop(struct ffb_par *par, u32 rop)
417 if (par->rop_cache != rop) {
418 FFBFifo(par, 1);
419 upa_writel(rop, &par->fbc->rop);
420 par->rop_cache = rop;
424 static void ffb_switch_from_graph(struct ffb_par *par)
426 struct ffb_fbc __iomem *fbc = par->fbc;
427 struct ffb_dac __iomem *dac = par->dac;
430 spin_lock_irqsave(&par->lock, flags);
431 FFBWait(par);
432 par->fifo_cache = 0;
433 FFBFifo(par, 7);
438 upa_writel(par->rop_cache, &fbc->rop);
441 upa_writel(par->fg_cache, &fbc->fg);
442 upa_writel(par->bg_cache, &fbc->bg);
443 FFBWait(par);
447 if (par->flags & FFB_FLAG_INVCURSOR)
453 spin_unlock_irqrestore(&par->lock, flags);
458 struct ffb_par *par = (struct ffb_par *)info->par;
463 ffb_switch_from_graph(par);
478 struct ffb_par *par = (struct ffb_par *)info->par;
479 struct ffb_fbc __iomem *fbc = par->fbc;
487 spin_lock_irqsave(&par->lock, flags);
489 if (fg != par->fg_cache) {
490 FFBFifo(par, 1);
492 par->fg_cache = fg;
495 ffb_rop(par, rect->rop == ROP_COPY ?
499 FFBFifo(par, 5);
506 spin_unlock_irqrestore(&par->lock, flags);
518 struct ffb_par *par = (struct ffb_par *)info->par;
519 struct ffb_fbc __iomem *fbc = par->fbc;
528 spin_lock_irqsave(&par->lock, flags);
530 ffb_rop(par, FFB_ROP_OLD);
532 FFBFifo(par, 7);
541 spin_unlock_irqrestore(&par->lock, flags);
552 struct ffb_par *par = (struct ffb_par *)info->par;
553 struct ffb_fbc __iomem *fbc = par->fbc;
572 spin_lock_irqsave(&par->lock, flags);
574 if (fgbg != *(u64 *)&par->fg_cache) {
575 FFBFifo(par, 2);
577 *(u64 *)&par->fg_cache = fgbg;
581 FFBFifo(par, 1);
588 FFBFifo(par, 1);
597 FFBFifo(par, 1);
608 FFBFifo(par, 2);
617 FFBFifo(par, 1);
624 spin_unlock_irqrestore(&par->lock, flags);
675 struct ffb_par *par = (struct ffb_par *)info->par;
676 struct ffb_dac __iomem *dac = par->dac;
681 spin_lock_irqsave(&par->lock, flags);
683 FFBWait(par);
690 par->flags &= ~FFB_FLAG_BLANKED;
698 par->flags |= FFB_FLAG_BLANKED;
708 spin_unlock_irqrestore(&par->lock, flags);
854 struct ffb_par *par = (struct ffb_par *)info->par;
857 par->physbase, par->fbsize,
863 struct ffb_par *par = (struct ffb_par *)info->par;
866 FBTYPE_CREATOR, 24, par->fbsize);
875 struct ffb_par *par = (struct ffb_par *)info->par;
878 if (!(par->flags & FFB_FLAG_AFB)) {
879 if ((par->board_type & 0x7) == 0x3)
903 struct ffb_par *par;
913 par = info->par;
915 spin_lock_init(&par->lock);
916 par->fbc = of_ioremap(&op->resource[2], 0,
918 if (!par->fbc)
921 par->dac = of_ioremap(&op->resource[1], 0,
923 if (!par->dac)
926 par->rop_cache = FFB_ROP_NEW;
927 par->physbase = op->resource[0].start;
939 info->screen_base = (char *) par->physbase + FFB_DFB24_POFF;
940 info->pseudo_palette = par->pseudo_palette;
943 par->fbsize = PAGE_ALIGN(info->var.xres * info->var.yres * 4);
949 par->flags |= FFB_FLAG_AFB;
951 par->board_type = of_getintprop_default(dp, "board_type", 0);
953 fbc = par->fbc;
957 dac = par->dac;
974 if ((par->flags & FFB_FLAG_AFB) || dac_pnum == 0x236e) {
975 par->flags &= ~FFB_FLAG_INVCURSOR;
978 par->flags |= FFB_FLAG_INVCURSOR;
981 ffb_switch_from_graph(par);
1004 ((par->flags & FFB_FLAG_AFB) ? "AFB" : "FFB"),
1005 par->physbase, par->board_type,
1014 of_iounmap(&op->resource[1], par->dac, sizeof(struct ffb_dac));
1017 of_iounmap(&op->resource[2], par->fbc, sizeof(struct ffb_fbc));
1029 struct ffb_par *par = info->par;
1034 of_iounmap(&op->resource[2], par->fbc, sizeof(struct ffb_fbc));
1035 of_iounmap(&op->resource[1], par->dac, sizeof(struct ffb_dac));