v4l: vsp1: extend VSP1 module API to allow DRM callbacks

To be able to perform page flips in DRM without flicker we need to be
able to notify the rcar-du module when the VSP has completed its
processing.

We must not have bidirectional dependencies on the two components to
maintain support for loadable modules, thus we extend the API to allow
a callback to be registered within the VSP DRM interface.

Calls to rcar_du_vsp_atomic_flush() can provide a private data variable,
which will be returned through the callback when the frame has
completed.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

---
v2:
 - vsp1_du_setup_lif() uses config structure to set callbacks
 - vsp1_du_pipeline_frame_end() moved to interrupt section
 - vsp1_du_pipeline_frame_end registered in vsp1_drm_init()
 - Adapted callback to always call, The receiver should determine if the
   meaning of any NULL values
4 files changed