Am Sonntag, den 07.06.2009, 01:56 +0200 schrieb Rafał Miłecki:
Hm, I wonder if my patch shouldn't affect some smaller group of devices.
For what chipsets we actually use RV620PLL1Power? Is this used for example for RV630? Or maybe even for RV610? If so this patch would need additional condition. Take a look at rhd_pll.c line ~1284: if (rhdPtr->ChipSet < RHD_RV620) { PLL->Set = R500PLL1Set; PLL->Power = R500PLL1Power; PLL->Save = R500PLL1Save; PLL->Restore = R500PLL1Restore; } else { PLL->Set = RV620PLL1Set; PLL->Power = RV620PLL1Power; PLL->Save = RV620PLL1Save; PLL->Restore = RV620PLL1Restore; }
I'm also not sure about 0x2000 of P2PLL_CNTL. From rhd_pll.c I can read this comment: RHDRegMask(PLL, P1PLL_CNTL, 0x00002000, 0x00002000); /* reset anti-glitch */
My patch actually adds P1PLL_CNTL and 0x2000 (as that is what AtomBIOS does). Do we really need this? Should we "reset anti-glitch" (whatever it means) for powering down? Correct me if i am wrong, but if i understand that patch correctly all
And at rhd_id.c around line 77: { RHD_RV610, "RV610" }, { RHD_RV630, "RV630" }, .... { RHD_RV620, "RV620" }, { RHD_RV635, "RV635" }, { RHD_RV670, "RV670" }, { RHD_R680, "R680" }, .... Don't be mislead by the marketing numbers of the chipset, rhd_id defines the real relation between the different chipset generations. that the code from AtomBIOS does is checking if the PLL is still in use, before shutting it down. So i have a lot simpler question: Why do we power down a used PLL in the first place? Bye, Christian. -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org