New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 735195 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Feature
Gfx



Sign in to add a comment

add android sw_sync to kernel 3.8

Project Member Reported by dbehr@chromium.org, Jun 20 2017

Issue description

add android sw_sync to kernel 3.8
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 8 2017

Labels: merge-merged-chromeos-3.8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e1b7a0447d66a287f4b72adc55eda5031d47758f

commit e1b7a0447d66a287f4b72adc55eda5031d47758f
Author: Erik Gilling <konkers@android.com>
Date: Sat Jul 08 04:30:06 2017

UPSTREAM: staging: sync: Add synchronization framework

Sync is a framework for synchronization between multiple
drivers. Sync implementations can take advantage of hardware
synchronization built into devices like GPUs.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Added commit message, moved to staging, squished minor fix in]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7ad530bf2499c702a6dcbb279cf78b76845ed584)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Iaa37cfb7df1b052bc71048494c7ea84897c53e69
Reviewed-on: https://chromium-review.googlesource.com/563613
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[add] https://crrev.com/e1b7a0447d66a287f4b72adc55eda5031d47758f/drivers/staging/android/sync.c
[modify] https://crrev.com/e1b7a0447d66a287f4b72adc55eda5031d47758f/drivers/staging/android/Makefile
[add] https://crrev.com/e1b7a0447d66a287f4b72adc55eda5031d47758f/drivers/staging/android/sync.h
[modify] https://crrev.com/e1b7a0447d66a287f4b72adc55eda5031d47758f/drivers/staging/android/Kconfig

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6f1e68f58b9b891f9d882fd1686739ba965bfa86

commit 6f1e68f58b9b891f9d882fd1686739ba965bfa86
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:08 2017

UPSTREAM: staging: sw_sync: Add cpu based sync driver

Adds a base sync driver that uses the cpu for serialization.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message, whitespace fixes and move to
staging directory]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 9d1906e61dda982070e3910a04d9cce050f7f1a4)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If416df5e07350c3278ac91cd15df47d8ccd1a1a7
Reviewed-on: https://chromium-review.googlesource.com/563614
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[add] https://crrev.com/6f1e68f58b9b891f9d882fd1686739ba965bfa86/drivers/staging/android/sw_sync.h
[modify] https://crrev.com/6f1e68f58b9b891f9d882fd1686739ba965bfa86/drivers/staging/android/Makefile
[modify] https://crrev.com/6f1e68f58b9b891f9d882fd1686739ba965bfa86/drivers/staging/android/Kconfig
[add] https://crrev.com/6f1e68f58b9b891f9d882fd1686739ba965bfa86/drivers/staging/android/sw_sync.c

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c9b3d8a86e4725b5f7bf1a7f1f7bcc0ec77ba825

commit c9b3d8a86e4725b5f7bf1a7f1f7bcc0ec77ba825
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:09 2017

UPSTREAM: staging: sync: Add timestamps to sync_pts

Add ktime timestamps to sync_pt structure and
update them when signaled

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 97a84843ac4a1b81c36ccf35ee26cd19c5b8d873)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ide41de0713e0a37cc4f05e78da7c1f849dc46551
Reviewed-on: https://chromium-review.googlesource.com/563615
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/c9b3d8a86e4725b5f7bf1a7f1f7bcc0ec77ba825/drivers/staging/android/sync.c
[modify] https://crrev.com/c9b3d8a86e4725b5f7bf1a7f1f7bcc0ec77ba825/drivers/staging/android/sync.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0b57fc6c0f80be30571b862d2031534be8fa09f0

commit 0b57fc6c0f80be30571b862d2031534be8fa09f0
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:09 2017

UPSTREAM: staging: sync: Add debugfs support

Add support for debugfs

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit af7582f293cdc29999d05f75b1ec835ffa43cb68)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I329867a20d2d50c6bd3c7b42f0795607ddfaeb82
Reviewed-on: https://chromium-review.googlesource.com/564236
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/0b57fc6c0f80be30571b862d2031534be8fa09f0/drivers/staging/android/sync.c
[modify] https://crrev.com/0b57fc6c0f80be30571b862d2031534be8fa09f0/drivers/staging/android/sync.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/446bd3af63114978db4b9be9f69ca49429f28cbf

commit 446bd3af63114978db4b9be9f69ca49429f28cbf
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:10 2017

UPSTREAM: staging: sw_sync: Add debug support

Add debugfs support hooks.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cebed3b1d7eaee7fb79e2c510a0da4296db043c8)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I86f6487980be492e6318c67acab644686ca2e5d4
Reviewed-on: https://chromium-review.googlesource.com/564237
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/446bd3af63114978db4b9be9f69ca49429f28cbf/drivers/staging/android/sw_sync.c

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/676d819c5877378bd7f5149826ddaf240f3ab750

commit 676d819c5877378bd7f5149826ddaf240f3ab750
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:11 2017

UPSTREAM: staging: sync: Add ioctl to get fence data

