diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2017-04-04 04:17:07 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-10 02:54:26 -0400 |
commit | db2ee5c127afc3c270b0a5c0e74660f0532dafbe (patch) | |
tree | ff6d7641197a4ab77799a1bd3bcf69de7ba94572 /drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |
parent | 3429657f9308b27e4721d88b1c1c307b23bfb316 (diff) |
gpu: nvgpu: use nvgpu list for buffer states
Use nvgpu list APIs instead of linux list APIs
for to store buffer states in gk20a_dmabuf_priv.
Jira NVGPU-13
Change-Id: I9666b2435804b132bb86bb74c0b20590749b153f
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1454689
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index cfe7745d..ab3dc3f9 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |||
@@ -163,7 +163,7 @@ struct gk20a_dmabuf_priv { | |||
163 | 163 | ||
164 | int pin_count; | 164 | int pin_count; |
165 | 165 | ||
166 | struct list_head states; | 166 | struct nvgpu_list_node states; |
167 | 167 | ||
168 | u64 buffer_id; | 168 | u64 buffer_id; |
169 | }; | 169 | }; |
@@ -232,9 +232,10 @@ static void gk20a_mm_delete_priv(void *_priv) | |||
232 | } | 232 | } |
233 | 233 | ||
234 | /* Free buffer states */ | 234 | /* Free buffer states */ |
235 | list_for_each_entry_safe(s, s_tmp, &priv->states, list) { | 235 | nvgpu_list_for_each_entry_safe(s, s_tmp, &priv->states, |
236 | gk20a_buffer_state, list) { | ||
236 | gk20a_fence_put(s->fence); | 237 | gk20a_fence_put(s->fence); |
237 | list_del(&s->list); | 238 | nvgpu_list_del(&s->list); |
238 | nvgpu_kfree(g, s); | 239 | nvgpu_kfree(g, s); |
239 | } | 240 | } |
240 | 241 | ||
@@ -4067,7 +4068,7 @@ int gk20a_dmabuf_alloc_drvdata(struct dma_buf *dmabuf, struct device *dev) | |||
4067 | } | 4068 | } |
4068 | 4069 | ||
4069 | nvgpu_mutex_init(&priv->lock); | 4070 | nvgpu_mutex_init(&priv->lock); |
4070 | INIT_LIST_HEAD(&priv->states); | 4071 | nvgpu_init_list_node(&priv->states); |
4071 | priv->buffer_id = ++priv_count; | 4072 | priv->buffer_id = ++priv_count; |
4072 | priv->g = g; | 4073 | priv->g = g; |
4073 | dma_buf_set_drvdata(dmabuf, dev, priv, gk20a_mm_delete_priv); | 4074 | dma_buf_set_drvdata(dmabuf, dev, priv, gk20a_mm_delete_priv); |
@@ -4101,7 +4102,7 @@ int gk20a_dmabuf_get_state(struct dma_buf *dmabuf, struct device *dev, | |||
4101 | 4102 | ||
4102 | nvgpu_mutex_acquire(&priv->lock); | 4103 | nvgpu_mutex_acquire(&priv->lock); |
4103 | 4104 | ||
4104 | list_for_each_entry(s, &priv->states, list) | 4105 | nvgpu_list_for_each_entry(s, &priv->states, gk20a_buffer_state, list) |
4105 | if (s->offset == offset) | 4106 | if (s->offset == offset) |
4106 | goto out; | 4107 | goto out; |
4107 | 4108 | ||
@@ -4113,9 +4114,9 @@ int gk20a_dmabuf_get_state(struct dma_buf *dmabuf, struct device *dev, | |||
4113 | } | 4114 | } |
4114 | 4115 | ||
4115 | s->offset = offset; | 4116 | s->offset = offset; |
4116 | INIT_LIST_HEAD(&s->list); | 4117 | nvgpu_init_list_node(&s->list); |
4117 | nvgpu_mutex_init(&s->lock); | 4118 | nvgpu_mutex_init(&s->lock); |
4118 | list_add_tail(&s->list, &priv->states); | 4119 | nvgpu_list_add_tail(&s->list, &priv->states); |
4119 | 4120 | ||
4120 | out: | 4121 | out: |
4121 | nvgpu_mutex_release(&priv->lock); | 4122 | nvgpu_mutex_release(&priv->lock); |