1/* SPDX-License-Identifier: MIT */ 2#ifndef __NVKM_VFN_H__ 3#define __NVKM_VFN_H__ 4#include <core/subdev.h> 5 6struct 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 20int gv100_vfn_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_vfn **); 21int tu102_vfn_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_vfn **); 22int ga100_vfn_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_vfn **); 23#endif 24