Lines Matching refs:pdev

126 	struct pci_dev *pdev = to_pci_dev(dev->dev);  in mei_me_read_fws()  local
128 return pci_read_config_dword(pdev, where, val); in mei_me_read_fws()
139 static bool mei_me_quirk_probe(struct pci_dev *pdev, in mei_me_quirk_probe() argument
142 if (cfg->quirk_probe && cfg->quirk_probe(pdev)) { in mei_me_quirk_probe()
143 dev_info(&pdev->dev, "Device doesn't have valid ME Interface\n"); in mei_me_quirk_probe()
158 static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent) in mei_me_probe() argument
170 if (!mei_me_quirk_probe(pdev, cfg)) in mei_me_probe()
174 err = pcim_enable_device(pdev); in mei_me_probe()
176 dev_err(&pdev->dev, "failed to enable pci device.\n"); in mei_me_probe()
180 pci_set_master(pdev); in mei_me_probe()
182 err = pcim_iomap_regions(pdev, BIT(0), KBUILD_MODNAME); in mei_me_probe()
184 dev_err(&pdev->dev, "failed to get pci regions.\n"); in mei_me_probe()
188 if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) || in mei_me_probe()
189 dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { in mei_me_probe()
191 err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); in mei_me_probe()
193 err = dma_set_coherent_mask(&pdev->dev, in mei_me_probe()
197 dev_err(&pdev->dev, "No usable DMA configuration, aborting\n"); in mei_me_probe()
202 dev = mei_me_dev_init(&pdev->dev, cfg); in mei_me_probe()
208 hw->mem_addr = pcim_iomap_table(pdev)[0]; in mei_me_probe()
211 pci_enable_msi(pdev); in mei_me_probe()
213 hw->irq = pdev->irq; in mei_me_probe()
216 irqflags = pci_dev_msi_enabled(pdev) ? IRQF_ONESHOT : IRQF_SHARED; in mei_me_probe()
218 err = request_threaded_irq(pdev->irq, in mei_me_probe()
223 dev_err(&pdev->dev, "request_threaded_irq failure. irq = %d\n", in mei_me_probe()
224 pdev->irq); in mei_me_probe()
229 dev_err(&pdev->dev, "init hw failure.\n"); in mei_me_probe()
234 pm_runtime_set_autosuspend_delay(&pdev->dev, MEI_ME_RPM_TIMEOUT); in mei_me_probe()
235 pm_runtime_use_autosuspend(&pdev->dev); in mei_me_probe()
237 err = mei_register(dev, &pdev->dev); in mei_me_probe()
241 pci_set_drvdata(pdev, dev); in mei_me_probe()
247 dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE); in mei_me_probe()
261 pm_runtime_put_noidle(&pdev->dev); in mei_me_probe()
263 pm_runtime_allow(&pdev->dev); in mei_me_probe()
266 dev_dbg(&pdev->dev, "initialization successful.\n"); in mei_me_probe()
275 free_irq(pdev->irq, dev); in mei_me_probe()
277 dev_err(&pdev->dev, "initialization failed.\n"); in mei_me_probe()
290 static void mei_me_shutdown(struct pci_dev *pdev) in mei_me_shutdown() argument
294 dev = pci_get_drvdata(pdev); in mei_me_shutdown()
298 dev_dbg(&pdev->dev, "shutdown\n"); in mei_me_shutdown()
304 free_irq(pdev->irq, dev); in mei_me_shutdown()
315 static void mei_me_remove(struct pci_dev *pdev) in mei_me_remove() argument
319 dev = pci_get_drvdata(pdev); in mei_me_remove()
324 pm_runtime_get_noresume(&pdev->dev); in mei_me_remove()
326 dev_dbg(&pdev->dev, "stop\n"); in mei_me_remove()
333 free_irq(pdev->irq, dev); in mei_me_remove()
341 struct pci_dev *pdev = to_pci_dev(device); in mei_me_pci_suspend() local
342 struct mei_device *dev = pci_get_drvdata(pdev); in mei_me_pci_suspend()
347 dev_dbg(&pdev->dev, "suspend\n"); in mei_me_pci_suspend()
353 free_irq(pdev->irq, dev); in mei_me_pci_suspend()
354 pci_disable_msi(pdev); in mei_me_pci_suspend()
361 struct pci_dev *pdev = to_pci_dev(device); in mei_me_pci_resume() local
366 dev = pci_get_drvdata(pdev); in mei_me_pci_resume()
370 pci_enable_msi(pdev); in mei_me_pci_resume()
372 irqflags = pci_dev_msi_enabled(pdev) ? IRQF_ONESHOT : IRQF_SHARED; in mei_me_pci_resume()
375 err = request_threaded_irq(pdev->irq, in mei_me_pci_resume()
381 dev_err(&pdev->dev, "request_threaded_irq failed: irq = %d.\n", in mei_me_pci_resume()
382 pdev->irq); in mei_me_pci_resume()
473 struct pci_dev *pdev = to_pci_dev(dev->dev); in mei_me_set_pm_domain() local
475 if (pdev->dev.bus && pdev->dev.bus->pm) { in mei_me_set_pm_domain()
476 dev->pg_domain.ops = *pdev->dev.bus->pm; in mei_me_set_pm_domain()
482 dev_pm_domain_set(&pdev->dev, &dev->pg_domain); in mei_me_set_pm_domain()