]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - drivers/gpu/drm/nouveau/include/nvif/driver.h
Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ac97-mfd', 'asoc/topic...
[mirror_ubuntu-focal-kernel.git] / drivers / gpu / drm / nouveau / include / nvif / driver.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __NVIF_DRIVER_H__
3 #define __NVIF_DRIVER_H__
4 #include <nvif/os.h>
5 struct nvif_client;
6
7 struct nvif_driver {
8 const char *name;
9 int (*init)(const char *name, u64 device, const char *cfg,
10 const char *dbg, void **priv);
11 void (*fini)(void *priv);
12 int (*suspend)(void *priv);
13 int (*resume)(void *priv);
14 int (*ioctl)(void *priv, bool super, void *data, u32 size, void **hack);
15 void __iomem *(*map)(void *priv, u64 handle, u32 size);
16 void (*unmap)(void *priv, void __iomem *ptr, u32 size);
17 bool keep;
18 };
19
20 int nvif_driver_init(const char *drv, const char *cfg, const char *dbg,
21 const char *name, u64 device, struct nvif_client *);
22
23 extern const struct nvif_driver nvif_driver_nvkm;
24 extern const struct nvif_driver nvif_driver_drm;
25 extern const struct nvif_driver nvif_driver_lib;
26 extern const struct nvif_driver nvif_driver_null;
27 #endif