Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 #ifndef __NVIF_DRIVER_H__
0003 #define __NVIF_DRIVER_H__
0004 #include <nvif/os.h>
0005 struct nvif_client;
0006 
0007 struct nvif_driver {
0008     const char *name;
0009     int (*init)(const char *name, u64 device, const char *cfg,
0010             const char *dbg, void **priv);
0011     void (*fini)(void *priv);
0012     int (*suspend)(void *priv);
0013     int (*resume)(void *priv);
0014     int (*ioctl)(void *priv, void *data, u32 size, void **hack);
0015     void __iomem *(*map)(void *priv, u64 handle, u32 size);
0016     void (*unmap)(void *priv, void __iomem *ptr, u32 size);
0017     bool keep;
0018 };
0019 
0020 int nvif_driver_init(const char *drv, const char *cfg, const char *dbg,
0021              const char *name, u64 device, struct nvif_client *);
0022 
0023 extern const struct nvif_driver nvif_driver_nvkm;
0024 extern const struct nvif_driver nvif_driver_drm;
0025 extern const struct nvif_driver nvif_driver_lib;
0026 extern const struct nvif_driver nvif_driver_null;
0027 #endif