This source file includes following definitions.
- nv40_pci_rd32
- nv40_pci_wr08
- nv40_pci_wr32
- nv40_pci_msi_rearm
- nv40_pci_new
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include "priv.h"
25
26 u32
27 nv40_pci_rd32(struct nvkm_pci *pci, u16 addr)
28 {
29 struct nvkm_device *device = pci->subdev.device;
30 return nvkm_rd32(device, 0x088000 + addr);
31 }
32
33 void
34 nv40_pci_wr08(struct nvkm_pci *pci, u16 addr, u8 data)
35 {
36 struct nvkm_device *device = pci->subdev.device;
37 nvkm_wr08(device, 0x088000 + addr, data);
38 }
39
40 void
41 nv40_pci_wr32(struct nvkm_pci *pci, u16 addr, u32 data)
42 {
43 struct nvkm_device *device = pci->subdev.device;
44 nvkm_wr32(device, 0x088000 + addr, data);
45 }
46
47 void
48 nv40_pci_msi_rearm(struct nvkm_pci *pci)
49 {
50 nvkm_pci_wr08(pci, 0x0068, 0xff);
51 }
52
53 static const struct nvkm_pci_func
54 nv40_pci_func = {
55 .rd32 = nv40_pci_rd32,
56 .wr08 = nv40_pci_wr08,
57 .wr32 = nv40_pci_wr32,
58 .msi_rearm = nv40_pci_msi_rearm,
59 };
60
61 int
62 nv40_pci_new(struct nvkm_device *device, int index, struct nvkm_pci **ppci)
63 {
64 return nvkm_pci_new_(&nv40_pci_func, device, index, ppci);
65 }