Lines Matching refs:pdev

129 linux_pdev_dma_uninit(struct pci_dev *pdev)  in linux_pdev_dma_uninit()  argument
133 priv = pdev->dev.dma_priv; in linux_pdev_dma_uninit()
139 pdev->dev.dma_priv = NULL; in linux_pdev_dma_uninit()
145 linux_pdev_dma_init(struct pci_dev *pdev) in linux_pdev_dma_init() argument
155 pdev->dev.dma_priv = priv; in linux_pdev_dma_init()
158 error = linux_dma_tag_init(&pdev->dev, DMA_BIT_MASK(64)); in linux_pdev_dma_init()
162 error = linux_dma_tag_init_coherent(&pdev->dev, DMA_BIT_MASK(32)); in linux_pdev_dma_init()
169 linux_pdev_dma_uninit(pdev); in linux_pdev_dma_init()
276 lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) in lkpifill_pci_dev() argument
279 pdev->devfn = PCI_DEVFN(pci_get_slot(dev), pci_get_function(dev)); in lkpifill_pci_dev()
280 pdev->vendor = pci_get_vendor(dev); in lkpifill_pci_dev()
281 pdev->device = pci_get_device(dev); in lkpifill_pci_dev()
282 pdev->subsystem_vendor = pci_get_subvendor(dev); in lkpifill_pci_dev()
283 pdev->subsystem_device = pci_get_subdevice(dev); in lkpifill_pci_dev()
284 pdev->class = pci_get_class(dev); in lkpifill_pci_dev()
285 pdev->revision = pci_get_revid(dev); in lkpifill_pci_dev()
286 pdev->bus = malloc(sizeof(*pdev->bus), M_DEVBUF, M_WAITOK | M_ZERO); in lkpifill_pci_dev()
292 pdev->bus->self = pdev; in lkpifill_pci_dev()
293 pdev->bus->number = pci_get_bus(dev); in lkpifill_pci_dev()
294 pdev->bus->domain = pci_get_domain(dev); in lkpifill_pci_dev()
295 pdev->dev.bsddev = dev; in lkpifill_pci_dev()
296 pdev->dev.parent = &linux_root_device; in lkpifill_pci_dev()
297 pdev->dev.release = lkpi_pci_dev_release; in lkpifill_pci_dev()
298 INIT_LIST_HEAD(&pdev->dev.irqents); in lkpifill_pci_dev()
299 kobject_init(&pdev->dev.kobj, &linux_dev_ktype); in lkpifill_pci_dev()
300 kobject_set_name(&pdev->dev.kobj, device_get_nameunit(dev)); in lkpifill_pci_dev()
301 kobject_add(&pdev->dev.kobj, &linux_root_device.kobj, in lkpifill_pci_dev()
302 kobject_name(&pdev->dev.kobj)); in lkpifill_pci_dev()
303 spin_lock_init(&pdev->dev.devres_lock); in lkpifill_pci_dev()
304 INIT_LIST_HEAD(&pdev->dev.devres_head); in lkpifill_pci_dev()
310 struct pci_dev *pdev; in lkpinew_pci_dev_release() local
312 pdev = to_pci_dev(dev); in lkpinew_pci_dev_release()
313 if (pdev->root != NULL) in lkpinew_pci_dev_release()
314 pci_dev_put(pdev->root); in lkpinew_pci_dev_release()
315 if (pdev->bus->self != pdev) in lkpinew_pci_dev_release()
316 pci_dev_put(pdev->bus->self); in lkpinew_pci_dev_release()
317 free(pdev->bus, M_DEVBUF); in lkpinew_pci_dev_release()
318 free(pdev, M_DEVBUF); in lkpinew_pci_dev_release()
324 struct pci_dev *pdev; in lkpinew_pci_dev() local
326 pdev = malloc(sizeof(*pdev), M_DEVBUF, M_WAITOK|M_ZERO); in lkpinew_pci_dev()
327 lkpifill_pci_dev(dev, pdev); in lkpinew_pci_dev()
328 pdev->dev.release = lkpinew_pci_dev_release; in lkpinew_pci_dev()
330 return (pdev); in lkpinew_pci_dev()
338 struct pci_dev *pdev; in lkpi_pci_get_class() local
347 pdev = lkpinew_pci_dev(dev); in lkpi_pci_get_class()
348 return (pdev); in lkpi_pci_get_class()
356 struct pci_dev *pdev; in lkpi_pci_get_domain_bus_and_slot() local
362 pdev = lkpinew_pci_dev(dev); in lkpi_pci_get_domain_bus_and_slot()
363 return (pdev); in lkpi_pci_get_domain_bus_and_slot()
390 struct pci_dev *pdev; in linux_pci_attach() local
393 pdev = device_get_softc(dev); in linux_pci_attach()
396 MPASS(pdev != NULL); in linux_pci_attach()
398 return (linux_pci_attach_device(dev, pdrv, id, pdev)); in linux_pci_attach()
403 const struct pci_device_id *id, struct pci_dev *pdev) in linux_pci_attach_device() argument
423 lkpifill_pci_dev(dev, pdev); in linux_pci_attach_device()
428 pdev->devfn = rid; in linux_pci_attach_device()
429 pdev->pdrv = pdrv; in linux_pci_attach_device()
430 rle = linux_pci_get_rle(pdev, SYS_RES_IRQ, 0, false); in linux_pci_attach_device()
432 pdev->dev.irq = rle->start; in linux_pci_attach_device()
434 pdev->dev.irq = LINUX_IRQ_INVALID; in linux_pci_attach_device()
435 pdev->irq = pdev->dev.irq; in linux_pci_attach_device()
436 error = linux_pdev_dma_init(pdev); in linux_pci_attach_device()
440 TAILQ_INIT(&pdev->mmio); in linux_pci_attach_device()
443 list_add(&pdev->links, &pci_devices); in linux_pci_attach_device()
447 error = pdrv->probe(pdev, id); in linux_pci_attach_device()
454 free(pdev->bus, M_DEVBUF); in linux_pci_attach_device()
455 linux_pdev_dma_uninit(pdev); in linux_pci_attach_device()
458 list_del(&pdev->links); in linux_pci_attach_device()
460 put_device(&pdev->dev); in linux_pci_attach_device()
467 struct pci_dev *pdev; in linux_pci_detach() local
469 pdev = device_get_softc(dev); in linux_pci_detach()
471 MPASS(pdev != NULL); in linux_pci_detach()
475 return (linux_pci_detach_device(pdev)); in linux_pci_detach()
479 linux_pci_detach_device(struct pci_dev *pdev) in linux_pci_detach_device() argument
484 if (pdev->pdrv != NULL) in linux_pci_detach_device()
485 pdev->pdrv->remove(pdev); in linux_pci_detach_device()
487 if (pdev->root != NULL) in linux_pci_detach_device()
488 pci_dev_put(pdev->root); in linux_pci_detach_device()
489 free(pdev->bus, M_DEVBUF); in linux_pci_detach_device()
490 linux_pdev_dma_uninit(pdev); in linux_pci_detach_device()
493 list_del(&pdev->links); in linux_pci_detach_device()
495 put_device(&pdev->dev); in linux_pci_detach_device()
510 lkpi_pci_devres_get_alloc(struct pci_dev *pdev) in lkpi_pci_devres_get_alloc() argument
514 dr = lkpi_devres_find(&pdev->dev, lkpi_pci_devres_release, NULL, NULL); in lkpi_pci_devres_get_alloc()
519 lkpi_devres_add(&pdev->dev, dr); in lkpi_pci_devres_get_alloc()
529 struct pci_dev *pdev; in lkpi_pci_devres_release() local
532 pdev = to_pci_dev(dev); in lkpi_pci_devres_release()
535 if (pdev->msix_enabled) in lkpi_pci_devres_release()
536 lkpi_pci_disable_msix(pdev); in lkpi_pci_devres_release()
537 if (pdev->msi_enabled) in lkpi_pci_devres_release()
538 lkpi_pci_disable_msi(pdev); in lkpi_pci_devres_release()
549 pci_release_region(pdev, bar); in lkpi_pci_devres_release()
554 lkpi_pcim_iomap_devres_find(struct pci_dev *pdev) in lkpi_pcim_iomap_devres_find() argument
558 dr = lkpi_devres_find(&pdev->dev, lkpi_pcim_iomap_table_release, in lkpi_pcim_iomap_devres_find()
564 lkpi_devres_add(&pdev->dev, dr); in lkpi_pcim_iomap_devres_find()
568 device_printf(pdev->dev.bsddev, "%s: NULL\n", __func__); in lkpi_pcim_iomap_devres_find()
577 struct pci_dev *pdev; in lkpi_pcim_iomap_table_release() local
581 pdev = to_pci_dev(dev); in lkpi_pcim_iomap_table_release()
587 pci_iounmap(pdev, dr->mmio_table[bar]); in lkpi_pcim_iomap_table_release()
596 struct pci_dev *pdev; in linux_pci_suspend() local
601 pdev = device_get_softc(dev); in linux_pci_suspend()
602 pmops = pdev->pdrv->driver.pm; in linux_pci_suspend()
604 if (pdev->pdrv->suspend != NULL) in linux_pci_suspend()
605 error = -pdev->pdrv->suspend(pdev, pm); in linux_pci_suspend()
607 error = -pmops->suspend(&pdev->dev); in linux_pci_suspend()
609 error = -pmops->suspend_late(&pdev->dev); in linux_pci_suspend()
618 struct pci_dev *pdev; in linux_pci_resume() local
623 pdev = device_get_softc(dev); in linux_pci_resume()
624 pmops = pdev->pdrv->driver.pm; in linux_pci_resume()
626 if (pdev->pdrv->resume != NULL) in linux_pci_resume()
627 error = -pdev->pdrv->resume(pdev); in linux_pci_resume()
630 error = -pmops->resume_early(&pdev->dev); in linux_pci_resume()
632 error = -pmops->resume(&pdev->dev); in linux_pci_resume()
640 struct pci_dev *pdev; in linux_pci_shutdown() local
643 pdev = device_get_softc(dev); in linux_pci_shutdown()
644 if (pdev->pdrv->shutdown != NULL) in linux_pci_shutdown()
645 pdev->pdrv->shutdown(pdev); in linux_pci_shutdown()
652 struct pci_dev *pdev; in linux_pci_iov_init() local
656 pdev = device_get_softc(dev); in linux_pci_iov_init()
657 if (pdev->pdrv->bsd_iov_init != NULL) in linux_pci_iov_init()
658 error = pdev->pdrv->bsd_iov_init(dev, num_vfs, pf_config); in linux_pci_iov_init()
667 struct pci_dev *pdev; in linux_pci_iov_uninit() local
670 pdev = device_get_softc(dev); in linux_pci_iov_uninit()
671 if (pdev->pdrv->bsd_iov_uninit != NULL) in linux_pci_iov_uninit()
672 pdev->pdrv->bsd_iov_uninit(dev); in linux_pci_iov_uninit()
678 struct pci_dev *pdev; in linux_pci_iov_add_vf() local
682 pdev = device_get_softc(dev); in linux_pci_iov_add_vf()
683 if (pdev->pdrv->bsd_iov_add_vf != NULL) in linux_pci_iov_add_vf()
684 error = pdev->pdrv->bsd_iov_add_vf(dev, vfnum, vf_config); in linux_pci_iov_add_vf()
723 linux_pci_reserve_bar(struct pci_dev *pdev, struct resource_list *rl, in linux_pci_reserve_bar() argument
732 dev = pdev->pdrv != NULL && linux_is_drm(pdev->pdrv) ? in linux_pci_reserve_bar()
733 device_get_parent(pdev->dev.bsddev) : pdev->dev.bsddev; in linux_pci_reserve_bar()
742 pci_resource_start(struct pci_dev *pdev, int bar) in pci_resource_start() argument
748 if ((rle = linux_pci_get_bar(pdev, bar, true)) == NULL) in pci_resource_start()
750 dev = pdev->pdrv != NULL && linux_is_drm(pdev->pdrv) ? in pci_resource_start()
751 device_get_parent(pdev->dev.bsddev) : pdev->dev.bsddev; in pci_resource_start()
753 device_printf(pdev->dev.bsddev, "translate of %#jx failed\n", in pci_resource_start()
761 pci_resource_len(struct pci_dev *pdev, int bar) in pci_resource_len() argument
765 if ((rle = linux_pci_get_bar(pdev, bar, true)) == NULL) in pci_resource_len()
771 pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) in pci_request_region() argument
779 type = pci_resource_type(pdev, bar); in pci_request_region()
783 res = bus_alloc_resource_any(pdev->dev.bsddev, type, &rid, in pci_request_region()
786 device_printf(pdev->dev.bsddev, "%s: failed to alloc " in pci_request_region()
798 dr = lkpi_pci_devres_find(pdev); in pci_request_region()
809 TAILQ_INSERT_TAIL(&pdev->mmio, mmio, next); in pci_request_region()
815 _lkpi_pci_iomap(struct pci_dev *pdev, int bar, int mmio_size __unused) in _lkpi_pci_iomap() argument
820 type = pci_resource_type(pdev, bar); in _lkpi_pci_iomap()
822 device_printf(pdev->dev.bsddev, "%s: bar %d type %d\n", in _lkpi_pci_iomap()
831 TAILQ_FOREACH_SAFE(mmio, &pdev->mmio, next, p) { in _lkpi_pci_iomap()
840 mmio->res = bus_alloc_resource_any(pdev->dev.bsddev, mmio->type, in _lkpi_pci_iomap()
843 device_printf(pdev->dev.bsddev, "%s: failed to alloc " in _lkpi_pci_iomap()
849 TAILQ_INSERT_TAIL(&pdev->mmio, mmio, next); in _lkpi_pci_iomap()
899 pci_alloc_irq_vectors(struct pci_dev *pdev, int minv, int maxv, in pci_alloc_irq_vectors() argument
915 error = pci_enable_msix(pdev, entries, maxv); in pci_alloc_irq_vectors()
918 if (error == 0 && pdev->msix_enabled) in pci_alloc_irq_vectors()
919 return (pdev->dev.irq_end - pdev->dev.irq_start); in pci_alloc_irq_vectors()
922 error = pci_enable_msi(pdev); in pci_alloc_irq_vectors()
923 if (error == 0 && pdev->msi_enabled) in pci_alloc_irq_vectors()
924 return (pdev->dev.irq_end - pdev->dev.irq_start); in pci_alloc_irq_vectors()
927 if (pdev->irq) in pci_alloc_irq_vectors()
1425 struct pci_dev *pdev; in linux_backlight_get_status() local
1428 pdev = device_get_softc(dev); in linux_backlight_get_status()
1430 props->brightness = pdev->dev.bd->props.brightness; in linux_backlight_get_status()
1431 props->brightness = props->brightness * 100 / pdev->dev.bd->props.max_brightness; in linux_backlight_get_status()
1440 struct pci_dev *pdev; in linux_backlight_get_info() local
1443 pdev = device_get_softc(dev); in linux_backlight_get_info()
1446 strlcpy(info->name, pdev->dev.bd->name, BACKLIGHTMAXNAMELENGTH); in linux_backlight_get_info()
1453 struct pci_dev *pdev; in linux_backlight_update_status() local
1456 pdev = device_get_softc(dev); in linux_backlight_update_status()
1458 pdev->dev.bd->props.brightness = pdev->dev.bd->props.max_brightness * in linux_backlight_update_status()
1460 pdev->dev.bd->props.power = props->brightness == 0 ? in linux_backlight_update_status()
1462 return (pdev->dev.bd->ops->update_status(pdev->dev.bd)); in linux_backlight_update_status()