Lines Matching full:gbe
2 * SGI GBE frame buffer driver
31 #include <video/gbe.h>
33 static struct sgi_gbe *gbe; variable
58 #error GBE Framebuffer cannot use more than 8MB of memory
186 gbe->ctrlstat = 0x300aa000; in gbe_reset()
193 * Description: This should turn off the monitor and gbe. This is used
206 val = gbe->vt_xy; in gbe_turn_off()
211 val = gbe->ovr_control; in gbe_turn_off()
213 gbe->ovr_control = val; in gbe_turn_off()
215 val = gbe->frm_control; in gbe_turn_off()
217 gbe->frm_control = val; in gbe_turn_off()
219 val = gbe->did_control; in gbe_turn_off()
221 gbe->did_control = val; in gbe_turn_off()
227 val = gbe->frm_inhwctrl; in gbe_turn_off()
231 val = gbe->ovr_inhwctrl; in gbe_turn_off()
235 val = gbe->did_inhwctrl; in gbe_turn_off()
247 val = gbe->vt_vpixen; in gbe_turn_off()
251 val = gbe->vt_xy; in gbe_turn_off()
261 val = gbe->vt_xy; in gbe_turn_off()
273 gbe->vt_xy = val; in gbe_turn_off()
276 val = gbe->vt_xy; in gbe_turn_off()
286 val = gbe->dotclock; in gbe_turn_off()
288 gbe->dotclock = val; in gbe_turn_off()
291 val = gbe->dotclock; in gbe_turn_off()
301 val = gbe->frm_size_tile; in gbe_turn_off()
303 gbe->frm_size_tile = val; in gbe_turn_off()
305 gbe->frm_size_tile = val; in gbe_turn_off()
317 val = gbe->vt_xy; in gbe_turn_on()
323 val = gbe->dotclock; in gbe_turn_on()
325 gbe->dotclock = val; in gbe_turn_on()
328 val = gbe->dotclock; in gbe_turn_on()
340 gbe->vt_xy = val; in gbe_turn_on()
343 val = gbe->vt_xy; in gbe_turn_on()
353 val = gbe->frm_control; in gbe_turn_on()
355 gbe->frm_control = val; in gbe_turn_on()
358 val = gbe->frm_inhwctrl; in gbe_turn_on()
375 for (j = 0; j < 1000 && gbe->cm_fifo >= 63; j++) in gbe_loadcmap()
380 gbe->cmap[i] = gbe_cmap[i]; in gbe_loadcmap()
419 gbe->vt_flags = outputVal; in gbefb_setup_flatpanel()
433 gbe->fp_de = outputVal; in gbefb_setup_flatpanel()
436 gbe->fp_hdrv = outputVal; in gbefb_setup_flatpanel()
440 gbe->fp_vdrv = outputVal; in gbefb_setup_flatpanel()
467 * GBE crystal runs at 20Mhz or 27Mhz in compute_gbe_timing()
541 gbe->dotclock = val; in gbe_set_timing_info()
548 gbe->vt_xymax = val; in gbe_set_timing_info()
554 gbe->vt_vsync = val; in gbe_set_timing_info()
558 gbe->vt_hsync = val; in gbe_set_timing_info()
562 gbe->vt_vblank = val; in gbe_set_timing_info()
568 gbe->vt_hblank = val; in gbe_set_timing_info()
574 gbe->vt_vcmap = val; in gbe_set_timing_info()
578 gbe->vt_hcmap = val; in gbe_set_timing_info()
595 gbe->did_start_xy = val; in gbe_set_timing_info()
606 gbe->crs_start_xy = val; in gbe_set_timing_info()
611 gbe->vc_start_xy = val; in gbe_set_timing_info()
622 gbe->vt_hpixen = val; in gbe_set_timing_info()
627 gbe->vt_vpixen = val; in gbe_set_timing_info()
632 gbe->vt_flags = val; in gbe_set_timing_info()
656 /* turn off GBE */ in gbefb_set_par()
681 gbe->mode_regs[i] = val; in gbefb_set_par()
684 gbe->vt_intr01 = 0xffffffff; in gbefb_set_par()
685 gbe->vt_intr23 = 0xffffffff; in gbefb_set_par()
688 The GBE hardware uses a tiled memory to screen mapping. Tiles are in gbefb_set_par()
711 really convenient. In order to support linear addressing, the GBE in gbefb_set_par()
717 framebuffer as a continuous virtual memory. The GBE tile table is in gbefb_set_par()
720 GBE -> tile list framebuffer TLB <------------ CPU in gbefb_set_par()
726 The GBE hardware is then told that the buffer is 512*tweaked_height, in gbefb_set_par()
728 Thus the GBE hardware will scan the first tile, filing the first 64k in gbefb_set_par()
750 /* Tell gbe about the tiles table location */ in gbefb_set_par()
758 gbe->frm_control = val; in gbefb_set_par()
783 gbe->frm_size_tile = val; in gbefb_set_par()
790 gbe->frm_size_pixel = val; in gbefb_set_par()
793 gbe->did_control = 0; in gbefb_set_par()
794 gbe->ovr_width_tile = 0; in gbefb_set_par()
797 gbe->crs_ctl = 0; in gbefb_set_par()
799 /* Turn on GBE */ in gbefb_set_par()
805 gbe->gmap[i] = (i << 24) | (i << 16) | (i << 8); in gbefb_set_par()
820 strcpy(fix->id, "SGI GBE"); in gbefb_encode_fix()
864 for (i = 0; i < 1000 && gbe->cm_fifo >= 63; i++) in gbefb_setcolreg()
870 gbe->cmap[regno] = gbe_cmap[regno]; in gbefb_setcolreg()
1139 if (!request_mem_region(GBE_BASE, sizeof(struct sgi_gbe), "GBE")) { in gbefb_probe()
1145 gbe = (struct sgi_gbe *) devm_ioremap(&p_dev->dev, GBE_BASE, in gbefb_probe()
1147 if (!gbe) { in gbefb_probe()
1152 gbe_revision = gbe->ctrlstat & 15; in gbefb_probe()
1201 /* reset GBE */ in gbefb_probe()