Add ioctl to get fence data

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Commit message tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 79ba1525a91e99cdd7a3b6a57c7537d13ac0ac19)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I5bea7ef0b2efd7d49e16b26a330af85f33c42a0c
Reviewed-on: https://chromium-review.googlesource.com/564238
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/676d819c5877378bd7f5149826ddaf240f3ab750/drivers/staging/android/sync.c
[modify] https://crrev.com/676d819c5877378bd7f5149826ddaf240f3ab750/drivers/staging/android/sync.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bf072a01fb6da75fe7da0f29658a7b3ba1324358

commit bf072a01fb6da75fe7da0f29658a7b3ba1324358
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:12 2017

UPSTREAM: staging: sw_sync: Add fill_driver_data support

Add fill_driver_data support to export fence data to ioctl

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b1489c2704b3db72ff37ecabe054926176e88e50)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I99e8572992ed8e83f1811053c716ae0b3babe60e
Reviewed-on: https://chromium-review.googlesource.com/564239
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/bf072a01fb6da75fe7da0f29658a7b3ba1324358/drivers/staging/android/sw_sync.c

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8fa345eb027c6a4ecd45721516ed5488624e2060

commit 8fa345eb027c6a4ecd45721516ed5488624e2060
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:13 2017

UPSTREAM: staging: sync: Add poll support

Support poll on sync fence

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 57b505bbe746dcc011152e79732bdaf96723c51a)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ife5867f17b355bfa58d1744606bdc5922c09d81e
Reviewed-on: https://chromium-review.googlesource.com/564240
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/8fa345eb027c6a4ecd45721516ed5488624e2060/drivers/staging/android/sync.c

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/32387a4d94bdaf438c4efe11e69083edf5917476

commit 32387a4d94bdaf438c4efe11e69083edf5917476
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:14 2017

UPSTREAM: staging: sync: Allow async waits to be canceled

In order to allow drivers to cleanly handled teardown we need to allow them
to cancel pending async waits.  To do this cleanly, we move allocation of
sync_fence_waiter to the driver calling sync_async_wait().

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c0f61a4e6145728153d0b94152b4dd5b06899b3b)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If4bb748df04183aec367c7ecb924cef4c37f1e62
Reviewed-on: https://chromium-review.googlesource.com/564241
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/32387a4d94bdaf438c4efe11e69083edf5917476/drivers/staging/android/sync.c
[modify] https://crrev.com/32387a4d94bdaf438c4efe11e69083edf5917476/drivers/staging/android/sync.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5cbd1faaed4ca73e0cd5d9151294d5bffbb9fda7

commit 5cbd1faaed4ca73e0cd5d9151294d5bffbb9fda7
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:15 2017

UPSTREAM: staging: sync: Export sync API symbols

This is needed to allow modules to link against the sync subsystem

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 8edb4ad9118befafe6e0a6b7456939b74a545e42)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ic977c5b52afaeb36c0f8fca8b2074cdd0c664c67
Reviewed-on: https://chromium-review.googlesource.com/564242
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/5cbd1faaed4ca73e0cd5d9151294d5bffbb9fda7/drivers/staging/android/sync.c

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c157933dd0ae3b08c1499b9b4eb7f567d281e709

commit c157933dd0ae3b08c1499b9b4eb7f567d281e709
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:16 2017

UPSTREAM: staging: sw_sync: Export sw_sync API

Needed to let modules link against sw_sync.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 6e91f719865df97abf483b80b7778dc8a51011c4)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Iaf7963ea3537df07b137d1cda3cd21c8ec8f8aa0
Reviewed-on: https://chromium-review.googlesource.com/564243
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/c157933dd0ae3b08c1499b9b4eb7f567d281e709/drivers/staging/android/sw_sync.c

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/60ccae34a6ed0518f68571168abec5ff4d5aff01

commit 60ccae34a6ed0518f68571168abec5ff4d5aff01
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:17 2017

UPSTREAM: staging: sync: Reorder sync_fence_release

Previously fence's pts were freed before the were the fence was removed from the
global fence list.  This led to a race with the debugfs support where it would
iterate over sync_pts that had been freed.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cc3c5cdc7bc16b78b6c59f0720542965a67d1c81)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I8565b60259ed2b5f763cb7158ace6c4fa1666814
Reviewed-on: https://chromium-review.googlesource.com/564244
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/60ccae34a6ed0518f68571168abec5ff4d5aff01/drivers/staging/android/sync.c

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ff2846fd0cc21c52973d8b7a60d8ccd740b9b153

commit ff2846fd0cc21c52973d8b7a60d8ccd740b9b153
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:18 2017

UPSTREAM: staging: sync: Optimize fence merges

If the two fences being merged contain sync_pts from the same timeline,
those two pts will be collapsed into a single pt representing the latter
of the two.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Whitespace fixes]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c6f668ce63943db48057b2e3ae8ef3ad5f9b29d2)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I9d2d0b42e4481833613c3ddb233f23ca7a89fd00
Reviewed-on: https://chromium-review.googlesource.com/564245
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/ff2846fd0cc21c52973d8b7a60d8ccd740b9b153/drivers/staging/android/sync.c

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e8ba013f27ed54dd6c117619afa22437ee1b3813

