On Tue, 2009-12-29 at 19:35 +0100, Luca Tettamanti wrote: > Il Mon, Dec 28, 2009 at 05:27:13PM -0500, Alex Deucher ha scritto: > > 2009/12/28 Luca Tettamanti <kronos...@gmail.com>: > > > On Mon, Dec 28, 2009 at 01:32:24PM -0500, Alex Deucher wrote: > > >> 2009/12/28 Luca Tettamanti <kronos...@gmail.com>: > > >> > 2009/12/28 Alex Deucher <alexdeuc...@gmail.com>: > > >> >> On Mon, Dec 28, 2009 at 5:53 AM, Luca Tettamanti > > >> >> <kronos...@gmail.com> wrote: > > >> >>> On Sun, Dec 27, 2009 at 1:55 AM, Rafał Miłecki <zaj...@gmail.com> > > >> >>> wrote: > > >> >>>> W dniu 26 grudnia 2009 20:08 użytkownik Alex Deucher > > >> >>>> <alexdeuc...@gmail.com> napisał: > > >> >>>>> It may be that the engine doesn't like to be reclocked while it's > > >> >>>>> running. Perhaps we should use the GUI idle interrupt rather than > > >> >>>>> vblanks to reclock the engine. > > >> >>>> > > >> >>>> Could you say something more about GUI idle interrupt, please? > > >> >>> > > >> >>> It's mentioned in the documentation of the IH (see r600.c); I guess > > >> >>> it's enabled by GUI_IDLE_INT_ENABLE. > > >> >>> > > >> >>>> What is this, do we already have code for that? > > >> >>> > > >> >>> Unless there are more subtleties all is needed it to enabled the > > >> >>> interrupt and catch it in r600_irq_process. > > >> >> > > >> >> That's pretty much it. Pre-r6xx asics have a GUI interrupt as well. > > >> >> I can look up the details for that if they are not already documented. > > >> > > > >> > I can't find a way to ack the interrupt; I see > > >> > RADEON_GUI_IDLE_INT_TEST_ACK but I think it's for pre-r6xx cards, > > >> > right? > > >> > > >> You don't have to ACK it as the CP generates the interrupt in > > >> software; similar to the sw interrupts used for fences. > > > > > > Ok, good: I've got the stub running on my M76. r100 and rs600 parts are > > > untested. Comments? > > > > > > > Looks pretty good. I've included the proper defines from the register > > database below and you'll need to ack the gui idle interrupts on > > pre-r600 chips. Now you just have to do something when you get the > > idle interrupt. > > I've adapted Rafał's patch to do the reclock when the idle interrupt is > fired (which btw should take care of the special case for nr CRTCs > 1). > Unfortunately I still see the black frame when reclocking is performed. > So I tried recloking directly from the IH (yeah, I'm ashamed of > myself...); this got rid of the black frame, but causes corruption of a > horizontal block of the screen (during the reclock, before and after the > screen looks fine).
If you mean the interrupt handler for the idle interrupt, have you tried doing it in the interrupt handler for the vblank interrupt instead? -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel