Flip data and flip timestamps are expected to be queued
on a single window's timestamp queue and flip wq. That window
corresponds to work_index, determined at the start of
tegra_dc_ext_flip().
On Android, the work_index mechanism isn't supported - only
Window A's flip and timestamp queues should be used. Currently
this is true for flips, but timestamps can be queued to
different windows' queues depending on work_index.
This change sets work_index for _both_ flip and timestamp
queueing for Android.
Bug
1654135
Change-Id: I3744c151f48f36e8db45ef5edd2c08e8fbbbd13e
Signed-off-by: Daniel Solomon <daniels@nvidia.com>
Reviewed-on: http://git-master/r/761542
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
ret = -EINVAL;
goto unlock;
}
+#ifdef CONFIG_ANDROID
+ work_index = 0;
+#endif
if (syncpt_fd) {
if (post_sync_id != NVSYNCPT_INVALID) {
list_add_tail(&data->timestamp_node, &ext->win[work_index].timestamp_queue);
mutex_unlock(&ext->win[work_index].queue_lock);
}
-#ifdef CONFIG_ANDROID
- work_index = 0;
-#endif
data->flags = flip_flags;
queue_kthread_work(&ext->win[work_index].flip_worker, &data->work);