commit e8ba013f27ed54dd6c117619afa22437ee1b3813
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:19 2017

UPSTREAM: staging: sync: Add internal refcounting to fences

If a fence is released while a timeline that one of it's pts is on is being
signaled, it is possible for that fence to be deleted before it is signaled.
This patch adds a refcount for internal references such as signaled pt
processing.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 01544170e1959dd261ceec6413674a528221669b)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I51a5f2f97f02505d46f47c7442572fff009442ec
Reviewed-on: https://chromium-review.googlesource.com/564246
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/e8ba013f27ed54dd6c117619afa22437ee1b3813/drivers/staging/android/sync.c
[modify] https://crrev.com/e8ba013f27ed54dd6c117619afa22437ee1b3813/drivers/staging/android/sync.h

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9f6ba2ea44a7490d5f0cbc8722ac52f46594b433

commit 9f6ba2ea44a7490d5f0cbc8722ac52f46594b433
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:20 2017

UPSTREAM: staging: sync: Add reference counting to timelines

If a timeline is destroyed while fences still hold pts on it, the reworked
fence release handler can cause the timeline to be freed before all it's points
are freed.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Squished in compiler warning fix]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c5b86b7418f46220a623277718d6a909f520477b)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I9db4c2a6d0331fb97bed2e36c878ac5ff6a80f1f
Reviewed-on: https://chromium-review.googlesource.com/564247
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/9f6ba2ea44a7490d5f0cbc8722ac52f46594b433/drivers/staging/android/sync.c
[modify] https://crrev.com/9f6ba2ea44a7490d5f0cbc8722ac52f46594b433/drivers/staging/android/sync.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5ba6a67ae1273c33847cf12e0cb18cea79682c7f

commit 5ba6a67ae1273c33847cf12e0cb18cea79682c7f
Author: Rebecca Schultz Zavin <rebecca@android.com>
Date: Sun Jul 09 13:50:21 2017

UPSTREAM: staging: sync: Fix error paths

Check the return value of get_unused_fd to make sure a valid
file descriptor is returned.

Make sure to call put_unused_fd even if an error occurs before
the fd can be used.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 92ea915adb5565b522902a7b3f0a33ede16bb797)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I19b931146aea68d338e7d509f6ab6c1db2314241
Reviewed-on: https://chromium-review.googlesource.com/564248
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/5ba6a67ae1273c33847cf12e0cb18cea79682c7f/drivers/staging/android/sync.c

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/89e5fad1f0ea5ad4274185aefbe2bb86ea8eae83

commit 89e5fad1f0ea5ad4274185aefbe2bb86ea8eae83
Author: Rebecca Schultz Zavin <rebecca@android.com>
Date: Sun Jul 09 13:50:22 2017

UPSTREAM: staging: sw_sync: Fix error paths

Check the return value of get_unused_fd to make sure a valid
file descriptor is returned.

Make sure to call put_unused_fd even if an error occurs before
the fd can be used.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 03e7a503561f6d0ef09c7ec73772a7a6f78417d3)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If218161d524fdab54ea79f879b6fb17bfd1b4e58
Reviewed-on: https://chromium-review.googlesource.com/564249
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/89e5fad1f0ea5ad4274185aefbe2bb86ea8eae83/drivers/staging/android/sw_sync.c

Project Member

Comment 18 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b2e0b892116bb96fc93a78662ce2b5ad36278fb1

commit b2e0b892116bb96fc93a78662ce2b5ad36278fb1
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:24 2017

UPSTREAM: staging: sync: Dump sync state to console on timeout

If we hit a timeout, dump sync state to console

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message, whitespace fixups]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f56388f3bd15a853d5718bf31c5d4dbc8f499cbe)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I0b7c6fb8c5e1bcfa853717140d79a59ba7900472
Reviewed-on: https://chromium-review.googlesource.com/564251
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/b2e0b892116bb96fc93a78662ce2b5ad36278fb1/drivers/staging/android/sync.c

Project Member

Comment 19 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b5f0f9b75ca640667a1aa2281a0a7ee480539b23

commit b5f0f9b75ca640667a1aa2281a0a7ee480539b23
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:23 2017

UPSTREAM: staging: sync: Change wait timeout to mirror poll semantics

Change wait timeout to act like poll

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Added commit message, squished typo-fix]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 3b640f5dd050f972439e5c67ba618a5377b61d34)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ic23791494a729e3cb2dd66c5f7b560306e924bb1
Reviewed-on: https://chromium-review.googlesource.com/564250
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/b5f0f9b75ca640667a1aa2281a0a7ee480539b23/drivers/staging/android/sync.c
[modify] https://crrev.com/b5f0f9b75ca640667a1aa2281a0a7ee480539b23/drivers/staging/android/sync.h

Project Member

Comment 20 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5ae42359e0e5d7d7331158d5e0b6caa87407605a

