1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVKM_VFN_PRIV_H__ 3 #define __NVKM_VFN_PRIV_H__ 4 #define nvkm_vfn(p) container_of((p), struct nvkm_vfn, subdev) 5 #include <subdev/vfn.h> 6 7 struct nvkm_vfn_func { 8 const struct nvkm_intr_func *intr; 9 const struct nvkm_intr_data *intrs; 10 11 struct { 12 u32 addr; 13 u32 size; 14 const struct nvkm_sclass base; 15 } user; 16 }; 17 18 int nvkm_vfn_new_(const struct nvkm_vfn_func *, struct nvkm_device *, enum nvkm_subdev_type, int, 19 u32 addr, struct nvkm_vfn **); 20 21 extern const struct nvkm_intr_func tu102_vfn_intr; 22 23 int nvkm_uvfn_new(struct nvkm_device *, const struct nvkm_oclass *, void *, u32, 24 struct nvkm_object **); 25 #endif 26