On Fri, Sep 14, 2012 at 5:30 PM, Ville Syrjälä ville.syrjala@linux.intel.com wrote:
intel_pipe_set_base() won't disable the pipe or change the size, it'll just flip the primary plane. So that doesn't quite explain why the call is there, as opposed to being called just from the full modeset path.
intel_pipe_set_base is also called in the modeset case, i.e. when we could potentially change the height of the mode. And if we wait on a large enough scanline which doesn't exist in the new mode this would hang.
The other callsite of finish_fb is from intel_crtc_disable.
btw, some slight digging around with git blame gives you in both cases the commits and comments that explain this all ;-)
Cheers, Daniel