linux/drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __NVKM_BAR_PRIV_H__
   3#define __NVKM_BAR_PRIV_H__
   4#define nvkm_bar(p) container_of((p), struct nvkm_bar, subdev)
   5#include <subdev/bar.h>
   6
   7void nvkm_bar_ctor(const struct nvkm_bar_func *, struct nvkm_device *,
   8                   int, struct nvkm_bar *);
   9
  10struct nvkm_bar_func {
  11        void *(*dtor)(struct nvkm_bar *);
  12        int (*oneinit)(struct nvkm_bar *);
  13        void (*init)(struct nvkm_bar *);
  14
  15        struct {
  16                void (*init)(struct nvkm_bar *);
  17                void (*fini)(struct nvkm_bar *);
  18                void (*wait)(struct nvkm_bar *);
  19                struct nvkm_vmm *(*vmm)(struct nvkm_bar *);
  20        } bar1, bar2;
  21
  22        void (*flush)(struct nvkm_bar *);
  23};
  24
  25void nv50_bar_bar1_fini(struct nvkm_bar *);
  26void nv50_bar_bar2_fini(struct nvkm_bar *);
  27
  28void g84_bar_flush(struct nvkm_bar *);
  29
  30void gf100_bar_bar1_fini(struct nvkm_bar *);
  31void gf100_bar_bar2_fini(struct nvkm_bar *);
  32
  33void gm107_bar_bar1_wait(struct nvkm_bar *);
  34#endif
  35