#include <linux/interrupt.h>
#include <linux/iopoll.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <drm/lima_drm.h>
#include "lima_device.h"
#include "lima_gp.h"
#include "lima_regs.h"
#include "lima_gem.h"
#include "lima_vm.h"
#define gp_write(reg, data) …
#define gp_read(reg) …
static irqreturn_t lima_gp_irq_handler(int irq, void *data)
{ … }
static void lima_gp_soft_reset_async(struct lima_ip *ip)
{ … }
static int lima_gp_soft_reset_async_wait(struct lima_ip *ip)
{ … }
static int lima_gp_task_validate(struct lima_sched_pipe *pipe,
struct lima_sched_task *task)
{ … }
static void lima_gp_task_run(struct lima_sched_pipe *pipe,
struct lima_sched_task *task)
{ … }
static int lima_gp_bus_stop_poll(struct lima_ip *ip)
{ … }
static int lima_gp_hard_reset_poll(struct lima_ip *ip)
{ … }
static int lima_gp_hard_reset(struct lima_ip *ip)
{ … }
static void lima_gp_task_fini(struct lima_sched_pipe *pipe)
{ … }
static void lima_gp_task_error(struct lima_sched_pipe *pipe)
{ … }
static void lima_gp_task_mmu_error(struct lima_sched_pipe *pipe)
{ … }
static void lima_gp_task_mask_irq(struct lima_sched_pipe *pipe)
{ … }
static int lima_gp_task_recover(struct lima_sched_pipe *pipe)
{ … }
static void lima_gp_print_version(struct lima_ip *ip)
{ … }
static struct kmem_cache *lima_gp_task_slab;
static int lima_gp_task_slab_refcnt;
static int lima_gp_hw_init(struct lima_ip *ip)
{ … }
int lima_gp_resume(struct lima_ip *ip)
{ … }
void lima_gp_suspend(struct lima_ip *ip)
{ … }
int lima_gp_init(struct lima_ip *ip)
{ … }
void lima_gp_fini(struct lima_ip *ip)
{ … }
int lima_gp_pipe_init(struct lima_device *dev)
{ … }
void lima_gp_pipe_fini(struct lima_device *dev)
{ … }