commit 5ae42359e0e5d7d7331158d5e0b6caa87407605a
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:25 2017

UPSTREAM: staging: sync: Improve timeout dump messages

Improve the output of the timeout dumps, including
the fence pointer.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 1d5db2ce93089db91d7997927b4cfd92a88c5aad)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I9da8d6bf9405b4c6e9b3a8c10ca73fb7b95c3c32
Reviewed-on: https://chromium-review.googlesource.com/564252
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/5ae42359e0e5d7d7331158d5e0b6caa87407605a/drivers/staging/android/sync.c

Project Member

Comment 21 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/10750519093c52746f7aecd7d73f9e354fa6cb34

commit 10750519093c52746f7aecd7d73f9e354fa6cb34
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:26 2017

UPSTREAM: staging: sync: Dump sync state on fence errors

When we get a bad status, dump sync state

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7560645406b8341ab74644b505297e3e32fa6f3a)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I531632356fe9a7985cedae3cb96134a1be059aaf
Reviewed-on: https://chromium-review.googlesource.com/564253
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/10750519093c52746f7aecd7d73f9e354fa6cb34/drivers/staging/android/sync.c

Project Member

Comment 22 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cd514f3fb8e6e212c8da981de00715c3d478dc4e

commit cd514f3fb8e6e212c8da981de00715c3d478dc4e
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:26 2017

UPSTREAM: staging: sync: Protect unlocked access to fence status

Fence status is checked outside of locks in both sync_fence_wait and
sync_fence_poll.  This patch adds propper barrier protection in these
cases to avoid seeing stale status.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c679212dbfd060513e156133326122bf9f496579)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I39130cbfe1754a403830d5280b0214b725e59bd4
Reviewed-on: https://chromium-review.googlesource.com/564254
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/cd514f3fb8e6e212c8da981de00715c3d478dc4e/drivers/staging/android/sync.c

Project Member

Comment 23 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4072faf89ecc6d6575ec03f4329135c5571d2cdf

commit 4072faf89ecc6d6575ec03f4329135c5571d2cdf
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:27 2017

UPSTREAM: staging: sync: Update new fence status with sync_fence_signal_pt

If a fence's pt is signaled before sync_fence_create is called, the fence
will never transition into the signaled state.  This also address a tiny
race if a merged fence's pt after sync_fence_get_status checks it's status
and before fence->status is updated.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit eeb2f571639feedcfce3f1718b0c3fd85d796812)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I5a926e7169075910029df1c2b1cb9958b5cf217f
Reviewed-on: https://chromium-review.googlesource.com/564255
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/4072faf89ecc6d6575ec03f4329135c5571d2cdf/drivers/staging/android/sync.c

Project Member

Comment 24 by bugdroid1@chromium.org, Jul 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6b8b7421e5ee6159b3712cfd2e76a3ed04c7f2c4

commit 6b8b7421e5ee6159b3712cfd2e76a3ed04c7f2c4
Author: Erik Gilling <konkers@android.com>
Date: Sun Jul 09 13:50:28 2017

UPSTREAM: staging: sync: Use proper barriers when waiting indefinitely

The previous fix only addressed waiting with a timeout.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 4b5de08a37e8189c039424c92ca76ff605cf1c7f)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Id694b616e205a276a401042efa50ab2f592afcd3
Reviewed-on: https://chromium-review.googlesource.com/564256
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/6b8b7421e5ee6159b3712cfd2e76a3ed04c7f2c4/drivers/staging/android/sync.c

Project Member

Comment 25 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b1cb358e8ee0debcb0f18950e6040d9399860f84

commit b1cb358e8ee0debcb0f18950e6040d9399860f84
Author: Erik Gilling <konkers@android.com>
Date: Mon Jul 10 04:15:40 2017

UPSTREAM: staging: sync: Refactor sync debug printing

Move driver callbacks to fill strings instead of using seq_files.  This
will allow those values to be used in a future tracepoint patch.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit dbd523905bac49da0643332e4eb0f2202e2acd06)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I40be05fee5facbabfa196897cefb12bdc30d4769
Reviewed-on: https://chromium-review.googlesource.com/564257
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/b1cb358e8ee0debcb0f18950e6040d9399860f84/drivers/staging/android/sync.c
[modify] https://crrev.com/b1cb358e8ee0debcb0f18950e6040d9399860f84/drivers/staging/android/sync.h

Project Member

Comment 26 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bcfb04e23f67d1e612b95721bad52d62f1b6d439

commit bcfb04e23f67d1e612b95721bad52d62f1b6d439
Author: Erik Gilling <konkers@android.com>
Date: Mon Jul 10 04:15:41 2017

UPSTREAM: staging: sw_sync: Convert to use new value_str debug ops

Switch from print_obj/print_pt to the new
timeline_value_str and pt_value_str ops.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Add commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 135114a566c15dfe44fb8ca31e42dd215d627383)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I68e15cb86a9ec5054da670b7fe7229fbd9d1c0d3
Reviewed-on: https://chromium-review.googlesource.com/564258
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/bcfb04e23f67d1e612b95721bad52d62f1b6d439/drivers/staging/android/sw_sync.c

