Mailinglist Archive: radeonhd (699 mails)
| < Previous | Next > |
Re: [radeonhd] statusreport ASUS pundit2 AM2-690G (RS690)
- From: darcsis@xxxxxxxxx (Denise H. G.)
- Date: Thu, 29 Nov 2007 08:28:30 +0800
- Message-id: <86abox3nf5.fsf@xxxxxxxxxxxxxxxx>
Egbert Eich <eich@xxxxxxx> writes:
In ScreenInit there is a rhdSave(), which saves the initial register
values. During this course it saves ZERO for D1CRTC_V_SYNC_A. While
restoring, it always restores ZERO for D1CRTC_V_SYNC_A, despite of
whatever we write to D1CRTC_V_SYNC_A after the rhdSave().
I just put the following in `rhd_crtc.c' to work around the problem for
RS690:
in DxSave():
"if (INREG(Crtc, RegOff + D1CRTC_V_SYNC_A))
Store->CrtcVSyncA = INREG(Crtc, RegOff + D1CRTC_V_SYNC_A);"
in DxRestore():
"if (Store->CrtcVSyncA)
OUTREG(Crtc, RegOff + D1CRTC_V_SYNC_A, Store->CrtcVSyncA);"
I don't know if it is good, but this solves the VT switching problem for
RS690. hehe
--
--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx
Denise H. G. writes:
>
> Hi
>
> I've got an RS690 chip with pci id 0x791E. It is onboard vga shipped
> with Asus M2A-VM motherboard. By using radeonhd driver I also got VSync
> problems. And I found that for RS690 we should not write ZERO to the
> register D1CRTC_V_SYNC_A, otherwise the screen will blank off on VT
> switching. We can safely write non-zero Values to D1CRTC_V_SYNC_A but
> never ZERO. Anyway, this works for my chip. I don't know if will apply
> to yours.
>
Writing 0 to D1CRTC_V_SYNC_A is certainly wrong. It will most likely
lead to the behavior you are seeing.
You said you are seeing a blank screen on restore -
Did you find out when this is written? Did this happen during restore?
In ScreenInit there is a rhdSave(), which saves the initial register
values. During this course it saves ZERO for D1CRTC_V_SYNC_A. While
restoring, it always restores ZERO for D1CRTC_V_SYNC_A, despite of
whatever we write to D1CRTC_V_SYNC_A after the rhdSave().
I just put the following in `rhd_crtc.c' to work around the problem for
RS690:
in DxSave():
"if (INREG(Crtc, RegOff + D1CRTC_V_SYNC_A))
Store->CrtcVSyncA = INREG(Crtc, RegOff + D1CRTC_V_SYNC_A);"
in DxRestore():
"if (Store->CrtcVSyncA)
OUTREG(Crtc, RegOff + D1CRTC_V_SYNC_A, Store->CrtcVSyncA);"
I don't know if it is good, but this solves the VT switching problem for
RS690. hehe
Cheers,
Egbert.
--
--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx
| < Previous | Next > |