/* SPDX-License-Identifier: MIT */ /* * Copyright © 2014-2018 Intel Corporation */ #ifndef INTEL_GT_BUFFER_POOL_TYPES_H #define INTEL_GT_BUFFER_POOL_TYPES_H #include <linux/list.h> #include <linux/spinlock.h> #include <linux/workqueue.h> #include "gem/i915_gem_object_types.h" #include "i915_active_types.h" struct intel_gt_buffer_pool { spinlock_t lock; struct list_head cache_list[4]; struct delayed_work work; }; struct intel_gt_buffer_pool_node { struct i915_active active; struct drm_i915_gem_object *obj; struct list_head link; union { struct intel_gt_buffer_pool *pool; struct intel_gt_buffer_pool_node *free; struct rcu_head rcu; }; unsigned long age; enum i915_map_type type; u32 pinned; }; #endif /* INTEL_GT_BUFFER_POOL_TYPES_H */