diff options
author | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2011-05-08 19:02:30 +0000 |
---|---|---|
committer | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2011-05-08 19:02:30 +0000 |
commit | 7d18fcde04b42e38e89709b5f88e88107c58cd48 (patch) | |
tree | dde1f8630bfc8ad086e28624148b0bc7c30d5ec9 | |
parent | b594e516c21287da478647bc2cea0a6e74f79bac (diff) |
Fix cursor garbage after suspen/resume for VX855 and VX900 (#405)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/via_video.c | 23 |
2 files changed, 26 insertions, 3 deletions
@@ -1,3 +1,9 @@ +2011-05-08 Bartosz Kosiorek <gang65@poczta.onet.pl> + + Fix cursor garbage after suspend/resume for Xserver 1.10 (#405) + + * src/via_video.c: (viaRestoreVideo): + 2011-05-04 Bartosz Kosiorek <gang65@poczta.onet.pl> Fix XAA displaying issues diff --git a/src/via_video.c b/src/via_video.c index 58538d8..e5238a3 100644 --- a/src/via_video.c +++ b/src/via_video.c @@ -536,9 +536,25 @@ viaRestoreVideo(ScrnInfoPtr pScrn) viaVidEng->video1y_addr0 = localVidEng->video1y_addr0; viaVidEng->video1_fifo = localVidEng->video1_fifo; viaVidEng->video1y_addr3 = localVidEng->video1y_addr3; - viaVidEng->v1_source_w_h = localVidEng->v1_source_w_h ; + viaVidEng->v1_source_w_h = localVidEng->v1_source_w_h; viaVidEng->video1_CSC1 = localVidEng->video1_CSC1; viaVidEng->video1_CSC2 = localVidEng->video1_CSC2; + + /* Fix cursor garbage after suspend for VX855 and VX900 (#405) */ + /* 0x2E4 T Signature Data Result 1 */ + viaVidEng->video1u_addr1 = localVidEng->video1u_addr1; + /* 0x2E8 HI for Primary Display FIFO Control Signal */ + viaVidEng->video1u_addr2 = localVidEng->video1u_addr2; + /* 0x2EC HI for Primary Display FIFO Transparent color */ + viaVidEng->video1u_addr3 = localVidEng->video1u_addr3; + /* 0x2F0 HI for Primary Display Control Signal */ + viaVidEng->video1v_addr0 = localVidEng->video1v_addr0; + /* 0x2F4 HI for Primary Display Frame Buffer Starting Address */ + viaVidEng->video1v_addr1 = localVidEng->video1v_addr1; + /* 0x2F8 HI for Primary Display Horizontal and Vertical Start */ + viaVidEng->video1v_addr2 = localVidEng->video1v_addr2; + /* 0x2FC HI for Primary Display Center Offset */ + viaVidEng->video1v_addr3 = localVidEng->video1v_addr3; } viaVidEng->snd_color_key = localVidEng->snd_color_key; viaVidEng->v3alpha_prefifo = localVidEng->v3alpha_prefifo; @@ -559,10 +575,11 @@ viaRestoreVideo(ScrnInfoPtr pScrn) viaVidEng->video3_CSC2 = localVidEng->video3_CSC2; viaVidEng->compose = localVidEng->compose; - viaVidEng->video1_ctl = pVia->dwV1; viaVidEng->video3_ctl = pVia->dwV3; - if (pVia->ChipId != PCI_CHIP_VT3314) + if (pVia->ChipId != PCI_CHIP_VT3314) { + viaVidEng->video1_ctl = pVia->dwV1; viaVidEng->compose = V1_COMMAND_FIRE; + } viaVidEng->compose = V3_COMMAND_FIRE; } |