View | Details | Raw Unified | Return to bug 105511
Collapse All | Expand All

(-)xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h (-2 / +2 lines)
Lines 68-74 Link Here
68
    do {                           \
68
    do {                           \
69
	CARD32 tmp = INREG(addr);  \
69
	CARD32 tmp = INREG(addr);  \
70
	tmp &= (mask);             \
70
	tmp &= (mask);             \
71
	tmp |= (val);              \
71
	tmp |= ((val) & ~(mask));  \
72
	OUTREG(addr, tmp);         \
72
	OUTREG(addr, tmp);         \
73
    } while (0)
73
    } while (0)
74
74
Lines 84-90 Link Here
84
    do {                                                                  \
84
    do {                                                                  \
85
	CARD32 tmp = INPLL(pScrn, addr);                                  \
85
	CARD32 tmp = INPLL(pScrn, addr);                                  \
86
	tmp &= (mask);                                                    \
86
	tmp &= (mask);                                                    \
87
	tmp |= (val);                                                     \
87
	tmp |= ((val) & ~(mask));                                         \
88
	OUTPLL(addr, tmp);                                                \
88
	OUTPLL(addr, tmp);                                                \
89
    } while (0)
89
    } while (0)
90
90
(-)xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c.orig (-2 / +5 lines)
Lines 2586-2592 Link Here
2586
    R128InfoPtr   info      = R128PTR(pScrn);
2591
    R128InfoPtr   info      = R128PTR(pScrn);
2587
    unsigned char *R128MMIO = info->MMIO;
2592
    unsigned char *R128MMIO = info->MMIO;
2588
2593
2589
    OUTPLLP(pScrn, R128_PPLL_REF_DIV, R128_PPLL_ATOMIC_UPDATE_W, 0xffff);
2594
    OUTPLLP(pScrn, R128_PPLL_REF_DIV, R128_PPLL_ATOMIC_UPDATE_W, 
2595
	    ~R128_PPLL_ATOMIC_UPDATE_W );
2590
}
2596
}
2591
2597
2592
/* Write PLL registers. */
2598
/* Write PLL registers. */
Lines 2602-2608 Link Here
2602
	    R128_PPLL_RESET
2608
	    R128_PPLL_RESET
2603
	    | R128_PPLL_ATOMIC_UPDATE_EN
2609
	    | R128_PPLL_ATOMIC_UPDATE_EN
2604
	    | R128_PPLL_VGA_ATOMIC_UPDATE_EN,
2610
	    | R128_PPLL_VGA_ATOMIC_UPDATE_EN,
2605
	    0xffff);
2611
	    ~( R128_PPLL_RESET
2612
	       | R128_PPLL_ATOMIC_UPDATE_EN
2613
	       | R128_PPLL_VGA_ATOMIC_UPDATE_EN) );
2606
2614
2607
    R128PLLWaitForReadUpdateComplete(pScrn);
2615
    R128PLLWaitForReadUpdateComplete(pScrn);
2608
    OUTPLLP(pScrn, R128_PPLL_REF_DIV,
2616
    OUTPLLP(pScrn, R128_PPLL_REF_DIV,

Return to bug 105511