Lines Matching refs:pdev

24 static rt_err_t pci_ofw_irq_parse(struct rt_pci_device *pdev, struct rt_ofw_cell_args *out_irq)  in pci_ofw_irq_parse()  argument
33 dev_np = pdev->parent.ofw_node; in pci_ofw_irq_parse()
46 if ((err = rt_pci_read_config_u8(pdev, PCIR_INTPIN, &pin))) in pci_ofw_irq_parse()
60 pin = rt_pci_irq_intx(pdev, pin); in pci_ofw_irq_parse()
67 p2pdev = pdev->bus->self; in pci_ofw_irq_parse()
70 if (rt_pci_is_root_bus(pdev->bus)) in pci_ofw_irq_parse()
72 struct rt_pci_host_bridge *host_bridge = pdev->bus->host_bridge; in pci_ofw_irq_parse()
95 pin = rt_pci_irq_intx(pdev, pin); in pci_ofw_irq_parse()
96 pdev = p2pdev; in pci_ofw_irq_parse()
106 map_addr[0] = cpu_to_fdt32((pdev->bus->number << 16) | (pdev->devfn << 8)); in pci_ofw_irq_parse()
118 rt_dm_dev_get_name(&pdev->parent)); in pci_ofw_irq_parse()
120 rt_dm_dev_get_name(&pdev->parent)); in pci_ofw_irq_parse()
125 rt_dm_dev_get_name(&pdev->parent), rt_strerror(err)); in pci_ofw_irq_parse()
131 int rt_pci_ofw_irq_parse_and_map(struct rt_pci_device *pdev, in rt_pci_ofw_irq_parse_and_map() argument
138 if (!pdev) in rt_pci_ofw_irq_parse_and_map()
143 status = pci_ofw_irq_parse(pdev, &irq_args); in rt_pci_ofw_irq_parse_and_map()
154 pdev->intx_pic = rt_pic_dynamic_cast(rt_ofw_data(irq_args.data)); in rt_pci_ofw_irq_parse_and_map()
460 static void ofw_msi_pic_init(struct rt_pci_device *pdev) in ofw_msi_pic_init() argument
474 rid = rt_pci_dev_id(pdev); in ofw_msi_pic_init()
476 bridge = rt_pci_find_host_bridge(pdev->bus); in ofw_msi_pic_init()
488 LOG_W("%s: MSI PIC not found", rt_dm_dev_get_name(&pdev->parent)); in ofw_msi_pic_init()
493 pdev->msi_pic = rt_pic_dynamic_cast(rt_ofw_data(msi_ic_np)); in ofw_msi_pic_init()
495 if (!pdev->msi_pic) in ofw_msi_pic_init()
497 LOG_W("%s: '%s' not supported", rt_dm_dev_get_name(&pdev->parent), "msi-parent"); in ofw_msi_pic_init()
502 if (!pdev->msi_pic->ops->irq_compose_msi_msg) in ofw_msi_pic_init()
509 if (!pdev->msi_pic->ops->irq_alloc_msi) in ofw_msi_pic_init()
516 if (!pdev->msi_pic->ops->irq_free_msi) in ofw_msi_pic_init()
566 rt_err_t rt_pci_ofw_device_init(struct rt_pci_device *pdev) in rt_pci_ofw_device_init() argument
570 if (!pdev) in rt_pci_ofw_device_init()
575 ofw_msi_pic_init(pdev); in rt_pci_ofw_device_init()
577 if (rt_pci_is_root_bus(pdev->bus) || !pdev->bus->self) in rt_pci_ofw_device_init()
581 host_bridge = rt_pci_find_host_bridge(pdev->bus); in rt_pci_ofw_device_init()
588 np = pdev->bus->self->parent.ofw_node; in rt_pci_ofw_device_init()
593 pdev->parent.ofw_node = ofw_find_device(np, pdev->devfn); in rt_pci_ofw_device_init()
599 rt_err_t rt_pci_ofw_device_free(struct rt_pci_device *pdev) in rt_pci_ofw_device_free() argument
601 if (!pdev) in rt_pci_ofw_device_free()
606 rt_ofw_node_put(pdev->parent.ofw_node); in rt_pci_ofw_device_free()