On Wed, Dec 07, 2011 at 12:29:21PM -0800, Jesse Barnes wrote: > The video sprites support various video surface formats natively and can > handle scaling as well. So add support for them using the new DRM core > sprite support functions. > > v2: use drm specific fourcc header and defines > v3: address Daniel's comments: > - don't take struct mutex around register access (only needed for > regs in the GT power well) > - don't hold struct mutex across vblank waits > - fix up update_plane API (pass obj instead of GTT offset) > - add interlaced defines for sprite regs > - drop unnecessary 'reg' variables > - comment double buffered reg flushing > Also fix w/h confusion when writing the scaling reg. > v4: more fixes, address more comments from Daniel, and include Hai's fix > - prevent divide by zero in scaling calculation (Hai Lan) > - update to Ville's new DRM_FORMAT_* types > - fix sprite watermark handling (calc based on CRTC size, separate > from normal display wm) > - remove private refcounts now that the fb cleanups handles things > v5: add linear surface support > > For this version, I tested DPMS since it came up in the last review; > DPMS off/on works ok when a video player is working under X, but for > power saving we'll probably want to do something smarter. I'll leave > that for a separate patch on top. Likewise with the refcounting/fb > layer handling, which are really separate cleanups. > > Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org> I didn't bother to recheck the regs and and the wm stuff looks like the usual magic ;-) Otherwise you've implemented way more of my review comments than I could possibly still remember, so it must be good. Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch> -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48