Il Tue, Dec 22, 2009 at 11:06:16PM +0100, Rafał Miłecki ha scritto: 
> V2: reorganize functions, fix modesetting calls
> V3: rebase patch, use radeon's workqueue
> V4: enable on tested chipsets only, request VBLANK IRQs
> V5: enable PM on older hardware (IRQs, mode_fixup, dpms)
> V6: use separate dynpm module parameter
> V7: drop RADEON_ prefix, set minimum mode for dpms off
> V8: update legacy encoder call, fix order in rs600 IRQ
> V9: update compute_clocks call in legacy, not only DPMS_OFF

Hello,
I've yet to find time to test this patch, but I have a big architectural
doubt:

+                       if (rdev->pm.vblank_callback)
+                               queue_work(rdev->wq, &rdev->pm.reclock_work);
+

IIRC the reason to wait for VBLANK is to avoid reclocking the GPU while
it's drawing; this is especially important when reclocking the memory
(which is not done yet). Here however you defer the recloking to some
indeterminate future...
I think it would be safer to execute that code in the IH (or in a tasklet,
which is guaranteed to run after the handler); the only problem I see is
that atom_execute_table allocates some memory (ws? workspace?), but the
GFP flag can be easily adjusted; the rest of the ops seem safe.
What do you think?

Luca
-- 
Ci sono due cose che l'uomo non puo` nascondere:
essere ubriaco ed essere innamorato.

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

Reply via email to