Lines Matching refs:ffb
293 int cache = fb->s.ffb.fifo_cache; in FFBFifo()
296 fbc = fb->s.ffb.fbc; in FFBFifo()
300 fb->s.ffb.fifo_cache = cache - n; in FFBFifo()
303 static __inline__ void FFBWait(struct ffb_fbc *ffb) in FFBWait() argument
308 if ((upa_readl(&ffb->ucsr) & FFB_UCSR_ALL_BUSY) == 0) in FFBWait()
310 if ((upa_readl(&ffb->ucsr) & FFB_UCSR_ALL_ERRORS) != 0) { in FFBWait()
311 upa_writel(FFB_UCSR_ALL_ERRORS, &ffb->ucsr); in FFBWait()
364 register struct ffb_fbc *fbc = fb->s.ffb.fbc; in ffb_clear()
371 if (fg != fb->s.ffb.fg_cache) { in ffb_clear()
374 fb->s.ffb.fg_cache = fg; in ffb_clear()
388 upa_writeq(yx + fb->s.ffb.yx_margin, &fbc->by); in ffb_clear()
396 register struct ffb_fbc *fbc = fb->s.ffb.fbc; in ffb_fill()
402 if (fg != fb->s.ffb.fg_cache) { in ffb_fill()
405 fb->s.ffb.fg_cache = fg; in ffb_fill()
421 register struct ffb_fbc *fbc = fb->s.ffb.fbc; in ffb_putc()
440 xy += (xx << fontwidthlog(p)) + fb->s.ffb.xy_margin; in ffb_putc()
442 xy += (xx * fontwidth(p)) + fb->s.ffb.xy_margin; in ffb_putc()
445 if (fgbg != *(u64 *)&fb->s.ffb.fg_cache) { in ffb_putc()
448 *(u64 *)&fb->s.ffb.fg_cache = fgbg; in ffb_putc()
474 register struct ffb_fbc *fbc = fb->s.ffb.fbc; in ffb_putcs()
485 if (fgbg != *(u64 *)&fb->s.ffb.fg_cache) { in ffb_putcs()
488 *(u64 *)&fb->s.ffb.fg_cache = fgbg; in ffb_putcs()
490 xy = fb->s.ffb.xy_margin; in ffb_putcs()
594 struct ffb_dac *dac = fb->s.ffb.dac;
609 struct ffb_dac *dac = fb->s.ffb.dac; in ffb_unblank()
623 struct ffb_dac *dac = fb->s.ffb.dac; in ffb_loadcmap()
660 register struct ffb_fbc *fbc = fb->s.ffb.fbc; in ffb_margins()
664 fb->s.ffb.xy_margin = (y_margin << 16) + x_margin; in ffb_margins()
665 fb->s.ffb.yx_margin = (((u64)y_margin) << 32) + x_margin; in ffb_margins()
673 struct ffb_dac *dac = fb->s.ffb.dac; in __ffb_curs_enable()
677 if (fb->s.ffb.dac_rev <= 2) { in __ffb_curs_enable()
687 struct ffb_dac *dac = fb->s.ffb.dac; in ffb_setcursormap()
701 struct ffb_dac *dac = fb->s.ffb.dac; in ffb_setcurshape()
727 struct ffb_dac *dac = fb->s.ffb.dac; in ffb_setcursor()
745 register struct ffb_fbc *fbc = fb->s.ffb.fbc; in ffb_switch_from_graph()
750 fb->s.ffb.fifo_cache = 0; in ffb_switch_from_graph()
760 upa_writel(fb->s.ffb.fg_cache, &fbc->fg); in ffb_switch_from_graph()
761 upa_writel(fb->s.ffb.bg_cache, &fbc->bg); in ffb_switch_from_graph()
863 fb->s.ffb.xy_margin = (fb->y_margin << 16) + fb->x_margin; in creatorfb_init()
864 fb->s.ffb.yx_margin = (((u64)fb->y_margin) << 32) + fb->x_margin; in creatorfb_init()
865 fb->s.ffb.fbc = (struct ffb_fbc *)(regs[0].phys_addr + FFB_FBC_REGS_POFF); in creatorfb_init()
866 fb->s.ffb.dac = (struct ffb_dac *)(regs[0].phys_addr + FFB_DAC_POFF); in creatorfb_init()
890 if((upa_readl(&fb->s.ffb.fbc->ucsr) & FFB_UCSR_ALL_ERRORS) != 0) in creatorfb_init()
891 upa_writel(FFB_UCSR_ALL_ERRORS, &fb->s.ffb.fbc->ucsr); in creatorfb_init()
903 upa_writel(0x8000, &fb->s.ffb.dac->type); in creatorfb_init()
904 fb->s.ffb.dac_rev = (upa_readl(&fb->s.ffb.dac->value) >> 0x1c); in creatorfb_init()
909 fix->id, regs[0].phys_addr, i, fb->s.ffb.dac_rev); in creatorfb_init()
914 fb->s.ffb.dac_rev = 10; in creatorfb_init()