From Aaron Plattner in X.Org git:
G80 bug #12637: Unwedge the hardware if the BIOS left it stuck. Fixes Thinkpad R61 display lockup for niklas@ and espie@.
This commit is contained in:
parent
0149fccb81
commit
dbd00c4776
@ -250,6 +250,7 @@ Bool
|
||||
G80DispInit(ScrnInfoPtr pScrn)
|
||||
{
|
||||
G80Ptr pNv = G80PTR(pScrn);
|
||||
CARD32 val;
|
||||
|
||||
if(pNv->reg[0x00610024/4] & 0x100) {
|
||||
pNv->reg[0x00610024/4] = 0x100;
|
||||
@ -258,7 +259,15 @@ G80DispInit(ScrnInfoPtr pScrn)
|
||||
}
|
||||
|
||||
pNv->reg[0x00610200/4] = 0x2b00;
|
||||
while((pNv->reg[0x00610200/4] & 0x1e0000) != 0);
|
||||
do {
|
||||
val = pNv->reg[0x00610200/4];
|
||||
|
||||
if ((val & 0x9f0000) == 0x20000)
|
||||
pNv->reg[0x00610200/4] = val | 0x800000;
|
||||
|
||||
if ((val & 0x3f0000) == 0x30000)
|
||||
pNv->reg[0x00610200/4] = val | 0x200000;
|
||||
} while ((val & 0x1e0000) != 0);
|
||||
pNv->reg[0x00610300/4] = 1;
|
||||
pNv->reg[0x00610200/4] = 0x1000b03;
|
||||
while(!(pNv->reg[0x00610200/4] & 0x40000000));
|
||||
|
Loading…
Reference in New Issue
Block a user