On Wed, Mar 19, 2014 at 7:28 AM, Daniel Vetter <daniel at ffwll.ch> wrote: >> + /* >> + * set_config() adjusts crtc->primary->fb; however the DRM setplane >> + * code that called us expects to handle the framebuffer update and >> + * reference counting; save and restore the current fb before >> + * calling it. >> + */ >> + tmpfb = plane->fb; >> + ret = crtc->funcs->set_config(&set); > > I wonder whether we should have an oppportunistic path using the page_flip > interface here. Otoh we must have a fallback to ->set_config anyway since > the drivers currently only allow pageflips on identical buffers. E.g. i915 > rejects tiling changes and stride changes and position changes. So I think > having a pageflip fastpath isn't worth the trouble.
note that you'd get that opportunistic page_flip() path w/ the addition of atomic series. Although depending on when the two different series are merged, the .page_flip() fast path might be a good idea