Lines Matching refs:cache

27 	struct dma_buf_cache *cache, *tmp;  in dma_buf_cache_destructor()  local
33 list_for_each_entry_safe(cache, tmp, &data->head, list) { in dma_buf_cache_destructor()
34 if (!IS_ERR_OR_NULL(cache->sg_table)) in dma_buf_cache_destructor()
35 dma_buf_unmap_attachment(cache->attach, in dma_buf_cache_destructor()
36 cache->sg_table, in dma_buf_cache_destructor()
37 cache->direction); in dma_buf_cache_destructor()
39 dma_buf_detach(dmabuf, cache->attach); in dma_buf_cache_destructor()
40 list_del(&cache->list); in dma_buf_cache_destructor()
41 kfree(cache); in dma_buf_cache_destructor()
54 struct dma_buf_cache *cache; in dma_buf_cache_get_cache() local
62 list_for_each_entry(cache, &data->head, list) { in dma_buf_cache_get_cache()
63 if (cache->attach == attach) in dma_buf_cache_get_cache()
64 return cache; in dma_buf_cache_get_cache()
73 struct dma_buf_cache *cache; in dma_buf_cache_detach() local
77 cache = dma_buf_cache_get_cache(attach); in dma_buf_cache_detach()
78 if (!cache) in dma_buf_cache_detach()
90 struct dma_buf_cache *cache; in dma_buf_cache_attach() local
111 list_for_each_entry(cache, &data->head, list) { in dma_buf_cache_attach()
112 if (cache->attach->dev == dev) { in dma_buf_cache_attach()
114 attach = cache->attach; in dma_buf_cache_attach()
119 cache = kzalloc(sizeof(*cache), GFP_KERNEL); in dma_buf_cache_attach()
120 if (!cache) { in dma_buf_cache_attach()
129 cache->attach = attach; in dma_buf_cache_attach()
130 list_add(&cache->list, &data->head); in dma_buf_cache_attach()
137 kfree(cache); in dma_buf_cache_attach()
152 struct dma_buf_cache *cache; in dma_buf_cache_unmap_attachment() local
156 cache = dma_buf_cache_get_cache(attach); in dma_buf_cache_unmap_attachment()
157 if (!cache) in dma_buf_cache_unmap_attachment()
168 struct dma_buf_cache *cache; in dma_buf_cache_map_attachment() local
173 cache = dma_buf_cache_get_cache(attach); in dma_buf_cache_map_attachment()
174 if (!cache) { in dma_buf_cache_map_attachment()
178 if (cache->sg_table) { in dma_buf_cache_map_attachment()
180 if (cache->direction == direction) { in dma_buf_cache_map_attachment()
181 sg_table = cache->sg_table; in dma_buf_cache_map_attachment()
185 dma_buf_unmap_attachment(attach, cache->sg_table, in dma_buf_cache_map_attachment()
186 cache->direction); in dma_buf_cache_map_attachment()
191 cache->sg_table = sg_table; in dma_buf_cache_map_attachment()
192 cache->direction = direction; in dma_buf_cache_map_attachment()