linux/drivers/gpu/drm/nouveau/nouveau_chan.h
<<
>>
Prefs
   1#ifndef __NOUVEAU_CHAN_H__
   2#define __NOUVEAU_CHAN_H__
   3
   4#include <nvif/object.h>
   5struct nvif_device;
   6
   7struct nouveau_channel {
   8        struct nvif_device *device;
   9        struct nouveau_drm *drm;
  10
  11        int chid;
  12
  13        struct nvif_object vram;
  14        struct nvif_object gart;
  15        struct nvif_object nvsw;
  16
  17        struct {
  18                struct nouveau_bo *buffer;
  19                struct nvkm_vma vma;
  20                struct nvif_object ctxdma;
  21        } push;
  22
  23        /* TODO: this will be reworked in the near future */
  24        bool accel_done;
  25        void *fence;
  26        struct {
  27                int max;
  28                int free;
  29                int cur;
  30                int put;
  31                int ib_base;
  32                int ib_max;
  33                int ib_free;
  34                int ib_put;
  35        } dma;
  36        u32 user_get_hi;
  37        u32 user_get;
  38        u32 user_put;
  39
  40        struct nvif_object *object;
  41};
  42
  43
  44int  nouveau_channel_new(struct nouveau_drm *, struct nvif_device *,
  45                         u32 handle, u32 arg0, u32 arg1,
  46                         struct nouveau_channel **);
  47void nouveau_channel_del(struct nouveau_channel **);
  48int  nouveau_channel_idle(struct nouveau_channel *);
  49
  50extern int nouveau_vram_pushbuf;
  51
  52#endif
  53