1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVKM_VFN_H__ 3 #define __NVKM_VFN_H__ 4 #include <core/subdev.h> 5 6 struct nvkm_vfn { 7 const struct nvkm_vfn_func *func; 8 struct nvkm_subdev subdev; 9 10 struct { 11 u32 priv; 12 u32 user; 13 } addr; 14 15 struct nvkm_intr intr; 16 17 struct nvkm_device_oclass user; 18 }; 19 20 int gv100_vfn_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_vfn **); 21 int tu102_vfn_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_vfn **); 22 int ga100_vfn_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_vfn **); 23 #endif 24