Project Member

Comment 27 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/da9d09dc36c35dc38f581dcc335169480eae06f0

commit da9d09dc36c35dc38f581dcc335169480eae06f0
Author: Erik Gilling <konkers@android.com>
Date: Mon Jul 10 04:15:42 2017

UPSTREAM: staging: sync: Add tracepoint support

Add support for tracepoints

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Whitespace changes, add commit message, move to staging]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b699a644f82110e8e5a0f9b45ee1d3a3cd3e4586)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ieae3bf878edca12928b73016e04d57b1bc23efd5
Reviewed-on: https://chromium-review.googlesource.com/564259
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/da9d09dc36c35dc38f581dcc335169480eae06f0/drivers/staging/android/sync.c
[add] https://crrev.com/da9d09dc36c35dc38f581dcc335169480eae06f0/drivers/staging/android/trace/sync.h

Project Member

Comment 28 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/09cd5724c0d9a15116ed10aeaf9ad9c3a9511ef6

commit 09cd5724c0d9a15116ed10aeaf9ad9c3a9511ef6
Author: Ørjan Eide <orjan.eide@arm.com>
Date: Mon Jul 10 04:15:43 2017

UPSTREAM: staging: sync: Fix race condition between merge and signal

The copied sync_pt was activated immediately. If the sync_pt was
signaled before the entire merge was completed, the new fence's pt_list
could be iterated over while it is still in the process of being
created.

Moving the the sync_pt_activate call for all new sync_pts to after both
the sync_fence_copy_pts and the sync_fence_merge_pts calls ensure that
the pt_list is complete and immutable before it can be reached from the
timeline's active list.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 713648f0f137e149a1acade3278b621728291f37)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I84565f6e6031ce9026a5de93902518f01b0b04fb
Reviewed-on: https://chromium-review.googlesource.com/564260
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/09cd5724c0d9a15116ed10aeaf9ad9c3a9511ef6/drivers/staging/android/sync.c

Project Member

Comment 29 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bc0e4fe35b10409d83b2fe85fde8654526778271

commit bc0e4fe35b10409d83b2fe85fde8654526778271
Author: Erik Gilling <konkers@android.com>
Date: Mon Jul 10 04:15:44 2017

UPSTREAM: staging: sync: Don't log wait timeouts when timeout = 0

If the timeout is zero, don't trip the timeout debugging

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Erik Gilling <konkers@android.com>
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 4c67d802119813f11fd7c71ca9e6d0f805ea414a)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ia6dc2726cb6b6a193b073c32846cb63c8d2f4947
Reviewed-on: https://chromium-review.googlesource.com/564261
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/bc0e4fe35b10409d83b2fe85fde8654526778271/drivers/staging/android/sync.c

Project Member

Comment 30 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ec90efed0ccac0ff2088d8c1de6ea9393d584b3b

commit ec90efed0ccac0ff2088d8c1de6ea9393d584b3b
Author: Jamie Gennis <jgennis@google.com>
Date: Mon Jul 10 04:15:45 2017

UPSTREAM: staging: sync: Fix timeout = 0 wait behavior

Fix wait behavior on timeout == 0 case

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robclark@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Jamie Gennis <jgennis@google.com>
[jstultz: Added commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 573632c2eaf87429a89490173f34682bb71f6883)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I51722e01d7786369288d9b9bf9e43b42036dace5
Reviewed-on: https://chromium-review.googlesource.com/564262
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/ec90efed0ccac0ff2088d8c1de6ea9393d584b3b/drivers/staging/android/sync.c

Project Member

Comment 31 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e92667287b1979d3956438812c33f17591e14133

commit e92667287b1979d3956438812c33f17591e14133
Author: Changlong Xie <changlongx.xie@intel.com>
Date: Mon Jul 10 04:15:46 2017

UPSTREAM: staging: sw_sync: sw_sync_timeline_ops can be static

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Changlong Xie <changlongx.xie@intel.com>
Acked-by: Erik Gilling <konkers@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 451fb7664a590e74122061d3ac773eddb3c73674)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I57d98b0c39398f273588b79c6517b43b11d4073e
Reviewed-on: https://chromium-review.googlesource.com/564263
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/e92667287b1979d3956438812c33f17591e14133/drivers/staging/android/sw_sync.c

Project Member

Comment 32 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9df8692f86b3dad23c7b9a9d6a82a767f926de89

commit 9df8692f86b3dad23c7b9a9d6a82a767f926de89
Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date: Mon Jul 10 04:15:47 2017

UPSTREAM: staging: sync: fix return value check in sync_fence_alloc()

In case of error, the function anon_inode_getfile() returns
ERR_PTR() and never returns NULL. The NULL test in the return
value check should be replaced with IS_ERR().

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 59691367be00806a3ab1c6a125ced6ed87e91356)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Ibcaa67a70babb3d4cb758aebda780826dcc72c60
Reviewed-on: https://chromium-review.googlesource.com/564264
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/9df8692f86b3dad23c7b9a9d6a82a767f926de89/drivers/staging/android/sync.c

