Lines Matching refs:pci
32 nvkm_pci_rd32(struct nvkm_pci *pci, u16 addr) in nvkm_pci_rd32() argument
34 return pci->func->rd32(pci, addr); in nvkm_pci_rd32()
38 nvkm_pci_wr08(struct nvkm_pci *pci, u16 addr, u8 data) in nvkm_pci_wr08() argument
40 pci->func->wr08(pci, addr, data); in nvkm_pci_wr08()
44 nvkm_pci_wr32(struct nvkm_pci *pci, u16 addr, u32 data) in nvkm_pci_wr32() argument
46 pci->func->wr32(pci, addr, data); in nvkm_pci_wr32()
50 nvkm_pci_mask(struct nvkm_pci *pci, u16 addr, u32 mask, u32 value) in nvkm_pci_mask() argument
52 u32 data = pci->func->rd32(pci, addr); in nvkm_pci_mask()
53 pci->func->wr32(pci, addr, (data & ~mask) | value); in nvkm_pci_mask()
58 nvkm_pci_rom_shadow(struct nvkm_pci *pci, bool shadow) in nvkm_pci_rom_shadow() argument
60 u32 data = nvkm_pci_rd32(pci, 0x0050); in nvkm_pci_rom_shadow()
65 nvkm_pci_wr32(pci, 0x0050, data); in nvkm_pci_rom_shadow()
71 struct nvkm_pci *pci = arg; in nvkm_pci_intr() local
72 struct nvkm_mc *mc = pci->subdev.device->mc; in nvkm_pci_intr()
76 if (pci->msi) in nvkm_pci_intr()
77 pci->func->msi_rearm(pci); in nvkm_pci_intr()
87 struct nvkm_pci *pci = nvkm_pci(subdev); in nvkm_pci_fini() local
89 if (pci->irq >= 0) { in nvkm_pci_fini()
90 free_irq(pci->irq, pci); in nvkm_pci_fini()
91 pci->irq = -1; in nvkm_pci_fini()
94 if (pci->agp.bridge) in nvkm_pci_fini()
95 nvkm_agp_fini(pci); in nvkm_pci_fini()
103 struct nvkm_pci *pci = nvkm_pci(subdev); in nvkm_pci_preinit() local
104 if (pci->agp.bridge) in nvkm_pci_preinit()
105 nvkm_agp_preinit(pci); in nvkm_pci_preinit()
112 struct nvkm_pci *pci = nvkm_pci(subdev); in nvkm_pci_init() local
113 struct pci_dev *pdev = pci->pdev; in nvkm_pci_init()
116 if (pci->agp.bridge) { in nvkm_pci_init()
117 ret = nvkm_agp_init(pci); in nvkm_pci_init()
122 if (pci->func->init) in nvkm_pci_init()
123 pci->func->init(pci); in nvkm_pci_init()
125 ret = request_irq(pdev->irq, nvkm_pci_intr, IRQF_SHARED, "nvkm", pci); in nvkm_pci_init()
129 pci->irq = pdev->irq; in nvkm_pci_init()
136 struct nvkm_pci *pci = nvkm_pci(subdev); in nvkm_pci_dtor() local
137 nvkm_agp_dtor(pci); in nvkm_pci_dtor()
138 if (pci->msi) in nvkm_pci_dtor()
139 pci_disable_msi(pci->pdev); in nvkm_pci_dtor()
155 struct nvkm_pci *pci; in nvkm_pci_new_() local
157 if (!(pci = *ppci = kzalloc(sizeof(**ppci), GFP_KERNEL))) in nvkm_pci_new_()
159 nvkm_subdev_ctor(&nvkm_pci_func, device, index, 0, &pci->subdev); in nvkm_pci_new_()
160 pci->func = func; in nvkm_pci_new_()
161 pci->pdev = device->func->pci(device)->pdev; in nvkm_pci_new_()
162 pci->irq = -1; in nvkm_pci_new_()
165 nvkm_agp_ctor(pci); in nvkm_pci_new_()
167 switch (pci->pdev->device & 0x0ff0) { in nvkm_pci_new_()
178 pci->msi = true; in nvkm_pci_new_()
183 pci->msi = nvkm_boolopt(device->cfgopt, "NvMSI", pci->msi); in nvkm_pci_new_()
184 if (pci->msi && func->msi_rearm) { in nvkm_pci_new_()
185 pci->msi = pci_enable_msi(pci->pdev) == 0; in nvkm_pci_new_()
186 if (pci->msi) in nvkm_pci_new_()
187 nvkm_debug(&pci->subdev, "MSI enabled\n"); in nvkm_pci_new_()
189 pci->msi = false; in nvkm_pci_new_()