On Thu, Nov 13, 2014 at 05:23:05PM -0800, Matt Roper wrote:
On Thu, Nov 13, 2014 at 02:51:32PM -0800, Matt Roper wrote:
Add the new driver entrypoints that will be called by the atomic plane helpers.
This patch does not actually switch over to the new plane helpers yet, so there should be no functional change here. Also note that although plane programming was already split into check/prepare/commit steps, some of the semantics of those individual functions will need to change slightly when we do make the jump so that they match the behavior the plane helpers expect.
v2:
- Renamed file from intel_atomic.c to intel_atomic_plane.c (Daniel)
- Fix a copy/paste comment mistake (Bob)
Signed-off-by: Matt Roper matthew.d.roper@intel.com
Actually, I don't think this is quite ready to go yet. I must have had too much debug spam turned on before and missed the important messages in the kernel log, but it looks like we're still calling something that can sleep (in the frontbuffer tracking code?) while irqs are disabled for vblank evasion.
Yeah the frontbuffer tracking code will sleep since it can grab mutexes.
We also want to eventually grow async support out of this, so I think the best approach might be to simply use frontbuffer_flip_prepare/complete around the entire sequence. Well the important part is that we call prepare before we start waiting for outstanding rendering and complete after pipe_update_end.
Since this loops over abstract plane objects I think we need to store the correct frontbuffer tracking bit somewhere in intel_plane so that we can get at them. -Daniel