]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
tegra: dc: ext: use work_index 0 for Android
authorDaniel Solomon <daniels@nvidia.com>
Wed, 24 Jun 2015 04:09:31 +0000 (21:09 -0700)
committermobile promotions <svcmobile_promotions@nvidia.com>
Sat, 27 Jun 2015 03:13:30 +0000 (20:13 -0700)
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>
drivers/video/tegra/dc/ext/dev.c

index adf3cab6d8a8e38e2bf9ee496a3d5cf49126d341..0c879defd47d0f7aa8d6366aa3b49f446fe23a86 100644 (file)
@@ -1112,6 +1112,9 @@ static int tegra_dc_ext_flip(struct tegra_dc_ext_user *user,
                ret = -EINVAL;
                goto unlock;
        }
+#ifdef CONFIG_ANDROID
+       work_index = 0;
+#endif
 
        if (syncpt_fd) {
                if (post_sync_id != NVSYNCPT_INVALID) {
@@ -1137,9 +1140,6 @@ static int tegra_dc_ext_flip(struct tegra_dc_ext_user *user,
                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);