summaryrefslogtreecommitdiff
path: root/src/smi_501.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/smi_501.c')
-rw-r--r--src/smi_501.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/smi_501.c b/src/smi_501.c
index 3aa81de..a392eb0 100644
--- a/src/smi_501.c
+++ b/src/smi_501.c
@@ -605,25 +605,26 @@ SMI501_PrintRegs(ScrnInfoPtr pScrn)
void
SMI501_WaitVSync(SMIPtr pSmi, int vsync_count)
{
- int32_t status, timeout;
+ MSOCCmdStatusRec status;
+ int32_t timeout;
while (vsync_count-- > 0) {
/* Wait for end of vsync */
timeout = 0;
do {
/* bit 11: vsync active *if set* */
- status = READ_SCR(pSmi, CMD_STATUS);
+ status.value = READ_SCR(pSmi, CMD_STATUS);
if (++timeout == 10000)
break;
- } while (status & (1 << 11));
+ } while (status.f.pvsync);
/* Wait for start of vsync */
timeout = 0;
do {
- status = READ_SCR(pSmi, CMD_STATUS);
+ status.value = READ_SCR(pSmi, CMD_STATUS);
if (++timeout == 10000)
break;
- } while (!(status & (1 << 11)));
+ } while (!status.f.pvsync);
}
}