Project Member

Comment 33 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c2922219460badf02c498e6a585d3e2443238f1e

commit c2922219460badf02c498e6a585d3e2443238f1e
Author: Dmitry Pervushin <dmitry.pervushin@linaro.org>
Date: Mon Jul 10 04:15:48 2017

UPSTREAM: staging: sync: Add compat_ioctl handlers to sync drivers

The sync drivers are missing compat_ioctl handlers, so this
patch adds them.

The same change has been submitted to AOSP:
        https://android-review.googlesource.com/#/c/54901/

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Erik Gilling <konkers@android.com>
Cc: Dmitry Pervushin <dmitry.pervushin@linaro.org>
Cc: Bernhard Rosenkrnzer <Bernhard.Rosenkranzer@linaro.org>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Dmitry Pervushin <dmitry.pervushin@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c37b95eeefee32a765a9bbbfeaece48a361b2d23)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If27fd8b9d98b63e6f10d2bdb3fd2ce6d63e8c65f
Reviewed-on: https://chromium-review.googlesource.com/564265
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/c2922219460badf02c498e6a585d3e2443238f1e/drivers/staging/android/sync.c
[modify] https://crrev.com/c2922219460badf02c498e6a585d3e2443238f1e/drivers/staging/android/sw_sync.c

Project Member

Comment 34 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e612f15e7b748b1a74b6187463ee6c6a7596a0d9

commit e612f15e7b748b1a74b6187463ee6c6a7596a0d9
Author: Hema Prathaban <hemaklnce@gmail.com>
Date: Mon Jul 10 04:15:48 2017

UPSTREAM: staging: android: Remove unnecessary braces

Fixes the following checkpatch warning:
WARNING: braces {} are not necessary for single statement blocks

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Hema Prathaban <hemaklnce@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d03f6bbaa42c2c5466350718f804537384902d5d)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I94a7824dbbaafcbb6368c8e4975a89da14b175bd
Reviewed-on: https://chromium-review.googlesource.com/564266
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/e612f15e7b748b1a74b6187463ee6c6a7596a0d9/drivers/staging/android/sync.c

Project Member

Comment 35 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/295e0ffacb7e10f49a95328e4c0b9d3750370f2d

commit 295e0ffacb7e10f49a95328e4c0b9d3750370f2d
Author: Marlies Ruck <marlies.ruck@gmail.com>
Date: Mon Jul 10 04:15:50 2017

UPSTREAM: staging: Fix lines over 80 chars in android sw_sync

Fixes the following checkpatch warning:
WARNING: Line over 80 characters

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Marlies Ruck <marlies.ruck@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 0f14a20e4586bff80575b4806382d43e0d543cda)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I3d4f652dfe891ed098a33fd3578a673f975c9817
Reviewed-on: https://chromium-review.googlesource.com/564268
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/295e0ffacb7e10f49a95328e4c0b9d3750370f2d/drivers/staging/android/sw_sync.c

Project Member

Comment 36 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5b293782606701b5a7cb0bc83367e09f3a5c8c8a

commit 5b293782606701b5a7cb0bc83367e09f3a5c8c8a
Author: Hema Prathaban <hemaklnce@gmail.com>
Date: Mon Jul 10 04:15:49 2017

UPSTREAM: staging: android: Replace seq_printf with seq_puts

Fixes the following checkpatch warning:
WARNING: Prefer seq_puts to seq_printf

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Hema Prathaban <hemaklnce@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a0eacf2959a2879dce29d35568d78fcfeea54d86)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Iae7b596cc758f2b61a8e2923519c96af311e098c
Reviewed-on: https://chromium-review.googlesource.com/564267
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/5b293782606701b5a7cb0bc83367e09f3a5c8c8a/drivers/staging/android/sync.c

Project Member

Comment 37 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/dfa676fb0e284190dbef9407b417260fbd238b17

commit dfa676fb0e284190dbef9407b417260fbd238b17
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Mon Jul 10 04:15:51 2017

UPSTREAM: staging: android: sync: fix up a sparse warning

Fix up a sparse warning about sync_dump that was reported.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Cc: Erik Gilling <konkers@android.com>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cd0c1d70f69a8ac51634ef878ce6610044ee166c)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I48baece44bd453479f1c8dbcf457df769ebf4de9
Reviewed-on: https://chromium-review.googlesource.com/564269
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/dfa676fb0e284190dbef9407b417260fbd238b17/drivers/staging/android/sync.c

Project Member

Comment 38 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ba68c272c14eaf8f65d7fd91a2ea67e3f5f90f67

commit ba68c272c14eaf8f65d7fd91a2ea67e3f5f90f67
Author: Yann Droneaud <ydroneaud@opteya.com>
Date: Mon Jul 10 04:15:52 2017

UPSTREAM: android/sw_sync: use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()

