summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include/nvgpu/atomic.h
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2017-08-08 02:38:03 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-24 04:10:37 -0400
commit3fa47b877db1edc16018d662e7b9915d92354745 (patch)
treec1d9a8734e7d92b5ae647fbc3f582a01207a23f6 /drivers/gpu/nvgpu/include/nvgpu/atomic.h
parent8662fae334f2419da2e7fd220f7734217ec52433 (diff)
gpu: nvgpu: Replace kref for refcounting in nvgpu
- added wrapper struct nvgpu_ref over nvgpu_atomic_t - added nvgpu_ref_* APIs to access the above struct JIRA NVGPU-140 Change-Id: Id47f897995dd4721751f7610b6d4d4fbfe4d6b9a Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1540899 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/atomic.h')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/atomic.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/atomic.h b/drivers/gpu/nvgpu/include/nvgpu/atomic.h
index c7a5fcd9..393a9d35 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/atomic.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/atomic.h
@@ -61,10 +61,18 @@ static inline bool nvgpu_atomic_dec_and_test(nvgpu_atomic_t *v)
61{ 61{
62 return __nvgpu_atomic_dec_and_test(v); 62 return __nvgpu_atomic_dec_and_test(v);
63} 63}
64static inline bool nvgpu_atomic_sub_and_test(int i, nvgpu_atomic_t *v)
65{
66 return __nvgpu_atomic_sub_and_test(i, v);
67}
64static inline int nvgpu_atomic_add_return(int i, nvgpu_atomic_t *v) 68static inline int nvgpu_atomic_add_return(int i, nvgpu_atomic_t *v)
65{ 69{
66 return __nvgpu_atomic_add_return(i, v); 70 return __nvgpu_atomic_add_return(i, v);
67} 71}
72static inline int nvgpu_atomic_add_unless(nvgpu_atomic_t *v, int a, int u)
73{
74 return __nvgpu_atomic_add_unless(v, a, u);
75}
68static inline void nvgpu_atomic64_set(nvgpu_atomic64_t *v, long i) 76static inline void nvgpu_atomic64_set(nvgpu_atomic64_t *v, long i)
69{ 77{
70 return __nvgpu_atomic64_set(v, i); 78 return __nvgpu_atomic64_set(v, i);