mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-04 03:33:58 +08:00
63f8c9b7f6
This class supports a WFI method (0x0078) that's not present on the KeplerChannelGpfifoA class. The binary driver exposes both classes on these GPUs for some reason, though there doesn't appear to be any difference in the setup that's done for each (ie. even if you allocate GpfifoA, the WFI method will still work). We shall just expose GpfifoB, as I don't see a good reason to report the presence of both. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
31 lines
779 B
C
31 lines
779 B
C
#ifndef __GK104_FIFO_CHAN_H__
|
|
#define __GK104_FIFO_CHAN_H__
|
|
#define gk104_fifo_chan(p) container_of((p), struct gk104_fifo_chan, base)
|
|
#include "chan.h"
|
|
#include "gk104.h"
|
|
|
|
struct gk104_fifo_chan {
|
|
struct nvkm_fifo_chan base;
|
|
struct gk104_fifo *fifo;
|
|
int runl;
|
|
|
|
struct list_head head;
|
|
bool killed;
|
|
|
|
struct nvkm_gpuobj *pgd;
|
|
struct nvkm_vm *vm;
|
|
|
|
struct {
|
|
struct nvkm_gpuobj *inst;
|
|
struct nvkm_vma vma;
|
|
} engn[NVKM_SUBDEV_NR];
|
|
};
|
|
|
|
int gk104_fifo_gpfifo_new(struct nvkm_fifo *, const struct nvkm_oclass *,
|
|
void *data, u32 size, struct nvkm_object **);
|
|
|
|
extern const struct nvkm_fifo_chan_oclass gk104_fifo_gpfifo_oclass;
|
|
extern const struct nvkm_fifo_chan_oclass gk110_fifo_gpfifo_oclass;
|
|
extern const struct nvkm_fifo_chan_oclass gm200_fifo_gpfifo_oclass;
|
|
#endif
|