msm: sde: add support for multiple commit per context

Current v4l2 m2m supports only 1 active commit per context.
If 1 commit is outstanding, a new commit will block until
the current commit completes. This is sufficient for offline
rotation operation, but will delay new commit in inline mode.
In inline mode, a new request must be committed to hardware
while the current commit is executing so that proper frame
rate is maintained.

To support more than 1 outstanding commit per context, create
new request structure to contain each request and its associated
work structures, and maintain all active requests in pending
list structure. New request structure is pre-allocated from a
fixed sized static list on startup.

CRs-Fixed: 2009714
Change-Id: I62e9f5188910b7c1a9f9af12d80f07829231007c
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
4 files changed