#include "gem/i915_gem_internal.h"
#include "gem/i915_gem_object.h"
#include "i915_drv.h"
#include "intel_engine_pm.h"
#include "intel_gt_buffer_pool.h"
static struct list_head *
bucket_for_size(struct intel_gt_buffer_pool *pool, size_t sz)
{ … }
static void node_free(struct intel_gt_buffer_pool_node *node)
{ … }
static bool pool_free_older_than(struct intel_gt_buffer_pool *pool, long keep)
{ … }
static void pool_free_work(struct work_struct *wrk)
{ … }
static void pool_retire(struct i915_active *ref)
{ … }
void intel_gt_buffer_pool_mark_used(struct intel_gt_buffer_pool_node *node)
{ … }
static struct intel_gt_buffer_pool_node *
node_create(struct intel_gt_buffer_pool *pool, size_t sz,
enum i915_map_type type)
{ … }
struct intel_gt_buffer_pool_node *
intel_gt_get_buffer_pool(struct intel_gt *gt, size_t size,
enum i915_map_type type)
{ … }
void intel_gt_init_buffer_pool(struct intel_gt *gt)
{ … }
void intel_gt_flush_buffer_pool(struct intel_gt *gt)
{ … }
void intel_gt_fini_buffer_pool(struct intel_gt *gt)
{ … }