/* $NetBSD: dma.h,v 1.5 2021/12/18 23:45:33 riastradh Exp $ */ /* SPDX-License-Identifier: MIT */ #ifndef __NVKM_DMA_H__ #define __NVKM_DMA_H__ #include #include struct nvkm_client; struct nvkm_dmaobj { const struct nvkm_dmaobj_func *func; struct nvkm_dma *dma; struct nvkm_object object; u32 target; u32 access; u64 start; u64 limit; }; struct nvkm_dma { const struct nvkm_dma_func *func; struct nvkm_engine engine; }; struct nvkm_dmaobj *nvkm_dmaobj_search(struct nvkm_client *, u64 object); int nv04_dma_new(struct nvkm_device *, int, struct nvkm_dma **); int nv50_dma_new(struct nvkm_device *, int, struct nvkm_dma **); int gf100_dma_new(struct nvkm_device *, int, struct nvkm_dma **); int gf119_dma_new(struct nvkm_device *, int, struct nvkm_dma **); int gv100_dma_new(struct nvkm_device *, int, struct nvkm_dma **); #endif