Add support for drmModeAtomicCommit 54/197754/1
authorZhaowei Yuan <zhaowei.yuan@samsung.com>
Wed, 16 Jan 2019 03:12:50 +0000 (11:12 +0800)
committerZhaowei Yuan <zhaowei.yuan@samsung.com>
Wed, 16 Jan 2019 06:09:13 +0000 (14:09 +0800)
commit6cf6c1db12a868db036d4f83afd82c139c882279
tree5349121ef878e0f72808114e7483a15766a97161
parent461920509ba8cf9785e27eee7ed84e4f4f7133c1
Add support for drmModeAtomicCommit

Current display commit API drmModeSetPlane() takes too much time
and its caller tdm_layer_commit() holds a lock "private_display->lock"
which is also needed by other thread, it makes performance low.

In order to solve this problem, we need an asynchronous API to do
this job which is drmModeAtomicCommit() here.

Patch's modification includes:
1. Change display commit method to drmModeAtomicCommit.
2. Disable vblank wait event in function vc4_output_commit()
since it's not necessary any more for atomic mode.
3. Create an event and pass it to _tdm_vc4_display_commit_layer()
which is used to API finish callback.

Change-Id: If2ba5c80bcd553cdd7f4cd04364d1e40d203dc10
src/tdm_vc4_display.c