Macro get_unused_fd() is used to allocate a file descriptor with
default flags. Those default flags (0) can be "unsafe":
O_CLOEXEC must be used by default to not leak file descriptor
across exec().

Instead of macro get_unused_fd(), functions anon_inode_getfd()
or get_unused_fd_flags() should be used with flags given by userspace.
If not possible, flags should be set to O_CLOEXEC to provide userspace
with a default safe behavor.

In a further patch, get_unused_fd() will be removed so that
new code start using anon_inode_getfd() or get_unused_fd_flags()
with correct flags.

This patch replaces calls to get_unused_fd() with call to
get_unused_fd_flags(O_CLOEXEC) following advice from Erik Gilling.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Colin Cross <ccross@google.com>
Link: http://lkml.kernel.org/r/CACSP8SjZcpcpEtQHzcGYhf-MP7QGo0XpN7-uN7rmD=vNtopG=w@mail.gmail.com
Link: http://lkml.kernel.org/r/cover.1376327678.git.ydroneaud@opteya.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 45acea57335ece628bdf96dc35d2ebdefd1efb9e)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I911acc5917a6b5c24c67f11aa68174a88a6e7af0
Reviewed-on: https://chromium-review.googlesource.com/564270
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/ba68c272c14eaf8f65d7fd91a2ea67e3f5f90f67/drivers/staging/android/sw_sync.c

Project Member

Comment 39 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/fb0e01831104418f7b9a58de2621240bb796062a

commit fb0e01831104418f7b9a58de2621240bb796062a
Author: Yann Droneaud <ydroneaud@opteya.com>
Date: Mon Jul 10 04:15:53 2017

UPSTREAM: android/sync: use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()

Macro get_unused_fd() is used to allocate a file descriptor with
default flags. Those default flags (0) can be "unsafe":
O_CLOEXEC must be used by default to not leak file descriptor
across exec().

Instead of macro get_unused_fd(), functions anon_inode_getfd()
or get_unused_fd_flags() should be used with flags given by userspace.
If not possible, flags should be set to O_CLOEXEC to provide userspace
with a default safe behavor.

In a further patch, get_unused_fd() will be removed so that
new code start using anon_inode_getfd() or get_unused_fd_flags()
with correct flags.

This patch replaces calls to get_unused_fd() with call to
get_unused_fd_flags(O_CLOEXEC) following advice from Erik Gilling.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Colin Cross <ccross@google.com>
Link: http://lkml.kernel.org/r/CACSP8SjXGMk2_kX_+RgzqqQwqKernvF1Wt3K5tw991W5dfAnCA@mail.gmail.com
Link: http://lkml.kernel.org/r/cover.1376327678.git.ydroneaud@opteya.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 9c6cd3b39048c8bbb83c5cd936f4dffc847321c6)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I9d13fb6986aa63a34ff4f78d817c57ad7fe7b740
Reviewed-on: https://chromium-review.googlesource.com/564271
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/fb0e01831104418f7b9a58de2621240bb796062a/drivers/staging/android/sync.c

Project Member

Comment 40 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/20651fa47d42f3a634ef61f3b76819d3540a0132

commit 20651fa47d42f3a634ef61f3b76819d3540a0132
Author: Masanari Iida <standby24x7@gmail.com>
Date: Mon Jul 10 04:15:54 2017

UPSTREAM: staging: android: Fix typo in android/sync.h

Correct spelling typo in android/sync.h

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 4e20effa23b1cbfc15fcdd6774937334775c5361)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If99c5c5776396d7a5c06ab838e9efc7d1620063f
Reviewed-on: https://chromium-review.googlesource.com/564272
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/20651fa47d42f3a634ef61f3b76819d3540a0132/drivers/staging/android/sync.h

Project Member

Comment 41 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a4ec1f2301df2af32ea6dcadd21523f4c122e7dd

commit a4ec1f2301df2af32ea6dcadd21523f4c122e7dd
Author: Greg Hackmann <ghackmann@google.com>
Date: Mon Jul 10 04:15:55 2017

UPSTREAM: staging: sw_sync: Add stubs for kernels without CONFIG_SW_SYNC

Add stubs for kernels without CONFIG_SW_SYNC

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Colin Cross <ccross@android.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Greg Hackmann <ghackmann@google.com>
[jstultz: resolved minor conflict, tweaked commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit bbd9ae8a05e05a608ff9158cf3b95be7b857a6fa)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I90ef401fed218475f3ca04b124eacbcdf2a60463
Reviewed-on: https://chromium-review.googlesource.com/564273
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/a4ec1f2301df2af32ea6dcadd21523f4c122e7dd/drivers/staging/android/sw_sync.h

Project Member

Comment 42 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/61f41925d6a862d950cbe8a0580b6c8f0518cc9e

commit 61f41925d6a862d950cbe8a0580b6c8f0518cc9e
Author: Alistair Strachan <alistair.strachan@imgtec.com>
Date: Mon Jul 10 04:15:56 2017

UPSTREAM: staging: sync: Fix a race condition between release_obj and print_obj

