Lines Matching refs:fb_regs
30 static unsigned long fb_regs; variable
95 while (in_be16(fb_regs + 0x6002) & 0x4) udelay(1); in hpfb_setcolreg()
97 out_be16(fb_regs + 0x60ba, 0xff); in hpfb_setcolreg()
99 out_be16(fb_regs + 0x60b2, _red); in hpfb_setcolreg()
100 out_be16(fb_regs + 0x60b4, _green); in hpfb_setcolreg()
101 out_be16(fb_regs + 0x60b6, _blue); in hpfb_setcolreg()
102 out_be16(fb_regs + 0x60b8, ~_regno); in hpfb_setcolreg()
103 out_be16(fb_regs + 0x60f0, 0xff); in hpfb_setcolreg()
107 while (in_be16(fb_regs + 0x6002) & 0x4) udelay(1); in hpfb_setcolreg()
108 out_be16(fb_regs + 0x60b2, 0); in hpfb_setcolreg()
109 out_be16(fb_regs + 0x60b4, 0); in hpfb_setcolreg()
110 out_be16(fb_regs + 0x60b6, 0); in hpfb_setcolreg()
111 out_be16(fb_regs + 0x60b8, 0); in hpfb_setcolreg()
120 out_8(fb_regs + TC_NBLANK, (blank ? 0x00 : fb_bitmask)); in hpfb_blank()
128 while (in_8(fb_regs + BUSY) & fb_bitmask) in topcat_blit()
131 out_8(fb_regs + TC_FBEN, fb_bitmask); in topcat_blit()
133 out_8(fb_regs + TC_WEN, fb_bitmask); in topcat_blit()
134 out_8(fb_regs + WMRR, rr); in topcat_blit()
136 out_be16(fb_regs + SOURCE_X, x0); in topcat_blit()
137 out_be16(fb_regs + SOURCE_Y, y0); in topcat_blit()
138 out_be16(fb_regs + DEST_X, x1); in topcat_blit()
139 out_be16(fb_regs + DEST_Y, y1); in topcat_blit()
140 out_be16(fb_regs + WWIDTH, w); in topcat_blit()
141 out_be16(fb_regs + WHEIGHT, h); in topcat_blit()
142 out_8(fb_regs + WMOVE, fb_bitmask); in topcat_blit()
156 while (in_8(fb_regs + BUSY) & fb_bitmask) in hpfb_fillrect()
160 out_8(fb_regs + TC_WEN, fb_bitmask & clr); in hpfb_fillrect()
161 out_8(fb_regs + WMRR, (region->rop == ROP_COPY ? RR_SET : RR_INVERT)); in hpfb_fillrect()
164 out_8(fb_regs + TC_WEN, fb_bitmask & ~clr); in hpfb_fillrect()
165 out_8(fb_regs + WMRR, (region->rop == ROP_COPY ? RR_CLEAR : RR_NOOP)); in hpfb_fillrect()
176 while (in_8(fb_regs + BUSY) & fb_bitmask) in hpfb_sync()
179 out_8(fb_regs + TC_WEN, fb_bitmask); in hpfb_sync()
180 out_8(fb_regs + TC_PRR, RR_COPY); in hpfb_sync()
181 out_8(fb_regs + TC_FBEN, fb_bitmask); in hpfb_sync()
214 fb_regs = virt_base; in hpfb_init_one()
215 fboff = (in_8(fb_regs + HPFB_FBOMSB) << 8) | in_8(fb_regs + HPFB_FBOLSB); in hpfb_init_one()
217 fb_info.fix.smem_start = (in_8(fb_regs + fboff) << 16); in hpfb_init_one()
223 if (DIO_SECID(fb_regs) != DIO_ID2_TOPCAT) { in hpfb_init_one()
225 while (in_be16(fb_regs+0x4800) & 1) in hpfb_init_one()
227 out_be16(fb_regs+0x4800, 0); /* Catseye status */ in hpfb_init_one()
228 out_be16(fb_regs+0x4510, 0); /* VB */ in hpfb_init_one()
229 out_be16(fb_regs+0x4512, 0); /* TCNTRL */ in hpfb_init_one()
230 out_be16(fb_regs+0x4514, 0); /* ACNTRL */ in hpfb_init_one()
231 out_be16(fb_regs+0x4516, 0); /* PNCNTRL */ in hpfb_init_one()
232 out_be16(fb_regs+0x4206, 0x90); /* RUG Command/Status */ in hpfb_init_one()
233 out_be16(fb_regs+0x60a2, 0); /* Overlay Mask */ in hpfb_init_one()
234 out_be16(fb_regs+0x60bc, 0); /* Ram Select */ in hpfb_init_one()
240 fb_width = (in_8(fb_regs + HPFB_FBWMSB) << 8) | in_8(fb_regs + HPFB_FBWLSB); in hpfb_init_one()
242 fb_height = (in_8(fb_regs + HPFB_FBHMSB) << 8) | in_8(fb_regs + HPFB_FBHLSB); in hpfb_init_one()
246 hpfb_defined.xres = (in_8(fb_regs + HPFB_DWMSB) << 8) | in_8(fb_regs + HPFB_DWLSB); in hpfb_init_one()
247 hpfb_defined.yres = (in_8(fb_regs + HPFB_DHMSB) << 8) | in_8(fb_regs + HPFB_DHLSB); in hpfb_init_one()
250 hpfb_defined.bits_per_pixel = in_8(fb_regs + HPFB_NUMPLANES); in hpfb_init_one()
261 out_8(fb_regs + TC_WEN, 0xff); in hpfb_init_one()
262 out_8(fb_regs + TC_PRR, RR_COPY); in hpfb_init_one()
263 out_8(fb_regs + TC_FBEN, 0xff); in hpfb_init_one()
271 out_8(fb_regs + TC_WEN, fb_bitmask); in hpfb_init_one()
272 out_8(fb_regs + TC_PRR, RR_COPY); in hpfb_init_one()
273 out_8(fb_regs + TC_REN, fb_bitmask); in hpfb_init_one()
274 out_8(fb_regs + TC_FBEN, fb_bitmask); in hpfb_init_one()
284 if (DIO_SECID(fb_regs) == DIO_ID2_TOPCAT) in hpfb_init_one()
355 iounmap((void *)fb_regs); in hpfb_remove_one()