linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __NVKM_BUS_H__
   3#define __NVKM_BUS_H__
   4#include <core/subdev.h>
   5
   6struct nvkm_bus {
   7        const struct nvkm_bus_func *func;
   8        struct nvkm_subdev subdev;
   9};
  10
  11/* interface to sequencer */
  12struct nvkm_hwsq;
  13int  nvkm_hwsq_init(struct nvkm_subdev *, struct nvkm_hwsq **);
  14int  nvkm_hwsq_fini(struct nvkm_hwsq **, bool exec);
  15void nvkm_hwsq_wr32(struct nvkm_hwsq *, u32 addr, u32 data);
  16void nvkm_hwsq_setf(struct nvkm_hwsq *, u8 flag, int data);
  17void nvkm_hwsq_wait(struct nvkm_hwsq *, u8 flag, u8 data);
  18void nvkm_hwsq_wait_vblank(struct nvkm_hwsq *);
  19void nvkm_hwsq_nsec(struct nvkm_hwsq *, u32 nsec);
  20
  21int nv04_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  22int nv31_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  23int nv50_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  24int g94_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  25int gf100_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  26#endif
  27