summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2009-05-09 15:26:37 +0200
committerLars-Peter Clausen <lars@metafoo.de>2009-05-09 15:26:37 +0200
commitb8fadd3ec83f40190abaa2b60d6a848843757453 (patch)
tree374ec1f3a8e3c8f46623cc9766fe9032d19ebaec
parent9491d818583114e429db1330dc5e07b4668dfa35 (diff)
Only reset those bits which we actually change.
-rw-r--r--src/glamo-driver.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/glamo-driver.c b/src/glamo-driver.c
index 23d045c..a280f98 100644
--- a/src/glamo-driver.c
+++ b/src/glamo-driver.c
@@ -778,18 +778,22 @@ GlamoRestoreHW(ScrnInfoPtr pScrn) {
#ifdef JBT6K74_SET_STATE
int fd;
#endif
-
if (ioctl(pGlamo->fb_fd, FBIOPUT_VSCREENINFO, (void*)(&pGlamo->fb_saved_var)) == -1) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Framebuffer ioctl FBIOSET_FSCREENINFO failed: %s",
strerror(errno));
}
-
- MMIO_OUT16(mmio, GLAMO_REG_CLOCK_2D, pGlamo->saved_clock_2d);
- MMIO_OUT16(mmio, GLAMO_REG_CLOCK_ISP, pGlamo->saved_clock_isp);
- MMIO_OUT16(mmio, GLAMO_REG_CLOCK_GEN5_1, pGlamo->saved_clock_gen5_1);
- MMIO_OUT16(mmio, GLAMO_REG_CLOCK_GEN5_2, pGlamo->saved_clock_gen5_2);
- MMIO_OUT16(mmio, GLAMO_REG_HOSTBUS(2), pGlamo->saved_hostbus_2);
+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_2D,
+ GLAMO_CLOCK_2D_EN_M6CLK | GLAMO_CLOCK_2D_EN_M7CLK |
+ GLAMO_CLOCK_2D_EN_GCLK | GLAMO_CLOCK_2D_DG_M7CLK |
+ GLAMO_CLOCK_2D_DG_GCLK,
+ pGlamo->saved_clock_2d);
+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_GEN5_1,
+ GLAMO_CLOCK_GEN51_EN_DIV_MCLK | GLAMO_CLOCK_GEN51_EN_DIV_GCLK,
+ pGlamo->saved_clock_gen5_1);
+ MMIOSetBitMask(mmio, GLAMO_REG_HOSTBUS(2),
+ GLAMO_HOSTBUS2_MMIO_EN_CMDQ | GLAMO_HOSTBUS2_MMIO_EN_2D,
+ pGlamo->saved_hostbus_2);
#ifdef JBT6K74_SET_STATE
fd = open(pGlamo->jbt6k74_state_path, O_WRONLY);