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:

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 >
Follow Ups