These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / include / nvkm / subdev / pci.h
1 #ifndef __NVKM_PCI_H__
2 #define __NVKM_PCI_H__
3 #include <core/subdev.h>
4
5 struct nvkm_pci {
6         const struct nvkm_pci_func *func;
7         struct nvkm_subdev subdev;
8         struct pci_dev *pdev;
9         int irq;
10
11         struct {
12                 struct agp_bridge_data *bridge;
13                 u32 mode;
14                 u64 base;
15                 u64 size;
16                 int mtrr;
17                 bool cma;
18                 bool acquired;
19         } agp;
20
21         bool msi;
22 };
23
24 u32 nvkm_pci_rd32(struct nvkm_pci *, u16 addr);
25 void nvkm_pci_wr08(struct nvkm_pci *, u16 addr, u8 data);
26 void nvkm_pci_wr32(struct nvkm_pci *, u16 addr, u32 data);
27 u32 nvkm_pci_mask(struct nvkm_pci *, u16 addr, u32 mask, u32 value);
28 void nvkm_pci_rom_shadow(struct nvkm_pci *, bool shadow);
29
30 int nv04_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
31 int nv40_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
32 int nv46_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
33 int nv4c_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
34 int g84_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
35 int g94_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
36 int gf100_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
37 #endif