Before this change, a timeline would only be removed from the timeline
list *after* the sync driver had its release_obj() called. However, the
driver's release_obj() may free resources needed by print_obj().

Although the timeline list is locked when print_obj() is called, it is
not locked when release_obj() is called. If one CPU was in print_obj()
when another was in release_obj(), the print_obj() may make unsafe
accesses.

It is not actually necessary to hold the timeline list lock when calling
release_obj() if the call is made after the timeline is unlinked from
the list, since there is no possibility another thread could be in --
or enter -- print_obj() for that timeline.

This change moves the release_obj() call to after the timeline is
unlinked, preventing the above race from occurring.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Colin Cross <ccross@android.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Alistair Strachan <alistair.strachan@imgtec.com>
[jstultz: minor commit subject tweak]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5cf045f54d31894ec59ee741e01fa258be2ba0fb)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I71e1c54d67aa53eb64d0aeef592081556e685e51
Reviewed-on: https://chromium-review.googlesource.com/564274
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/61f41925d6a862d950cbe8a0580b6c8f0518cc9e/drivers/staging/android/sync.c

Project Member

Comment 43 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c65547b039d18103edcdecf3ad7983a3d77abfa5

commit c65547b039d18103edcdecf3ad7983a3d77abfa5
Author: Prakash Kamliya <pkamliya@codeaurora.org>
Date: Mon Jul 10 04:15:57 2017

UPSTREAM: staging: android: sync: Signal pt before sync_timeline object gets destroyed

There is a race condition

Assume we have *one* sync_fence object, with *one* sync_pt
which belongs to *one* sync_timeline, given this condition,
sync_timeline->kref will have two counts, one for sync_timeline
(implicit) and another for sync_pt.

Assume following is the situation on CPU

Theead-1 : (Thread which calls sync_timeline_destroy())
  -> (some function calls)
   -> sync_timeline_destory()
    -> sync_timeline_signal() (CPU is inside this
function after putting reference to sync_timeline)

At this time Thread-2 comes and does following

Thread-2 : (fclose on fence fd)
> sync_fence_release() -> because of fclose() on fence object
 -> sync_fence_free()
  -> sync_pt_free()
   -> kref_put(&pt->parent->kref, sync_timeline_free);
    -> sync_timeline_free() (CPU is inside this because
this time kref will be zero after _put)

Thread-2 will free sync_timeline object before Thread-1
has finished its work inside sync_timeline_signal.

With this change we signals all sync_pt before putting
reference to sync_timeline object.

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Colin Cross <ccross@android.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
[jstultz: minor commit subject tweak]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ac5b705b22642208764aa784ccc47f093d0212b5)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I43a6f3141dc2f2439980d8622e4e43bf280793e6
Reviewed-on: https://chromium-review.googlesource.com/564275
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/c65547b039d18103edcdecf3ad7983a3d77abfa5/drivers/staging/android/sync.c

Project Member

Comment 44 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/291f467973de24059cdfb1a87fdacab058dbb180

commit 291f467973de24059cdfb1a87fdacab058dbb180
Author: Dominik Behr <dbehr@chromium.org>
Date: Mon Jul 10 04:15:59 2017

CHROMIUM: config: enable android sw_sync

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Change-Id: I640635b94f2c7698329c4cb14320f051cc2c1d7c
Signed-off-by: Dominik Behr <dbehr@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/564277
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/291f467973de24059cdfb1a87fdacab058dbb180/chromeos/config/base.config

Project Member

Comment 45 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0d38a03e7e672478748da215a7be13aa3bcd3b89

commit 0d38a03e7e672478748da215a7be13aa3bcd3b89
Author: Colin Cross <ccross@android.com>
Date: Mon Jul 10 04:15:58 2017

UPSTREAM: staging: android: split uapi out of sync.h and sw_sync.h

Move the userspace interfaces of sync.h and sw_sync.h to
drivers/staging/android/uapi/

BUG= chromium:735195 
TEST=boot daisy and run webgl aquarium

Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Colin Cross <ccross@android.com>
Cc: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Colin Cross <ccross@android.com>
[jstultz: Fixed up some conflicts from upstream spelling fixes]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 64907b94dab947f3f3fc96fe1ab810cbc12ca902)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I88717c5b08ace3128945e17df00bef9a1633509b
Reviewed-on: https://chromium-review.googlesource.com/564276
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/0d38a03e7e672478748da215a7be13aa3bcd3b89/drivers/staging/android/sw_sync.h
[modify] https://crrev.com/0d38a03e7e672478748da215a7be13aa3bcd3b89/drivers/staging/android/sync.h
[add] https://crrev.com/0d38a03e7e672478748da215a7be13aa3bcd3b89/drivers/staging/android/uapi/sw_sync.h
[add] https://crrev.com/0d38a03e7e672478748da215a7be13aa3bcd3b89/drivers/staging/android/uapi/sync.h

Comment 46 by dbehr@chromium.org, Jul 11 2017

Status: Fixed (was: Assigned)

Comment 47 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment