14 #include <asm/delay.h>
20 static void gx_save_regs(
struct gxfb_par *par)
47 static void gx_set_dotpll(
uint32_t dotpll_hi)
58 for (i = 0; i < 200; i++) {
70 static void gx_restore_gfx_proc(
struct gxfb_par *par)
83 write_gp(par, i, par->gp[i]);
88 static void gx_restore_display_ctlr(
struct gxfb_par *par)
128 write_dc(par, i, par->dc[i]);
138 static void gx_restore_video_proc(
struct gxfb_par *par)
153 write_vp(par, i, par->vp[i] &
170 write_vp(par, i, par->vp[i]);
175 static void gx_restore_regs(
struct gxfb_par *par)
179 gx_set_dotpll((
uint32_t) (par->msr.dotpll >> 32));
180 gx_restore_gfx_proc(par);
181 gx_restore_display_ctlr(par);
182 gx_restore_video_proc(par);
187 write_fp(par, i, par->fp[i]);
191 static void gx_disable_graphics(
struct gxfb_par *par)
213 static void gx_enable_graphics(
struct gxfb_par *par)
217 fp = read_fp(par,
FP_PM);
243 if (par->powered_down)
247 gx_disable_graphics(par);
249 par->powered_down = 1;
253 int gx_powerup(
struct fb_info *info)
257 if (!par->powered_down)
260 gx_restore_regs(par);
261 gx_enable_graphics(par);
263 par->powered_down = 0;