linux/drivers/gpu/drm/i915/i915_scheduler.c

/*
 * SPDX-License-Identifier: MIT
 *
 * Copyright © 2018 Intel Corporation
 */

#include <linux/mutex.h>

#include "i915_drv.h"
#include "i915_request.h"
#include "i915_scheduler.h"

static struct kmem_cache *slab_dependencies;
static struct kmem_cache *slab_priorities;

static DEFINE_SPINLOCK(schedule_lock);

static const struct i915_request *
node_to_request(const struct i915_sched_node *node)
{}

static inline bool node_started(const struct i915_sched_node *node)
{}

static inline bool node_signaled(const struct i915_sched_node *node)
{}

static inline struct i915_priolist *to_priolist(struct rb_node *rb)
{}

static void assert_priolists(struct i915_sched_engine * const sched_engine)
{}

struct list_head *
i915_sched_lookup_priolist(struct i915_sched_engine *sched_engine, int prio)
{}

void __i915_priolist_free(struct i915_priolist *p)
{}

struct sched_cache {};

static struct i915_sched_engine *
lock_sched_engine(struct i915_sched_node *node,
		  struct i915_sched_engine *locked,
		  struct sched_cache *cache)
{}

static void __i915_schedule(struct i915_sched_node *node,
			    const struct i915_sched_attr *attr)
{}

void i915_schedule(struct i915_request *rq, const struct i915_sched_attr *attr)
{}

void i915_sched_node_init(struct i915_sched_node *node)
{}

void i915_sched_node_reinit(struct i915_sched_node *node)
{}

static struct i915_dependency *
i915_dependency_alloc(void)
{}

static void
i915_dependency_free(struct i915_dependency *dep)
{}

bool __i915_sched_node_add_dependency(struct i915_sched_node *node,
				      struct i915_sched_node *signal,
				      struct i915_dependency *dep,
				      unsigned long flags)
{}

int i915_sched_node_add_dependency(struct i915_sched_node *node,
				   struct i915_sched_node *signal,
				   unsigned long flags)
{}

void i915_sched_node_fini(struct i915_sched_node *node)
{}

void i915_request_show_with_schedule(struct drm_printer *m,
				     const struct i915_request *rq,
				     const char *prefix,
				     int indent)
{}

static void default_destroy(struct kref *kref)
{}

static bool default_disabled(struct i915_sched_engine *sched_engine)
{}

struct i915_sched_engine *
i915_sched_engine_create(unsigned int subclass)
{}

void i915_scheduler_module_exit(void)
{}

int __init i915_scheduler_module_init(void)
{}