linux/drivers/gpu/drm/lima/lima_sched.c

// SPDX-License-Identifier: GPL-2.0 OR MIT
/* Copyright 2017-2019 Qiang Yu <[email protected]> */

#include <linux/hardirq.h>
#include <linux/iosys-map.h>
#include <linux/kthread.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/pm_runtime.h>

#include "lima_devfreq.h"
#include "lima_drv.h"
#include "lima_sched.h"
#include "lima_vm.h"
#include "lima_mmu.h"
#include "lima_l2_cache.h"
#include "lima_gem.h"
#include "lima_trace.h"

struct lima_fence {};

static struct kmem_cache *lima_fence_slab;
static int lima_fence_slab_refcnt;

int lima_sched_slab_init(void)
{}

void lima_sched_slab_fini(void)
{}

static inline struct lima_fence *to_lima_fence(struct dma_fence *fence)
{}

static const char *lima_fence_get_driver_name(struct dma_fence *fence)
{}

static const char *lima_fence_get_timeline_name(struct dma_fence *fence)
{}

static void lima_fence_release_rcu(struct rcu_head *rcu)
{}

static void lima_fence_release(struct dma_fence *fence)
{}

static const struct dma_fence_ops lima_fence_ops =;

static struct lima_fence *lima_fence_create(struct lima_sched_pipe *pipe)
{}

static inline struct lima_sched_task *to_lima_task(struct drm_sched_job *job)
{}

static inline struct lima_sched_pipe *to_lima_pipe(struct drm_gpu_scheduler *sched)
{}

int lima_sched_task_init(struct lima_sched_task *task,
			 struct lima_sched_context *context,
			 struct lima_bo **bos, int num_bos,
			 struct lima_vm *vm)
{}

void lima_sched_task_fini(struct lima_sched_task *task)
{}

int lima_sched_context_init(struct lima_sched_pipe *pipe,
			    struct lima_sched_context *context)
{}

void lima_sched_context_fini(struct lima_sched_pipe *pipe,
			     struct lima_sched_context *context)
{}

struct dma_fence *lima_sched_context_queue_task(struct lima_sched_task *task)
{}

static int lima_pm_busy(struct lima_device *ldev)
{}

static void lima_pm_idle(struct lima_device *ldev)
{}

static struct dma_fence *lima_sched_run_job(struct drm_sched_job *job)
{}

static void lima_sched_build_error_task_list(struct lima_sched_task *task)
{}

static enum drm_gpu_sched_stat lima_sched_timedout_job(struct drm_sched_job *job)
{}

static void lima_sched_free_job(struct drm_sched_job *job)
{}

static const struct drm_sched_backend_ops lima_sched_ops =;

static void lima_sched_recover_work(struct work_struct *work)
{}

int lima_sched_pipe_init(struct lima_sched_pipe *pipe, const char *name)
{}

void lima_sched_pipe_fini(struct lima_sched_pipe *pipe)
{}

void lima_sched_pipe_task_done(struct lima_sched_pipe *pipe)
{}