Lines Matching refs:par
16 static void gx_save_regs(struct gxfb_par *par) in gx_save_regs() argument
22 i = read_gp(par, GP_BLT_STATUS); in gx_save_regs()
26 rdmsrl(MSR_GX_MSR_PADSEL, par->msr.padsel); in gx_save_regs()
27 rdmsrl(MSR_GLCP_DOTPLL, par->msr.dotpll); in gx_save_regs()
29 write_dc(par, DC_UNLOCK, DC_UNLOCK_UNLOCK); in gx_save_regs()
32 memcpy(par->gp, par->gp_regs, sizeof(par->gp)); in gx_save_regs()
33 memcpy(par->dc, par->dc_regs, sizeof(par->dc)); in gx_save_regs()
34 memcpy(par->vp, par->vid_regs, sizeof(par->vp)); in gx_save_regs()
35 memcpy(par->fp, par->vid_regs + VP_FP_START, sizeof(par->fp)); in gx_save_regs()
38 write_dc(par, DC_PAL_ADDRESS, 0); in gx_save_regs()
39 for (i = 0; i < ARRAY_SIZE(par->pal); i++) in gx_save_regs()
40 par->pal[i] = read_dc(par, DC_PAL_DATA); in gx_save_regs()
66 static void gx_restore_gfx_proc(struct gxfb_par *par) in gx_restore_gfx_proc() argument
70 for (i = 0; i < ARRAY_SIZE(par->gp); i++) { in gx_restore_gfx_proc()
79 write_gp(par, i, par->gp[i]); in gx_restore_gfx_proc()
84 static void gx_restore_display_ctlr(struct gxfb_par *par) in gx_restore_display_ctlr() argument
88 for (i = 0; i < ARRAY_SIZE(par->dc); i++) { in gx_restore_display_ctlr()
92 write_dc(par, DC_UNLOCK, DC_UNLOCK_UNLOCK); in gx_restore_display_ctlr()
97 write_dc(par, i, par->dc[i] & ~(DC_GENERAL_CFG_VIDE | in gx_restore_display_ctlr()
105 write_dc(par, i, par->dc[i] & ~(DC_DISPLAY_CFG_VDEN | in gx_restore_display_ctlr()
124 write_dc(par, i, par->dc[i]); in gx_restore_display_ctlr()
129 write_dc(par, DC_PAL_ADDRESS, 0); in gx_restore_display_ctlr()
130 for (i = 0; i < ARRAY_SIZE(par->pal); i++) in gx_restore_display_ctlr()
131 write_dc(par, DC_PAL_DATA, par->pal[i]); in gx_restore_display_ctlr()
134 static void gx_restore_video_proc(struct gxfb_par *par) in gx_restore_video_proc() argument
138 wrmsrl(MSR_GX_MSR_PADSEL, par->msr.padsel); in gx_restore_video_proc()
140 for (i = 0; i < ARRAY_SIZE(par->vp); i++) { in gx_restore_video_proc()
144 write_vp(par, i, par->vp[i] & ~VP_VCFG_VID_EN); in gx_restore_video_proc()
149 write_vp(par, i, par->vp[i] & in gx_restore_video_proc()
166 write_vp(par, i, par->vp[i]); in gx_restore_video_proc()
171 static void gx_restore_regs(struct gxfb_par *par) in gx_restore_regs() argument
175 gx_set_dotpll((uint32_t) (par->msr.dotpll >> 32)); in gx_restore_regs()
176 gx_restore_gfx_proc(par); in gx_restore_regs()
177 gx_restore_display_ctlr(par); in gx_restore_regs()
178 gx_restore_video_proc(par); in gx_restore_regs()
181 for (i = 0; i < ARRAY_SIZE(par->fp); i++) { in gx_restore_regs()
183 write_fp(par, i, par->fp[i]); in gx_restore_regs()
187 static void gx_disable_graphics(struct gxfb_par *par) in gx_disable_graphics() argument
190 write_vp(par, VP_VCFG, par->vp[VP_VCFG] & ~VP_VCFG_VID_EN); in gx_disable_graphics()
191 write_vp(par, VP_DCFG, par->vp[VP_DCFG] & ~(VP_DCFG_DAC_BL_EN | in gx_disable_graphics()
195 write_fp(par, FP_PM, par->fp[FP_PM] & ~FP_PM_P); in gx_disable_graphics()
199 write_dc(par, DC_UNLOCK, DC_UNLOCK_UNLOCK); in gx_disable_graphics()
200 write_dc(par, DC_GENERAL_CFG, par->dc[DC_GENERAL_CFG] & in gx_disable_graphics()
203 write_dc(par, DC_DISPLAY_CFG, par->dc[DC_DISPLAY_CFG] & in gx_disable_graphics()
206 write_dc(par, DC_UNLOCK, DC_UNLOCK_LOCK); in gx_disable_graphics()
209 static void gx_enable_graphics(struct gxfb_par *par) in gx_enable_graphics() argument
213 fp = read_fp(par, FP_PM); in gx_enable_graphics()
214 if (par->fp[FP_PM] & FP_PM_P) { in gx_enable_graphics()
217 write_fp(par, FP_PM, par->fp[FP_PM]); in gx_enable_graphics()
221 write_fp(par, FP_PM, par->fp[FP_PM]); in gx_enable_graphics()
225 write_vp(par, VP_VCFG, par->vp[VP_VCFG]); in gx_enable_graphics()
226 write_vp(par, VP_DCFG, par->vp[VP_DCFG]); in gx_enable_graphics()
227 write_dc(par, DC_DISPLAY_CFG, par->dc[DC_DISPLAY_CFG]); in gx_enable_graphics()
229 write_dc(par, DC_GENERAL_CFG, par->dc[DC_GENERAL_CFG]); in gx_enable_graphics()
232 write_dc(par, DC_UNLOCK, DC_UNLOCK_LOCK); in gx_enable_graphics()
237 struct gxfb_par *par = info->par; in gx_powerdown() local
239 if (par->powered_down) in gx_powerdown()
242 gx_save_regs(par); in gx_powerdown()
243 gx_disable_graphics(par); in gx_powerdown()
245 par->powered_down = 1; in gx_powerdown()
251 struct gxfb_par *par = info->par; in gx_powerup() local
253 if (!par->powered_down) in gx_powerup()
256 gx_restore_regs(par); in gx_powerup()
257 gx_enable_graphics(par); in gx_powerup()
259 par->powered_down = 0; in gx_powerup()