Displaying 3 results from an estimated 3 matches for "list_entry_is_head".
2023 Jul 07
0
[PATCH drm-next v6 02/13] drm: manager to keep track of GPUs VA mappings
...Good catch! Originally this was
drm_gpuva_it_iter_first(&(mgr)->rb.tree, (start__), (end__) - 1)
but then I changed it since I did not want to expose the interval tree
functions directly.
>
>> + va__ && (va__->va.addr < (end__)) && \
>> + !list_entry_is_head(va__, &(mgr__)->rb.list, rb.entry); \
>> + va__ = list_next_entry(va__, rb.entry))
>
> If you define:
>
> static inline struct drm_gpuva *
> drm_gpuva_next(struct drm_gpuva *va)
> {
> if (va && !list_is_last(&va->rb.entry, &va->mgr->...
2023 Jun 29
3
[PATCH drm-next v6 02/13] drm: manager to keep track of GPUs VA mappings
...terator does not skip over the &drm_gpuva_manager's
+ * @kernel_alloc_node.
+ */
+#define drm_gpuva_for_each_va_range(va__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__)); \
+ va__ && (va__->va.addr < (end__)) && \
+ !list_entry_is_head(va__, &(mgr__)->rb.list, rb.entry); \
+ va__ = list_next_entry(va__, rb.entry))
+
+/**
+ * drm_gpuva_for_each_va_range_safe - iternator to safely walk over a range of
+ * &drm_gpuvas
+ * @va__: &drm_gpuva to assign to in each iteration step
+ * @next__: another &drm_gpuva to...
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