search for: mas_erase

Displaying 5 results from an estimated 5 matches for "mas_erase".

2023 Feb 27
2
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
...t;> + * @it: the &drm_gpuva_iterator >>>> + * >>>> + * This removes the element the iterator currently points to. >>>> + */ >>>> +void >>>> +drm_gpuva_iter_remove(struct drm_gpuva_iterator *it) >>>> +{ >>>> + mas_erase(&it->mas); >>>> +} >>>> +EXPORT_SYMBOL(drm_gpuva_iter_remove); >>>> + >>>> +/** >>>> + * drm_gpuva_insert - insert a &drm_gpuva >>>> + * @mgr: the &drm_gpuva_manager to insert the &drm_gpuva in >>>&g...
2023 Mar 06
2
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
...oop iteration should then continue at the entry (is any) after the range of the removed one. However, I'm unsure how to implement this. Would I need to just do a mas_store() of the new entry/entries (since the nodes should already be allocated) and then clean up the nodes that are left with mas_erase()? Let's say there is an entry A = [0 - 5] and I want to replace it with B = [0 - 1] and C = [4 - 5]. Could I just store B and C and then somehow clean up the range [2 - 3]? Maybe 1) would be the most flexible way, however, if 2) can be implemented more efficiently that's perfectly fin...
2023 Mar 06
0
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
...t;> + * @it: the &drm_gpuva_iterator >>>> + * >>>> + * This removes the element the iterator currently points to. >>>> + */ >>>> +void >>>> +drm_gpuva_iter_remove(struct drm_gpuva_iterator *it) >>>> +{ >>>> + mas_erase(&it->mas); >>>> +} >>>> +EXPORT_SYMBOL(drm_gpuva_iter_remove); >>>> + >>>> +/** >>>> + * drm_gpuva_insert - insert a &drm_gpuva >>>> + * @mgr: the &drm_gpuva_manager to insert the &drm_gpuva in >>>&g...
2023 Mar 13
1
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
...entry (is any) after the range of >> the removed one. >> >> However, I'm unsure how to implement this. Would I need to just do a >> mas_store() of the new entry/entries (since the nodes should already be >> allocated) and then clean up the nodes that are left with mas_erase()? >> >> Let's say there is an entry A = [0 - 5] and I want to replace it with B = [0 >> - 1] and C = [4 - 5]. >> >> Could I just store B and C and then somehow clean up the range [2 - 3]? > > The most efficient way: > mas_set(&mas, 0); > // Walk d...
2023 Aug 20
3
[PATCH drm-misc-next 0/3] [RFC] DRM GPUVA Manager GPU-VM features
So far the DRM GPUVA manager offers common infrastructure to track GPU VA allocations and mappings, generically connect GPU VA mappings to their backing buffers and perform more complex mapping operations on the GPU VA space. However, there are more design patterns commonly used by drivers, which can potentially be generalized in order to make the DRM GPUVA manager represent a basic GPU-VM