Lines Matching refs:func
84 int cpqhp_configure_device (struct controller *ctrl, struct pci_func *func) in cpqhp_configure_device() argument
91 if (func->pci_dev == NULL) in cpqhp_configure_device()
92 func->pci_dev = pci_get_bus_and_slot(func->bus,PCI_DEVFN(func->device, func->function)); in cpqhp_configure_device()
95 if (func->pci_dev == NULL) { in cpqhp_configure_device()
98 num = pci_scan_slot(ctrl->pci_dev->bus, PCI_DEVFN(func->device, func->function)); in cpqhp_configure_device()
102 func->pci_dev = pci_get_bus_and_slot(func->bus, PCI_DEVFN(func->device, func->function)); in cpqhp_configure_device()
103 if (func->pci_dev == NULL) { in cpqhp_configure_device()
109 if (func->pci_dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { in cpqhp_configure_device()
110 pci_hp_add_bridge(func->pci_dev); in cpqhp_configure_device()
111 child = func->pci_dev->subordinate; in cpqhp_configure_device()
116 pci_dev_put(func->pci_dev); in cpqhp_configure_device()
124 int cpqhp_unconfigure_device(struct pci_func *func) in cpqhp_unconfigure_device() argument
128 dbg("%s: bus/dev/func = %x/%x/%x\n", __func__, func->bus, func->device, func->function); in cpqhp_unconfigure_device()
132 struct pci_dev *temp = pci_get_bus_and_slot(func->bus, PCI_DEVFN(func->device, j)); in cpqhp_unconfigure_device()
552 int cpqhp_save_base_addr_length(struct controller *ctrl, struct pci_func *func) in cpqhp_save_base_addr_length() argument
567 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_save_base_addr_length()
569 while (func != NULL) { in cpqhp_save_base_addr_length()
570 pci_bus->number = func->bus; in cpqhp_save_base_addr_length()
571 devfn = PCI_DEVFN(func->device, func->function); in cpqhp_save_base_addr_length()
590 pci_bus->number = func->bus; in cpqhp_save_base_addr_length()
624 func->base_length[(cloop - 0x10) >> 2] = in cpqhp_save_base_addr_length()
626 func->base_type[(cloop - 0x10) >> 2] = type; in cpqhp_save_base_addr_length()
664 func->base_length[(cloop - 0x10) >> 2] = base; in cpqhp_save_base_addr_length()
665 func->base_type[(cloop - 0x10) >> 2] = type; in cpqhp_save_base_addr_length()
673 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_save_base_addr_length()
689 int cpqhp_save_used_resources (struct controller *ctrl, struct pci_func *func) in cpqhp_save_used_resources() argument
712 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_save_used_resources()
714 while ((func != NULL) && func->is_a_board) { in cpqhp_save_used_resources()
715 pci_bus->number = func->bus; in cpqhp_save_used_resources()
716 devfn = PCI_DEVFN(func->device, func->function); in cpqhp_save_used_resources()
742 bus_node->next = func->bus_head; in cpqhp_save_used_resources()
743 func->bus_head = bus_node; in cpqhp_save_used_resources()
757 io_node->next = func->io_head; in cpqhp_save_used_resources()
758 func->io_head = io_node; in cpqhp_save_used_resources()
773 mem_node->next = func->mem_head; in cpqhp_save_used_resources()
774 func->mem_head = mem_node; in cpqhp_save_used_resources()
789 p_mem_node->next = func->p_mem_head; in cpqhp_save_used_resources()
790 func->p_mem_head = p_mem_node; in cpqhp_save_used_resources()
822 io_node->next = func->io_head; in cpqhp_save_used_resources()
823 func->io_head = io_node; in cpqhp_save_used_resources()
839 p_mem_node->next = func->p_mem_head; in cpqhp_save_used_resources()
840 func->p_mem_head = p_mem_node; in cpqhp_save_used_resources()
856 mem_node->next = func->mem_head; in cpqhp_save_used_resources()
857 func->mem_head = mem_node; in cpqhp_save_used_resources()
893 io_node->next = func->io_head; in cpqhp_save_used_resources()
894 func->io_head = io_node; in cpqhp_save_used_resources()
910 p_mem_node->next = func->p_mem_head; in cpqhp_save_used_resources()
911 func->p_mem_head = p_mem_node; in cpqhp_save_used_resources()
927 mem_node->next = func->mem_head; in cpqhp_save_used_resources()
928 func->mem_head = mem_node; in cpqhp_save_used_resources()
936 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_save_used_resources()
952 int cpqhp_configure_board(struct controller *ctrl, struct pci_func *func) in cpqhp_configure_board() argument
965 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_configure_board()
967 while (func != NULL) { in cpqhp_configure_board()
968 pci_bus->number = func->bus; in cpqhp_configure_board()
969 devfn = PCI_DEVFN(func->device, func->function); in cpqhp_configure_board()
975 pci_bus_write_config_dword (pci_bus, devfn, cloop, func->config_space[cloop >> 2]); in cpqhp_configure_board()
1003 if (temp != func->config_space[cloop >> 2]) { in cpqhp_configure_board()
1005 dbg("bus = %x, device = %x, function = %x\n", func->bus, func->device, func->function); in cpqhp_configure_board()
1006 dbg("temp = %x, config space = %x\n\n", temp, func->config_space[cloop >> 2]); in cpqhp_configure_board()
1012 func->configured = 1; in cpqhp_configure_board()
1014 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_configure_board()
1030 int cpqhp_valid_replace(struct controller *ctrl, struct pci_func *func) in cpqhp_valid_replace() argument
1044 if (!func->is_a_board) in cpqhp_valid_replace()
1047 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_valid_replace()
1049 while (func != NULL) { in cpqhp_valid_replace()
1050 pci_bus->number = func->bus; in cpqhp_valid_replace()
1051 devfn = PCI_DEVFN(func->device, func->function); in cpqhp_valid_replace()
1059 if (temp_register != func->config_space[0]) in cpqhp_valid_replace()
1066 if (temp_register != func->config_space[0x08 >> 2]) in cpqhp_valid_replace()
1078 temp_register = func->config_space[0x18 >> 2]; in cpqhp_valid_replace()
1099 if (temp_register != func->config_space[0x2C >> 2]) { in cpqhp_valid_replace()
1104 if (!((func->config_space[0] == 0xAE100E11) in cpqhp_valid_replace()
1138 if (func->base_length[(cloop - 0x10) >> 2] != base) in cpqhp_valid_replace()
1141 if (func->base_type[(cloop - 0x10) >> 2] != type) in cpqhp_valid_replace()
1155 func = cpqhp_slot_find(func->bus, func->device, index++); in cpqhp_valid_replace()
1179 struct pci_func *func = NULL; in cpqhp_find_available_resources() local
1276 func = cpqhp_slot_find(primary_bus, dev_func >> 3, 0); in cpqhp_find_available_resources()
1278 while (func && (func->function != (dev_func & 0x07))) { in cpqhp_find_available_resources()
1279 dbg("func = %p (bus, dev, fun) = (%d, %d, %d)\n", func, primary_bus, dev_func >> 3, index); in cpqhp_find_available_resources()
1280 func = cpqhp_slot_find(primary_bus, dev_func >> 3, index++); in cpqhp_find_available_resources()
1284 if (!func) { in cpqhp_find_available_resources()
1321 io_node->next = func->io_head; in cpqhp_find_available_resources()
1322 func->io_head = io_node; in cpqhp_find_available_resources()
1344 mem_node->next = func->mem_head; in cpqhp_find_available_resources()
1345 func->mem_head = mem_node; in cpqhp_find_available_resources()
1369 p_mem_node->next = func->p_mem_head; in cpqhp_find_available_resources()
1370 func->p_mem_head = p_mem_node; in cpqhp_find_available_resources()
1392 bus_node->next = func->bus_head; in cpqhp_find_available_resources()
1393 func->bus_head = bus_node; in cpqhp_find_available_resources()
1422 int cpqhp_return_board_resources(struct pci_func *func, struct resource_lists *resources) in cpqhp_return_board_resources() argument
1429 if (!func) in cpqhp_return_board_resources()
1432 node = func->io_head; in cpqhp_return_board_resources()
1433 func->io_head = NULL; in cpqhp_return_board_resources()
1440 node = func->mem_head; in cpqhp_return_board_resources()
1441 func->mem_head = NULL; in cpqhp_return_board_resources()
1448 node = func->p_mem_head; in cpqhp_return_board_resources()
1449 func->p_mem_head = NULL; in cpqhp_return_board_resources()
1456 node = func->bus_head; in cpqhp_return_board_resources()
1457 func->bus_head = NULL; in cpqhp_return_board_resources()
1525 void cpqhp_destroy_board_resources (struct pci_func *func) in cpqhp_destroy_board_resources() argument
1529 res = func->io_head; in cpqhp_destroy_board_resources()
1530 func->io_head = NULL; in cpqhp_destroy_board_resources()
1538 res = func->mem_head; in cpqhp_destroy_board_resources()
1539 func->mem_head = NULL; in cpqhp_destroy_board_resources()
1547 res = func->p_mem_head; in cpqhp_destroy_board_resources()
1548 func->p_mem_head = NULL; in cpqhp_destroy_board_resources()
1556 res = func->bus_head; in cpqhp_destroy_board_resources()
1557 func->bus_head = NULL; in cpqhp_destroy_board_resources()