mirror of
https://github.com/torvalds/linux.git
synced 2026-05-02 21:42:42 -04:00
drm/nouveau/fifo/gk110-: support writing channel group runlist entries
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#define __GK104_FIFO_H__
|
||||
#define gk104_fifo(p) container_of((p), struct gk104_fifo, base)
|
||||
#include "priv.h"
|
||||
struct nvkm_fifo_cgrp;
|
||||
|
||||
#include <core/enum.h>
|
||||
#include <subdev/mmu.h>
|
||||
@@ -31,6 +32,7 @@ struct gk104_fifo {
|
||||
struct nvkm_memory *mem[2];
|
||||
int next;
|
||||
wait_queue_head_t wait;
|
||||
struct list_head cgrp;
|
||||
struct list_head chan;
|
||||
u32 engm;
|
||||
} runlist[16];
|
||||
@@ -53,6 +55,8 @@ struct gk104_fifo_func {
|
||||
|
||||
const struct gk104_fifo_runlist_func {
|
||||
u8 size;
|
||||
void (*cgrp)(struct nvkm_fifo_cgrp *,
|
||||
struct nvkm_memory *, u32 offset);
|
||||
void (*chan)(struct gk104_fifo_chan *,
|
||||
struct nvkm_memory *, u32 offset);
|
||||
} *runlist;
|
||||
@@ -71,7 +75,6 @@ void gk104_fifo_runlist_remove(struct gk104_fifo *, struct gk104_fifo_chan *);
|
||||
void gk104_fifo_runlist_commit(struct gk104_fifo *, int runl);
|
||||
|
||||
extern const struct nvkm_enum gk104_fifo_fault_access[];
|
||||
|
||||
extern const struct nvkm_enum gk104_fifo_fault_engine[];
|
||||
extern const struct nvkm_enum gk104_fifo_fault_reason[];
|
||||
extern const struct nvkm_enum gk104_fifo_fault_hubclient[];
|
||||
@@ -80,6 +83,10 @@ extern const struct gk104_fifo_runlist_func gk104_fifo_runlist;
|
||||
void gk104_fifo_runlist_chan(struct gk104_fifo_chan *,
|
||||
struct nvkm_memory *, u32);
|
||||
|
||||
extern const struct gk104_fifo_runlist_func gk110_fifo_runlist;
|
||||
void gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *,
|
||||
struct nvkm_memory *, u32);
|
||||
|
||||
extern const struct nvkm_enum gm107_fifo_fault_engine[];
|
||||
extern const struct nvkm_enum gp100_fifo_fault_engine[];
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user