edev 44 arch/powerpc/include/asm/device.h struct eeh_dev *edev; edev 106 arch/powerpc/include/asm/eeh.h #define eeh_pe_for_each_dev(pe, edev, tmp) \ edev 107 arch/powerpc/include/asm/eeh.h list_for_each_entry_safe(edev, tmp, &pe->edevs, entry) edev 155 arch/powerpc/include/asm/eeh.h #define EEH_EDEV_PRINT(level, edev, fmt, ...) \ edev 157 arch/powerpc/include/asm/eeh.h (edev)->controller->global_number, PCI_BUSNO((edev)->bdfn), \ edev 158 arch/powerpc/include/asm/eeh.h PCI_SLOT((edev)->bdfn), PCI_FUNC((edev)->bdfn), \ edev 159 arch/powerpc/include/asm/eeh.h ((edev)->pe ? (edev)->pe_config_addr : 0xffff), ##__VA_ARGS__) edev 160 arch/powerpc/include/asm/eeh.h #define eeh_edev_dbg(edev, fmt, ...) EEH_EDEV_PRINT(debug, (edev), fmt, ##__VA_ARGS__) edev 161 arch/powerpc/include/asm/eeh.h #define eeh_edev_info(edev, fmt, ...) EEH_EDEV_PRINT(info, (edev), fmt, ##__VA_ARGS__) edev 162 arch/powerpc/include/asm/eeh.h #define eeh_edev_warn(edev, fmt, ...) EEH_EDEV_PRINT(warn, (edev), fmt, ##__VA_ARGS__) edev 163 arch/powerpc/include/asm/eeh.h #define eeh_edev_err(edev, fmt, ...) EEH_EDEV_PRINT(err, (edev), fmt, ##__VA_ARGS__) edev 165 arch/powerpc/include/asm/eeh.h static inline struct pci_dn *eeh_dev_to_pdn(struct eeh_dev *edev) edev 167 arch/powerpc/include/asm/eeh.h return edev ? edev->pdn : NULL; edev 170 arch/powerpc/include/asm/eeh.h static inline struct pci_dev *eeh_dev_to_pci_dev(struct eeh_dev *edev) edev 172 arch/powerpc/include/asm/eeh.h return edev ? edev->pdev : NULL; edev 175 arch/powerpc/include/asm/eeh.h static inline struct eeh_pe *eeh_dev_to_pe(struct eeh_dev* edev) edev 177 arch/powerpc/include/asm/eeh.h return edev ? edev->pe : NULL; edev 276 arch/powerpc/include/asm/eeh.h typedef void (*eeh_edev_traverse_func)(struct eeh_dev *edev, void *flag); edev 285 arch/powerpc/include/asm/eeh.h int eeh_add_to_parent_pe(struct eeh_dev *edev); edev 286 arch/powerpc/include/asm/eeh.h int eeh_rmv_from_parent_pe(struct eeh_dev *edev); edev 302 arch/powerpc/include/asm/eeh.h int eeh_dev_check_failure(struct eeh_dev *edev); edev 200 arch/powerpc/include/asm/pci-bridge.h struct eeh_dev *edev; /* eeh device */ edev 245 arch/powerpc/include/asm/pci-bridge.h return pdn ? pdn->edev : NULL; edev 53 arch/powerpc/include/asm/ppc-pci.h void eeh_save_bars(struct eeh_dev *edev); edev 168 arch/powerpc/kernel/eeh.c static size_t eeh_dump_dev_log(struct eeh_dev *edev, char *buf, size_t len) edev 170 arch/powerpc/kernel/eeh.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 197 arch/powerpc/kernel/eeh.c if (edev->mode & EEH_DEV_BRIDGE) { edev 208 arch/powerpc/kernel/eeh.c cap = edev->pcix_cap; edev 220 arch/powerpc/kernel/eeh.c cap = edev->pcie_cap; edev 247 arch/powerpc/kernel/eeh.c cap = edev->aer_cap; edev 277 arch/powerpc/kernel/eeh.c struct eeh_dev *edev, *tmp; edev 280 arch/powerpc/kernel/eeh.c eeh_pe_for_each_dev(pe, edev, tmp) edev 281 arch/powerpc/kernel/eeh.c *plen += eeh_dump_dev_log(edev, pci_regs_buf + *plen, edev 446 arch/powerpc/kernel/eeh.c int eeh_dev_check_failure(struct eeh_dev *edev) edev 461 arch/powerpc/kernel/eeh.c if (!edev) { edev 465 arch/powerpc/kernel/eeh.c dev = eeh_dev_to_pci_dev(edev); edev 466 arch/powerpc/kernel/eeh.c pe = eeh_dev_to_pe(edev); edev 471 arch/powerpc/kernel/eeh.c eeh_edev_dbg(edev, "Ignored check\n"); edev 511 arch/powerpc/kernel/eeh.c eeh_edev_err(edev, "%d reads ignored for recovering device at location=%s driver=%s\n", edev 515 arch/powerpc/kernel/eeh.c eeh_edev_err(edev, "Might be infinite loop in %s driver\n", edev 609 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 613 arch/powerpc/kernel/eeh.c edev = eeh_addr_cache_get_dev(addr); edev 614 arch/powerpc/kernel/eeh.c if (!edev) { edev 619 arch/powerpc/kernel/eeh.c return eeh_dev_check_failure(edev); edev 701 arch/powerpc/kernel/eeh.c static void eeh_disable_and_save_dev_state(struct eeh_dev *edev, edev 704 arch/powerpc/kernel/eeh.c struct pci_dev *pdev = eeh_dev_to_pci_dev(edev); edev 727 arch/powerpc/kernel/eeh.c static void eeh_restore_dev_state(struct eeh_dev *edev, void *userdata) edev 729 arch/powerpc/kernel/eeh.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 730 arch/powerpc/kernel/eeh.c struct pci_dev *pdev = eeh_dev_to_pci_dev(edev); edev 747 arch/powerpc/kernel/eeh.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 751 arch/powerpc/kernel/eeh.c if (edev->pcie_cap) { edev 754 arch/powerpc/kernel/eeh.c eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 758 arch/powerpc/kernel/eeh.c eeh_ops->write_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 762 arch/powerpc/kernel/eeh.c eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCAP2, edev 766 arch/powerpc/kernel/eeh.c edev->pcie_cap + PCI_EXP_DEVCTL2, edev 770 arch/powerpc/kernel/eeh.c edev->pcie_cap + PCI_EXP_DEVCTL2, edev 781 arch/powerpc/kernel/eeh.c if (edev->pcie_cap) { edev 782 arch/powerpc/kernel/eeh.c eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 788 arch/powerpc/kernel/eeh.c eeh_ops->write_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 793 arch/powerpc/kernel/eeh.c if (edev->pcie_cap && edev->aer_cap) { edev 794 arch/powerpc/kernel/eeh.c eeh_ops->read_config(pdn, edev->aer_cap + PCI_ERR_CAP, edev 797 arch/powerpc/kernel/eeh.c eeh_ops->write_config(pdn, edev->aer_cap + PCI_ERR_CAP, edev 814 arch/powerpc/kernel/eeh.c struct eeh_dev *edev = pci_dev_to_eeh_dev(dev); edev 815 arch/powerpc/kernel/eeh.c struct eeh_pe *pe = eeh_dev_to_pe(edev); edev 868 arch/powerpc/kernel/eeh.c static void eeh_set_dev_freset(struct eeh_dev *edev, void *flag) edev 873 arch/powerpc/kernel/eeh.c dev = eeh_dev_to_pci_dev(edev); edev 978 arch/powerpc/kernel/eeh.c void eeh_save_bars(struct eeh_dev *edev) edev 983 arch/powerpc/kernel/eeh.c pdn = eeh_dev_to_pdn(edev); edev 988 arch/powerpc/kernel/eeh.c eeh_ops->read_config(pdn, i * 4, 4, &edev->config_space[i]); edev 996 arch/powerpc/kernel/eeh.c if (edev->mode & EEH_DEV_BRIDGE) edev 997 arch/powerpc/kernel/eeh.c edev->config_space[1] |= PCI_COMMAND_MASTER; edev 1124 arch/powerpc/kernel/eeh.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 1126 arch/powerpc/kernel/eeh.c if (!edev) edev 1171 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 1177 arch/powerpc/kernel/eeh.c edev = pdn_to_eeh_dev(pdn); edev 1178 arch/powerpc/kernel/eeh.c eeh_edev_dbg(edev, "Adding device\n"); edev 1179 arch/powerpc/kernel/eeh.c if (edev->pdev == dev) { edev 1180 arch/powerpc/kernel/eeh.c eeh_edev_dbg(edev, "Device already referenced!\n"); edev 1190 arch/powerpc/kernel/eeh.c if (edev->pdev) { edev 1191 arch/powerpc/kernel/eeh.c eeh_rmv_from_parent_pe(edev); edev 1192 arch/powerpc/kernel/eeh.c eeh_addr_cache_rmv_dev(edev->pdev); edev 1193 arch/powerpc/kernel/eeh.c eeh_sysfs_remove_device(edev->pdev); edev 1194 arch/powerpc/kernel/eeh.c edev->mode &= ~EEH_DEV_SYSFS; edev 1201 arch/powerpc/kernel/eeh.c edev->mode |= EEH_DEV_NO_HANDLER; edev 1203 arch/powerpc/kernel/eeh.c edev->pdev = NULL; edev 1204 arch/powerpc/kernel/eeh.c dev->dev.archdata.edev = NULL; edev 1210 arch/powerpc/kernel/eeh.c edev->pdev = dev; edev 1211 arch/powerpc/kernel/eeh.c dev->dev.archdata.edev = edev; edev 1276 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 1280 arch/powerpc/kernel/eeh.c edev = pci_dev_to_eeh_dev(dev); edev 1285 arch/powerpc/kernel/eeh.c if (!edev || !edev->pdev || !edev->pe) { edev 1296 arch/powerpc/kernel/eeh.c edev->pdev = NULL; edev 1304 arch/powerpc/kernel/eeh.c edev->in_error = false; edev 1305 arch/powerpc/kernel/eeh.c dev->dev.archdata.edev = NULL; edev 1306 arch/powerpc/kernel/eeh.c if (!(edev->pe->state & EEH_PE_KEEP)) edev 1307 arch/powerpc/kernel/eeh.c eeh_rmv_from_parent_pe(edev); edev 1309 arch/powerpc/kernel/eeh.c edev->mode |= EEH_DEV_DISCONNECTED; edev 1317 arch/powerpc/kernel/eeh.c edev->mode |= EEH_DEV_NO_HANDLER; edev 1321 arch/powerpc/kernel/eeh.c edev->mode &= ~EEH_DEV_SYSFS; edev 1355 arch/powerpc/kernel/eeh.c struct eeh_dev *edev, *tmp; edev 1370 arch/powerpc/kernel/eeh.c eeh_pe_for_each_dev(pe, edev, tmp) { edev 1371 arch/powerpc/kernel/eeh.c pdev = eeh_dev_to_pci_dev(edev); edev 1410 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 1420 arch/powerpc/kernel/eeh.c edev = pci_dev_to_eeh_dev(pdev); edev 1421 arch/powerpc/kernel/eeh.c if (!edev || !edev->pe) edev 1430 arch/powerpc/kernel/eeh.c ret = eeh_pe_change_owner(edev->pe); edev 1435 arch/powerpc/kernel/eeh.c atomic_inc(&edev->pe->pass_dev_cnt); edev 1455 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 1464 arch/powerpc/kernel/eeh.c edev = pci_dev_to_eeh_dev(pdev); edev 1465 arch/powerpc/kernel/eeh.c if (!edev || !edev->pe || !eeh_pe_passed(edev->pe)) edev 1469 arch/powerpc/kernel/eeh.c WARN_ON(atomic_dec_if_positive(&edev->pe->pass_dev_cnt) < 0); edev 1470 arch/powerpc/kernel/eeh.c eeh_pe_change_owner(edev->pe); edev 1503 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 1515 arch/powerpc/kernel/eeh.c edev = pci_dev_to_eeh_dev(pdev); edev 1516 arch/powerpc/kernel/eeh.c if (!edev || !edev->pe) edev 1519 arch/powerpc/kernel/eeh.c return edev->pe; edev 1628 arch/powerpc/kernel/eeh.c struct eeh_dev *edev, *tmp; edev 1638 arch/powerpc/kernel/eeh.c eeh_pe_for_each_dev(pe, edev, tmp) { edev 1639 arch/powerpc/kernel/eeh.c pdev = eeh_dev_to_pci_dev(edev); edev 1891 arch/powerpc/kernel/eeh.c struct eeh_dev *edev; edev 1910 arch/powerpc/kernel/eeh.c edev = pci_dev_to_eeh_dev(pdev); edev 1911 arch/powerpc/kernel/eeh.c if (!edev) { edev 1917 arch/powerpc/kernel/eeh.c ret = eeh_dev_check_failure(edev); edev 44 arch/powerpc/kernel/eeh_cache.c struct eeh_dev *edev; edev 67 arch/powerpc/kernel/eeh_cache.c return piar->edev; edev 84 arch/powerpc/kernel/eeh_cache.c struct eeh_dev *edev; edev 88 arch/powerpc/kernel/eeh_cache.c edev = __eeh_addr_cache_get_device(addr); edev 90 arch/powerpc/kernel/eeh_cache.c return edev; edev 147 arch/powerpc/kernel/eeh_cache.c piar->edev = pci_dev_to_eeh_dev(dev); edev 151 arch/powerpc/kernel/eeh_cache.c eeh_edev_dbg(piar->edev, "PIAR: insert range=[%pap:%pap]\n", edev 163 arch/powerpc/kernel/eeh_cache.c struct eeh_dev *edev; edev 173 arch/powerpc/kernel/eeh_cache.c edev = pdn_to_eeh_dev(pdn); edev 174 arch/powerpc/kernel/eeh_cache.c if (!edev) { edev 181 arch/powerpc/kernel/eeh_cache.c if (!edev->pe) { edev 232 arch/powerpc/kernel/eeh_cache.c eeh_edev_dbg(piar->edev, "PIAR: remove range=[%pap:%pap]\n", edev 40 arch/powerpc/kernel/eeh_dev.c struct eeh_dev *edev; edev 43 arch/powerpc/kernel/eeh_dev.c edev = kzalloc(sizeof(*edev), GFP_KERNEL); edev 44 arch/powerpc/kernel/eeh_dev.c if (!edev) edev 48 arch/powerpc/kernel/eeh_dev.c pdn->edev = edev; edev 49 arch/powerpc/kernel/eeh_dev.c edev->pdn = pdn; edev 50 arch/powerpc/kernel/eeh_dev.c edev->bdfn = (pdn->busno << 8) | pdn->devfn; edev 51 arch/powerpc/kernel/eeh_dev.c edev->controller = pdn->phb; edev 53 arch/powerpc/kernel/eeh_dev.c return edev; edev 93 arch/powerpc/kernel/eeh_driver.c static bool eeh_dev_removed(struct eeh_dev *edev) edev 95 arch/powerpc/kernel/eeh_driver.c return !edev || (edev->mode & EEH_DEV_REMOVED); edev 98 arch/powerpc/kernel/eeh_driver.c static bool eeh_edev_actionable(struct eeh_dev *edev) edev 100 arch/powerpc/kernel/eeh_driver.c if (!edev->pdev) edev 102 arch/powerpc/kernel/eeh_driver.c if (edev->pdev->error_state == pci_channel_io_perm_failure) edev 104 arch/powerpc/kernel/eeh_driver.c if (eeh_dev_removed(edev)) edev 106 arch/powerpc/kernel/eeh_driver.c if (eeh_pe_passed(edev->pe)) edev 157 arch/powerpc/kernel/eeh_driver.c static void eeh_disable_irq(struct eeh_dev *edev) edev 163 arch/powerpc/kernel/eeh_driver.c if (edev->pdev->msi_enabled || edev->pdev->msix_enabled) edev 166 arch/powerpc/kernel/eeh_driver.c if (!irq_has_action(edev->pdev->irq)) edev 169 arch/powerpc/kernel/eeh_driver.c edev->mode |= EEH_DEV_IRQ_DISABLED; edev 170 arch/powerpc/kernel/eeh_driver.c disable_irq_nosync(edev->pdev->irq); edev 180 arch/powerpc/kernel/eeh_driver.c static void eeh_enable_irq(struct eeh_dev *edev) edev 182 arch/powerpc/kernel/eeh_driver.c if ((edev->mode) & EEH_DEV_IRQ_DISABLED) { edev 183 arch/powerpc/kernel/eeh_driver.c edev->mode &= ~EEH_DEV_IRQ_DISABLED; edev 204 arch/powerpc/kernel/eeh_driver.c if (irqd_irq_disabled(irq_get_irq_data(edev->pdev->irq))) edev 205 arch/powerpc/kernel/eeh_driver.c enable_irq(edev->pdev->irq); edev 209 arch/powerpc/kernel/eeh_driver.c static void eeh_dev_save_state(struct eeh_dev *edev, void *userdata) edev 213 arch/powerpc/kernel/eeh_driver.c if (!edev) edev 223 arch/powerpc/kernel/eeh_driver.c if (edev->pe && (edev->pe->state & EEH_PE_CFG_RESTRICTED)) edev 226 arch/powerpc/kernel/eeh_driver.c pdev = eeh_dev_to_pci_dev(edev); edev 236 arch/powerpc/kernel/eeh_driver.c struct eeh_dev *edev, *tmp; edev 239 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(pe, edev, tmp) edev 240 arch/powerpc/kernel/eeh_driver.c if (eeh_edev_actionable(edev)) edev 241 arch/powerpc/kernel/eeh_driver.c edev->pdev->error_state = s; edev 247 arch/powerpc/kernel/eeh_driver.c struct eeh_dev *edev, *tmp; edev 250 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(pe, edev, tmp) { edev 251 arch/powerpc/kernel/eeh_driver.c if (!eeh_edev_actionable(edev)) edev 254 arch/powerpc/kernel/eeh_driver.c if (!eeh_pcid_get(edev->pdev)) edev 258 arch/powerpc/kernel/eeh_driver.c eeh_enable_irq(edev); edev 260 arch/powerpc/kernel/eeh_driver.c eeh_disable_irq(edev); edev 262 arch/powerpc/kernel/eeh_driver.c eeh_pcid_put(edev->pdev); edev 278 arch/powerpc/kernel/eeh_driver.c pdev = edev->pdev; edev 287 arch/powerpc/kernel/eeh_driver.c if (eeh_edev_actionable(edev)) { edev 294 arch/powerpc/kernel/eeh_driver.c else if (edev->mode & EEH_DEV_NO_HANDLER) edev 309 arch/powerpc/kernel/eeh_driver.c !eeh_dev_removed(edev), !eeh_pe_passed(edev->pe)); edev 312 arch/powerpc/kernel/eeh_driver.c if (edev->pdev != pdev) edev 353 arch/powerpc/kernel/eeh_driver.c edev->in_error = true; edev 390 arch/powerpc/kernel/eeh_driver.c if (!driver->err_handler->slot_reset || !edev->in_error) edev 409 arch/powerpc/kernel/eeh_driver.c if (edev->pe && (edev->pe->state & EEH_PE_CFG_RESTRICTED)) { edev 410 arch/powerpc/kernel/eeh_driver.c if (list_is_last(&edev->entry, &edev->pe->edevs)) edev 411 arch/powerpc/kernel/eeh_driver.c eeh_pe_restore_bars(edev->pe); edev 436 arch/powerpc/kernel/eeh_driver.c if (!driver->err_handler->resume || !edev->in_error) edev 442 arch/powerpc/kernel/eeh_driver.c pci_uevent_ers(edev->pdev, PCI_ERS_RESULT_RECOVERED); edev 444 arch/powerpc/kernel/eeh_driver.c if (eeh_ops->notify_resume && eeh_dev_to_pdn(edev)) edev 445 arch/powerpc/kernel/eeh_driver.c eeh_ops->notify_resume(eeh_dev_to_pdn(edev)); edev 476 arch/powerpc/kernel/eeh_driver.c static void *eeh_add_virt_device(struct eeh_dev *edev) edev 481 arch/powerpc/kernel/eeh_driver.c if (!(edev->physfn)) { edev 496 arch/powerpc/kernel/eeh_driver.c pci_iov_add_virtfn(edev->physfn, eeh_dev_to_pdn(edev)->vf_index); edev 514 arch/powerpc/kernel/eeh_driver.c if (!eeh_edev_actionable(edev) || edev 534 arch/powerpc/kernel/eeh_driver.c edev->mode |= EEH_DEV_DISCONNECTED; edev 538 arch/powerpc/kernel/eeh_driver.c if (edev->physfn) { edev 542 arch/powerpc/kernel/eeh_driver.c pci_iov_remove_virtfn(edev->physfn, pdn->vf_index); edev 543 arch/powerpc/kernel/eeh_driver.c edev->pdev = NULL; edev 546 arch/powerpc/kernel/eeh_driver.c list_add(&edev->rmv_entry, &rmv_data->removed_vf_list); edev 559 arch/powerpc/kernel/eeh_driver.c if (!(edev->mode & EEH_DEV_DISCONNECTED)) edev 562 arch/powerpc/kernel/eeh_driver.c edev->mode &= ~(EEH_DEV_DISCONNECTED | EEH_DEV_IRQ_DISABLED); edev 648 arch/powerpc/kernel/eeh_driver.c struct eeh_dev *edev; edev 716 arch/powerpc/kernel/eeh_driver.c edev = list_first_entry(&pe->edevs, struct eeh_dev, entry); edev 719 arch/powerpc/kernel/eeh_driver.c eeh_add_virt_device(edev); edev 857 arch/powerpc/kernel/eeh_driver.c struct eeh_dev *edev, *tmp; edev 882 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(tmp_pe, edev, tmp) edev 883 arch/powerpc/kernel/eeh_driver.c if (eeh_slot_presence_check(edev->pdev)) edev 936 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(tmp_pe, edev, tmp) edev 937 arch/powerpc/kernel/eeh_driver.c edev->mode &= ~EEH_DEV_NO_HANDLER; edev 1056 arch/powerpc/kernel/eeh_driver.c list_for_each_entry_safe(edev, tmp, &rmv_data.removed_vf_list, edev 1058 arch/powerpc/kernel/eeh_driver.c eeh_add_virt_device(edev); edev 1059 arch/powerpc/kernel/eeh_driver.c list_del(&edev->rmv_entry); edev 1068 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(tmp_pe, edev, tmp) { edev 1069 arch/powerpc/kernel/eeh_driver.c edev->mode &= ~EEH_DEV_NO_HANDLER; edev 1070 arch/powerpc/kernel/eeh_driver.c edev->in_error = false; edev 1125 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(tmp_pe, edev, tmp) edev 1126 arch/powerpc/kernel/eeh_driver.c eeh_clear_slot_attention(edev->pdev); edev 1141 arch/powerpc/kernel/eeh_driver.c struct eeh_dev *edev, *tmp_edev; edev 1204 arch/powerpc/kernel/eeh_driver.c eeh_pe_for_each_dev(tmp_pe, edev, tmp_edev) edev 1205 arch/powerpc/kernel/eeh_driver.c edev->mode &= ~EEH_DEV_NO_HANDLER; edev 238 arch/powerpc/kernel/eeh_pe.c struct eeh_dev *edev, *tmp; edev 248 arch/powerpc/kernel/eeh_pe.c eeh_pe_for_each_dev(pe, edev, tmp) edev 249 arch/powerpc/kernel/eeh_pe.c fn(edev, flag); edev 329 arch/powerpc/kernel/eeh_pe.c static struct eeh_pe *eeh_pe_get_parent(struct eeh_dev *edev) edev 332 arch/powerpc/kernel/eeh_pe.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 339 arch/powerpc/kernel/eeh_pe.c if (edev->physfn) edev 340 arch/powerpc/kernel/eeh_pe.c pdn = pci_get_pdn(edev->physfn); edev 367 arch/powerpc/kernel/eeh_pe.c int eeh_add_to_parent_pe(struct eeh_dev *edev) edev 370 arch/powerpc/kernel/eeh_pe.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 374 arch/powerpc/kernel/eeh_pe.c if (!eeh_has_flag(EEH_VALID_PE_ZERO) && !edev->pe_config_addr) { edev 375 arch/powerpc/kernel/eeh_pe.c eeh_edev_err(edev, "PE#0 is invalid for this PHB!\n"); edev 385 arch/powerpc/kernel/eeh_pe.c pe = eeh_pe_get(pdn->phb, edev->pe_config_addr, config_addr); edev 388 arch/powerpc/kernel/eeh_pe.c list_add_tail(&edev->entry, &pe->edevs); edev 389 arch/powerpc/kernel/eeh_pe.c edev->pe = pe; edev 402 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, edev 408 arch/powerpc/kernel/eeh_pe.c edev->pe = pe; edev 411 arch/powerpc/kernel/eeh_pe.c list_add_tail(&edev->entry, &pe->edevs); edev 412 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "Added to bus PE\n"); edev 418 arch/powerpc/kernel/eeh_pe.c if (edev->physfn) edev 426 arch/powerpc/kernel/eeh_pe.c pe->addr = edev->pe_config_addr; edev 435 arch/powerpc/kernel/eeh_pe.c parent = eeh_pe_get_parent(edev); edev 441 arch/powerpc/kernel/eeh_pe.c edev->pe = NULL; edev 453 arch/powerpc/kernel/eeh_pe.c list_add_tail(&edev->entry, &pe->edevs); edev 454 arch/powerpc/kernel/eeh_pe.c edev->pe = pe; edev 455 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "Added to device PE (parent: PE#%x)\n", edev 470 arch/powerpc/kernel/eeh_pe.c int eeh_rmv_from_parent_pe(struct eeh_dev *edev) edev 476 arch/powerpc/kernel/eeh_pe.c pe = eeh_dev_to_pe(edev); edev 478 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "No PE found for device.\n"); edev 483 arch/powerpc/kernel/eeh_pe.c edev->pe = NULL; edev 484 arch/powerpc/kernel/eeh_pe.c list_del(&edev->entry); edev 604 arch/powerpc/kernel/eeh_pe.c struct eeh_dev *edev; edev 609 arch/powerpc/kernel/eeh_pe.c list_for_each_entry(edev, &pe->edevs, entry) { edev 610 arch/powerpc/kernel/eeh_pe.c pdev = eeh_dev_to_pci_dev(edev); edev 621 arch/powerpc/kernel/eeh_pe.c static void __eeh_pe_dev_mode_mark(struct eeh_dev *edev, void *flag) edev 625 arch/powerpc/kernel/eeh_pe.c edev->mode |= mode; edev 652 arch/powerpc/kernel/eeh_pe.c struct eeh_dev *edev, *tmp; edev 674 arch/powerpc/kernel/eeh_pe.c eeh_pe_for_each_dev(pe, edev, tmp) { edev 675 arch/powerpc/kernel/eeh_pe.c pdev = eeh_dev_to_pci_dev(edev); edev 699 arch/powerpc/kernel/eeh_pe.c static void eeh_bridge_check_link(struct eeh_dev *edev) edev 701 arch/powerpc/kernel/eeh_pe.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 710 arch/powerpc/kernel/eeh_pe.c if (!(edev->mode & (EEH_DEV_ROOT_PORT | EEH_DEV_DS_PORT))) edev 713 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "Checking PCIe link...\n"); edev 716 arch/powerpc/kernel/eeh_pe.c cap = edev->pcie_cap; edev 719 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "No card in the slot (0x%04x) !\n", val); edev 728 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "In power-off state, power it on ...\n"); edev 744 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "No link reporting capability (0x%08x) \n", val); edev 761 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "Link up (%s)\n", edev 764 arch/powerpc/kernel/eeh_pe.c eeh_edev_dbg(edev, "Link not ready (0x%04x)\n", val); edev 768 arch/powerpc/kernel/eeh_pe.c #define SAVED_BYTE(OFF) (((u8 *)(edev->config_space))[BYTE_SWAP(OFF)]) edev 770 arch/powerpc/kernel/eeh_pe.c static void eeh_restore_bridge_bars(struct eeh_dev *edev) edev 772 arch/powerpc/kernel/eeh_pe.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 780 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, i*4, 4, edev->config_space[i]); edev 782 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, 14*4, 4, edev->config_space[14]); edev 790 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, 15*4, 4, edev->config_space[15]); edev 793 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, PCI_COMMAND, 4, edev->config_space[1] | edev 797 arch/powerpc/kernel/eeh_pe.c eeh_bridge_check_link(edev); edev 800 arch/powerpc/kernel/eeh_pe.c static void eeh_restore_device_bars(struct eeh_dev *edev) edev 802 arch/powerpc/kernel/eeh_pe.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 807 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, i*4, 4, edev->config_space[i]); edev 809 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, 12*4, 4, edev->config_space[12]); edev 817 arch/powerpc/kernel/eeh_pe.c eeh_ops->write_config(pdn, 15*4, 4, edev->config_space[15]); edev 824 arch/powerpc/kernel/eeh_pe.c if (edev->config_space[1] & PCI_COMMAND_PARITY) edev 828 arch/powerpc/kernel/eeh_pe.c if (edev->config_space[1] & PCI_COMMAND_SERR) edev 844 arch/powerpc/kernel/eeh_pe.c static void eeh_restore_one_device_bars(struct eeh_dev *edev, void *flag) edev 846 arch/powerpc/kernel/eeh_pe.c struct pci_dn *pdn = eeh_dev_to_pdn(edev); edev 849 arch/powerpc/kernel/eeh_pe.c if (edev->mode & EEH_DEV_BRIDGE) edev 850 arch/powerpc/kernel/eeh_pe.c eeh_restore_bridge_bars(edev); edev 852 arch/powerpc/kernel/eeh_pe.c eeh_restore_device_bars(edev); edev 923 arch/powerpc/kernel/eeh_pe.c struct eeh_dev *edev; edev 934 arch/powerpc/kernel/eeh_pe.c edev = list_first_entry_or_null(&pe->edevs, struct eeh_dev, entry); edev 935 arch/powerpc/kernel/eeh_pe.c pdev = eeh_dev_to_pci_dev(edev); edev 44 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); \ edev 46 arch/powerpc/kernel/eeh_sysfs.c if (!edev) \ edev 49 arch/powerpc/kernel/eeh_sysfs.c return sprintf(buf, _format "\n", edev->_memb); \ edev 60 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 63 arch/powerpc/kernel/eeh_sysfs.c if (!edev || !edev->pe) edev 66 arch/powerpc/kernel/eeh_sysfs.c state = eeh_ops->get_state(edev->pe, NULL); edev 68 arch/powerpc/kernel/eeh_sysfs.c state, edev->pe->state); edev 76 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 78 arch/powerpc/kernel/eeh_sysfs.c if (!edev || !edev->pe) edev 82 arch/powerpc/kernel/eeh_sysfs.c if (!(edev->pe->state & EEH_PE_ISOLATED)) edev 85 arch/powerpc/kernel/eeh_sysfs.c if (eeh_unfreeze_pe(edev->pe)) edev 87 arch/powerpc/kernel/eeh_sysfs.c eeh_pe_state_clear(edev->pe, EEH_PE_ISOLATED, true); edev 99 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 102 arch/powerpc/kernel/eeh_sysfs.c if (!edev || !edev->pe) edev 114 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 116 arch/powerpc/kernel/eeh_sysfs.c if (!edev || !edev->pe || !eeh_ops->notify_resume) edev 155 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 161 arch/powerpc/kernel/eeh_sysfs.c if (edev && (edev->mode & EEH_DEV_SYSFS)) edev 171 arch/powerpc/kernel/eeh_sysfs.c else if (edev) edev 172 arch/powerpc/kernel/eeh_sysfs.c edev->mode |= EEH_DEV_SYSFS; edev 177 arch/powerpc/kernel/eeh_sysfs.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 184 arch/powerpc/kernel/eeh_sysfs.c if (edev) edev 185 arch/powerpc/kernel/eeh_sysfs.c edev->mode &= ~EEH_DEV_SYSFS; edev 195 arch/powerpc/kernel/eeh_sysfs.c if (edev) edev 196 arch/powerpc/kernel/eeh_sysfs.c edev->mode &= ~EEH_DEV_SYSFS; edev 177 arch/powerpc/kernel/pci_dn.c struct eeh_dev *edev __maybe_unused; edev 190 arch/powerpc/kernel/pci_dn.c edev = eeh_dev_init(pdn); edev 191 arch/powerpc/kernel/pci_dn.c BUG_ON(!edev); edev 192 arch/powerpc/kernel/pci_dn.c edev->physfn = pdev; edev 238 arch/powerpc/kernel/pci_dn.c struct eeh_dev *edev __maybe_unused; edev 253 arch/powerpc/kernel/pci_dn.c edev = pdn_to_eeh_dev(pdn); edev 254 arch/powerpc/kernel/pci_dn.c if (edev) { edev 260 arch/powerpc/kernel/pci_dn.c if (edev->pe) edev 261 arch/powerpc/kernel/pci_dn.c eeh_rmv_from_parent_pe(edev); edev 263 arch/powerpc/kernel/pci_dn.c pdn->edev = NULL; edev 264 arch/powerpc/kernel/pci_dn.c kfree(edev); edev 285 arch/powerpc/kernel/pci_dn.c struct eeh_dev *edev; edev 316 arch/powerpc/kernel/pci_dn.c edev = eeh_dev_init(pdn); edev 317 arch/powerpc/kernel/pci_dn.c if (!edev) { edev 341 arch/powerpc/kernel/pci_dn.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 343 arch/powerpc/kernel/pci_dn.c if (edev) edev 344 arch/powerpc/kernel/pci_dn.c edev->pdn = NULL; edev 355 arch/powerpc/kernel/pci_of_scan.c struct eeh_dev *edev = pdn_to_eeh_dev(PCI_DN(dn)); edev 376 arch/powerpc/kernel/pci_of_scan.c if (edev && (edev->mode & EEH_DEV_REMOVED)) edev 56 arch/powerpc/kernel/rtas_pci.c if (pdn->edev && pdn->edev->pe && edev 57 arch/powerpc/kernel/rtas_pci.c (pdn->edev->pe->state & EEH_PE_CFG_BLOCKED)) edev 107 arch/powerpc/kernel/rtas_pci.c if (pdn->edev && pdn->edev->pe && edev 108 arch/powerpc/kernel/rtas_pci.c (pdn->edev->pe->state & EEH_PE_CFG_BLOCKED)) edev 322 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 326 arch/powerpc/platforms/powernv/eeh-powernv.c if (!edev || !edev->pcie_cap) edev 369 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 380 arch/powerpc/platforms/powernv/eeh-powernv.c if (!edev || edev->pe) edev 387 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_edev_dbg(edev, "Probing device\n"); edev 390 arch/powerpc/platforms/powernv/eeh-powernv.c edev->class_code = pdn->class_code; edev 391 arch/powerpc/platforms/powernv/eeh-powernv.c edev->mode &= 0xFFFFFF00; edev 392 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pcix_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_PCIX); edev 393 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pcie_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_EXP); edev 394 arch/powerpc/platforms/powernv/eeh-powernv.c edev->af_cap = pnv_eeh_find_cap(pdn, PCI_CAP_ID_AF); edev 395 arch/powerpc/platforms/powernv/eeh-powernv.c edev->aer_cap = pnv_eeh_find_ecap(pdn, PCI_EXT_CAP_ID_ERR); edev 396 arch/powerpc/platforms/powernv/eeh-powernv.c if ((edev->class_code >> 8) == PCI_CLASS_BRIDGE_PCI) { edev 397 arch/powerpc/platforms/powernv/eeh-powernv.c edev->mode |= EEH_DEV_BRIDGE; edev 398 arch/powerpc/platforms/powernv/eeh-powernv.c if (edev->pcie_cap) { edev 399 arch/powerpc/platforms/powernv/eeh-powernv.c pnv_pci_cfg_read(pdn, edev->pcie_cap + PCI_EXP_FLAGS, edev 403 arch/powerpc/platforms/powernv/eeh-powernv.c edev->mode |= EEH_DEV_ROOT_PORT; edev 405 arch/powerpc/platforms/powernv/eeh-powernv.c edev->mode |= EEH_DEV_DS_PORT; edev 409 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pe_config_addr = phb->ioda.pe_rmap[config_addr]; edev 412 arch/powerpc/platforms/powernv/eeh-powernv.c ret = eeh_add_to_parent_pe(edev); edev 414 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_edev_warn(edev, "Failed to add device to PE (code %d)\n", ret); edev 444 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pe->state |= EEH_PE_CFG_RESTRICTED; edev 452 arch/powerpc/platforms/powernv/eeh-powernv.c if (!(edev->pe->state & EEH_PE_PRI_BUS)) { edev 453 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pe->bus = pci_find_bus(hose->global_number, edev 455 arch/powerpc/platforms/powernv/eeh-powernv.c if (edev->pe->bus) edev 456 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pe->state |= EEH_PE_PRI_BUS; edev 470 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_save_bars(edev); edev 472 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_edev_dbg(edev, "EEH enabled on device\n"); edev 849 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 850 arch/powerpc/platforms/powernv/eeh-powernv.c int aer = edev ? edev->aer_cap : 0; edev 975 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 978 arch/powerpc/platforms/powernv/eeh-powernv.c if (WARN_ON(!edev->pcie_cap)) edev 981 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCAP, 4, ®); edev 989 arch/powerpc/platforms/powernv/eeh-powernv.c edev->pcie_cap + PCI_EXP_DEVSTA, edev 991 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 994 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->write_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 999 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->read_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 1002 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->write_config(pdn, edev->pcie_cap + PCI_EXP_DEVCTL, edev 1013 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 1016 arch/powerpc/platforms/powernv/eeh-powernv.c if (WARN_ON(!edev->af_cap)) edev 1019 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->read_config(pdn, edev->af_cap + PCI_AF_CAP, 1, &cap); edev 1032 arch/powerpc/platforms/powernv/eeh-powernv.c edev->af_cap + PCI_AF_CTRL, edev 1034 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->write_config(pdn, edev->af_cap + PCI_AF_CTRL, edev 1039 arch/powerpc/platforms/powernv/eeh-powernv.c eeh_ops->write_config(pdn, edev->af_cap + PCI_AF_CTRL, 1, 0); edev 1049 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev; edev 1054 arch/powerpc/platforms/powernv/eeh-powernv.c edev = list_first_entry_or_null(&pe->edevs, struct eeh_dev, entry); edev 1055 arch/powerpc/platforms/powernv/eeh-powernv.c pdn = eeh_dev_to_pdn(edev); edev 1254 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 1256 arch/powerpc/platforms/powernv/eeh-powernv.c if (!edev || !edev->pe) edev 1264 arch/powerpc/platforms/powernv/eeh-powernv.c if (edev->physfn && (edev->pe->state & EEH_PE_RESET)) edev 1267 arch/powerpc/platforms/powernv/eeh-powernv.c if (edev->pe->state & EEH_PE_CFG_BLOCKED) edev 1645 arch/powerpc/platforms/powernv/eeh-powernv.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 1650 arch/powerpc/platforms/powernv/eeh-powernv.c if (!edev) edev 1660 arch/powerpc/platforms/powernv/eeh-powernv.c if (edev->physfn) { edev 3614 arch/powerpc/platforms/powernv/pci-ioda.c struct eeh_dev *edev = pci_dev_to_eeh_dev(pdev); edev 3615 arch/powerpc/platforms/powernv/pci-ioda.c struct eeh_pe *eehpe = edev ? edev->pe : NULL; edev 715 arch/powerpc/platforms/powernv/pci.c struct eeh_dev *edev = NULL; edev 723 arch/powerpc/platforms/powernv/pci.c edev = pdn->edev; edev 724 arch/powerpc/platforms/powernv/pci.c if (edev) { edev 725 arch/powerpc/platforms/powernv/pci.c if (edev->pe && edev 726 arch/powerpc/platforms/powernv/pci.c (edev->pe->state & EEH_PE_CFG_BLOCKED)) edev 729 arch/powerpc/platforms/powernv/pci.c if (edev->mode & EEH_DEV_REMOVED) edev 760 arch/powerpc/platforms/powernv/pci.c if (phb->flags & PNV_PHB_FLAG_EEH && pdn->edev) { edev 762 arch/powerpc/platforms/powernv/pci.c eeh_dev_check_failure(pdn->edev)) edev 74 arch/powerpc/platforms/pseries/eeh_pseries.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 76 arch/powerpc/platforms/pseries/eeh_pseries.c edev->pe_config_addr = (pdn->busno << 16) | (pdn->devfn << 8); edev 77 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_rmv_from_parent_pe(edev); /* Remove as it is adding to bus pe */ edev 78 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_add_to_parent_pe(edev); /* Add as VF PE type */ edev 197 arch/powerpc/platforms/pseries/eeh_pseries.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 202 arch/powerpc/platforms/pseries/eeh_pseries.c if (!edev || !edev->pcie_cap) edev 235 arch/powerpc/platforms/pseries/eeh_pseries.c struct eeh_dev *edev; edev 242 arch/powerpc/platforms/pseries/eeh_pseries.c edev = pdn_to_eeh_dev(pdn); edev 243 arch/powerpc/platforms/pseries/eeh_pseries.c if (!edev || edev->pe) edev 254 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_edev_dbg(edev, "Probing device\n"); edev 261 arch/powerpc/platforms/pseries/eeh_pseries.c edev->class_code = pdn->class_code; edev 262 arch/powerpc/platforms/pseries/eeh_pseries.c edev->pcix_cap = pseries_eeh_find_cap(pdn, PCI_CAP_ID_PCIX); edev 263 arch/powerpc/platforms/pseries/eeh_pseries.c edev->pcie_cap = pseries_eeh_find_cap(pdn, PCI_CAP_ID_EXP); edev 264 arch/powerpc/platforms/pseries/eeh_pseries.c edev->aer_cap = pseries_eeh_find_ecap(pdn, PCI_EXT_CAP_ID_ERR); edev 265 arch/powerpc/platforms/pseries/eeh_pseries.c edev->mode &= 0xFFFFFF00; edev 266 arch/powerpc/platforms/pseries/eeh_pseries.c if ((edev->class_code >> 8) == PCI_CLASS_BRIDGE_PCI) { edev 267 arch/powerpc/platforms/pseries/eeh_pseries.c edev->mode |= EEH_DEV_BRIDGE; edev 268 arch/powerpc/platforms/pseries/eeh_pseries.c if (edev->pcie_cap) { edev 269 arch/powerpc/platforms/pseries/eeh_pseries.c rtas_read_config(pdn, edev->pcie_cap + PCI_EXP_FLAGS, edev 273 arch/powerpc/platforms/pseries/eeh_pseries.c edev->mode |= EEH_DEV_ROOT_PORT; edev 275 arch/powerpc/platforms/pseries/eeh_pseries.c edev->mode |= EEH_DEV_DS_PORT; edev 285 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_edev_dbg(edev, "Enabling EEH on device\n"); edev 288 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_edev_dbg(edev, "EEH failed to enable on device (code %d)\n", ret); edev 291 arch/powerpc/platforms/pseries/eeh_pseries.c edev->pe_config_addr = eeh_ops->get_pe_addr(&pe); edev 292 arch/powerpc/platforms/pseries/eeh_pseries.c pe.addr = edev->pe_config_addr; edev 304 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_add_to_parent_pe(edev); edev 310 arch/powerpc/platforms/pseries/eeh_pseries.c edev->pe_config_addr = pdn_to_eeh_dev(pdn->parent)->pe_config_addr; edev 311 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_add_to_parent_pe(edev); edev 313 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_edev_dbg(edev, "EEH is %s on device (code %d)\n", edev 318 arch/powerpc/platforms/pseries/eeh_pseries.c eeh_save_bars(edev); edev 663 arch/powerpc/platforms/pseries/eeh_pseries.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 666 arch/powerpc/platforms/pseries/eeh_pseries.c if (!edev) edev 673 arch/powerpc/platforms/pseries/eeh_pseries.c if (edev->physfn) edev 678 arch/powerpc/platforms/pseries/eeh_pseries.c __func__, edev->pe_config_addr, ret); edev 710 arch/powerpc/platforms/pseries/eeh_pseries.c static int pseries_call_allow_unfreeze(struct eeh_dev *edev) edev 719 arch/powerpc/platforms/pseries/eeh_pseries.c if (pci_num_vf(edev->physfn ? edev->physfn : edev->pdev)) { edev 720 arch/powerpc/platforms/pseries/eeh_pseries.c if (edev->pdev->is_physfn) { edev 721 arch/powerpc/platforms/pseries/eeh_pseries.c cur_vfs = pci_num_vf(edev->pdev); edev 722 arch/powerpc/platforms/pseries/eeh_pseries.c pdn = eeh_dev_to_pdn(edev); edev 734 arch/powerpc/platforms/pseries/eeh_pseries.c bus = pci_iov_virtfn_bus(edev->pdev, edev 736 arch/powerpc/platforms/pseries/eeh_pseries.c devfn = pci_iov_virtfn_devfn(edev->pdev, edev 745 arch/powerpc/platforms/pseries/eeh_pseries.c pdn = pci_get_pdn(edev->pdev); edev 747 arch/powerpc/platforms/pseries/eeh_pseries.c physfn_pdn = pci_get_pdn(edev->physfn); edev 760 arch/powerpc/platforms/pseries/eeh_pseries.c struct eeh_dev *edev = pdn_to_eeh_dev(pdn); edev 762 arch/powerpc/platforms/pseries/eeh_pseries.c if (!edev) edev 769 arch/powerpc/platforms/pseries/eeh_pseries.c if (edev->pdev->is_physfn || edev->pdev->is_virtfn) edev 770 arch/powerpc/platforms/pseries/eeh_pseries.c return pseries_call_allow_unfreeze(edev); edev 190 arch/powerpc/platforms/pseries/msi.c struct eeh_dev *edev; edev 199 arch/powerpc/platforms/pseries/msi.c edev = pdn_to_eeh_dev(PCI_DN(dn)); edev 200 arch/powerpc/platforms/pseries/msi.c if (edev->pe) edev 201 arch/powerpc/platforms/pseries/msi.c edev = list_first_entry(&edev->pe->edevs, struct eeh_dev, edev 203 arch/powerpc/platforms/pseries/msi.c dn = pci_device_to_OF_node(edev->pdev); edev 37 drivers/devfreq/devfreq-event.c int devfreq_event_enable_edev(struct devfreq_event_dev *edev) edev 41 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 44 drivers/devfreq/devfreq-event.c mutex_lock(&edev->lock); edev 45 drivers/devfreq/devfreq-event.c if (edev->desc->ops && edev->desc->ops->enable edev 46 drivers/devfreq/devfreq-event.c && edev->enable_count == 0) { edev 47 drivers/devfreq/devfreq-event.c ret = edev->desc->ops->enable(edev); edev 51 drivers/devfreq/devfreq-event.c edev->enable_count++; edev 53 drivers/devfreq/devfreq-event.c mutex_unlock(&edev->lock); edev 69 drivers/devfreq/devfreq-event.c int devfreq_event_disable_edev(struct devfreq_event_dev *edev) edev 73 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 76 drivers/devfreq/devfreq-event.c mutex_lock(&edev->lock); edev 77 drivers/devfreq/devfreq-event.c if (edev->enable_count <= 0) { edev 78 drivers/devfreq/devfreq-event.c dev_warn(&edev->dev, "unbalanced enable_count\n"); edev 83 drivers/devfreq/devfreq-event.c if (edev->desc->ops && edev->desc->ops->disable edev 84 drivers/devfreq/devfreq-event.c && edev->enable_count == 1) { edev 85 drivers/devfreq/devfreq-event.c ret = edev->desc->ops->disable(edev); edev 89 drivers/devfreq/devfreq-event.c edev->enable_count--; edev 91 drivers/devfreq/devfreq-event.c mutex_unlock(&edev->lock); edev 106 drivers/devfreq/devfreq-event.c bool devfreq_event_is_enabled(struct devfreq_event_dev *edev) edev 110 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 113 drivers/devfreq/devfreq-event.c mutex_lock(&edev->lock); edev 115 drivers/devfreq/devfreq-event.c if (edev->enable_count > 0) edev 118 drivers/devfreq/devfreq-event.c mutex_unlock(&edev->lock); edev 131 drivers/devfreq/devfreq-event.c int devfreq_event_set_event(struct devfreq_event_dev *edev) edev 135 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 138 drivers/devfreq/devfreq-event.c if (!edev->desc->ops || !edev->desc->ops->set_event) edev 141 drivers/devfreq/devfreq-event.c if (!devfreq_event_is_enabled(edev)) edev 144 drivers/devfreq/devfreq-event.c mutex_lock(&edev->lock); edev 145 drivers/devfreq/devfreq-event.c ret = edev->desc->ops->set_event(edev); edev 146 drivers/devfreq/devfreq-event.c mutex_unlock(&edev->lock); edev 160 drivers/devfreq/devfreq-event.c int devfreq_event_get_event(struct devfreq_event_dev *edev, edev 165 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 168 drivers/devfreq/devfreq-event.c if (!edev->desc->ops || !edev->desc->ops->get_event) edev 171 drivers/devfreq/devfreq-event.c if (!devfreq_event_is_enabled(edev)) edev 176 drivers/devfreq/devfreq-event.c mutex_lock(&edev->lock); edev 177 drivers/devfreq/devfreq-event.c ret = edev->desc->ops->get_event(edev, edata); edev 180 drivers/devfreq/devfreq-event.c mutex_unlock(&edev->lock); edev 193 drivers/devfreq/devfreq-event.c int devfreq_event_reset_event(struct devfreq_event_dev *edev) edev 197 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 200 drivers/devfreq/devfreq-event.c if (!devfreq_event_is_enabled(edev)) edev 203 drivers/devfreq/devfreq-event.c mutex_lock(&edev->lock); edev 204 drivers/devfreq/devfreq-event.c if (edev->desc->ops && edev->desc->ops->reset) edev 205 drivers/devfreq/devfreq-event.c ret = edev->desc->ops->reset(edev); edev 206 drivers/devfreq/devfreq-event.c mutex_unlock(&edev->lock); edev 224 drivers/devfreq/devfreq-event.c struct devfreq_event_dev *edev; edev 234 drivers/devfreq/devfreq-event.c list_for_each_entry(edev, &devfreq_event_list, node) { edev 235 drivers/devfreq/devfreq-event.c if (edev->dev.parent && edev->dev.parent->of_node == node) edev 239 drivers/devfreq/devfreq-event.c list_for_each_entry(edev, &devfreq_event_list, node) { edev 240 drivers/devfreq/devfreq-event.c if (of_node_name_eq(node, edev->desc->name)) edev 243 drivers/devfreq/devfreq-event.c edev = NULL; edev 247 drivers/devfreq/devfreq-event.c if (!edev) { edev 254 drivers/devfreq/devfreq-event.c return edev; edev 288 drivers/devfreq/devfreq-event.c struct devfreq_event_dev *edev = to_devfreq_event(dev); edev 290 drivers/devfreq/devfreq-event.c kfree(edev); edev 305 drivers/devfreq/devfreq-event.c struct devfreq_event_dev *edev; edev 318 drivers/devfreq/devfreq-event.c edev = kzalloc(sizeof(struct devfreq_event_dev), GFP_KERNEL); edev 319 drivers/devfreq/devfreq-event.c if (!edev) edev 322 drivers/devfreq/devfreq-event.c mutex_init(&edev->lock); edev 323 drivers/devfreq/devfreq-event.c edev->desc = desc; edev 324 drivers/devfreq/devfreq-event.c edev->enable_count = 0; edev 325 drivers/devfreq/devfreq-event.c edev->dev.parent = dev; edev 326 drivers/devfreq/devfreq-event.c edev->dev.class = devfreq_event_class; edev 327 drivers/devfreq/devfreq-event.c edev->dev.release = devfreq_event_release_edev; edev 329 drivers/devfreq/devfreq-event.c dev_set_name(&edev->dev, "event%d", atomic_inc_return(&event_no)); edev 330 drivers/devfreq/devfreq-event.c ret = device_register(&edev->dev); edev 332 drivers/devfreq/devfreq-event.c put_device(&edev->dev); edev 335 drivers/devfreq/devfreq-event.c dev_set_drvdata(&edev->dev, edev); edev 337 drivers/devfreq/devfreq-event.c INIT_LIST_HEAD(&edev->node); edev 340 drivers/devfreq/devfreq-event.c list_add(&edev->node, &devfreq_event_list); edev 343 drivers/devfreq/devfreq-event.c return edev; edev 353 drivers/devfreq/devfreq-event.c int devfreq_event_remove_edev(struct devfreq_event_dev *edev) edev 355 drivers/devfreq/devfreq-event.c if (!edev) edev 358 drivers/devfreq/devfreq-event.c WARN_ON(edev->enable_count); edev 361 drivers/devfreq/devfreq-event.c list_del(&edev->node); edev 364 drivers/devfreq/devfreq-event.c device_unregister(&edev->dev); edev 398 drivers/devfreq/devfreq-event.c struct devfreq_event_dev **ptr, *edev; edev 405 drivers/devfreq/devfreq-event.c edev = devfreq_event_add_edev(dev, desc); edev 406 drivers/devfreq/devfreq-event.c if (IS_ERR(edev)) { edev 411 drivers/devfreq/devfreq-event.c *ptr = edev; edev 414 drivers/devfreq/devfreq-event.c return edev; edev 427 drivers/devfreq/devfreq-event.c struct devfreq_event_dev *edev) edev 430 drivers/devfreq/devfreq-event.c devm_devfreq_event_match, edev)); edev 440 drivers/devfreq/devfreq-event.c struct devfreq_event_dev *edev = to_devfreq_event(dev); edev 442 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 445 drivers/devfreq/devfreq-event.c return sprintf(buf, "%s\n", edev->desc->name); edev 452 drivers/devfreq/devfreq-event.c struct devfreq_event_dev *edev = to_devfreq_event(dev); edev 454 drivers/devfreq/devfreq-event.c if (!edev || !edev->desc) edev 457 drivers/devfreq/devfreq-event.c return sprintf(buf, "%d\n", edev->enable_count); edev 20 drivers/devfreq/event/exynos-nocp.c struct devfreq_event_dev *edev; edev 32 drivers/devfreq/event/exynos-nocp.c static int exynos_nocp_set_event(struct devfreq_event_dev *edev) edev 34 drivers/devfreq/event/exynos-nocp.c struct exynos_nocp *nocp = devfreq_event_get_drvdata(edev); edev 143 drivers/devfreq/event/exynos-nocp.c static int exynos_nocp_get_event(struct devfreq_event_dev *edev, edev 146 drivers/devfreq/event/exynos-nocp.c struct exynos_nocp *nocp = devfreq_event_get_drvdata(edev); edev 170 drivers/devfreq/event/exynos-nocp.c dev_dbg(&edev->dev, "%s (event: %ld/%ld)\n", edev->desc->name, edev 259 drivers/devfreq/event/exynos-nocp.c nocp->edev = devm_devfreq_event_add_edev(&pdev->dev, &nocp->desc); edev 260 drivers/devfreq/event/exynos-nocp.c if (IS_ERR(nocp->edev)) { edev 263 drivers/devfreq/event/exynos-nocp.c return PTR_ERR(nocp->edev); edev 34 drivers/devfreq/event/exynos-ppmu.c struct devfreq_event_dev **edev; edev 115 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_find_ppmu_id(struct devfreq_event_dev *edev) edev 117 drivers/devfreq/event/exynos-ppmu.c return __exynos_ppmu_find_ppmu_id(edev->desc->name); edev 123 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_disable(struct devfreq_event_dev *edev) edev 125 drivers/devfreq/event/exynos-ppmu.c struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); edev 152 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_set_event(struct devfreq_event_dev *edev) edev 154 drivers/devfreq/event/exynos-ppmu.c struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); edev 155 drivers/devfreq/event/exynos-ppmu.c int id = exynos_ppmu_find_ppmu_id(edev); edev 174 drivers/devfreq/event/exynos-ppmu.c edev->desc->event_type); edev 196 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_get_event(struct devfreq_event_dev *edev, edev 199 drivers/devfreq/event/exynos-ppmu.c struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); edev 200 drivers/devfreq/event/exynos-ppmu.c int id = exynos_ppmu_find_ppmu_id(edev); edev 260 drivers/devfreq/event/exynos-ppmu.c dev_dbg(&edev->dev, "%s (event: %ld/%ld)\n", edev->desc->name, edev 275 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_v2_disable(struct devfreq_event_dev *edev) edev 277 drivers/devfreq/event/exynos-ppmu.c struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); edev 369 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_v2_set_event(struct devfreq_event_dev *edev) edev 371 drivers/devfreq/event/exynos-ppmu.c struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); edev 373 drivers/devfreq/event/exynos-ppmu.c int id = exynos_ppmu_find_ppmu_id(edev); edev 388 drivers/devfreq/event/exynos-ppmu.c edev->desc->event_type); edev 414 drivers/devfreq/event/exynos-ppmu.c static int exynos_ppmu_v2_get_event(struct devfreq_event_dev *edev, edev 417 drivers/devfreq/event/exynos-ppmu.c struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); edev 418 drivers/devfreq/event/exynos-ppmu.c int id = exynos_ppmu_find_ppmu_id(edev); edev 475 drivers/devfreq/event/exynos-ppmu.c dev_dbg(&edev->dev, "%25s (load: %ld / %ld)\n", edev->desc->name, edev 649 drivers/devfreq/event/exynos-ppmu.c struct devfreq_event_dev **edev; edev 669 drivers/devfreq/event/exynos-ppmu.c info->edev = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); edev 670 drivers/devfreq/event/exynos-ppmu.c if (!info->edev) edev 673 drivers/devfreq/event/exynos-ppmu.c edev = info->edev; edev 677 drivers/devfreq/event/exynos-ppmu.c edev[i] = devm_devfreq_event_add_edev(&pdev->dev, &desc[i]); edev 678 drivers/devfreq/event/exynos-ppmu.c if (IS_ERR(edev[i])) { edev 679 drivers/devfreq/event/exynos-ppmu.c ret = PTR_ERR(edev[i]); edev 682 drivers/devfreq/event/exynos-ppmu.c return PTR_ERR(edev[i]); edev 51 drivers/devfreq/event/rockchip-dfi.c struct devfreq_event_dev *edev; edev 60 drivers/devfreq/event/rockchip-dfi.c static void rockchip_dfi_start_hardware_counter(struct devfreq_event_dev *edev) edev 62 drivers/devfreq/event/rockchip-dfi.c struct rockchip_dfi *info = devfreq_event_get_drvdata(edev); edev 85 drivers/devfreq/event/rockchip-dfi.c static void rockchip_dfi_stop_hardware_counter(struct devfreq_event_dev *edev) edev 87 drivers/devfreq/event/rockchip-dfi.c struct rockchip_dfi *info = devfreq_event_get_drvdata(edev); edev 93 drivers/devfreq/event/rockchip-dfi.c static int rockchip_dfi_get_busier_ch(struct devfreq_event_dev *edev) edev 95 drivers/devfreq/event/rockchip-dfi.c struct rockchip_dfi *info = devfreq_event_get_drvdata(edev); edev 100 drivers/devfreq/event/rockchip-dfi.c rockchip_dfi_stop_hardware_counter(edev); edev 114 drivers/devfreq/event/rockchip-dfi.c rockchip_dfi_start_hardware_counter(edev); edev 119 drivers/devfreq/event/rockchip-dfi.c static int rockchip_dfi_disable(struct devfreq_event_dev *edev) edev 121 drivers/devfreq/event/rockchip-dfi.c struct rockchip_dfi *info = devfreq_event_get_drvdata(edev); edev 123 drivers/devfreq/event/rockchip-dfi.c rockchip_dfi_stop_hardware_counter(edev); edev 129 drivers/devfreq/event/rockchip-dfi.c static int rockchip_dfi_enable(struct devfreq_event_dev *edev) edev 131 drivers/devfreq/event/rockchip-dfi.c struct rockchip_dfi *info = devfreq_event_get_drvdata(edev); edev 136 drivers/devfreq/event/rockchip-dfi.c dev_err(&edev->dev, "failed to enable dfi clk: %d\n", ret); edev 140 drivers/devfreq/event/rockchip-dfi.c rockchip_dfi_start_hardware_counter(edev); edev 144 drivers/devfreq/event/rockchip-dfi.c static int rockchip_dfi_set_event(struct devfreq_event_dev *edev) edev 149 drivers/devfreq/event/rockchip-dfi.c static int rockchip_dfi_get_event(struct devfreq_event_dev *edev, edev 152 drivers/devfreq/event/rockchip-dfi.c struct rockchip_dfi *info = devfreq_event_get_drvdata(edev); edev 155 drivers/devfreq/event/rockchip-dfi.c busier_ch = rockchip_dfi_get_busier_ch(edev); edev 217 drivers/devfreq/event/rockchip-dfi.c data->edev = devm_devfreq_event_add_edev(&pdev->dev, desc); edev 218 drivers/devfreq/event/rockchip-dfi.c if (IS_ERR(data->edev)) { edev 221 drivers/devfreq/event/rockchip-dfi.c return PTR_ERR(data->edev); edev 30 drivers/devfreq/exynos-bus.c struct devfreq_event_dev **edev; edev 50 drivers/devfreq/exynos-bus.c if (!bus->edev[i]) \ edev 52 drivers/devfreq/exynos-bus.c ret = devfreq_event_##ops(bus->edev[i]); \ edev 71 drivers/devfreq/exynos-bus.c if (!bus->edev[i]) edev 74 drivers/devfreq/exynos-bus.c ret = devfreq_event_get_event(bus->edev[i], &event_data); edev 204 drivers/devfreq/exynos-bus.c size = sizeof(*bus->edev) * count; edev 205 drivers/devfreq/exynos-bus.c bus->edev = devm_kzalloc(dev, size, GFP_KERNEL); edev 206 drivers/devfreq/exynos-bus.c if (!bus->edev) { edev 212 drivers/devfreq/exynos-bus.c bus->edev[i] = devfreq_event_get_edev_by_phandle(dev, i); edev 213 drivers/devfreq/exynos-bus.c if (IS_ERR(bus->edev[i])) { edev 63 drivers/devfreq/rk3399_dmc.c struct devfreq_event_dev *edev; edev 170 drivers/devfreq/rk3399_dmc.c ret = devfreq_event_get_event(dmcfreq->edev, &edata); edev 202 drivers/devfreq/rk3399_dmc.c ret = devfreq_event_disable_edev(dmcfreq->edev); edev 222 drivers/devfreq/rk3399_dmc.c ret = devfreq_event_enable_edev(dmcfreq->edev); edev 342 drivers/devfreq/rk3399_dmc.c data->edev = devfreq_event_get_edev_by_phandle(dev, 0); edev 343 drivers/devfreq/rk3399_dmc.c if (IS_ERR(data->edev)) edev 346 drivers/devfreq/rk3399_dmc.c ret = devfreq_event_enable_edev(data->edev); edev 44 drivers/eisa/eisa-bus.c struct eisa_device *edev) edev 49 drivers/eisa/eisa-bus.c x = (root->bus_nr << 8) | edev->slot; edev 57 drivers/eisa/eisa-bus.c static void __init eisa_name_device(struct eisa_device *edev) edev 62 drivers/eisa/eisa-bus.c if (!strcmp(edev->id.sig, eisa_table[i].id.sig)) { edev 63 drivers/eisa/eisa-bus.c strlcpy(edev->pretty_name, edev 65 drivers/eisa/eisa-bus.c sizeof(edev->pretty_name)); edev 71 drivers/eisa/eisa-bus.c sprintf(edev->pretty_name, "EISA device %.7s", edev->id.sig); edev 110 drivers/eisa/eisa-bus.c struct eisa_device *edev = to_eisa_device(dev); edev 118 drivers/eisa/eisa-bus.c if (!strcmp(eids->sig, edev->id.sig) && edev 119 drivers/eisa/eisa-bus.c edev->state & EISA_CONFIG_ENABLED) { edev 120 drivers/eisa/eisa-bus.c edev->id.driver_data = eids->driver_data; edev 132 drivers/eisa/eisa-bus.c struct eisa_device *edev = to_eisa_device(dev); edev 134 drivers/eisa/eisa-bus.c add_uevent_var(env, "MODALIAS=" EISA_DEVICE_MODALIAS_FMT, edev->id.sig); edev 161 drivers/eisa/eisa-bus.c struct eisa_device *edev = to_eisa_device(dev); edev 162 drivers/eisa/eisa-bus.c return sprintf(buf, "%s\n", edev->id.sig); edev 171 drivers/eisa/eisa-bus.c struct eisa_device *edev = to_eisa_device(dev); edev 172 drivers/eisa/eisa-bus.c return sprintf(buf, "%d\n", edev->state & EISA_CONFIG_ENABLED); edev 181 drivers/eisa/eisa-bus.c struct eisa_device *edev = to_eisa_device(dev); edev 182 drivers/eisa/eisa-bus.c return sprintf(buf, EISA_DEVICE_MODALIAS_FMT "\n", edev->id.sig); edev 188 drivers/eisa/eisa-bus.c struct eisa_device *edev, edev 201 drivers/eisa/eisa-bus.c memcpy(edev->id.sig, sig, EISA_SIG_LEN); edev 202 drivers/eisa/eisa-bus.c edev->slot = slot; edev 203 drivers/eisa/eisa-bus.c edev->state = inb(SLOT_ADDRESS(root, slot) + EISA_CONFIG_OFFSET) edev 205 drivers/eisa/eisa-bus.c edev->base_addr = SLOT_ADDRESS(root, slot); edev 206 drivers/eisa/eisa-bus.c edev->dma_mask = root->dma_mask; /* Default DMA mask */ edev 207 drivers/eisa/eisa-bus.c eisa_name_device(edev); edev 208 drivers/eisa/eisa-bus.c edev->dev.parent = root->dev; edev 209 drivers/eisa/eisa-bus.c edev->dev.bus = &eisa_bus_type; edev 210 drivers/eisa/eisa-bus.c edev->dev.dma_mask = &edev->dma_mask; edev 211 drivers/eisa/eisa-bus.c edev->dev.coherent_dma_mask = edev->dma_mask; edev 212 drivers/eisa/eisa-bus.c dev_set_name(&edev->dev, "%02X:%02X", root->bus_nr, slot); edev 216 drivers/eisa/eisa-bus.c edev->res[i].name = edev->pretty_name; edev 218 drivers/eisa/eisa-bus.c edev->res[i].name = edev->id.sig; edev 222 drivers/eisa/eisa-bus.c if (is_forced_dev(enable_dev, enable_dev_count, root, edev)) edev 223 drivers/eisa/eisa-bus.c edev->state = EISA_CONFIG_ENABLED | EISA_CONFIG_FORCED; edev 225 drivers/eisa/eisa-bus.c if (is_forced_dev(disable_dev, disable_dev_count, root, edev)) edev 226 drivers/eisa/eisa-bus.c edev->state = EISA_CONFIG_FORCED; edev 231 drivers/eisa/eisa-bus.c static int __init eisa_register_device(struct eisa_device *edev) edev 233 drivers/eisa/eisa-bus.c int rc = device_register(&edev->dev); edev 235 drivers/eisa/eisa-bus.c put_device(&edev->dev); edev 239 drivers/eisa/eisa-bus.c rc = device_create_file(&edev->dev, &dev_attr_signature); edev 242 drivers/eisa/eisa-bus.c rc = device_create_file(&edev->dev, &dev_attr_enabled); edev 245 drivers/eisa/eisa-bus.c rc = device_create_file(&edev->dev, &dev_attr_modalias); edev 252 drivers/eisa/eisa-bus.c device_remove_file(&edev->dev, &dev_attr_enabled); edev 254 drivers/eisa/eisa-bus.c device_remove_file(&edev->dev, &dev_attr_signature); edev 256 drivers/eisa/eisa-bus.c device_unregister(&edev->dev); edev 261 drivers/eisa/eisa-bus.c struct eisa_device *edev, edev 274 drivers/eisa/eisa-bus.c edev->res[i].start = edev->res[i].end = 0; edev 279 drivers/eisa/eisa-bus.c edev->res[i].name = NULL; edev 280 drivers/eisa/eisa-bus.c edev->res[i].start = SLOT_ADDRESS(root, slot) edev 282 drivers/eisa/eisa-bus.c edev->res[i].end = edev->res[i].start + 0xff; edev 283 drivers/eisa/eisa-bus.c edev->res[i].flags = IORESOURCE_IO; edev 285 drivers/eisa/eisa-bus.c edev->res[i].name = NULL; edev 286 drivers/eisa/eisa-bus.c edev->res[i].start = SLOT_ADDRESS(root, slot) edev 288 drivers/eisa/eisa-bus.c edev->res[i].end = edev->res[i].start + 3; edev 289 drivers/eisa/eisa-bus.c edev->res[i].flags = IORESOURCE_IO | IORESOURCE_BUSY; edev 292 drivers/eisa/eisa-bus.c if (request_resource(root->res, &edev->res[i])) edev 300 drivers/eisa/eisa-bus.c release_resource(&edev->res[i]); edev 305 drivers/eisa/eisa-bus.c static void __init eisa_release_resources(struct eisa_device *edev) edev 310 drivers/eisa/eisa-bus.c if (edev->res[i].start || edev->res[i].end) edev 311 drivers/eisa/eisa-bus.c release_resource(&edev->res[i]); edev 317 drivers/eisa/eisa-bus.c struct eisa_device *edev; edev 325 drivers/eisa/eisa-bus.c edev = kzalloc(sizeof(*edev), GFP_KERNEL); edev 326 drivers/eisa/eisa-bus.c if (!edev) edev 329 drivers/eisa/eisa-bus.c if (eisa_request_resources(root, edev, 0)) { edev 332 drivers/eisa/eisa-bus.c kfree(edev); edev 338 drivers/eisa/eisa-bus.c if (eisa_init_device(root, edev, 0)) { edev 339 drivers/eisa/eisa-bus.c eisa_release_resources(edev); edev 340 drivers/eisa/eisa-bus.c kfree(edev); edev 346 drivers/eisa/eisa-bus.c dev_info(&edev->dev, "EISA: Mainboard %s detected\n", edev->id.sig); edev 348 drivers/eisa/eisa-bus.c if (eisa_register_device(edev)) { edev 349 drivers/eisa/eisa-bus.c dev_err(&edev->dev, "EISA: Failed to register %s\n", edev 350 drivers/eisa/eisa-bus.c edev->id.sig); edev 351 drivers/eisa/eisa-bus.c eisa_release_resources(edev); edev 352 drivers/eisa/eisa-bus.c kfree(edev); edev 358 drivers/eisa/eisa-bus.c edev = kzalloc(sizeof(*edev), GFP_KERNEL); edev 359 drivers/eisa/eisa-bus.c if (!edev) { edev 365 drivers/eisa/eisa-bus.c if (eisa_request_resources(root, edev, i)) { edev 369 drivers/eisa/eisa-bus.c kfree(edev); edev 373 drivers/eisa/eisa-bus.c if (eisa_init_device(root, edev, i)) { edev 374 drivers/eisa/eisa-bus.c eisa_release_resources(edev); edev 375 drivers/eisa/eisa-bus.c kfree(edev); edev 379 drivers/eisa/eisa-bus.c if (edev->state == (EISA_CONFIG_ENABLED | EISA_CONFIG_FORCED)) edev 381 drivers/eisa/eisa-bus.c else if (edev->state == EISA_CONFIG_FORCED) edev 383 drivers/eisa/eisa-bus.c else if (edev->state == 0) edev 388 drivers/eisa/eisa-bus.c dev_info(&edev->dev, "EISA: slot %d: %s detected%s\n", i, edev 389 drivers/eisa/eisa-bus.c edev->id.sig, enabled_str); edev 393 drivers/eisa/eisa-bus.c if (eisa_register_device(edev)) { edev 394 drivers/eisa/eisa-bus.c dev_err(&edev->dev, "EISA: Failed to register %s\n", edev 395 drivers/eisa/eisa-bus.c edev->id.sig); edev 396 drivers/eisa/eisa-bus.c eisa_release_resources(edev); edev 397 drivers/eisa/eisa-bus.c kfree(edev); edev 33 drivers/extcon/devres.c struct extcon_dev *edev; edev 42 drivers/extcon/devres.c extcon_unregister_notifier(this->edev, this->id, this->nb); edev 49 drivers/extcon/devres.c extcon_unregister_notifier_all(this->edev, this->nb); edev 68 drivers/extcon/devres.c struct extcon_dev **ptr, *edev; edev 74 drivers/extcon/devres.c edev = extcon_dev_allocate(supported_cable); edev 75 drivers/extcon/devres.c if (IS_ERR(edev)) { edev 77 drivers/extcon/devres.c return edev; edev 80 drivers/extcon/devres.c edev->dev.parent = dev; edev 82 drivers/extcon/devres.c *ptr = edev; edev 85 drivers/extcon/devres.c return edev; edev 97 drivers/extcon/devres.c void devm_extcon_dev_free(struct device *dev, struct extcon_dev *edev) edev 100 drivers/extcon/devres.c devm_extcon_dev_match, edev)); edev 118 drivers/extcon/devres.c int devm_extcon_dev_register(struct device *dev, struct extcon_dev *edev) edev 127 drivers/extcon/devres.c ret = extcon_dev_register(edev); edev 133 drivers/extcon/devres.c *ptr = edev; edev 148 drivers/extcon/devres.c void devm_extcon_dev_unregister(struct device *dev, struct extcon_dev *edev) edev 151 drivers/extcon/devres.c devm_extcon_dev_match, edev)); edev 172 drivers/extcon/devres.c int devm_extcon_register_notifier(struct device *dev, struct extcon_dev *edev, edev 183 drivers/extcon/devres.c ret = extcon_register_notifier(edev, id, nb); edev 189 drivers/extcon/devres.c ptr->edev = edev; edev 207 drivers/extcon/devres.c struct extcon_dev *edev, unsigned int id, edev 211 drivers/extcon/devres.c devm_extcon_dev_match, edev)); edev 228 drivers/extcon/devres.c int devm_extcon_register_notifier_all(struct device *dev, struct extcon_dev *edev, edev 239 drivers/extcon/devres.c ret = extcon_register_notifier_all(edev, nb); edev 245 drivers/extcon/devres.c ptr->edev = edev; edev 261 drivers/extcon/devres.c struct extcon_dev *edev, edev 265 drivers/extcon/devres.c devm_extcon_dev_match, edev)); edev 41 drivers/extcon/extcon-adc-jack.c struct extcon_dev *edev; edev 74 drivers/extcon/extcon-adc-jack.c extcon_set_state_sync(data->edev, def->id, true); edev 82 drivers/extcon/extcon-adc-jack.c extcon_set_state_sync(data->edev, def->id, false); edev 111 drivers/extcon/extcon-adc-jack.c data->edev = devm_extcon_dev_allocate(&pdev->dev, pdata->cable_names); edev 112 drivers/extcon/extcon-adc-jack.c if (IS_ERR(data->edev)) { edev 138 drivers/extcon/extcon-adc-jack.c err = devm_extcon_dev_register(&pdev->dev, data->edev); edev 102 drivers/extcon/extcon-arizona.c struct extcon_dev *edev; edev 613 drivers/extcon/extcon-arizona.c ret = extcon_get_state(info->edev, EXTCON_MECHANICAL); edev 648 drivers/extcon/extcon-arizona.c ret = extcon_set_state_sync(info->edev, report, true); edev 731 drivers/extcon/extcon-arizona.c ret = extcon_set_state_sync(info->edev, EXTCON_JACK_HEADPHONE, true); edev 788 drivers/extcon/extcon-arizona.c ret = extcon_set_state_sync(info->edev, EXTCON_JACK_HEADPHONE, true); edev 828 drivers/extcon/extcon-arizona.c ret = extcon_get_state(info->edev, EXTCON_MECHANICAL); edev 913 drivers/extcon/extcon-arizona.c ret = extcon_set_state_sync(info->edev, edev 1141 drivers/extcon/extcon-arizona.c ret = extcon_set_state_sync(info->edev, edev 1183 drivers/extcon/extcon-arizona.c ret = extcon_set_state_sync(info->edev, edev 1415 drivers/extcon/extcon-arizona.c info->edev = devm_extcon_dev_allocate(&pdev->dev, arizona_cable); edev 1416 drivers/extcon/extcon-arizona.c if (IS_ERR(info->edev)) { edev 1421 drivers/extcon/extcon-arizona.c ret = devm_extcon_dev_register(&pdev->dev, info->edev); edev 102 drivers/extcon/extcon-axp288.c struct extcon_dev *edev; edev 256 drivers/extcon/extcon-axp288.c extcon_set_state_sync(info->edev, info->previous_cable, false); edev 258 drivers/extcon/extcon-axp288.c extcon_set_state_sync(info->edev, EXTCON_USB, false); edev 261 drivers/extcon/extcon-axp288.c extcon_set_state_sync(info->edev, cable, vbus_attach); edev 263 drivers/extcon/extcon-axp288.c extcon_set_state_sync(info->edev, EXTCON_USB, edev 372 drivers/extcon/extcon-axp288.c info->edev = devm_extcon_dev_allocate(&pdev->dev, edev 374 drivers/extcon/extcon-axp288.c if (IS_ERR(info->edev)) { edev 376 drivers/extcon/extcon-axp288.c return PTR_ERR(info->edev); edev 380 drivers/extcon/extcon-axp288.c ret = devm_extcon_dev_register(&pdev->dev, info->edev); edev 109 drivers/extcon/extcon-fsa9480.c struct extcon_dev *edev; edev 212 drivers/extcon/extcon-fsa9480.c extcon_set_state_sync(usbsw->edev, cable, attached); edev 279 drivers/extcon/extcon-fsa9480.c info->edev = devm_extcon_dev_allocate(info->dev, edev 281 drivers/extcon/extcon-fsa9480.c if (IS_ERR(info->edev)) { edev 287 drivers/extcon/extcon-fsa9480.c ret = devm_extcon_dev_register(info->dev, info->edev); edev 35 drivers/extcon/extcon-gpio.c struct extcon_dev *edev; edev 52 drivers/extcon/extcon-gpio.c extcon_set_state_sync(data->edev, data->extcon_id, state); edev 105 drivers/extcon/extcon-gpio.c data->edev = devm_extcon_dev_allocate(dev, &data->extcon_id); edev 106 drivers/extcon/extcon-gpio.c if (IS_ERR(data->edev)) { edev 111 drivers/extcon/extcon-gpio.c ret = devm_extcon_dev_register(dev, data->edev); edev 103 drivers/extcon/extcon-intel-cht-wc.c struct extcon_dev *edev; edev 237 drivers/extcon/extcon-intel-cht-wc.c extcon_set_state_sync(ext->edev, cable, state); edev 239 drivers/extcon/extcon-intel-cht-wc.c extcon_set_state_sync(ext->edev, EXTCON_USB, state); edev 290 drivers/extcon/extcon-intel-cht-wc.c extcon_set_state_sync(ext->edev, EXTCON_USB_HOST, ext->usb_host); edev 357 drivers/extcon/extcon-intel-cht-wc.c ext->edev = devm_extcon_dev_allocate(ext->dev, cht_wc_extcon_cables); edev 358 drivers/extcon/extcon-intel-cht-wc.c if (IS_ERR(ext->edev)) edev 359 drivers/extcon/extcon-intel-cht-wc.c return PTR_ERR(ext->edev); edev 385 drivers/extcon/extcon-intel-cht-wc.c ret = devm_extcon_dev_register(ext->dev, ext->edev); edev 27 drivers/extcon/extcon-intel-int3496.c struct extcon_dev *edev; edev 74 drivers/extcon/extcon-intel-int3496.c extcon_set_state_sync(data->edev, EXTCON_USB_HOST, !id); edev 128 drivers/extcon/extcon-intel-int3496.c data->edev = devm_extcon_dev_allocate(dev, int3496_cable); edev 129 drivers/extcon/extcon-intel-int3496.c if (IS_ERR(data->edev)) edev 132 drivers/extcon/extcon-intel-int3496.c ret = devm_extcon_dev_register(dev, data->edev); edev 52 drivers/extcon/extcon-intel-mrfld.c struct extcon_dev *edev; edev 147 drivers/extcon/extcon-intel-mrfld.c extcon_set_state_sync(data->edev, EXTCON_USB_HOST, usb_host); edev 214 drivers/extcon/extcon-intel-mrfld.c data->edev = devm_extcon_dev_allocate(dev, mrfld_extcon_cable); edev 215 drivers/extcon/extcon-intel-mrfld.c if (IS_ERR(data->edev)) edev 218 drivers/extcon/extcon-intel-mrfld.c ret = devm_extcon_dev_register(dev, data->edev); edev 72 drivers/extcon/extcon-max14577.c struct extcon_dev *edev; edev 350 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_JIG, attached); edev 447 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_USB, attached); edev 448 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 452 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 456 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_CDP, edev 460 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SLOW, edev 464 drivers/extcon/extcon-max14577.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_FAST, edev 486 drivers/extcon/extcon-max14577.c if (!info->edev) edev 712 drivers/extcon/extcon-max14577.c info->edev = devm_extcon_dev_allocate(&pdev->dev, edev 714 drivers/extcon/extcon-max14577.c if (IS_ERR(info->edev)) { edev 719 drivers/extcon/extcon-max14577.c ret = devm_extcon_dev_register(&pdev->dev, info->edev); edev 18 drivers/extcon/extcon-max3355.c struct extcon_dev *edev; edev 40 drivers/extcon/extcon-max3355.c extcon_set_state_sync(data->edev, EXTCON_USB_HOST, false); edev 41 drivers/extcon/extcon-max3355.c extcon_set_state_sync(data->edev, EXTCON_USB, true); edev 48 drivers/extcon/extcon-max3355.c extcon_set_state_sync(data->edev, EXTCON_USB, false); edev 49 drivers/extcon/extcon-max3355.c extcon_set_state_sync(data->edev, EXTCON_USB_HOST, true); edev 80 drivers/extcon/extcon-max3355.c data->edev = devm_extcon_dev_allocate(&pdev->dev, max3355_cable); edev 81 drivers/extcon/extcon-max3355.c if (IS_ERR(data->edev)) { edev 83 drivers/extcon/extcon-max3355.c return PTR_ERR(data->edev); edev 86 drivers/extcon/extcon-max3355.c err = devm_extcon_dev_register(&pdev->dev, data->edev); edev 68 drivers/extcon/extcon-max77693.c struct extcon_dev *edev; edev 500 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DOCK, attached); edev 501 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, attached); edev 509 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_USB, false); edev 510 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 525 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, dock_id, attached); edev 591 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, attached); edev 599 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_USB, attached); edev 600 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 606 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, attached); edev 648 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_JIG, attached); edev 802 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 804 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, edev 828 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_USB, edev 830 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 834 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DOCK, edev 863 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DOCK, edev 865 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, edev 899 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_USB, edev 901 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 906 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 912 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_CDP, edev 916 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SLOW, edev 920 drivers/extcon/extcon-max77693.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_FAST, edev 942 drivers/extcon/extcon-max77693.c if (!info->edev) edev 1156 drivers/extcon/extcon-max77693.c info->edev = devm_extcon_dev_allocate(&pdev->dev, edev 1158 drivers/extcon/extcon-max77693.c if (IS_ERR(info->edev)) { edev 1163 drivers/extcon/extcon-max77693.c ret = devm_extcon_dev_register(&pdev->dev, info->edev); edev 32 drivers/extcon/extcon-max77843.c struct extcon_dev *edev; edev 388 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, attached); edev 399 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, attached); edev 435 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_JIG, attached); edev 453 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, attached); edev 454 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, attached); edev 455 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_DOCK, attached); edev 553 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_USB, attached); edev 554 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 564 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_CDP, edev 574 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 584 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SLOW, edev 594 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_FAST, edev 603 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 606 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 610 drivers/extcon/extcon-max77843.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, attached); edev 844 drivers/extcon/extcon-max77843.c info->edev = devm_extcon_dev_allocate(&pdev->dev, edev 846 drivers/extcon/extcon-max77843.c if (IS_ERR(info->edev)) { edev 852 drivers/extcon/extcon-max77843.c ret = devm_extcon_dev_register(&pdev->dev, info->edev); edev 110 drivers/extcon/extcon-max8997.c struct extcon_dev *edev; edev 322 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, attached); edev 325 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_USB, attached); edev 326 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 352 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_DOCK, attached); edev 375 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_JIG, attached); edev 397 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_DISP_MHL, attached); edev 480 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_CDP, edev 484 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_DCP, edev 488 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SLOW, edev 492 drivers/extcon/extcon-max8997.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_FAST, edev 512 drivers/extcon/extcon-max8997.c if (!info->edev) edev 674 drivers/extcon/extcon-max8997.c info->edev = devm_extcon_dev_allocate(&pdev->dev, max8997_extcon_cable); edev 675 drivers/extcon/extcon-max8997.c if (IS_ERR(info->edev)) { edev 681 drivers/extcon/extcon-max8997.c ret = devm_extcon_dev_register(&pdev->dev, info->edev); edev 44 drivers/extcon/extcon-palmas.c struct extcon_dev *edev = palmas_usb->edev; edev 53 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB, true); edev 62 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB, false); edev 77 drivers/extcon/extcon-palmas.c struct extcon_dev *edev = palmas_usb->edev; edev 90 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB_HOST, true); edev 98 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB_HOST, false); edev 103 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB_HOST, false); edev 108 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB_HOST, true); edev 121 drivers/extcon/extcon-palmas.c struct extcon_dev *edev = palmas_usb->edev; edev 129 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB_HOST, false); edev 132 drivers/extcon/extcon-palmas.c extcon_set_state_sync(edev, EXTCON_USB_HOST, true); edev 253 drivers/extcon/extcon-palmas.c palmas_usb->edev = devm_extcon_dev_allocate(&pdev->dev, edev 255 drivers/extcon/extcon-palmas.c if (IS_ERR(palmas_usb->edev)) { edev 260 drivers/extcon/extcon-palmas.c status = devm_extcon_dev_register(&pdev->dev, palmas_usb->edev); edev 63 drivers/extcon/extcon-ptn5150.c struct extcon_dev *edev; edev 94 drivers/extcon/extcon-ptn5150.c if (!info->edev) edev 128 drivers/extcon/extcon-ptn5150.c extcon_set_state_sync(info->edev, edev 131 drivers/extcon/extcon-ptn5150.c extcon_set_state_sync(info->edev, EXTCON_USB, edev 135 drivers/extcon/extcon-ptn5150.c extcon_set_state_sync(info->edev, EXTCON_USB, edev 145 drivers/extcon/extcon-ptn5150.c extcon_set_state_sync(info->edev, edev 155 drivers/extcon/extcon-ptn5150.c extcon_set_state_sync(info->edev, edev 157 drivers/extcon/extcon-ptn5150.c extcon_set_state_sync(info->edev, edev 289 drivers/extcon/extcon-ptn5150.c info->edev = devm_extcon_dev_allocate(info->dev, ptn5150_extcon_cable); edev 290 drivers/extcon/extcon-ptn5150.c if (IS_ERR(info->edev)) { edev 296 drivers/extcon/extcon-ptn5150.c ret = devm_extcon_dev_register(info->dev, info->edev); edev 23 drivers/extcon/extcon-qcom-spmi-misc.c struct extcon_dev *edev; edev 47 drivers/extcon/extcon-qcom-spmi-misc.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, !id); edev 70 drivers/extcon/extcon-qcom-spmi-misc.c info->edev = devm_extcon_dev_allocate(dev, qcom_usb_extcon_cable); edev 71 drivers/extcon/extcon-qcom-spmi-misc.c if (IS_ERR(info->edev)) { edev 76 drivers/extcon/extcon-qcom-spmi-misc.c ret = devm_extcon_dev_register(dev, info->edev); edev 40 drivers/extcon/extcon-rt8973a.c struct extcon_dev *edev; edev 399 drivers/extcon/extcon-rt8973a.c extcon_set_state_sync(info->edev, id, attached); edev 401 drivers/extcon/extcon-rt8973a.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 413 drivers/extcon/extcon-rt8973a.c if (!info->edev) edev 619 drivers/extcon/extcon-rt8973a.c info->edev = devm_extcon_dev_allocate(info->dev, rt8973a_extcon_cable); edev 620 drivers/extcon/extcon-rt8973a.c if (IS_ERR(info->edev)) { edev 626 drivers/extcon/extcon-rt8973a.c ret = devm_extcon_dev_register(info->dev, info->edev); edev 38 drivers/extcon/extcon-sm5502.c struct extcon_dev *edev; edev 416 drivers/extcon/extcon-sm5502.c extcon_set_state_sync(info->edev, id, attached); edev 418 drivers/extcon/extcon-sm5502.c extcon_set_state_sync(info->edev, EXTCON_CHG_USB_SDP, edev 430 drivers/extcon/extcon-sm5502.c if (!info->edev) edev 615 drivers/extcon/extcon-sm5502.c info->edev = devm_extcon_dev_allocate(info->dev, sm5502_extcon_cable); edev 616 drivers/extcon/extcon-sm5502.c if (IS_ERR(info->edev)) { edev 622 drivers/extcon/extcon-sm5502.c ret = devm_extcon_dev_register(info->dev, info->edev); edev 27 drivers/extcon/extcon-usb-gpio.c struct extcon_dev *edev; edev 76 drivers/extcon/extcon-usb-gpio.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, false); edev 78 drivers/extcon/extcon-usb-gpio.c extcon_set_state_sync(info->edev, EXTCON_USB, false); edev 81 drivers/extcon/extcon-usb-gpio.c extcon_set_state_sync(info->edev, EXTCON_USB_HOST, true); edev 84 drivers/extcon/extcon-usb-gpio.c extcon_set_state_sync(info->edev, EXTCON_USB, true); edev 128 drivers/extcon/extcon-usb-gpio.c info->edev = devm_extcon_dev_allocate(dev, usb_extcon_cable); edev 129 drivers/extcon/extcon-usb-gpio.c if (IS_ERR(info->edev)) { edev 134 drivers/extcon/extcon-usb-gpio.c ret = devm_extcon_dev_register(dev, info->edev); edev 20 drivers/extcon/extcon-usbc-cros-ec.c struct extcon_dev *edev; edev 317 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_state(info->edev, EXTCON_USB, device_connected); edev 318 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_state(info->edev, EXTCON_USB_HOST, host_connected); edev 319 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_state(info->edev, EXTCON_DISP_DP, dp); edev 320 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_USB, edev 323 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_USB_HOST, edev 326 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_USB, edev 329 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_USB_HOST, edev 332 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_DISP_DP, edev 335 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_USB, edev 338 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_USB_HOST, edev 341 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_DISP_DP, edev 344 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_DISP_DP, edev 348 drivers/extcon/extcon-usbc-cros-ec.c extcon_sync(info->edev, EXTCON_USB); edev 349 drivers/extcon/extcon-usbc-cros-ec.c extcon_sync(info->edev, EXTCON_USB_HOST); edev 350 drivers/extcon/extcon-usbc-cros-ec.c extcon_sync(info->edev, EXTCON_DISP_DP); edev 353 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property(info->edev, EXTCON_DISP_DP, edev 356 drivers/extcon/extcon-usbc-cros-ec.c extcon_sync(info->edev, EXTCON_DISP_DP); edev 423 drivers/extcon/extcon-usbc-cros-ec.c info->edev = devm_extcon_dev_allocate(dev, usb_type_c_cable); edev 424 drivers/extcon/extcon-usbc-cros-ec.c if (IS_ERR(info->edev)) { edev 429 drivers/extcon/extcon-usbc-cros-ec.c ret = devm_extcon_dev_register(dev, info->edev); edev 435 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_USB, edev 437 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_USB_HOST, edev 439 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_USB, edev 441 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_USB_HOST, edev 443 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_DISP_DP, edev 445 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_USB, edev 447 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_USB_HOST, edev 449 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_DISP_DP, edev 451 drivers/extcon/extcon-usbc-cros-ec.c extcon_set_property_capability(info->edev, EXTCON_DISP_DP, edev 201 drivers/extcon/extcon.c struct extcon_dev *edev; edev 226 drivers/extcon/extcon.c static int check_mutually_exclusive(struct extcon_dev *edev, u32 new_state) edev 230 drivers/extcon/extcon.c if (!edev->mutually_exclusive) edev 233 drivers/extcon/extcon.c for (i = 0; edev->mutually_exclusive[i]; i++) { edev 235 drivers/extcon/extcon.c u32 correspondants = new_state & edev->mutually_exclusive[i]; edev 246 drivers/extcon/extcon.c static int find_cable_index_by_id(struct extcon_dev *edev, const unsigned int id) edev 251 drivers/extcon/extcon.c for (i = 0; i < edev->max_supported; i++) { edev 252 drivers/extcon/extcon.c if (edev->supported_cable[i] == id) edev 275 drivers/extcon/extcon.c static bool is_extcon_attached(struct extcon_dev *edev, unsigned int index) edev 277 drivers/extcon/extcon.c return !!(edev->state & BIT(index)); edev 280 drivers/extcon/extcon.c static bool is_extcon_changed(struct extcon_dev *edev, int index, edev 283 drivers/extcon/extcon.c int state = !!(edev->state & BIT(index)); edev 300 drivers/extcon/extcon.c static int is_extcon_property_capability(struct extcon_dev *edev, edev 311 drivers/extcon/extcon.c cable = &edev->cables[index]; edev 333 drivers/extcon/extcon.c static void init_property(struct extcon_dev *edev, unsigned int id, int index) edev 336 drivers/extcon/extcon.c struct extcon_cable *cable = &edev->cables[index]; edev 352 drivers/extcon/extcon.c struct extcon_dev *edev = dev_get_drvdata(dev); edev 354 drivers/extcon/extcon.c if (edev->max_supported == 0) edev 355 drivers/extcon/extcon.c return sprintf(buf, "%u\n", edev->state); edev 357 drivers/extcon/extcon.c for (i = 0; i < edev->max_supported; i++) { edev 359 drivers/extcon/extcon.c extcon_info[edev->supported_cable[i]].name, edev 360 drivers/extcon/extcon.c !!(edev->state & BIT(i))); edev 370 drivers/extcon/extcon.c struct extcon_dev *edev = dev_get_drvdata(dev); edev 372 drivers/extcon/extcon.c return sprintf(buf, "%s\n", edev->name); edev 384 drivers/extcon/extcon.c extcon_info[cable->edev->supported_cable[i]].name); edev 396 drivers/extcon/extcon.c extcon_get_state(cable->edev, cable->edev->supported_cable[i])); edev 408 drivers/extcon/extcon.c int extcon_sync(struct extcon_dev *edev, unsigned int id) edev 420 drivers/extcon/extcon.c if (!edev) edev 423 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 427 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 428 drivers/extcon/extcon.c state = !!(edev->state & BIT(index)); edev 429 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 435 drivers/extcon/extcon.c raw_notifier_call_chain(&edev->nh[index], state, edev); edev 441 drivers/extcon/extcon.c raw_notifier_call_chain(&edev->nh_all, state, edev); edev 443 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 448 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 450 drivers/extcon/extcon.c dev_err(&edev->dev, "out of memory in extcon_set_state\n"); edev 451 drivers/extcon/extcon.c kobject_uevent(&edev->dev.kobj, KOBJ_CHANGE); edev 456 drivers/extcon/extcon.c length = name_show(&edev->dev, NULL, prop_buf); edev 464 drivers/extcon/extcon.c length = state_show(&edev->dev, NULL, prop_buf); edev 474 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 475 drivers/extcon/extcon.c kobject_uevent_env(&edev->dev.kobj, KOBJ_CHANGE, envp); edev 489 drivers/extcon/extcon.c int extcon_get_state(struct extcon_dev *edev, const unsigned int id) edev 494 drivers/extcon/extcon.c if (!edev) edev 497 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 501 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 502 drivers/extcon/extcon.c state = is_extcon_attached(edev, index); edev 503 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 522 drivers/extcon/extcon.c int extcon_set_state(struct extcon_dev *edev, unsigned int id, bool state) edev 527 drivers/extcon/extcon.c if (!edev) edev 530 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 534 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 537 drivers/extcon/extcon.c if (!is_extcon_changed(edev, index, state)) edev 540 drivers/extcon/extcon.c if (check_mutually_exclusive(edev, edev 541 drivers/extcon/extcon.c (edev->state & ~BIT(index)) | (state & BIT(index)))) { edev 551 drivers/extcon/extcon.c init_property(edev, id, index); edev 555 drivers/extcon/extcon.c edev->state |= BIT(index); edev 557 drivers/extcon/extcon.c edev->state &= ~(BIT(index)); edev 559 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 577 drivers/extcon/extcon.c int extcon_set_state_sync(struct extcon_dev *edev, unsigned int id, bool state) edev 582 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 587 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 588 drivers/extcon/extcon.c ret = is_extcon_changed(edev, index, state); edev 589 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 593 drivers/extcon/extcon.c ret = extcon_set_state(edev, id, state); edev 597 drivers/extcon/extcon.c return extcon_sync(edev, id); edev 615 drivers/extcon/extcon.c int extcon_get_property(struct extcon_dev *edev, unsigned int id, edev 625 drivers/extcon/extcon.c if (!edev) edev 633 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 637 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 640 drivers/extcon/extcon.c if (!is_extcon_property_capability(edev, id, index, prop)) { edev 641 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 650 drivers/extcon/extcon.c if (!is_extcon_attached(edev, index)) { edev 651 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 655 drivers/extcon/extcon.c cable = &edev->cables[index]; edev 676 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 694 drivers/extcon/extcon.c int extcon_set_property(struct extcon_dev *edev, unsigned int id, edev 702 drivers/extcon/extcon.c if (!edev) edev 710 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 714 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 717 drivers/extcon/extcon.c if (!is_extcon_property_capability(edev, id, index, prop)) { edev 718 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 722 drivers/extcon/extcon.c cable = &edev->cables[index]; edev 743 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 759 drivers/extcon/extcon.c int extcon_set_property_sync(struct extcon_dev *edev, unsigned int id, edev 765 drivers/extcon/extcon.c ret = extcon_set_property(edev, id, prop, prop_val); edev 769 drivers/extcon/extcon.c return extcon_sync(edev, id); edev 782 drivers/extcon/extcon.c int extcon_get_property_capability(struct extcon_dev *edev, unsigned int id, edev 787 drivers/extcon/extcon.c if (!edev) edev 795 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 799 drivers/extcon/extcon.c return is_extcon_property_capability(edev, id, index, prop); edev 816 drivers/extcon/extcon.c int extcon_set_property_capability(struct extcon_dev *edev, unsigned int id, edev 822 drivers/extcon/extcon.c if (!edev) edev 830 drivers/extcon/extcon.c index = find_cable_index_by_id(edev, id); edev 838 drivers/extcon/extcon.c cable = &edev->cables[index]; edev 899 drivers/extcon/extcon.c int extcon_register_notifier(struct extcon_dev *edev, unsigned int id, edev 905 drivers/extcon/extcon.c if (!edev || !nb) edev 908 drivers/extcon/extcon.c idx = find_cable_index_by_id(edev, id); edev 912 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 913 drivers/extcon/extcon.c ret = raw_notifier_chain_register(&edev->nh[idx], nb); edev 914 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 928 drivers/extcon/extcon.c int extcon_unregister_notifier(struct extcon_dev *edev, unsigned int id, edev 934 drivers/extcon/extcon.c if (!edev || !nb) edev 937 drivers/extcon/extcon.c idx = find_cable_index_by_id(edev, id); edev 941 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 942 drivers/extcon/extcon.c ret = raw_notifier_chain_unregister(&edev->nh[idx], nb); edev 943 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 961 drivers/extcon/extcon.c int extcon_register_notifier_all(struct extcon_dev *edev, edev 967 drivers/extcon/extcon.c if (!edev || !nb) edev 970 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 971 drivers/extcon/extcon.c ret = raw_notifier_chain_register(&edev->nh_all, nb); edev 972 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 985 drivers/extcon/extcon.c int extcon_unregister_notifier_all(struct extcon_dev *edev, edev 991 drivers/extcon/extcon.c if (!edev || !nb) edev 994 drivers/extcon/extcon.c spin_lock_irqsave(&edev->lock, flags); edev 995 drivers/extcon/extcon.c ret = raw_notifier_chain_unregister(&edev->nh_all, nb); edev 996 drivers/extcon/extcon.c spin_unlock_irqrestore(&edev->lock, flags); edev 1043 drivers/extcon/extcon.c struct extcon_dev *edev; edev 1048 drivers/extcon/extcon.c edev = kzalloc(sizeof(*edev), GFP_KERNEL); edev 1049 drivers/extcon/extcon.c if (!edev) edev 1052 drivers/extcon/extcon.c edev->max_supported = 0; edev 1053 drivers/extcon/extcon.c edev->supported_cable = supported_cable; edev 1055 drivers/extcon/extcon.c return edev; edev 1062 drivers/extcon/extcon.c void extcon_dev_free(struct extcon_dev *edev) edev 1064 drivers/extcon/extcon.c kfree(edev); edev 1082 drivers/extcon/extcon.c int extcon_dev_register(struct extcon_dev *edev) edev 1093 drivers/extcon/extcon.c if (!edev || !edev->supported_cable) edev 1096 drivers/extcon/extcon.c for (; edev->supported_cable[index] != EXTCON_NONE; index++); edev 1098 drivers/extcon/extcon.c edev->max_supported = index; edev 1100 drivers/extcon/extcon.c dev_err(&edev->dev, edev 1105 drivers/extcon/extcon.c edev->dev.class = extcon_class; edev 1106 drivers/extcon/extcon.c edev->dev.release = extcon_dev_release; edev 1108 drivers/extcon/extcon.c edev->name = dev_name(edev->dev.parent); edev 1109 drivers/extcon/extcon.c if (IS_ERR_OR_NULL(edev->name)) { edev 1110 drivers/extcon/extcon.c dev_err(&edev->dev, edev 1114 drivers/extcon/extcon.c dev_set_name(&edev->dev, "extcon%lu", edev 1117 drivers/extcon/extcon.c if (edev->max_supported) { edev 1121 drivers/extcon/extcon.c edev->cables = kcalloc(edev->max_supported, edev 1124 drivers/extcon/extcon.c if (!edev->cables) { edev 1128 drivers/extcon/extcon.c for (index = 0; index < edev->max_supported; index++) { edev 1129 drivers/extcon/extcon.c cable = &edev->cables[index]; edev 1134 drivers/extcon/extcon.c cable = &edev->cables[index]; edev 1142 drivers/extcon/extcon.c cable->edev = edev; edev 1162 drivers/extcon/extcon.c if (edev->max_supported && edev->mutually_exclusive) { edev 1166 drivers/extcon/extcon.c for (index = 0; edev->mutually_exclusive[index]; index++) edev 1169 drivers/extcon/extcon.c edev->attrs_muex = kcalloc(index + 1, edev 1172 drivers/extcon/extcon.c if (!edev->attrs_muex) { edev 1177 drivers/extcon/extcon.c edev->d_attrs_muex = kcalloc(index, edev 1180 drivers/extcon/extcon.c if (!edev->d_attrs_muex) { edev 1182 drivers/extcon/extcon.c kfree(edev->attrs_muex); edev 1186 drivers/extcon/extcon.c for (index = 0; edev->mutually_exclusive[index]; index++) { edev 1188 drivers/extcon/extcon.c edev->mutually_exclusive[index]); edev 1191 drivers/extcon/extcon.c kfree(edev->d_attrs_muex[index].attr. edev 1194 drivers/extcon/extcon.c kfree(edev->d_attrs_muex); edev 1195 drivers/extcon/extcon.c kfree(edev->attrs_muex); edev 1199 drivers/extcon/extcon.c sysfs_attr_init(&edev->d_attrs_muex[index].attr); edev 1200 drivers/extcon/extcon.c edev->d_attrs_muex[index].attr.name = name; edev 1201 drivers/extcon/extcon.c edev->d_attrs_muex[index].attr.mode = 0000; edev 1202 drivers/extcon/extcon.c edev->attrs_muex[index] = &edev->d_attrs_muex[index] edev 1205 drivers/extcon/extcon.c edev->attr_g_muex.name = muex_name; edev 1206 drivers/extcon/extcon.c edev->attr_g_muex.attrs = edev->attrs_muex; edev 1210 drivers/extcon/extcon.c if (edev->max_supported) { edev 1211 drivers/extcon/extcon.c edev->extcon_dev_type.groups = edev 1212 drivers/extcon/extcon.c kcalloc(edev->max_supported + 2, edev 1215 drivers/extcon/extcon.c if (!edev->extcon_dev_type.groups) { edev 1220 drivers/extcon/extcon.c edev->extcon_dev_type.name = dev_name(&edev->dev); edev 1221 drivers/extcon/extcon.c edev->extcon_dev_type.release = dummy_sysfs_dev_release; edev 1223 drivers/extcon/extcon.c for (index = 0; index < edev->max_supported; index++) edev 1224 drivers/extcon/extcon.c edev->extcon_dev_type.groups[index] = edev 1225 drivers/extcon/extcon.c &edev->cables[index].attr_g; edev 1226 drivers/extcon/extcon.c if (edev->mutually_exclusive) edev 1227 drivers/extcon/extcon.c edev->extcon_dev_type.groups[index] = edev 1228 drivers/extcon/extcon.c &edev->attr_g_muex; edev 1230 drivers/extcon/extcon.c edev->dev.type = &edev->extcon_dev_type; edev 1233 drivers/extcon/extcon.c ret = device_register(&edev->dev); edev 1235 drivers/extcon/extcon.c put_device(&edev->dev); edev 1239 drivers/extcon/extcon.c spin_lock_init(&edev->lock); edev 1240 drivers/extcon/extcon.c edev->nh = devm_kcalloc(&edev->dev, edev->max_supported, edev 1241 drivers/extcon/extcon.c sizeof(*edev->nh), GFP_KERNEL); edev 1242 drivers/extcon/extcon.c if (!edev->nh) { edev 1247 drivers/extcon/extcon.c for (index = 0; index < edev->max_supported; index++) edev 1248 drivers/extcon/extcon.c RAW_INIT_NOTIFIER_HEAD(&edev->nh[index]); edev 1250 drivers/extcon/extcon.c RAW_INIT_NOTIFIER_HEAD(&edev->nh_all); edev 1252 drivers/extcon/extcon.c dev_set_drvdata(&edev->dev, edev); edev 1253 drivers/extcon/extcon.c edev->state = 0; edev 1256 drivers/extcon/extcon.c list_add(&edev->entry, &extcon_dev_list); edev 1262 drivers/extcon/extcon.c if (edev->max_supported) edev 1263 drivers/extcon/extcon.c kfree(edev->extcon_dev_type.groups); edev 1265 drivers/extcon/extcon.c if (edev->max_supported && edev->mutually_exclusive) { edev 1266 drivers/extcon/extcon.c for (index = 0; edev->mutually_exclusive[index]; index++) edev 1267 drivers/extcon/extcon.c kfree(edev->d_attrs_muex[index].attr.name); edev 1268 drivers/extcon/extcon.c kfree(edev->d_attrs_muex); edev 1269 drivers/extcon/extcon.c kfree(edev->attrs_muex); edev 1272 drivers/extcon/extcon.c for (index = 0; index < edev->max_supported; index++) edev 1273 drivers/extcon/extcon.c kfree(edev->cables[index].attr_g.name); edev 1275 drivers/extcon/extcon.c if (edev->max_supported) edev 1276 drivers/extcon/extcon.c kfree(edev->cables); edev 1289 drivers/extcon/extcon.c void extcon_dev_unregister(struct extcon_dev *edev) edev 1293 drivers/extcon/extcon.c if (!edev) edev 1297 drivers/extcon/extcon.c list_del(&edev->entry); edev 1300 drivers/extcon/extcon.c if (IS_ERR_OR_NULL(get_device(&edev->dev))) { edev 1301 drivers/extcon/extcon.c dev_err(&edev->dev, "Failed to unregister extcon_dev (%s)\n", edev 1302 drivers/extcon/extcon.c dev_name(&edev->dev)); edev 1306 drivers/extcon/extcon.c device_unregister(&edev->dev); edev 1308 drivers/extcon/extcon.c if (edev->mutually_exclusive && edev->max_supported) { edev 1309 drivers/extcon/extcon.c for (index = 0; edev->mutually_exclusive[index]; edev 1311 drivers/extcon/extcon.c kfree(edev->d_attrs_muex[index].attr.name); edev 1312 drivers/extcon/extcon.c kfree(edev->d_attrs_muex); edev 1313 drivers/extcon/extcon.c kfree(edev->attrs_muex); edev 1316 drivers/extcon/extcon.c for (index = 0; index < edev->max_supported; index++) edev 1317 drivers/extcon/extcon.c kfree(edev->cables[index].attr_g.name); edev 1319 drivers/extcon/extcon.c if (edev->max_supported) { edev 1320 drivers/extcon/extcon.c kfree(edev->extcon_dev_type.groups); edev 1321 drivers/extcon/extcon.c kfree(edev->cables); edev 1324 drivers/extcon/extcon.c put_device(&edev->dev); edev 1338 drivers/extcon/extcon.c struct extcon_dev *edev; edev 1341 drivers/extcon/extcon.c list_for_each_entry(edev, &extcon_dev_list, entry) edev 1342 drivers/extcon/extcon.c if (edev->dev.parent && edev->dev.parent->of_node == node) edev 1344 drivers/extcon/extcon.c edev = ERR_PTR(-EPROBE_DEFER); edev 1348 drivers/extcon/extcon.c return edev; edev 1361 drivers/extcon/extcon.c struct extcon_dev *edev; edev 1378 drivers/extcon/extcon.c edev = extcon_find_edev_by_node(node); edev 1381 drivers/extcon/extcon.c return edev; edev 1405 drivers/extcon/extcon.c const char *extcon_get_edev_name(struct extcon_dev *edev) edev 1407 drivers/extcon/extcon.c return !edev ? NULL : edev->name; edev 56 drivers/firmware/edd.c ssize_t(*show) (struct edd_device * edev, char *buf); edev 57 drivers/firmware/edd.c int (*test) (struct edd_device * edev); edev 61 drivers/firmware/edd.c static int edd_dev_is_type(struct edd_device *edev, const char *type); edev 62 drivers/firmware/edd.c static struct pci_dev *edd_get_pci_dev(struct edd_device *edev); edev 74 drivers/firmware/edd.c edd_has_mbr_signature(struct edd_device *edev) edev 76 drivers/firmware/edd.c return edev->index < min_t(unsigned char, edd.mbr_signature_nr, EDD_MBR_SIG_MAX); edev 80 drivers/firmware/edd.c edd_has_edd_info(struct edd_device *edev) edev 82 drivers/firmware/edd.c return edev->index < min_t(unsigned char, edd.edd_info_nr, EDDMAXNR); edev 86 drivers/firmware/edd.c edd_dev_get_info(struct edd_device *edev) edev 88 drivers/firmware/edd.c return edev->info; edev 92 drivers/firmware/edd.c edd_dev_set_info(struct edd_device *edev, int i) edev 94 drivers/firmware/edd.c edev->index = i; edev 95 drivers/firmware/edd.c if (edd_has_mbr_signature(edev)) edev 96 drivers/firmware/edd.c edev->mbr_signature = edd.mbr_signature[i]; edev 97 drivers/firmware/edd.c if (edd_has_edd_info(edev)) edev 98 drivers/firmware/edd.c edev->info = &edd.edd_info[i]; edev 121 drivers/firmware/edd.c edd_show_host_bus(struct edd_device *edev, char *buf) edev 127 drivers/firmware/edd.c if (!edev) edev 129 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 167 drivers/firmware/edd.c edd_show_interface(struct edd_device *edev, char *buf) edev 173 drivers/firmware/edd.c if (!edev) edev 175 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 233 drivers/firmware/edd.c edd_show_raw_data(struct edd_device *edev, char *buf) edev 237 drivers/firmware/edd.c if (!edev) edev 239 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 255 drivers/firmware/edd.c edd_show_version(struct edd_device *edev, char *buf) edev 259 drivers/firmware/edd.c if (!edev) edev 261 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 270 drivers/firmware/edd.c edd_show_mbr_signature(struct edd_device *edev, char *buf) edev 273 drivers/firmware/edd.c p += scnprintf(p, left, "0x%08x\n", edev->mbr_signature); edev 278 drivers/firmware/edd.c edd_show_extensions(struct edd_device *edev, char *buf) edev 282 drivers/firmware/edd.c if (!edev) edev 284 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 304 drivers/firmware/edd.c edd_show_info_flags(struct edd_device *edev, char *buf) edev 308 drivers/firmware/edd.c if (!edev) edev 310 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 334 drivers/firmware/edd.c edd_show_legacy_max_cylinder(struct edd_device *edev, char *buf) edev 338 drivers/firmware/edd.c if (!edev) edev 340 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 349 drivers/firmware/edd.c edd_show_legacy_max_head(struct edd_device *edev, char *buf) edev 353 drivers/firmware/edd.c if (!edev) edev 355 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 364 drivers/firmware/edd.c edd_show_legacy_sectors_per_track(struct edd_device *edev, char *buf) edev 368 drivers/firmware/edd.c if (!edev) edev 370 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 379 drivers/firmware/edd.c edd_show_default_cylinders(struct edd_device *edev, char *buf) edev 383 drivers/firmware/edd.c if (!edev) edev 385 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 394 drivers/firmware/edd.c edd_show_default_heads(struct edd_device *edev, char *buf) edev 398 drivers/firmware/edd.c if (!edev) edev 400 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 409 drivers/firmware/edd.c edd_show_default_sectors_per_track(struct edd_device *edev, char *buf) edev 413 drivers/firmware/edd.c if (!edev) edev 415 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 424 drivers/firmware/edd.c edd_show_sectors(struct edd_device *edev, char *buf) edev 428 drivers/firmware/edd.c if (!edev) edev 430 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 450 drivers/firmware/edd.c edd_has_legacy_max_cylinder(struct edd_device *edev) edev 453 drivers/firmware/edd.c if (!edev) edev 455 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 462 drivers/firmware/edd.c edd_has_legacy_max_head(struct edd_device *edev) edev 465 drivers/firmware/edd.c if (!edev) edev 467 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 474 drivers/firmware/edd.c edd_has_legacy_sectors_per_track(struct edd_device *edev) edev 477 drivers/firmware/edd.c if (!edev) edev 479 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 486 drivers/firmware/edd.c edd_has_default_cylinders(struct edd_device *edev) edev 489 drivers/firmware/edd.c if (!edev) edev 491 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 498 drivers/firmware/edd.c edd_has_default_heads(struct edd_device *edev) edev 501 drivers/firmware/edd.c if (!edev) edev 503 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 510 drivers/firmware/edd.c edd_has_default_sectors_per_track(struct edd_device *edev) edev 513 drivers/firmware/edd.c if (!edev) edev 515 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 522 drivers/firmware/edd.c edd_has_edd30(struct edd_device *edev) edev 528 drivers/firmware/edd.c if (!edev) edev 530 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 636 drivers/firmware/edd.c edd_dev_is_type(struct edd_device *edev, const char *type) edev 639 drivers/firmware/edd.c if (!edev) edev 641 drivers/firmware/edd.c info = edd_dev_get_info(edev); edev 658 drivers/firmware/edd.c edd_get_pci_dev(struct edd_device *edev) edev 660 drivers/firmware/edd.c struct edd_info *info = edd_dev_get_info(edev); edev 662 drivers/firmware/edd.c if (edd_dev_is_type(edev, "PCI") || edd_dev_is_type(edev, "XPRS")) { edev 672 drivers/firmware/edd.c edd_create_symlink_to_pcidev(struct edd_device *edev) edev 675 drivers/firmware/edd.c struct pci_dev *pci_dev = edd_get_pci_dev(edev); edev 679 drivers/firmware/edd.c ret = sysfs_create_link(&edev->kobj,&pci_dev->dev.kobj,"pci_dev"); edev 685 drivers/firmware/edd.c edd_device_unregister(struct edd_device *edev) edev 687 drivers/firmware/edd.c kobject_put(&edev->kobj); edev 690 drivers/firmware/edd.c static void edd_populate_dir(struct edd_device * edev) edev 698 drivers/firmware/edd.c (attr->test && attr->test(edev))) edev 699 drivers/firmware/edd.c error = sysfs_create_file(&edev->kobj,&attr->attr); edev 703 drivers/firmware/edd.c edd_create_symlink_to_pcidev(edev); edev 708 drivers/firmware/edd.c edd_device_register(struct edd_device *edev, int i) edev 712 drivers/firmware/edd.c if (!edev) edev 714 drivers/firmware/edd.c edd_dev_set_info(edev, i); edev 715 drivers/firmware/edd.c edev->kobj.kset = edd_kset; edev 716 drivers/firmware/edd.c error = kobject_init_and_add(&edev->kobj, &edd_ktype, NULL, edev 719 drivers/firmware/edd.c edd_populate_dir(edev); edev 720 drivers/firmware/edd.c kobject_uevent(&edev->kobj, KOBJ_ADD); edev 740 drivers/firmware/edd.c struct edd_device *edev; edev 753 drivers/firmware/edd.c edev = kzalloc(sizeof (*edev), GFP_KERNEL); edev 754 drivers/firmware/edd.c if (!edev) { edev 759 drivers/firmware/edd.c rc = edd_device_register(edev, i); edev 761 drivers/firmware/edd.c kfree(edev); edev 764 drivers/firmware/edd.c edd_devices[i] = edev; edev 780 drivers/firmware/edd.c struct edd_device *edev; edev 783 drivers/firmware/edd.c if ((edev = edd_devices[i])) edev 784 drivers/firmware/edd.c edd_device_unregister(edev); edev 2163 drivers/gpu/drm/bridge/sil-sii8620.c struct extcon_dev *edev; edev 2177 drivers/gpu/drm/bridge/sil-sii8620.c edev = extcon_find_edev_by_node(muic); edev 2179 drivers/gpu/drm/bridge/sil-sii8620.c if (IS_ERR(edev)) { edev 2180 drivers/gpu/drm/bridge/sil-sii8620.c if (PTR_ERR(edev) == -EPROBE_DEFER) edev 2183 drivers/gpu/drm/bridge/sil-sii8620.c return PTR_ERR(edev); edev 2186 drivers/gpu/drm/bridge/sil-sii8620.c ctx->extcon = edev; edev 2189 drivers/gpu/drm/bridge/sil-sii8620.c ret = extcon_register_notifier(edev, EXTCON_DISP_MHL, &ctx->extcon_nb); edev 144 drivers/gpu/drm/rockchip/cdn-dp-core.c struct extcon_dev *edev = port->extcon; edev 149 drivers/gpu/drm/rockchip/cdn-dp-core.c dptx = extcon_get_state(edev, EXTCON_DISP_DP); edev 151 drivers/gpu/drm/rockchip/cdn-dp-core.c extcon_get_property(edev, EXTCON_DISP_DP, edev 53 drivers/infiniband/hw/efa/efa.h struct efa_com_dev edev; edev 82 drivers/infiniband/hw/efa/efa_com.c static u32 efa_com_reg_read32(struct efa_com_dev *edev, u16 offset) edev 84 drivers/infiniband/hw/efa/efa_com.c struct efa_com_mmio_read *mmio_read = &edev->mmio_read; edev 102 drivers/infiniband/hw/efa/efa_com.c writel(mmio_read_reg, edev->reg_bar + EFA_REGS_MMIO_REG_READ_OFF); edev 113 drivers/infiniband/hw/efa/efa_com.c edev->efa_dev, edev 123 drivers/infiniband/hw/efa/efa_com.c edev->efa_dev, edev 135 drivers/infiniband/hw/efa/efa_com.c static int efa_com_admin_init_sq(struct efa_com_dev *edev) edev 137 drivers/infiniband/hw/efa/efa_com.c struct efa_com_admin_queue *aq = &edev->aq; edev 155 drivers/infiniband/hw/efa/efa_com.c sq->db_addr = (u32 __iomem *)(edev->reg_bar + EFA_REGS_AQ_PROD_DB_OFF); edev 160 drivers/infiniband/hw/efa/efa_com.c writel(addr_low, edev->reg_bar + EFA_REGS_AQ_BASE_LO_OFF); edev 161 drivers/infiniband/hw/efa/efa_com.c writel(addr_high, edev->reg_bar + EFA_REGS_AQ_BASE_HI_OFF); edev 168 drivers/infiniband/hw/efa/efa_com.c writel(aq_caps, edev->reg_bar + EFA_REGS_AQ_CAPS_OFF); edev 173 drivers/infiniband/hw/efa/efa_com.c static int efa_com_admin_init_cq(struct efa_com_dev *edev) edev 175 drivers/infiniband/hw/efa/efa_com.c struct efa_com_admin_queue *aq = &edev->aq; edev 195 drivers/infiniband/hw/efa/efa_com.c writel(addr_low, edev->reg_bar + EFA_REGS_ACQ_BASE_LO_OFF); edev 196 drivers/infiniband/hw/efa/efa_com.c writel(addr_high, edev->reg_bar + EFA_REGS_ACQ_BASE_HI_OFF); edev 206 drivers/infiniband/hw/efa/efa_com.c writel(acq_caps, edev->reg_bar + EFA_REGS_ACQ_CAPS_OFF); edev 211 drivers/infiniband/hw/efa/efa_com.c static int efa_com_admin_init_aenq(struct efa_com_dev *edev, edev 214 drivers/infiniband/hw/efa/efa_com.c struct efa_com_aenq *aenq = &edev->aenq; edev 219 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, "aenq handlers pointer is NULL\n"); edev 224 drivers/infiniband/hw/efa/efa_com.c aenq->entries = dma_alloc_coherent(edev->dmadev, size, &aenq->dma_addr, edev 237 drivers/infiniband/hw/efa/efa_com.c writel(addr_low, edev->reg_bar + EFA_REGS_AENQ_BASE_LO_OFF); edev 238 drivers/infiniband/hw/efa/efa_com.c writel(addr_high, edev->reg_bar + EFA_REGS_AENQ_BASE_HI_OFF); edev 247 drivers/infiniband/hw/efa/efa_com.c writel(aenq_caps, edev->reg_bar + EFA_REGS_AENQ_CAPS_OFF); edev 253 drivers/infiniband/hw/efa/efa_com.c writel(edev->aenq.cc, edev->reg_bar + EFA_REGS_AENQ_CONS_DB_OFF); edev 673 drivers/infiniband/hw/efa/efa_com.c void efa_com_admin_destroy(struct efa_com_dev *edev) edev 675 drivers/infiniband/hw/efa/efa_com.c struct efa_com_admin_queue *aq = &edev->aq; edev 676 drivers/infiniband/hw/efa/efa_com.c struct efa_com_aenq *aenq = &edev->aenq; edev 683 drivers/infiniband/hw/efa/efa_com.c devm_kfree(edev->dmadev, aq->comp_ctx_pool); edev 684 drivers/infiniband/hw/efa/efa_com.c devm_kfree(edev->dmadev, aq->comp_ctx); edev 687 drivers/infiniband/hw/efa/efa_com.c dma_free_coherent(edev->dmadev, size, sq->entries, sq->dma_addr); edev 690 drivers/infiniband/hw/efa/efa_com.c dma_free_coherent(edev->dmadev, size, cq->entries, cq->dma_addr); edev 693 drivers/infiniband/hw/efa/efa_com.c dma_free_coherent(edev->dmadev, size, aenq->entries, aenq->dma_addr); edev 703 drivers/infiniband/hw/efa/efa_com.c void efa_com_set_admin_polling_mode(struct efa_com_dev *edev, bool polling) edev 710 drivers/infiniband/hw/efa/efa_com.c writel(mask_value, edev->reg_bar + EFA_REGS_INTR_MASK_OFF); edev 712 drivers/infiniband/hw/efa/efa_com.c set_bit(EFA_AQ_STATE_POLLING_BIT, &edev->aq.state); edev 714 drivers/infiniband/hw/efa/efa_com.c clear_bit(EFA_AQ_STATE_POLLING_BIT, &edev->aq.state); edev 717 drivers/infiniband/hw/efa/efa_com.c static void efa_com_stats_init(struct efa_com_dev *edev) edev 719 drivers/infiniband/hw/efa/efa_com.c atomic64_t *s = (atomic64_t *)&edev->aq.stats; edev 722 drivers/infiniband/hw/efa/efa_com.c for (i = 0; i < sizeof(edev->aq.stats) / sizeof(*s); i++, s++) edev 736 drivers/infiniband/hw/efa/efa_com.c int efa_com_admin_init(struct efa_com_dev *edev, edev 739 drivers/infiniband/hw/efa/efa_com.c struct efa_com_admin_queue *aq = &edev->aq; edev 745 drivers/infiniband/hw/efa/efa_com.c dev_sts = efa_com_reg_read32(edev, EFA_REGS_DEV_STS_OFF); edev 747 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, edev 754 drivers/infiniband/hw/efa/efa_com.c aq->dmadev = edev->dmadev; edev 755 drivers/infiniband/hw/efa/efa_com.c aq->efa_dev = edev->efa_dev; edev 760 drivers/infiniband/hw/efa/efa_com.c efa_com_stats_init(edev); edev 766 drivers/infiniband/hw/efa/efa_com.c err = efa_com_admin_init_sq(edev); edev 770 drivers/infiniband/hw/efa/efa_com.c err = efa_com_admin_init_cq(edev); edev 774 drivers/infiniband/hw/efa/efa_com.c efa_com_set_admin_polling_mode(edev, false); edev 776 drivers/infiniband/hw/efa/efa_com.c err = efa_com_admin_init_aenq(edev, aenq_handlers); edev 780 drivers/infiniband/hw/efa/efa_com.c cap = efa_com_reg_read32(edev, EFA_REGS_CAPS_OFF); edev 796 drivers/infiniband/hw/efa/efa_com.c dma_free_coherent(edev->dmadev, aq->depth * sizeof(*aq->cq.entries), edev 799 drivers/infiniband/hw/efa/efa_com.c dma_free_coherent(edev->dmadev, aq->depth * sizeof(*aq->sq.entries), edev 802 drivers/infiniband/hw/efa/efa_com.c devm_kfree(edev->dmadev, aq->comp_ctx); edev 816 drivers/infiniband/hw/efa/efa_com.c void efa_com_admin_q_comp_intr_handler(struct efa_com_dev *edev) edev 820 drivers/infiniband/hw/efa/efa_com.c spin_lock_irqsave(&edev->aq.cq.lock, flags); edev 821 drivers/infiniband/hw/efa/efa_com.c efa_com_handle_admin_completion(&edev->aq); edev 822 drivers/infiniband/hw/efa/efa_com.c spin_unlock_irqrestore(&edev->aq.cq.lock, flags); edev 829 drivers/infiniband/hw/efa/efa_com.c static efa_aenq_handler efa_com_get_specific_aenq_cb(struct efa_com_dev *edev, edev 832 drivers/infiniband/hw/efa/efa_com.c struct efa_aenq_handlers *aenq_handlers = edev->aenq.aenq_handlers; edev 847 drivers/infiniband/hw/efa/efa_com.c void efa_com_aenq_intr_handler(struct efa_com_dev *edev, void *data) edev 850 drivers/infiniband/hw/efa/efa_com.c struct efa_com_aenq *aenq = &edev->aenq; edev 872 drivers/infiniband/hw/efa/efa_com.c handler_cb = efa_com_get_specific_aenq_cb(edev, edev 896 drivers/infiniband/hw/efa/efa_com.c writel(aenq->cc, edev->reg_bar + EFA_REGS_AENQ_CONS_DB_OFF); edev 899 drivers/infiniband/hw/efa/efa_com.c static void efa_com_mmio_reg_read_resp_addr_init(struct efa_com_dev *edev) edev 901 drivers/infiniband/hw/efa/efa_com.c struct efa_com_mmio_read *mmio_read = &edev->mmio_read; edev 909 drivers/infiniband/hw/efa/efa_com.c writel(addr_high, edev->reg_bar + EFA_REGS_MMIO_RESP_HI_OFF); edev 910 drivers/infiniband/hw/efa/efa_com.c writel(addr_low, edev->reg_bar + EFA_REGS_MMIO_RESP_LO_OFF); edev 913 drivers/infiniband/hw/efa/efa_com.c int efa_com_mmio_reg_read_init(struct efa_com_dev *edev) edev 915 drivers/infiniband/hw/efa/efa_com.c struct efa_com_mmio_read *mmio_read = &edev->mmio_read; edev 919 drivers/infiniband/hw/efa/efa_com.c dma_alloc_coherent(edev->dmadev, sizeof(*mmio_read->read_resp), edev 924 drivers/infiniband/hw/efa/efa_com.c efa_com_mmio_reg_read_resp_addr_init(edev); edev 933 drivers/infiniband/hw/efa/efa_com.c void efa_com_mmio_reg_read_destroy(struct efa_com_dev *edev) edev 935 drivers/infiniband/hw/efa/efa_com.c struct efa_com_mmio_read *mmio_read = &edev->mmio_read; edev 937 drivers/infiniband/hw/efa/efa_com.c dma_free_coherent(edev->dmadev, sizeof(*mmio_read->read_resp), edev 941 drivers/infiniband/hw/efa/efa_com.c int efa_com_validate_version(struct efa_com_dev *edev) edev 951 drivers/infiniband/hw/efa/efa_com.c ver = efa_com_reg_read32(edev, EFA_REGS_VERSION_OFF); edev 952 drivers/infiniband/hw/efa/efa_com.c ctrl_ver = efa_com_reg_read32(edev, edev 955 drivers/infiniband/hw/efa/efa_com.c ibdev_dbg(edev->efa_dev, "efa device version: %d.%d\n", edev 961 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, edev 966 drivers/infiniband/hw/efa/efa_com.c ibdev_dbg(edev->efa_dev, edev 983 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, edev 1000 drivers/infiniband/hw/efa/efa_com.c int efa_com_get_dma_width(struct efa_com_dev *edev) edev 1002 drivers/infiniband/hw/efa/efa_com.c u32 caps = efa_com_reg_read32(edev, EFA_REGS_CAPS_OFF); edev 1008 drivers/infiniband/hw/efa/efa_com.c ibdev_dbg(edev->efa_dev, "DMA width: %d\n", width); edev 1011 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, "DMA width illegal value: %d\n", width); edev 1015 drivers/infiniband/hw/efa/efa_com.c edev->dma_addr_bits = width; edev 1020 drivers/infiniband/hw/efa/efa_com.c static int wait_for_reset_state(struct efa_com_dev *edev, u32 timeout, edev 1026 drivers/infiniband/hw/efa/efa_com.c val = efa_com_reg_read32(edev, EFA_REGS_DEV_STS_OFF); edev 1032 drivers/infiniband/hw/efa/efa_com.c ibdev_dbg(edev->efa_dev, "Reset indication val %d\n", val); edev 1046 drivers/infiniband/hw/efa/efa_com.c int efa_com_dev_reset(struct efa_com_dev *edev, edev 1052 drivers/infiniband/hw/efa/efa_com.c stat = efa_com_reg_read32(edev, EFA_REGS_DEV_STS_OFF); edev 1053 drivers/infiniband/hw/efa/efa_com.c cap = efa_com_reg_read32(edev, EFA_REGS_CAPS_OFF); edev 1056 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, edev 1064 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, "Invalid timeout value\n"); edev 1072 drivers/infiniband/hw/efa/efa_com.c writel(reset_val, edev->reg_bar + EFA_REGS_DEV_CTL_OFF); edev 1075 drivers/infiniband/hw/efa/efa_com.c efa_com_mmio_reg_read_resp_addr_init(edev); edev 1077 drivers/infiniband/hw/efa/efa_com.c err = wait_for_reset_state(edev, timeout, edev 1080 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, "Reset indication didn't turn on\n"); edev 1085 drivers/infiniband/hw/efa/efa_com.c writel(0, edev->reg_bar + EFA_REGS_DEV_CTL_OFF); edev 1086 drivers/infiniband/hw/efa/efa_com.c err = wait_for_reset_state(edev, timeout, 0); edev 1088 drivers/infiniband/hw/efa/efa_com.c ibdev_err(edev->efa_dev, "Reset indication didn't turn off\n"); edev 1096 drivers/infiniband/hw/efa/efa_com.c edev->aq.completion_timeout = timeout * 100000; edev 1098 drivers/infiniband/hw/efa/efa_com.c edev->aq.completion_timeout = ADMIN_CMD_TIMEOUT_US; edev 123 drivers/infiniband/hw/efa/efa_com.h int efa_com_admin_init(struct efa_com_dev *edev, edev 125 drivers/infiniband/hw/efa/efa_com.h void efa_com_admin_destroy(struct efa_com_dev *edev); edev 126 drivers/infiniband/hw/efa/efa_com.h int efa_com_dev_reset(struct efa_com_dev *edev, edev 128 drivers/infiniband/hw/efa/efa_com.h void efa_com_set_admin_polling_mode(struct efa_com_dev *edev, bool polling); edev 129 drivers/infiniband/hw/efa/efa_com.h void efa_com_admin_q_comp_intr_handler(struct efa_com_dev *edev); edev 130 drivers/infiniband/hw/efa/efa_com.h int efa_com_mmio_reg_read_init(struct efa_com_dev *edev); edev 131 drivers/infiniband/hw/efa/efa_com.h void efa_com_mmio_reg_read_destroy(struct efa_com_dev *edev); edev 133 drivers/infiniband/hw/efa/efa_com.h int efa_com_validate_version(struct efa_com_dev *edev); edev 134 drivers/infiniband/hw/efa/efa_com.h int efa_com_get_dma_width(struct efa_com_dev *edev); edev 141 drivers/infiniband/hw/efa/efa_com.h void efa_com_aenq_intr_handler(struct efa_com_dev *edev, void *data); edev 15 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_create_qp(struct efa_com_dev *edev, edev 21 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 47 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 63 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_modify_qp(struct efa_com_dev *edev, edev 66 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 87 drivers/infiniband/hw/efa/efa_com_cmd.c edev->efa_dev, edev 96 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_query_qp(struct efa_com_dev *edev, edev 100 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 114 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 128 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_destroy_qp(struct efa_com_dev *edev, edev 133 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 145 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 154 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_create_cq(struct efa_com_dev *edev, edev 160 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 180 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 191 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_destroy_cq(struct efa_com_dev *edev, edev 196 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 209 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 218 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_register_mr(struct efa_com_dev *edev, edev 223 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 259 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 270 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_dereg_mr(struct efa_com_dev *edev, edev 274 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 287 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 296 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_create_ah(struct efa_com_dev *edev, edev 301 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 316 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 327 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_destroy_ah(struct efa_com_dev *edev, edev 332 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 345 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 355 drivers/infiniband/hw/efa/efa_com_cmd.c efa_com_check_supported_feature_id(struct efa_com_dev *edev, edev 362 drivers/infiniband/hw/efa/efa_com_cmd.c !(edev->supported_features & feature_mask)) edev 368 drivers/infiniband/hw/efa/efa_com_cmd.c static int efa_com_get_feature_ex(struct efa_com_dev *edev, edev 378 drivers/infiniband/hw/efa/efa_com_cmd.c if (!efa_com_check_supported_feature_id(edev, feature_id)) { edev 379 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 385 drivers/infiniband/hw/efa/efa_com_cmd.c aq = &edev->aq; edev 410 drivers/infiniband/hw/efa/efa_com_cmd.c edev->efa_dev, edev 419 drivers/infiniband/hw/efa/efa_com_cmd.c static int efa_com_get_feature(struct efa_com_dev *edev, edev 423 drivers/infiniband/hw/efa/efa_com_cmd.c return efa_com_get_feature_ex(edev, get_resp, feature_id, 0, 0); edev 426 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_get_network_attr(struct efa_com_dev *edev, edev 432 drivers/infiniband/hw/efa/efa_com_cmd.c err = efa_com_get_feature(edev, &resp, edev 435 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 448 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_get_device_attr(struct efa_com_dev *edev, edev 454 drivers/infiniband/hw/efa/efa_com_cmd.c err = efa_com_get_feature(edev, &resp, EFA_ADMIN_DEVICE_ATTR); edev 456 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 473 drivers/infiniband/hw/efa/efa_com_cmd.c edev->efa_dev, edev 479 drivers/infiniband/hw/efa/efa_com_cmd.c edev->supported_features = resp.u.device_attr.supported_features; edev 480 drivers/infiniband/hw/efa/efa_com_cmd.c err = efa_com_get_feature(edev, &resp, edev 483 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 507 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_get_hw_hints(struct efa_com_dev *edev, edev 513 drivers/infiniband/hw/efa/efa_com_cmd.c err = efa_com_get_feature(edev, &resp, EFA_ADMIN_HW_HINTS); edev 515 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 528 drivers/infiniband/hw/efa/efa_com_cmd.c static int efa_com_set_feature_ex(struct efa_com_dev *edev, edev 538 drivers/infiniband/hw/efa/efa_com_cmd.c if (!efa_com_check_supported_feature_id(edev, feature_id)) { edev 539 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 545 drivers/infiniband/hw/efa/efa_com_cmd.c aq = &edev->aq; edev 566 drivers/infiniband/hw/efa/efa_com_cmd.c edev->efa_dev, edev 575 drivers/infiniband/hw/efa/efa_com_cmd.c static int efa_com_set_feature(struct efa_com_dev *edev, edev 580 drivers/infiniband/hw/efa/efa_com_cmd.c return efa_com_set_feature_ex(edev, set_resp, set_cmd, feature_id, edev 584 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_set_aenq_config(struct efa_com_dev *edev, u32 groups) edev 591 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_dbg(edev->efa_dev, "Configuring aenq with groups[%#x]\n", groups); edev 593 drivers/infiniband/hw/efa/efa_com_cmd.c err = efa_com_get_feature(edev, &get_resp, EFA_ADMIN_AENQ_CONFIG); edev 595 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 601 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_dbg(edev->efa_dev, edev 608 drivers/infiniband/hw/efa/efa_com_cmd.c edev->efa_dev, edev 615 drivers/infiniband/hw/efa/efa_com_cmd.c err = efa_com_set_feature(edev, &set_resp, &cmd, edev 618 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 627 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_alloc_pd(struct efa_com_dev *edev, edev 630 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 643 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 653 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_dealloc_pd(struct efa_com_dev *edev, edev 656 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 670 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 679 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_alloc_uar(struct efa_com_dev *edev, edev 682 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 695 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 705 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_dealloc_uar(struct efa_com_dev *edev, edev 708 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 722 drivers/infiniband/hw/efa/efa_com_cmd.c ibdev_err_ratelimited(edev->efa_dev, edev 731 drivers/infiniband/hw/efa/efa_com_cmd.c int efa_com_get_stats(struct efa_com_dev *edev, edev 735 drivers/infiniband/hw/efa/efa_com_cmd.c struct efa_com_admin_queue *aq = &edev->aq; edev 752 drivers/infiniband/hw/efa/efa_com_cmd.c edev->efa_dev, edev 249 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_create_qp(struct efa_com_dev *edev, edev 252 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_modify_qp(struct efa_com_dev *edev, edev 254 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_query_qp(struct efa_com_dev *edev, edev 257 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_destroy_qp(struct efa_com_dev *edev, edev 259 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_create_cq(struct efa_com_dev *edev, edev 262 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_destroy_cq(struct efa_com_dev *edev, edev 264 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_register_mr(struct efa_com_dev *edev, edev 267 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_dereg_mr(struct efa_com_dev *edev, edev 269 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_create_ah(struct efa_com_dev *edev, edev 272 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_destroy_ah(struct efa_com_dev *edev, edev 274 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_get_network_attr(struct efa_com_dev *edev, edev 276 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_get_device_attr(struct efa_com_dev *edev, edev 278 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_get_hw_hints(struct efa_com_dev *edev, edev 280 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_set_aenq_config(struct efa_com_dev *edev, u32 groups); edev 281 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_alloc_pd(struct efa_com_dev *edev, edev 283 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_dealloc_pd(struct efa_com_dev *edev, edev 285 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_alloc_uar(struct efa_com_dev *edev, edev 287 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_dealloc_uar(struct efa_com_dev *edev, edev 289 drivers/infiniband/hw/efa/efa_com_cmd.h int efa_com_get_stats(struct efa_com_dev *edev, edev 79 drivers/infiniband/hw/efa/efa_main.c efa_com_admin_q_comp_intr_handler(&dev->edev); edev 80 drivers/infiniband/hw/efa/efa_main.c efa_com_aenq_intr_handler(&dev->edev, data); edev 176 drivers/infiniband/hw/efa/efa_main.c struct efa_com_dev *edev = &dev->edev; edev 179 drivers/infiniband/hw/efa/efa_main.c edev->mmio_read.mmio_read_timeout = edev 183 drivers/infiniband/hw/efa/efa_main.c edev->aq.poll_interval = hw_hints->poll_interval; edev 186 drivers/infiniband/hw/efa/efa_main.c edev->aq.completion_timeout = edev 243 drivers/infiniband/hw/efa/efa_main.c err = efa_com_get_device_attr(&dev->edev, &dev->dev_attr); edev 252 drivers/infiniband/hw/efa/efa_main.c err = efa_com_get_network_attr(&dev->edev, &network_attr); edev 258 drivers/infiniband/hw/efa/efa_main.c err = efa_com_get_hw_hints(&dev->edev, &hw_hints); edev 265 drivers/infiniband/hw/efa/efa_main.c err = efa_com_set_aenq_config(&dev->edev, EFA_AENQ_ENABLED_GROUPS); edev 312 drivers/infiniband/hw/efa/efa_main.c efa_com_dev_reset(&dev->edev, EFA_REGS_RESET_NORMAL); edev 352 drivers/infiniband/hw/efa/efa_main.c static int efa_device_init(struct efa_com_dev *edev, struct pci_dev *pdev) edev 357 drivers/infiniband/hw/efa/efa_main.c err = efa_com_dev_reset(edev, EFA_REGS_RESET_NORMAL); edev 361 drivers/infiniband/hw/efa/efa_main.c err = efa_com_validate_version(edev); edev 365 drivers/infiniband/hw/efa/efa_main.c dma_width = efa_com_get_dma_width(edev); edev 390 drivers/infiniband/hw/efa/efa_main.c struct efa_com_dev *edev; edev 411 drivers/infiniband/hw/efa/efa_main.c edev = &dev->edev; edev 412 drivers/infiniband/hw/efa/efa_main.c edev->efa_dev = dev; edev 413 drivers/infiniband/hw/efa/efa_main.c edev->dmadev = &pdev->dev; edev 429 drivers/infiniband/hw/efa/efa_main.c edev->reg_bar = devm_ioremap(&pdev->dev, edev 432 drivers/infiniband/hw/efa/efa_main.c if (!edev->reg_bar) { edev 438 drivers/infiniband/hw/efa/efa_main.c err = efa_com_mmio_reg_read_init(edev); edev 444 drivers/infiniband/hw/efa/efa_main.c err = efa_device_init(edev, pdev); edev 456 drivers/infiniband/hw/efa/efa_main.c edev->aq.msix_vector_idx = dev->admin_msix_vector_idx; edev 457 drivers/infiniband/hw/efa/efa_main.c edev->aenq.msix_vector_idx = dev->admin_msix_vector_idx; edev 463 drivers/infiniband/hw/efa/efa_main.c err = efa_com_admin_init(edev, &aenq_handlers); edev 474 drivers/infiniband/hw/efa/efa_main.c efa_com_mmio_reg_read_destroy(edev); edev 476 drivers/infiniband/hw/efa/efa_main.c devm_iounmap(&pdev->dev, edev->reg_bar); edev 489 drivers/infiniband/hw/efa/efa_main.c struct efa_com_dev *edev; edev 491 drivers/infiniband/hw/efa/efa_main.c edev = &dev->edev; edev 492 drivers/infiniband/hw/efa/efa_main.c efa_com_admin_destroy(edev); edev 495 drivers/infiniband/hw/efa/efa_main.c efa_com_mmio_reg_read_destroy(edev); edev 496 drivers/infiniband/hw/efa/efa_main.c devm_iounmap(&pdev->dev, edev->reg_bar); edev 374 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_query_qp(&dev->edev, ¶ms, &result); edev 425 drivers/infiniband/hw/efa/efa_verbs.c return efa_com_dealloc_pd(&dev->edev, ¶ms); edev 444 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_alloc_pd(&dev->edev, &result); edev 485 drivers/infiniband/hw/efa/efa_verbs.c return efa_com_destroy_qp(&dev->edev, ¶ms); edev 729 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_create_qp(&dev->edev, &create_qp_params, edev 872 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_modify_qp(&dev->edev, ¶ms); edev 885 drivers/infiniband/hw/efa/efa_verbs.c return efa_com_destroy_cq(&dev->edev, ¶ms); edev 1000 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_create_cq(&dev->edev, ¶ms, &result); edev 1463 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_register_mr(&dev->edev, ¶ms, &result); edev 1471 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_register_mr(&dev->edev, ¶ms, &result); edev 1504 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_dereg_mr(&dev->edev, ¶ms); edev 1538 drivers/infiniband/hw/efa/efa_verbs.c return efa_com_dealloc_uar(&dev->edev, ¶ms); edev 1554 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_alloc_uar(&dev->edev, &result); edev 1678 drivers/infiniband/hw/efa/efa_verbs.c return efa_com_destroy_ah(&dev->edev, ¶ms); edev 1710 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_create_ah(&dev->edev, ¶ms, &result); edev 1776 drivers/infiniband/hw/efa/efa_verbs.c err = efa_com_get_stats(&dev->edev, ¶ms, &result); edev 1787 drivers/infiniband/hw/efa/efa_verbs.c as = &dev->edev.aq.stats; edev 38 drivers/input/keyboard/goldfish_events.c struct event_dev *edev = dev_id; edev 41 drivers/input/keyboard/goldfish_events.c type = __raw_readl(edev->addr + REG_READ); edev 42 drivers/input/keyboard/goldfish_events.c code = __raw_readl(edev->addr + REG_READ); edev 43 drivers/input/keyboard/goldfish_events.c value = __raw_readl(edev->addr + REG_READ); edev 45 drivers/input/keyboard/goldfish_events.c input_event(edev->input, type, code, value); edev 46 drivers/input/keyboard/goldfish_events.c input_sync(edev->input); edev 50 drivers/input/keyboard/goldfish_events.c static void events_import_bits(struct event_dev *edev, edev 53 drivers/input/keyboard/goldfish_events.c void __iomem *addr = edev->addr; edev 73 drivers/input/keyboard/goldfish_events.c static void events_import_abs_params(struct event_dev *edev) edev 75 drivers/input/keyboard/goldfish_events.c struct input_dev *input_dev = edev->input; edev 76 drivers/input/keyboard/goldfish_events.c void __iomem *addr = edev->addr; edev 94 drivers/input/keyboard/goldfish_events.c val[j] = __raw_readl(edev->addr + REG_DATA + offset); edev 105 drivers/input/keyboard/goldfish_events.c struct event_dev *edev; edev 128 drivers/input/keyboard/goldfish_events.c edev = devm_kzalloc(&pdev->dev, edev 131 drivers/input/keyboard/goldfish_events.c if (!edev) edev 138 drivers/input/keyboard/goldfish_events.c edev->input = input_dev; edev 139 drivers/input/keyboard/goldfish_events.c edev->addr = addr; edev 140 drivers/input/keyboard/goldfish_events.c edev->irq = irq; edev 143 drivers/input/keyboard/goldfish_events.c edev->name[i] = __raw_readb(edev->addr + REG_DATA + i); edev 145 drivers/input/keyboard/goldfish_events.c pr_debug("%s: keymap=%s\n", __func__, edev->name); edev 147 drivers/input/keyboard/goldfish_events.c input_dev->name = edev->name; edev 150 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->evbit, EV_SYN, EV_MAX); edev 151 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->keybit, EV_KEY, KEY_MAX); edev 152 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->relbit, EV_REL, REL_MAX); edev 153 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->absbit, EV_ABS, ABS_MAX); edev 154 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->mscbit, EV_MSC, MSC_MAX); edev 155 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->ledbit, EV_LED, LED_MAX); edev 156 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->sndbit, EV_SND, SND_MAX); edev 157 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->ffbit, EV_FF, FF_MAX); edev 158 drivers/input/keyboard/goldfish_events.c events_import_bits(edev, input_dev->swbit, EV_SW, SW_MAX); edev 160 drivers/input/keyboard/goldfish_events.c events_import_abs_params(edev); edev 162 drivers/input/keyboard/goldfish_events.c error = devm_request_irq(&pdev->dev, edev->irq, events_interrupt, 0, edev 163 drivers/input/keyboard/goldfish_events.c "goldfish-events-keypad", edev); edev 2830 drivers/message/fusion/mptsas.c u64 sas_address, struct sas_expander_device *edev) edev 2937 drivers/message/fusion/mptsas.c strncpy(edev->vendor_id, manufacture_reply->vendor_id, edev 2939 drivers/message/fusion/mptsas.c strncpy(edev->product_id, manufacture_reply->product_id, edev 2941 drivers/message/fusion/mptsas.c strncpy(edev->product_rev, manufacture_reply->product_rev, edev 2943 drivers/message/fusion/mptsas.c edev->level = manufacture_reply->sas_format; edev 2945 drivers/message/fusion/mptsas.c strncpy(edev->component_vendor_id, edev 2949 drivers/message/fusion/mptsas.c edev->component_id = tmp[0] << 8 | tmp[1]; edev 2950 drivers/message/fusion/mptsas.c edev->component_revision_id = edev 48 drivers/misc/eeprom/eeprom_93xx46.c static inline bool has_quirk_single_word_read(struct eeprom_93xx46_dev *edev) edev 50 drivers/misc/eeprom/eeprom_93xx46.c return edev->pdata->quirks & EEPROM_93XX46_QUIRK_SINGLE_WORD_READ; edev 53 drivers/misc/eeprom/eeprom_93xx46.c static inline bool has_quirk_instruction_length(struct eeprom_93xx46_dev *edev) edev 55 drivers/misc/eeprom/eeprom_93xx46.c return edev->pdata->quirks & EEPROM_93XX46_QUIRK_INSTRUCTION_LENGTH; edev 61 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev = priv; edev 65 drivers/misc/eeprom/eeprom_93xx46.c if (unlikely(off >= edev->size)) edev 67 drivers/misc/eeprom/eeprom_93xx46.c if ((off + count) > edev->size) edev 68 drivers/misc/eeprom/eeprom_93xx46.c count = edev->size - off; edev 72 drivers/misc/eeprom/eeprom_93xx46.c mutex_lock(&edev->lock); edev 74 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->prepare) edev 75 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->prepare(edev); edev 80 drivers/misc/eeprom/eeprom_93xx46.c u16 cmd_addr = OP_READ << edev->addrlen; edev 84 drivers/misc/eeprom/eeprom_93xx46.c if (edev->addrlen == 7) { edev 87 drivers/misc/eeprom/eeprom_93xx46.c if (has_quirk_single_word_read(edev)) edev 92 drivers/misc/eeprom/eeprom_93xx46.c if (has_quirk_single_word_read(edev)) edev 96 drivers/misc/eeprom/eeprom_93xx46.c dev_dbg(&edev->spi->dev, "read cmd 0x%x, %d Hz\n", edev 97 drivers/misc/eeprom/eeprom_93xx46.c cmd_addr, edev->spi->max_speed_hz); edev 111 drivers/misc/eeprom/eeprom_93xx46.c err = spi_sync(edev->spi, &m); edev 116 drivers/misc/eeprom/eeprom_93xx46.c dev_err(&edev->spi->dev, "read %zu bytes at %d: err. %d\n", edev 126 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->finish) edev 127 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->finish(edev); edev 129 drivers/misc/eeprom/eeprom_93xx46.c mutex_unlock(&edev->lock); edev 134 drivers/misc/eeprom/eeprom_93xx46.c static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *edev, int is_on) edev 141 drivers/misc/eeprom/eeprom_93xx46.c cmd_addr = OP_START << edev->addrlen; edev 142 drivers/misc/eeprom/eeprom_93xx46.c if (edev->addrlen == 7) { edev 150 drivers/misc/eeprom/eeprom_93xx46.c if (has_quirk_instruction_length(edev)) { edev 155 drivers/misc/eeprom/eeprom_93xx46.c dev_dbg(&edev->spi->dev, "ew%s cmd 0x%04x, %d bits\n", edev 166 drivers/misc/eeprom/eeprom_93xx46.c mutex_lock(&edev->lock); edev 168 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->prepare) edev 169 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->prepare(edev); edev 171 drivers/misc/eeprom/eeprom_93xx46.c ret = spi_sync(edev->spi, &m); edev 175 drivers/misc/eeprom/eeprom_93xx46.c dev_err(&edev->spi->dev, "erase/write %sable error %d\n", edev 178 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->finish) edev 179 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->finish(edev); edev 181 drivers/misc/eeprom/eeprom_93xx46.c mutex_unlock(&edev->lock); edev 186 drivers/misc/eeprom/eeprom_93xx46.c eeprom_93xx46_write_word(struct eeprom_93xx46_dev *edev, edev 194 drivers/misc/eeprom/eeprom_93xx46.c cmd_addr = OP_WRITE << edev->addrlen; edev 196 drivers/misc/eeprom/eeprom_93xx46.c if (edev->addrlen == 7) { edev 206 drivers/misc/eeprom/eeprom_93xx46.c dev_dbg(&edev->spi->dev, "write cmd 0x%x\n", cmd_addr); edev 221 drivers/misc/eeprom/eeprom_93xx46.c ret = spi_sync(edev->spi, &m); edev 230 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev = priv; edev 234 drivers/misc/eeprom/eeprom_93xx46.c if (unlikely(off >= edev->size)) edev 236 drivers/misc/eeprom/eeprom_93xx46.c if ((off + count) > edev->size) edev 237 drivers/misc/eeprom/eeprom_93xx46.c count = edev->size - off; edev 242 drivers/misc/eeprom/eeprom_93xx46.c if (edev->addrlen == 6) { edev 248 drivers/misc/eeprom/eeprom_93xx46.c ret = eeprom_93xx46_ew(edev, 1); edev 252 drivers/misc/eeprom/eeprom_93xx46.c mutex_lock(&edev->lock); edev 254 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->prepare) edev 255 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->prepare(edev); edev 258 drivers/misc/eeprom/eeprom_93xx46.c ret = eeprom_93xx46_write_word(edev, &buf[i], off + i); edev 260 drivers/misc/eeprom/eeprom_93xx46.c dev_err(&edev->spi->dev, "write failed at %d: %d\n", edev 266 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->finish) edev 267 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->finish(edev); edev 269 drivers/misc/eeprom/eeprom_93xx46.c mutex_unlock(&edev->lock); edev 272 drivers/misc/eeprom/eeprom_93xx46.c eeprom_93xx46_ew(edev, 0); edev 276 drivers/misc/eeprom/eeprom_93xx46.c static int eeprom_93xx46_eral(struct eeprom_93xx46_dev *edev) edev 278 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_platform_data *pd = edev->pdata; edev 284 drivers/misc/eeprom/eeprom_93xx46.c cmd_addr = OP_START << edev->addrlen; edev 285 drivers/misc/eeprom/eeprom_93xx46.c if (edev->addrlen == 7) { edev 293 drivers/misc/eeprom/eeprom_93xx46.c if (has_quirk_instruction_length(edev)) { edev 298 drivers/misc/eeprom/eeprom_93xx46.c dev_dbg(&edev->spi->dev, "eral cmd 0x%04x, %d bits\n", cmd_addr, bits); edev 308 drivers/misc/eeprom/eeprom_93xx46.c mutex_lock(&edev->lock); edev 310 drivers/misc/eeprom/eeprom_93xx46.c if (edev->pdata->prepare) edev 311 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata->prepare(edev); edev 313 drivers/misc/eeprom/eeprom_93xx46.c ret = spi_sync(edev->spi, &m); edev 315 drivers/misc/eeprom/eeprom_93xx46.c dev_err(&edev->spi->dev, "erase error %d\n", ret); edev 320 drivers/misc/eeprom/eeprom_93xx46.c pd->finish(edev); edev 322 drivers/misc/eeprom/eeprom_93xx46.c mutex_unlock(&edev->lock); edev 330 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev = dev_get_drvdata(dev); edev 335 drivers/misc/eeprom/eeprom_93xx46.c ret = eeprom_93xx46_ew(edev, 1); edev 338 drivers/misc/eeprom/eeprom_93xx46.c ret = eeprom_93xx46_eral(edev); edev 341 drivers/misc/eeprom/eeprom_93xx46.c ret = eeprom_93xx46_ew(edev, 0); edev 351 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev = context; edev 353 drivers/misc/eeprom/eeprom_93xx46.c gpiod_set_value_cansleep(edev->pdata->select, 1); edev 358 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev = context; edev 360 drivers/misc/eeprom/eeprom_93xx46.c gpiod_set_value_cansleep(edev->pdata->select, 0); edev 424 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev; edev 439 drivers/misc/eeprom/eeprom_93xx46.c edev = devm_kzalloc(&spi->dev, sizeof(*edev), GFP_KERNEL); edev 440 drivers/misc/eeprom/eeprom_93xx46.c if (!edev) edev 444 drivers/misc/eeprom/eeprom_93xx46.c edev->addrlen = 7; edev 446 drivers/misc/eeprom/eeprom_93xx46.c edev->addrlen = 6; edev 452 drivers/misc/eeprom/eeprom_93xx46.c mutex_init(&edev->lock); edev 454 drivers/misc/eeprom/eeprom_93xx46.c edev->spi = spi; edev 455 drivers/misc/eeprom/eeprom_93xx46.c edev->pdata = pd; edev 457 drivers/misc/eeprom/eeprom_93xx46.c edev->size = 128; edev 458 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.name = dev_name(&spi->dev); edev 459 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.dev = &spi->dev; edev 460 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.read_only = pd->flags & EE_READONLY; edev 461 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.root_only = true; edev 462 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.owner = THIS_MODULE; edev 463 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.compat = true; edev 464 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.base_dev = &spi->dev; edev 465 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.reg_read = eeprom_93xx46_read; edev 466 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.reg_write = eeprom_93xx46_write; edev 467 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.priv = edev; edev 468 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.stride = 4; edev 469 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.word_size = 1; edev 470 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem_config.size = edev->size; edev 472 drivers/misc/eeprom/eeprom_93xx46.c edev->nvmem = devm_nvmem_register(&spi->dev, &edev->nvmem_config); edev 473 drivers/misc/eeprom/eeprom_93xx46.c if (IS_ERR(edev->nvmem)) edev 474 drivers/misc/eeprom/eeprom_93xx46.c return PTR_ERR(edev->nvmem); edev 485 drivers/misc/eeprom/eeprom_93xx46.c spi_set_drvdata(spi, edev); edev 491 drivers/misc/eeprom/eeprom_93xx46.c struct eeprom_93xx46_dev *edev = spi_get_drvdata(spi); edev 493 drivers/misc/eeprom/eeprom_93xx46.c if (!(edev->pdata->flags & EE_READONLY)) edev 46 drivers/misc/enclosure.c struct enclosure_device *edev; edev 49 drivers/misc/enclosure.c edev = list_prepare_entry(start, &container_list, node); edev 51 drivers/misc/enclosure.c put_device(&start->edev); edev 53 drivers/misc/enclosure.c list_for_each_entry_continue(edev, &container_list, node) { edev 54 drivers/misc/enclosure.c struct device *parent = edev->edev.parent; edev 59 drivers/misc/enclosure.c get_device(&edev->edev); edev 61 drivers/misc/enclosure.c return edev; edev 88 drivers/misc/enclosure.c struct enclosure_device *edev; edev 91 drivers/misc/enclosure.c list_for_each_entry(edev, &container_list, node) { edev 92 drivers/misc/enclosure.c error = fn(edev, data); edev 116 drivers/misc/enclosure.c struct enclosure_device *edev = edev 117 drivers/misc/enclosure.c kzalloc(struct_size(edev, component, components), GFP_KERNEL); edev 122 drivers/misc/enclosure.c if (!edev) edev 125 drivers/misc/enclosure.c edev->components = components; edev 127 drivers/misc/enclosure.c edev->edev.class = &enclosure_class; edev 128 drivers/misc/enclosure.c edev->edev.parent = get_device(dev); edev 129 drivers/misc/enclosure.c edev->cb = cb; edev 130 drivers/misc/enclosure.c dev_set_name(&edev->edev, "%s", name); edev 131 drivers/misc/enclosure.c err = device_register(&edev->edev); edev 136 drivers/misc/enclosure.c edev->component[i].number = -1; edev 137 drivers/misc/enclosure.c edev->component[i].slot = -1; edev 138 drivers/misc/enclosure.c edev->component[i].power_status = -1; edev 142 drivers/misc/enclosure.c list_add_tail(&edev->node, &container_list); edev 145 drivers/misc/enclosure.c return edev; edev 148 drivers/misc/enclosure.c put_device(edev->edev.parent); edev 149 drivers/misc/enclosure.c kfree(edev); edev 161 drivers/misc/enclosure.c void enclosure_unregister(struct enclosure_device *edev) edev 166 drivers/misc/enclosure.c list_del(&edev->node); edev 169 drivers/misc/enclosure.c for (i = 0; i < edev->components; i++) edev 170 drivers/misc/enclosure.c if (edev->component[i].number != -1) edev 171 drivers/misc/enclosure.c device_unregister(&edev->component[i].cdev); edev 174 drivers/misc/enclosure.c edev->cb = &enclosure_null_callbacks; edev 175 drivers/misc/enclosure.c device_unregister(&edev->edev); edev 224 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev); edev 227 drivers/misc/enclosure.c kfree(edev); edev 242 drivers/misc/enclosure.c enclosure_component_find_by_name(struct enclosure_device *edev, edev 249 drivers/misc/enclosure.c if (!edev || !name || !name[0]) edev 252 drivers/misc/enclosure.c for (i = 0; i < edev->components; i++) { edev 253 drivers/misc/enclosure.c ecomp = &edev->component[i]; edev 279 drivers/misc/enclosure.c enclosure_component_alloc(struct enclosure_device *edev, edev 289 drivers/misc/enclosure.c if (number >= edev->components) edev 292 drivers/misc/enclosure.c ecomp = &edev->component[number]; edev 300 drivers/misc/enclosure.c cdev->parent = get_device(&edev->edev); edev 310 drivers/misc/enclosure.c while (enclosure_component_find_by_name(edev, newname)) edev 361 drivers/misc/enclosure.c int enclosure_add_device(struct enclosure_device *edev, int component, edev 367 drivers/misc/enclosure.c if (!edev || component >= edev->components) edev 370 drivers/misc/enclosure.c cdev = &edev->component[component]; edev 397 drivers/misc/enclosure.c int enclosure_remove_device(struct enclosure_device *edev, struct device *dev) edev 402 drivers/misc/enclosure.c if (!edev || !dev) edev 405 drivers/misc/enclosure.c for (i = 0; i < edev->components; i++) { edev 406 drivers/misc/enclosure.c cdev = &edev->component[i]; edev 425 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev); edev 427 drivers/misc/enclosure.c return snprintf(buf, 40, "%d\n", edev->components); edev 435 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev); edev 437 drivers/misc/enclosure.c if (edev->cb->show_id) edev 438 drivers/misc/enclosure.c return edev->cb->show_id(edev, buf); edev 477 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 480 drivers/misc/enclosure.c if (edev->cb->get_fault) edev 481 drivers/misc/enclosure.c edev->cb->get_fault(edev, ecomp); edev 489 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 493 drivers/misc/enclosure.c if (edev->cb->set_fault) edev 494 drivers/misc/enclosure.c edev->cb->set_fault(edev, ecomp, val); edev 501 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 504 drivers/misc/enclosure.c if (edev->cb->get_status) edev 505 drivers/misc/enclosure.c edev->cb->get_status(edev, ecomp); edev 513 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 525 drivers/misc/enclosure.c if (enclosure_status[i] && edev->cb->set_status) { edev 526 drivers/misc/enclosure.c edev->cb->set_status(edev, ecomp, i); edev 535 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 538 drivers/misc/enclosure.c if (edev->cb->get_active) edev 539 drivers/misc/enclosure.c edev->cb->get_active(edev, ecomp); edev 547 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 551 drivers/misc/enclosure.c if (edev->cb->set_active) edev 552 drivers/misc/enclosure.c edev->cb->set_active(edev, ecomp, val); edev 559 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 562 drivers/misc/enclosure.c if (edev->cb->get_locate) edev 563 drivers/misc/enclosure.c edev->cb->get_locate(edev, ecomp); edev 571 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 575 drivers/misc/enclosure.c if (edev->cb->set_locate) edev 576 drivers/misc/enclosure.c edev->cb->set_locate(edev, ecomp, val); edev 584 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 587 drivers/misc/enclosure.c if (edev->cb->get_power_status) edev 588 drivers/misc/enclosure.c edev->cb->get_power_status(edev, ecomp); edev 592 drivers/misc/enclosure.c return (edev->cb->get_power_status) ? -EIO : -ENOTTY; edev 601 drivers/misc/enclosure.c struct enclosure_device *edev = to_enclosure_device(cdev->parent); edev 614 drivers/misc/enclosure.c if (edev->cb->set_power_status) edev 615 drivers/misc/enclosure.c edev->cb->set_power_status(edev, ecomp, val); edev 570 drivers/net/ethernet/3com/3c509.c struct eisa_device *edev; edev 574 drivers/net/ethernet/3com/3c509.c edev = to_eisa_device (device); edev 575 drivers/net/ethernet/3com/3c509.c ioaddr = edev->base_addr; edev 601 drivers/net/ethernet/3com/3c509.c eisa_set_drvdata (edev, dev); edev 605 drivers/net/ethernet/3com/3c509.c eisa_set_drvdata (edev, NULL); edev 906 drivers/net/ethernet/3com/3c59x.c struct eisa_device *edev; edev 908 drivers/net/ethernet/3com/3c59x.c edev = to_eisa_device(device); edev 910 drivers/net/ethernet/3com/3c59x.c if (!request_region(edev->base_addr, VORTEX_TOTAL_SIZE, DRV_NAME)) edev 913 drivers/net/ethernet/3com/3c59x.c ioaddr = ioport_map(edev->base_addr, VORTEX_TOTAL_SIZE); edev 916 drivers/net/ethernet/3com/3c59x.c edev->id.driver_data, vortex_cards_found)) { edev 917 drivers/net/ethernet/3com/3c59x.c release_region(edev->base_addr, VORTEX_TOTAL_SIZE); edev 928 drivers/net/ethernet/3com/3c59x.c struct eisa_device *edev; edev 933 drivers/net/ethernet/3com/3c59x.c edev = to_eisa_device(device); edev 934 drivers/net/ethernet/3com/3c59x.c dev = eisa_get_drvdata(edev); edev 946 drivers/net/ethernet/3com/3c59x.c release_region(edev->base_addr, VORTEX_TOTAL_SIZE); edev 1101 drivers/net/ethernet/3com/3c59x.c struct eisa_device *edev = NULL; edev 1113 drivers/net/ethernet/3com/3c59x.c if ((edev = DEVICE_EISA(gendev))) { edev 1114 drivers/net/ethernet/3com/3c59x.c print_name = dev_name(&edev->dev); edev 1224 drivers/net/ethernet/3com/3c59x.c if (edev) edev 1225 drivers/net/ethernet/3com/3c59x.c eisa_set_drvdata(edev, dev); edev 5054 drivers/net/ethernet/broadcom/bnxt/bnxt.c if (!vnic_id && bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) edev 11390 drivers/net/ethernet/broadcom/bnxt/bnxt.c kfree(bp->edev); edev 11391 drivers/net/ethernet/broadcom/bnxt/bnxt.c bp->edev = NULL; edev 1552 drivers/net/ethernet/broadcom/bnxt/bnxt.h struct bnxt_en_dev *edev; edev 27 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c static int bnxt_register_dev(struct bnxt_en_dev *edev, int ulp_id, edev 30 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct net_device *dev = edev->net; edev 38 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c ulp = &edev->ulp_tbl[ulp_id]; edev 64 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c static int bnxt_unregister_dev(struct bnxt_en_dev *edev, int ulp_id) edev 66 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct net_device *dev = edev->net; edev 75 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c ulp = &edev->ulp_tbl[ulp_id]; edev 81 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->en_ops->bnxt_free_msix(edev, ulp_id); edev 99 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 102 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c num_msix = edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested; edev 103 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c idx = edev->ulp_tbl[BNXT_ROCE_ULP].msix_base; edev 111 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c static int bnxt_req_msix_vecs(struct bnxt_en_dev *edev, int ulp_id, edev 114 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct net_device *dev = edev->net; edev 129 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (edev->ulp_tbl[ulp_id].msix_requested) edev 145 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->ulp_tbl[ulp_id].msix_base = idx; edev 146 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->ulp_tbl[ulp_id].msix_requested = avail_msix; edev 159 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->ulp_tbl[ulp_id].msix_requested = 0; edev 168 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->ulp_tbl[ulp_id].msix_requested = avail_msix; edev 171 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->flags |= BNXT_EN_FLAG_MSIX_REQUESTED; edev 175 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c static int bnxt_free_msix_vecs(struct bnxt_en_dev *edev, int ulp_id) edev 177 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct net_device *dev = edev->net; edev 184 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) edev 187 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->ulp_tbl[ulp_id].msix_requested = 0; edev 188 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->flags &= ~BNXT_EN_FLAG_MSIX_REQUESTED; edev 198 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { edev 199 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 201 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c return edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested; edev 208 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { edev 209 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 211 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (edev->ulp_tbl[BNXT_ROCE_ULP].msix_requested) edev 212 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c return edev->ulp_tbl[BNXT_ROCE_ULP].msix_base; edev 219 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) edev 225 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c static int bnxt_send_msg(struct bnxt_en_dev *edev, int ulp_id, edev 228 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct net_device *dev = edev->net; edev 266 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 270 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) edev 274 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; edev 285 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 289 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) edev 293 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; edev 304 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 308 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) edev 312 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; edev 329 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 333 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) edev 337 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; edev 348 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 351 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) edev 354 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { edev 355 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[BNXT_ROCE_ULP]; edev 369 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 372 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev || !(edev->flags & BNXT_EN_FLAG_MSIX_REQUESTED)) edev 375 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (bnxt_ulp_registered(bp->edev, BNXT_ROCE_ULP)) { edev 376 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[BNXT_ROCE_ULP]; edev 401 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev = bp->edev; edev 405 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) edev 410 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_ulp *ulp = &edev->ulp_tbl[i]; edev 427 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c static int bnxt_register_async_events(struct bnxt_en_dev *edev, int ulp_id, edev 430 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct net_device *dev = edev->net; edev 437 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c ulp = &edev->ulp_tbl[ulp_id]; edev 458 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c struct bnxt_en_dev *edev; edev 460 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev = bp->edev; edev 461 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) { edev 462 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev = kzalloc(sizeof(*edev), GFP_KERNEL); edev 463 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c if (!edev) edev 465 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->en_ops = &bnxt_en_ops_tbl; edev 467 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->flags |= BNXT_EN_FLAG_ROCEV1_CAP; edev 469 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->flags |= BNXT_EN_FLAG_ROCEV2_CAP; edev 470 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->net = dev; edev 471 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c edev->pdev = bp->pdev; edev 472 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c bp->edev = edev; edev 474 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c return bp->edev; edev 84 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h static inline bool bnxt_ulp_registered(struct bnxt_en_dev *edev, int ulp_id) edev 86 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h if (edev && rcu_access_pointer(edev->ulp_tbl[ulp_id].ulp_ops)) edev 1996 drivers/net/ethernet/dec/tulip/de4x5.c struct eisa_device *edev; edev 2005 drivers/net/ethernet/dec/tulip/de4x5.c edev = to_eisa_device (gendev); edev 2006 drivers/net/ethernet/dec/tulip/de4x5.c iobase = edev->base_addr; edev 3888 drivers/net/ethernet/dec/tulip/de4x5.c struct eisa_device *edev; edev 3891 drivers/net/ethernet/dec/tulip/de4x5.c edev = to_eisa_device (device); edev 3892 drivers/net/ethernet/dec/tulip/de4x5.c i = edev->id.driver_data; edev 2830 drivers/net/ethernet/hp/hp100.c struct eisa_device *edev = to_eisa_device(gendev); edev 2836 drivers/net/ethernet/hp/hp100.c SET_NETDEV_DEV(dev, &edev->dev); edev 2838 drivers/net/ethernet/hp/hp100.c err = hp100_probe1(dev, edev->base_addr + 0xC38, HP100_BUS_EISA, NULL); edev 148 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c struct net_device *edev; edev 158 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c edev = br_fdb_find_port(br_dev, dmac, vid); edev 159 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (!edev) edev 162 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (br_vlan_get_info(edev, vid, &vinfo)) edev 168 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c return edev; edev 236 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c mlxsw_sp_span_entry_tunnel_parms_common(struct net_device *edev, edev 250 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (!edev || mlxsw_sp_span_dmac(tbl, &gw, edev, dmac)) edev 253 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (is_vlan_dev(edev)) edev 254 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c edev = mlxsw_sp_span_entry_vlan(edev, &vid); edev 256 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (netif_is_bridge_master(edev)) { edev 257 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c edev = mlxsw_sp_span_entry_bridge(edev, dmac, &vid); edev 258 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (!edev) edev 262 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (is_vlan_dev(edev)) { edev 263 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (vid || !(edev->flags & IFF_UP)) edev 265 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c edev = mlxsw_sp_span_entry_vlan(edev, &vid); edev 268 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (netif_is_lag_master(edev)) { edev 269 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (!(edev->flags & IFF_UP)) edev 271 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c edev = mlxsw_sp_span_entry_lag(edev); edev 272 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (!edev) edev 276 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c if (!mlxsw_sp_port_dev_check(edev)) edev 279 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c sparmsp->dest_port = netdev_priv(edev); edev 282 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c memcpy(sparmsp->smac, edev->dev_addr, ETH_ALEN); edev 553 drivers/net/ethernet/qlogic/qed/qed.h #define IS_LEAD_HWFN(edev) (!((edev)->my_id)) edev 830 drivers/net/ethernet/qlogic/qed/qed.h struct qede_dev *edev; edev 205 drivers/net/ethernet/qlogic/qede/qede.h #define IS_VF(edev) (test_bit(QEDE_FLAGS_IS_VF, &(edev)->flags)) edev 212 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_MAX_RSS_CNT(edev) ((edev)->dev_info.num_queues) edev 213 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_MAX_TSS_CNT(edev) ((edev)->dev_info.num_queues) edev 214 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_IS_BB(edev) \ edev 215 drivers/net/ethernet/qlogic/qede/qede.h ((edev)->dev_info.common.dev_type == QED_DEV_TYPE_BB) edev 216 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_IS_AH(edev) \ edev 217 drivers/net/ethernet/qlogic/qede/qede.h ((edev)->dev_info.common.dev_type == QED_DEV_TYPE_AH) edev 226 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_QUEUE_CNT(edev) ((edev)->num_queues) edev 227 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_RSS_COUNT(edev) ((edev)->num_queues - (edev)->fp_num_tx) edev 228 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_RX_QUEUE_IDX(edev, i) (i) edev 229 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_TSS_COUNT(edev) ((edev)->num_queues - (edev)->fp_num_rx) edev 415 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_TXQ_XDP_TO_IDX(edev, txq) ((txq)->index - \ edev 416 drivers/net/ethernet/qlogic/qede/qede.h QEDE_MAX_TSS_CNT(edev)) edev 417 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_TXQ_IDX_TO_XDP(edev, idx) ((idx) + QEDE_MAX_TSS_CNT(edev)) edev 418 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_NDEV_TXQ_ID_TO_FP_ID(edev, idx) ((edev)->fp_num_rx + \ edev 419 drivers/net/ethernet/qlogic/qede/qede.h ((idx) % QEDE_TSS_COUNT(edev))) edev 420 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_NDEV_TXQ_ID_TO_TXQ_COS(edev, idx) ((idx) / QEDE_TSS_COUNT(edev)) edev 421 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_TXQ_TO_NDEV_TXQ_ID(edev, txq) ((QEDE_TSS_COUNT(edev) * \ edev 423 drivers/net/ethernet/qlogic/qede/qede.h #define QEDE_NDEV_TXQ_ID_TO_TXQ(edev, idx) \ edev 424 drivers/net/ethernet/qlogic/qede/qede.h (&((edev)->fp_array[QEDE_NDEV_TXQ_ID_TO_FP_ID(edev, idx)].txq \ edev 425 drivers/net/ethernet/qlogic/qede/qede.h [QEDE_NDEV_TXQ_ID_TO_TXQ_COS(edev, idx)])) edev 455 drivers/net/ethernet/qlogic/qede/qede.h struct qede_dev *edev; edev 474 drivers/net/ethernet/qlogic/qede/qede.h #define DP_NAME(edev) ((edev)->ndev->name) edev 496 drivers/net/ethernet/qlogic/qede/qede.h void qede_process_arfs_filters(struct qede_dev *edev, bool free_fltr); edev 497 drivers/net/ethernet/qlogic/qede/qede.h void qede_poll_for_freeing_arfs_filters(struct qede_dev *edev); edev 499 drivers/net/ethernet/qlogic/qede/qede.h void qede_free_arfs(struct qede_dev *edev); edev 500 drivers/net/ethernet/qlogic/qede/qede.h int qede_alloc_arfs(struct qede_dev *edev); edev 501 drivers/net/ethernet/qlogic/qede/qede.h int qede_add_cls_rule(struct qede_dev *edev, struct ethtool_rxnfc *info); edev 502 drivers/net/ethernet/qlogic/qede/qede.h int qede_delete_flow_filter(struct qede_dev *edev, u64 cookie); edev 503 drivers/net/ethernet/qlogic/qede/qede.h int qede_get_cls_rule_entry(struct qede_dev *edev, struct ethtool_rxnfc *cmd); edev 504 drivers/net/ethernet/qlogic/qede/qede.h int qede_get_cls_rule_all(struct qede_dev *edev, struct ethtool_rxnfc *info, edev 506 drivers/net/ethernet/qlogic/qede/qede.h int qede_get_arfs_filter_count(struct qede_dev *edev); edev 509 drivers/net/ethernet/qlogic/qede/qede.h void (*func)(struct qede_dev *edev, struct qede_reload_args *args); edev 524 drivers/net/ethernet/qlogic/qede/qede.h void qede_tx_log_print(struct qede_dev *edev, struct qede_fastpath *fp); edev 526 drivers/net/ethernet/qlogic/qede/qede.h int qede_free_tx_pkt(struct qede_dev *edev, edev 538 drivers/net/ethernet/qlogic/qede/qede.h void qede_vlan_mark_nonconfigured(struct qede_dev *edev); edev 539 drivers/net/ethernet/qlogic/qede/qede.h int qede_configure_vlan_filters(struct qede_dev *edev); edev 546 drivers/net/ethernet/qlogic/qede/qede.h void qede_fill_rss_params(struct qede_dev *edev, edev 560 drivers/net/ethernet/qlogic/qede/qede.h void qede_reload(struct qede_dev *edev, edev 563 drivers/net/ethernet/qlogic/qede/qede.h void qede_fill_by_demand_stats(struct qede_dev *edev); edev 564 drivers/net/ethernet/qlogic/qede/qede.h void __qede_lock(struct qede_dev *edev); edev 565 drivers/net/ethernet/qlogic/qede/qede.h void __qede_unlock(struct qede_dev *edev); edev 569 drivers/net/ethernet/qlogic/qede/qede.h void qede_update_rx_prod(struct qede_dev *edev, struct qede_rx_queue *rxq); edev 570 drivers/net/ethernet/qlogic/qede/qede.h int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto, edev 588 drivers/net/ethernet/qlogic/qede/qede.h #define for_each_queue(i) for (i = 0; i < edev->num_queues; i++) edev 589 drivers/net/ethernet/qlogic/qede/qede.h #define for_each_cos_in_txq(edev, var) \ edev 590 drivers/net/ethernet/qlogic/qede/qede.h for ((var) = 0; (var) < (edev)->dev_info.num_tc; (var)++) edev 14 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 16 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getstate(edev->cdev); edev 21 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 23 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setstate(edev->cdev, state); edev 36 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 38 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c edev->ops->dcb->getpgtccfgtx(edev->cdev, prio, prio_type, edev 45 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 47 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c edev->ops->dcb->getpgbwgcfgtx(edev->cdev, pgid, bw_pct); edev 54 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 56 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c edev->ops->dcb->getpgtccfgrx(edev->cdev, prio, prio_type, pgid, bw_pct, edev 63 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 65 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c edev->ops->dcb->getpgbwgcfgrx(edev->cdev, pgid, bw_pct); edev 71 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 73 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c edev->ops->dcb->getpfccfg(edev->cdev, prio, setting); edev 79 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 81 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c edev->ops->dcb->setpfccfg(edev->cdev, prio, setting); edev 86 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 88 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getcap(edev->cdev, capid, cap); edev 93 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 95 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getnumtcs(edev->cdev, tcid, num); edev 100 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 102 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getpfcstate(edev->cdev); edev 107 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 109 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getapp(edev->cdev, idtype, id); edev 114 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 116 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getdcbx(edev->cdev); edev 122 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 124 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setpgtccfgtx(edev->cdev, prio, pri_type, pgid, edev 131 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 133 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setpgtccfgrx(edev->cdev, prio, pri_type, pgid, edev 140 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 142 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setpgbwgcfgtx(edev->cdev, pgid, bw_pct); edev 148 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 150 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setpgbwgcfgrx(edev->cdev, pgid, bw_pct); edev 155 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 157 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setall(edev->cdev); edev 162 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 164 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setnumtcs(edev->cdev, tcid, num); edev 169 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 171 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setpfcstate(edev->cdev, state); edev 177 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 179 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setapp(edev->cdev, idtype, idval, up); edev 184 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 186 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setdcbx(edev->cdev, state); edev 192 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 194 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->getfeatcfg(edev->cdev, featid, flags); edev 199 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 201 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->setfeatcfg(edev->cdev, featid, flags); edev 208 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 210 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->peer_getappinfo(edev->cdev, info, count); edev 216 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 218 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->peer_getapptable(edev->cdev, app); edev 224 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 226 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->cee_peer_getpfc(edev->cdev, pfc); edev 232 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 234 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->cee_peer_getpg(edev->cdev, pg); edev 240 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 242 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_getpfc(edev->cdev, pfc); edev 248 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 250 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_setpfc(edev->cdev, pfc); edev 256 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 258 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_getets(edev->cdev, ets); edev 264 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 266 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_setets(edev->cdev, ets); edev 272 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 274 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_getapp(edev->cdev, app); edev 280 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 287 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_setapp(edev->cdev, app); edev 293 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 295 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_peer_getpfc(edev->cdev, pfc); edev 301 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c struct qede_dev *edev = netdev_priv(netdev); edev 303 drivers/net/ethernet/qlogic/qede/qede_dcbnl.c return edev->ops->dcb->ieee_peer_getets(edev->cdev, ets); edev 220 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static void qede_get_strings_stats_txq(struct qede_dev *edev, edev 228 drivers/net/ethernet/qlogic/qede/qede_ethtool.c QEDE_TXQ_XDP_TO_IDX(edev, txq), edev 237 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static void qede_get_strings_stats_rxq(struct qede_dev *edev, edev 249 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static bool qede_is_irrelevant_stat(struct qede_dev *edev, int stat_index) edev 251 drivers/net/ethernet/qlogic/qede/qede_ethtool.c return (IS_VF(edev) && QEDE_STAT_IS_PF_ONLY(stat_index)) || edev 252 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (QEDE_IS_BB(edev) && QEDE_STAT_IS_AH_ONLY(stat_index)) || edev 253 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (QEDE_IS_AH(edev) && QEDE_STAT_IS_BB_ONLY(stat_index)); edev 256 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static void qede_get_strings_stats(struct qede_dev *edev, u8 *buf) edev 262 drivers/net/ethernet/qlogic/qede/qede_ethtool.c for (i = 0; i < QEDE_QUEUE_CNT(edev); i++) { edev 263 drivers/net/ethernet/qlogic/qede/qede_ethtool.c fp = &edev->fp_array[i]; edev 266 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_get_strings_stats_rxq(edev, fp->rxq, &buf); edev 269 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_get_strings_stats_txq(edev, fp->xdp_tx, &buf); edev 274 drivers/net/ethernet/qlogic/qede/qede_ethtool.c for_each_cos_in_txq(edev, cos) edev 275 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_get_strings_stats_txq(edev, edev 282 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (qede_is_irrelevant_stat(edev, i)) edev 291 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 295 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_get_strings_stats(edev, buf); edev 306 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 334 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 338 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_fill_by_demand_stats(edev); edev 341 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_lock(edev); edev 343 drivers/net/ethernet/qlogic/qede/qede_ethtool.c for (i = 0; i < QEDE_QUEUE_CNT(edev); i++) { edev 344 drivers/net/ethernet/qlogic/qede/qede_ethtool.c fp = &edev->fp_array[i]; edev 355 drivers/net/ethernet/qlogic/qede/qede_ethtool.c for_each_cos_in_txq(edev, cos) edev 361 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (qede_is_irrelevant_stat(edev, i)) edev 363 drivers/net/ethernet/qlogic/qede/qede_ethtool.c *buf = *((u64 *)(((void *)&edev->stats) + edev 369 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 374 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 380 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (qede_is_irrelevant_stat(edev, i)) edev 384 drivers/net/ethernet/qlogic/qede/qede_ethtool.c num_stats += QEDE_TSS_COUNT(edev) * QEDE_NUM_TQSTATS * edev 385 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.num_tc; edev 388 drivers/net/ethernet/qlogic/qede/qede_ethtool.c num_stats += QEDE_RSS_COUNT(edev) * QEDE_NUM_RQSTATS; edev 391 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->xdp_prog) edev 392 drivers/net/ethernet/qlogic/qede/qede_ethtool.c num_stats += QEDE_RSS_COUNT(edev) * QEDE_NUM_TQSTATS; edev 398 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!IS_VF(edev)) edev 403 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 411 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 414 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dev_info.common.num_hwfns > 1) edev 417 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dev_info.common.smart_an) edev 494 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 497 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_lock(edev); edev 500 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 511 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if ((edev->state == QEDE_STATE_OPEN) && (current_link.link_up)) { edev 519 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 532 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 537 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->ops || !edev->ops->common->can_link_change(edev->cdev)) { edev 538 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Link settings are not allowed to be changed\n"); edev 543 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 549 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Auto negotiation is not supported\n"); edev 566 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "1G speed not supported\n"); edev 582 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "10G speed not supported\n"); edev 591 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "20G speed not supported\n"); edev 601 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "25G speed not supported\n"); edev 613 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "40G speed not supported\n"); edev 624 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "50G speed not supported\n"); edev 636 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "100G speed not supported\n"); edev 643 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Unsupported speed %u\n", base->speed); edev 649 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, ¶ms); edev 658 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 664 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.common.fw_major, edev 665 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.common.fw_minor, edev 666 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.common.fw_rev, edev 667 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.common.fw_eng); edev 670 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (edev->dev_info.common.mfw_rev >> 24) & 0xFF, edev 671 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (edev->dev_info.common.mfw_rev >> 16) & 0xFF, edev 672 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (edev->dev_info.common.mfw_rev >> 8) & 0xFF, edev 673 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.common.mfw_rev & 0xFF); edev 683 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dev_info.common.mbi_version) { edev 685 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (edev->dev_info.common.mbi_version & edev 687 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (edev->dev_info.common.mbi_version & edev 689 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (edev->dev_info.common.mbi_version & edev 698 drivers/net/ethernet/qlogic/qede/qede_ethtool.c strlcpy(info->bus_info, pci_name(edev->pdev), sizeof(info->bus_info)); edev 703 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 705 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dev_info.common.wol_support) { edev 707 drivers/net/ethernet/qlogic/qede/qede_ethtool.c wol->wolopts = edev->wol_enabled ? WAKE_MAGIC : 0; edev 713 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 718 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, edev 724 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (wol_requested == edev->wol_enabled) edev 728 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->dev_info.common.wol_support) { edev 729 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Device doesn't support WoL\n"); edev 733 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->update_wol(edev->cdev, wol_requested); edev 735 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->wol_enabled = wol_requested; edev 742 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 744 drivers/net/ethernet/qlogic/qede/qede_ethtool.c return ((u32)edev->dp_level << QED_LOG_LEVEL_SHIFT) | edev->dp_module; edev 749 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 755 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dp_level = dp_level; edev 756 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dp_module = dp_module; edev 757 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->update_msglvl(edev->cdev, edev 763 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 767 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->ops || !edev->ops->common->can_link_change(edev->cdev)) { edev 768 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Link settings are not allowed to be changed\n"); edev 776 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 783 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, &link_params); edev 785 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, &link_params); edev 792 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 796 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 804 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 806 drivers/net/ethernet/qlogic/qede/qede_ethtool.c return edev->ops->common->nvm_flash(edev->cdev, flash->data); edev 813 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 822 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_lock(edev); edev 823 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->state == QEDE_STATE_OPEN) { edev 825 drivers/net/ethernet/qlogic/qede/qede_ethtool.c fp = &edev->fp_array[i]; edev 833 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->get_coalesce(edev->cdev, &rx_coal, rx_handle); edev 835 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Read Rx coalesce error\n"); edev 842 drivers/net/ethernet/qlogic/qede/qede_ethtool.c fp = &edev->fp_array[i]; edev 855 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->get_coalesce(edev->cdev, &tx_coal, tx_handle); edev 857 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Read Tx coalesce error\n"); edev 861 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 872 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 878 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Interface is down\n"); edev 884 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, edev 894 drivers/net/ethernet/qlogic/qede/qede_ethtool.c fp = &edev->fp_array[i]; edev 896 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->fp_array[i].type & QEDE_FASTPATH_RX) { edev 897 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->set_coalesce(edev->cdev, edev 901 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, edev 907 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->fp_array[i].type & QEDE_FASTPATH_TX) { edev 916 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->set_coalesce(edev->cdev, edev 920 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, edev 933 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 936 drivers/net/ethernet/qlogic/qede/qede_ethtool.c ering->rx_pending = edev->q_num_rx_buffers; edev 938 drivers/net/ethernet/qlogic/qede/qede_ethtool.c ering->tx_pending = edev->q_num_tx_buffers; edev 944 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 946 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 955 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 963 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->q_num_rx_buffers = ering->rx_pending; edev 964 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->q_num_tx_buffers = ering->tx_pending; edev 966 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_reload(edev, NULL, false); edev 974 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 978 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 987 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 996 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1000 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->ops || !edev->ops->common->can_link_change(edev->cdev)) { edev 1001 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, edev 1007 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 1013 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "autoneg not supported\n"); edev 1024 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, ¶ms); edev 1032 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 1037 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops && edev->ops->common) edev 1038 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->dbg_all_data(edev->cdev, buffer); edev 1043 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 1045 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops && edev->ops->common) edev 1046 drivers/net/ethernet/qlogic/qede/qede_ethtool.c return edev->ops->common->dbg_all_data_size(edev->cdev); edev 1051 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static void qede_update_mtu(struct qede_dev *edev, edev 1054 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ndev->mtu = args->u.mtu; edev 1060 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(ndev); edev 1063 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1072 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_reload(edev, &args, false); edev 1074 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->update_mtu(edev->cdev, new_mtu); edev 1082 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1084 drivers/net/ethernet/qlogic/qede/qede_ethtool.c channels->max_combined = QEDE_MAX_RSS_CNT(edev); edev 1085 drivers/net/ethernet/qlogic/qede/qede_ethtool.c channels->max_rx = QEDE_MAX_RSS_CNT(edev); edev 1086 drivers/net/ethernet/qlogic/qede/qede_ethtool.c channels->max_tx = QEDE_MAX_RSS_CNT(edev); edev 1087 drivers/net/ethernet/qlogic/qede/qede_ethtool.c channels->combined_count = QEDE_QUEUE_CNT(edev) - edev->fp_num_tx - edev 1088 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->fp_num_rx; edev 1089 drivers/net/ethernet/qlogic/qede/qede_ethtool.c channels->tx_count = edev->fp_num_tx; edev 1090 drivers/net/ethernet/qlogic/qede/qede_ethtool.c channels->rx_count = edev->fp_num_rx; edev 1096 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1099 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1109 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1116 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1121 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (count > QEDE_MAX_RSS_CNT(edev)) { edev 1122 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1124 drivers/net/ethernet/qlogic/qede/qede_ethtool.c count, QEDE_MAX_RSS_CNT(edev)); edev 1129 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if ((count == QEDE_QUEUE_CNT(edev)) && edev 1130 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (channels->tx_count == edev->fp_num_tx) && edev 1131 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (channels->rx_count == edev->fp_num_rx)) { edev 1132 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1138 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if ((count % edev->dev_info.common.num_hwfns) || edev 1139 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (channels->tx_count % edev->dev_info.common.num_hwfns) || edev 1140 drivers/net/ethernet/qlogic/qede/qede_ethtool.c (channels->rx_count % edev->dev_info.common.num_hwfns)) { edev 1141 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 1143 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dev_info.common.num_hwfns); edev 1148 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->req_queues = count; edev 1149 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->req_num_tx = channels->tx_count; edev 1150 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->req_num_rx = channels->rx_count; edev 1152 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if ((edev->req_queues - edev->req_num_tx) != QEDE_RSS_COUNT(edev)) { edev 1153 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rss_params_inited &= ~QEDE_RSS_INDIR_INITED; edev 1154 drivers/net/ethernet/qlogic/qede/qede_ethtool.c memset(edev->rss_ind_table, 0, sizeof(edev->rss_ind_table)); edev 1157 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_reload(edev, NULL, false); edev 1165 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1167 drivers/net/ethernet/qlogic/qede/qede_ethtool.c return qede_ptp_get_ts_info(edev, info); edev 1173 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1193 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_led(edev->cdev, led_state); edev 1198 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_get_rss_flags(struct qede_dev *edev, struct ethtool_rxnfc *info) edev 1208 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->rss_caps & QED_RSS_IPV4_UDP) edev 1212 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->rss_caps & QED_RSS_IPV6_UDP) edev 1229 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1234 drivers/net/ethernet/qlogic/qede/qede_ethtool.c info->data = QEDE_RSS_COUNT(edev); edev 1237 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_get_rss_flags(edev, info); edev 1240 drivers/net/ethernet/qlogic/qede/qede_ethtool.c info->rule_cnt = qede_get_arfs_filter_count(edev); edev 1244 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_get_cls_rule_entry(edev, info); edev 1247 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_get_cls_rule_all(edev, info, rule_locs); edev 1250 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Command parameters not supported\n"); edev 1257 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_set_rss_flags(struct qede_dev *edev, struct ethtool_rxnfc *info) edev 1263 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1273 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Command parameters not supported\n"); edev 1282 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1286 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1297 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1301 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1311 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Command parameters not supported\n"); edev 1327 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Command parameters not supported\n"); edev 1336 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->rss_caps == ((edev->rss_caps & ~clr_caps) | set_caps)) edev 1340 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rss_caps = ((edev->rss_caps & ~clr_caps) | set_caps); edev 1341 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rss_params_inited |= QEDE_RSS_CAPS_INITED; edev 1344 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_lock(edev); edev 1345 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->state == QEDE_STATE_OPEN) { edev 1348 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 1351 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_fill_rss_params(edev, &vport_update_params->rss_params, edev 1353 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->vport_update(edev->cdev, vport_update_params); edev 1356 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 1363 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1368 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_set_rss_flags(edev, info); edev 1371 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_add_cls_rule(edev, info); edev 1374 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_delete_flow_filter(edev, info->fs.location); edev 1377 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Command parameters not supported\n"); edev 1391 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1393 drivers/net/ethernet/qlogic/qede/qede_ethtool.c return sizeof(edev->rss_key); edev 1398 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1408 drivers/net/ethernet/qlogic/qede/qede_ethtool.c indir[i] = edev->rss_ind_table[i]; edev 1411 drivers/net/ethernet/qlogic/qede/qede_ethtool.c memcpy(key, edev->rss_key, qede_get_rxfh_key_size(dev)); edev 1420 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1423 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dev_info.common.num_hwfns > 1) { edev 1424 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, edev 1437 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rss_ind_table[i] = indir[i]; edev 1438 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rss_params_inited |= QEDE_RSS_INDIR_INITED; edev 1442 drivers/net/ethernet/qlogic/qede/qede_ethtool.c memcpy(&edev->rss_key, key, qede_get_rxfh_key_size(dev)); edev 1443 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rss_params_inited |= QEDE_RSS_KEY_INITED; edev 1446 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_lock(edev); edev 1447 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->state == QEDE_STATE_OPEN) { edev 1450 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 1453 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_fill_rss_params(edev, &vport_update_params->rss_params, edev 1455 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->vport_update(edev->cdev, vport_update_params); edev 1458 drivers/net/ethernet/qlogic/qede/qede_ethtool.c __qede_unlock(edev); edev 1464 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static void qede_netif_start(struct qede_dev *edev) edev 1468 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!netif_running(edev->ndev)) edev 1473 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qed_sb_ack(edev->fp_array[i].sb_info, IGU_INT_ENABLE, 1); edev 1474 drivers/net/ethernet/qlogic/qede/qede_ethtool.c napi_enable(&edev->fp_array[i].napi); edev 1479 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static void qede_netif_stop(struct qede_dev *edev) edev 1484 drivers/net/ethernet/qlogic/qede/qede_ethtool.c napi_disable(&edev->fp_array[i].napi); edev 1486 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qed_sb_ack(edev->fp_array[i].sb_info, IGU_INT_DISABLE, 0); edev 1490 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_selftest_transmit_traffic(struct qede_dev *edev, edev 1500 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_fastpath *fp = &edev->fp_array[i]; edev 1509 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_NOTICE(edev, "Tx path is not available\n"); edev 1525 drivers/net/ethernet/qlogic/qede/qede_ethtool.c mapping = dma_map_single(&edev->pdev->dev, skb->data, edev 1527 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (unlikely(dma_mapping_error(&edev->pdev->dev, mapping))) { edev 1528 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_NOTICE(edev, "SKB mapping failed\n"); edev 1554 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_NOTICE(edev, "Tx completion didn't happen\n"); edev 1559 drivers/net/ethernet/qlogic/qede/qede_ethtool.c dma_unmap_single(&edev->pdev->dev, BD_UNMAP_ADDR(first_bd), edev 1567 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_selftest_receive_traffic(struct qede_dev *edev) edev 1578 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->fp_array[i].type & QEDE_FASTPATH_RX) { edev 1579 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rxq = edev->fp_array[i].rxq; edev 1585 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_NOTICE(edev, "Rx path is not available\n"); edev 1622 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (ether_addr_equal(data_ptr, edev->ndev->dev_addr) && edev 1624 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ndev->dev_addr)) { edev 1636 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Not the transmitted packet\n"); edev 1642 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_NOTICE(edev, "Failed to receive the traffic\n"); edev 1646 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_update_rx_prod(edev, rxq); edev 1651 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_selftest_run_loopback(struct qede_dev *edev, u32 loopback_mode) edev 1659 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!netif_running(edev->ndev)) { edev 1660 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_NOTICE(edev, "Interface is down\n"); edev 1664 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_netif_stop(edev); edev 1671 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, &link_params); edev 1679 drivers/net/ethernet/qlogic/qede/qede_ethtool.c pkt_size = (((edev->ndev->mtu < ETH_DATA_LEN) ? edev 1680 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ndev->mtu : ETH_DATA_LEN) + ETH_HLEN); edev 1682 drivers/net/ethernet/qlogic/qede/qede_ethtool.c skb = netdev_alloc_skb(edev->ndev, pkt_size); edev 1684 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Can't allocate skb\n"); edev 1689 drivers/net/ethernet/qlogic/qede/qede_ethtool.c ether_addr_copy(packet, edev->ndev->dev_addr); edev 1690 drivers/net/ethernet/qlogic/qede/qede_ethtool.c ether_addr_copy(packet + ETH_ALEN, edev->ndev->dev_addr); edev 1695 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_selftest_transmit_traffic(edev, skb); edev 1699 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = qede_selftest_receive_traffic(edev); edev 1703 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, NETIF_MSG_RX_STATUS, "Loopback test successful\n"); edev 1713 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, &link_params); edev 1718 drivers/net/ethernet/qlogic/qede/qede_ethtool.c qede_netif_start(edev); edev 1726 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1728 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1736 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (qede_selftest_run_loopback(edev, edev 1743 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops->common->selftest->selftest_interrupt(edev->cdev)) { edev 1748 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops->common->selftest->selftest_memory(edev->cdev)) { edev 1753 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops->common->selftest->selftest_register(edev->cdev)) { edev 1758 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops->common->selftest->selftest_clock(edev->cdev)) { edev 1763 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->ops->common->selftest->selftest_nvram(edev->cdev)) { edev 1773 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1780 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1786 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->rx_copybreak = *(u32 *)data; edev 1798 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1802 drivers/net/ethernet/qlogic/qede/qede_ethtool.c *(u32 *)data = edev->rx_copybreak; edev 1813 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1817 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 1820 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "EEE is not supported\n"); edev 1847 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1851 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->ops->common->can_link_change(edev->cdev)) { edev 1852 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "Link settings are not allowed to be changed\n"); edev 1857 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->get_link(edev->cdev, ¤t_link); edev 1860 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_INFO(edev, "EEE is not supported\n"); edev 1872 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1887 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->ops->common->set_link(edev->cdev, ¶ms); edev 1895 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1900 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->read_module_eeprom(edev->cdev, buf, edev 1903 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Failed reading EEPROM data %d\n", rc); edev 1922 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Unknown transceiver type 0x%x\n", buf[0]); edev 1932 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1945 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->read_module_eeprom(edev->cdev, buf, edev 1949 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Failed reading A0 section %d\n", rc); edev 1965 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->read_module_eeprom(edev->cdev, buf, edev 1969 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1980 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 1983 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dump_info.cmd == QEDE_DUMP_CMD_NONE) { edev 1985 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Invalid command %d\n", val->flag); edev 1988 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.cmd = val->flag; edev 1989 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.num_args = 0; edev 1993 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dump_info.num_args == QEDE_DUMP_MAX_ARGS) { edev 1994 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Arg count = %d\n", edev->dump_info.num_args); edev 1998 drivers/net/ethernet/qlogic/qede/qede_ethtool.c switch (edev->dump_info.cmd) { edev 2000 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.args[edev->dump_info.num_args] = val->flag; edev 2001 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.num_args++; edev 2004 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->set_grc_config(edev->cdev, edev 2017 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 2019 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->ops || !edev->ops->common) { edev 2020 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Edev ops not populated\n"); edev 2025 drivers/net/ethernet/qlogic/qede/qede_ethtool.c switch (edev->dump_info.cmd) { edev 2028 drivers/net/ethernet/qlogic/qede/qede_ethtool.c dump->len = edev->ops->common->read_nvm_cfg_len(edev->cdev, edev 2029 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.args[0]); edev 2033 drivers/net/ethernet/qlogic/qede/qede_ethtool.c dump->len = edev->ops->common->dbg_all_data_size(edev->cdev); edev 2036 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Invalid cmd = %d\n", edev->dump_info.cmd); edev 2040 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 2049 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 2052 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (!edev->ops || !edev->ops->common) { edev 2053 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Edev ops not populated\n"); edev 2058 drivers/net/ethernet/qlogic/qede/qede_ethtool.c switch (edev->dump_info.cmd) { edev 2060 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (edev->dump_info.num_args != QEDE_DUMP_NVM_ARG_COUNT) { edev 2061 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Arg count = %d required = %d\n", edev 2062 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.num_args, edev 2067 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->read_nvm_cfg(edev->cdev, (u8 **)&buf, edev 2068 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.args[0], edev 2069 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.args[1]); edev 2073 drivers/net/ethernet/qlogic/qede/qede_ethtool.c rc = edev->ops->common->dbg_all_data(edev->cdev, buf); edev 2076 drivers/net/ethernet/qlogic/qede/qede_ethtool.c DP_ERR(edev, "Invalid cmd = %d\n", edev->dump_info.cmd); edev 2082 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.cmd = QEDE_DUMP_CMD_NONE; edev 2083 drivers/net/ethernet/qlogic/qede/qede_ethtool.c edev->dump_info.num_args = 0; edev 2084 drivers/net/ethernet/qlogic/qede/qede_ethtool.c memset(edev->dump_info.args, 0, sizeof(edev->dump_info.args)); edev 2163 drivers/net/ethernet/qlogic/qede/qede_ethtool.c struct qede_dev *edev = netdev_priv(dev); edev 2165 drivers/net/ethernet/qlogic/qede/qede_ethtool.c if (IS_VF(edev)) edev 98 drivers/net/ethernet/qlogic/qede/qede_filter.c #define QEDE_ARFS_BUCKET_HEAD(edev, idx) (&(edev)->arfs->arfs_hl_head[idx]) edev 113 drivers/net/ethernet/qlogic/qede/qede_filter.c static void qede_configure_arfs_fltr(struct qede_dev *edev, edev 117 drivers/net/ethernet/qlogic/qede/qede_filter.c const struct qed_eth_ops *op = edev->ops; edev 140 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_RX_STATUS, edev 148 drivers/net/ethernet/qlogic/qede/qede_filter.c op->ntuple_filter_config(edev->cdev, n, ¶ms); edev 152 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_free_arfs_filter(struct qede_dev *edev, struct qede_arfs_fltr_node *fltr) edev 157 drivers/net/ethernet/qlogic/qede/qede_filter.c clear_bit(fltr->sw_id, edev->arfs->arfs_fltr_bmap); edev 163 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_enqueue_fltr_and_config_searcher(struct qede_dev *edev, edev 167 drivers/net/ethernet/qlogic/qede/qede_filter.c fltr->mapping = dma_map_single(&edev->pdev->dev, fltr->data, edev 169 drivers/net/ethernet/qlogic/qede/qede_filter.c if (dma_mapping_error(&edev->pdev->dev, fltr->mapping)) { edev 170 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Failed to map DMA memory for rule\n"); edev 171 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_free_arfs_filter(edev, fltr); edev 177 drivers/net/ethernet/qlogic/qede/qede_filter.c QEDE_ARFS_BUCKET_HEAD(edev, bucket_idx)); edev 179 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->filter_count++; edev 180 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->arfs->filter_count == 1 && edev 181 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->mode == QED_FILTER_CONFIG_MODE_DISABLE) { edev 182 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->configure_arfs_searcher(edev->cdev, edev 184 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->mode = fltr->tuple.mode; edev 191 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_dequeue_fltr_and_config_searcher(struct qede_dev *edev, edev 195 drivers/net/ethernet/qlogic/qede/qede_filter.c dma_unmap_single(&edev->pdev->dev, fltr->mapping, edev 198 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_free_arfs_filter(edev, fltr); edev 200 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->filter_count--; edev 201 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs->filter_count && edev 202 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->mode != QED_FILTER_CONFIG_MODE_DISABLE) { edev 206 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->configure_arfs_searcher(edev->cdev, mode); edev 207 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->mode = QED_FILTER_CONFIG_MODE_DISABLE; edev 214 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = dev; edev 219 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, edev 225 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_lock_bh(&edev->arfs->arfs_list_lock); edev 230 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_unlock_bh(&edev->arfs->arfs_list_lock); edev 234 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_lock_bh(&edev->arfs->arfs_list_lock); edev 241 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, fltr, fltr->rxq_id, edev 247 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, fltr, edev 252 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_unlock_bh(&edev->arfs->arfs_list_lock); edev 256 drivers/net/ethernet/qlogic/qede/qede_filter.c void qede_process_arfs_filters(struct qede_dev *edev, bool free_fltr) edev 265 drivers/net/ethernet/qlogic/qede/qede_filter.c head = &edev->arfs->arfs_hl_head[i]; edev 270 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->state != QEDE_STATE_OPEN) edev 273 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_lock_bh(&edev->arfs->arfs_list_lock); edev 277 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_dequeue_fltr_and_config_searcher(edev, edev 282 drivers/net/ethernet/qlogic/qede/qede_filter.c flow_exp = rps_may_expire_flow(edev->ndev, edev 288 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, fltr, edev 293 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_unlock_bh(&edev->arfs->arfs_list_lock); edev 298 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_lock_bh(&edev->arfs->arfs_list_lock); edev 300 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->arfs->filter_count) { edev 301 drivers/net/ethernet/qlogic/qede/qede_filter.c set_bit(QEDE_SP_ARFS_CONFIG, &edev->sp_flags); edev 302 drivers/net/ethernet/qlogic/qede/qede_filter.c schedule_delayed_work(&edev->sp_task, edev 306 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_unlock_bh(&edev->arfs->arfs_list_lock); edev 313 drivers/net/ethernet/qlogic/qede/qede_filter.c void qede_poll_for_freeing_arfs_filters(struct qede_dev *edev) edev 318 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_process_arfs_filters(edev, false); edev 320 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs->filter_count) edev 328 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Timeout in polling for arfs filter free\n"); edev 331 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_process_arfs_filters(edev, true); edev 335 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_alloc_arfs(struct qede_dev *edev) edev 339 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs = vzalloc(sizeof(*edev->arfs)); edev 340 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) edev 343 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_lock_init(&edev->arfs->arfs_list_lock); edev 346 drivers/net/ethernet/qlogic/qede/qede_filter.c INIT_HLIST_HEAD(QEDE_ARFS_BUCKET_HEAD(edev, i)); edev 348 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->arfs_fltr_bmap = edev 351 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs->arfs_fltr_bmap) { edev 352 drivers/net/ethernet/qlogic/qede/qede_filter.c vfree(edev->arfs); edev 353 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs = NULL; edev 358 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ndev->rx_cpu_rmap = alloc_irq_cpu_rmap(QEDE_RSS_COUNT(edev)); edev 359 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->ndev->rx_cpu_rmap) { edev 360 drivers/net/ethernet/qlogic/qede/qede_filter.c vfree(edev->arfs->arfs_fltr_bmap); edev 361 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->arfs_fltr_bmap = NULL; edev 362 drivers/net/ethernet/qlogic/qede/qede_filter.c vfree(edev->arfs); edev 363 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs = NULL; edev 370 drivers/net/ethernet/qlogic/qede/qede_filter.c void qede_free_arfs(struct qede_dev *edev) edev 372 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) edev 376 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->ndev->rx_cpu_rmap) edev 377 drivers/net/ethernet/qlogic/qede/qede_filter.c free_irq_cpu_rmap(edev->ndev->rx_cpu_rmap); edev 379 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ndev->rx_cpu_rmap = NULL; edev 381 drivers/net/ethernet/qlogic/qede/qede_filter.c vfree(edev->arfs->arfs_fltr_bmap); edev 382 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->arfs_fltr_bmap = NULL; edev 383 drivers/net/ethernet/qlogic/qede/qede_filter.c vfree(edev->arfs); edev 384 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs = NULL; edev 427 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_alloc_filter(struct qede_dev *edev, int min_hlen) edev 432 drivers/net/ethernet/qlogic/qede/qede_filter.c bit_id = find_first_zero_bit(edev->arfs->arfs_fltr_bmap, edev 449 drivers/net/ethernet/qlogic/qede/qede_filter.c set_bit(bit_id, edev->arfs->arfs_fltr_bmap); edev 456 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 485 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_lock_bh(&edev->arfs->arfs_list_lock); edev 487 drivers/net/ethernet/qlogic/qede/qede_filter.c n = qede_arfs_htbl_key_search(QEDE_ARFS_BUCKET_HEAD(edev, tbl_idx), edev 495 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, n, n->rxq_id, edev 500 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, n, n->rxq_id, edev 511 drivers/net/ethernet/qlogic/qede/qede_filter.c n = qede_alloc_filter(edev, min_hlen); edev 541 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_enqueue_fltr_and_config_searcher(edev, n, tbl_idx); edev 545 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, n, n->rxq_id, true); edev 547 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_unlock_bh(&edev->arfs->arfs_list_lock); edev 549 drivers/net/ethernet/qlogic/qede/qede_filter.c set_bit(QEDE_SP_ARFS_CONFIG, &edev->sp_flags); edev 550 drivers/net/ethernet/qlogic/qede/qede_filter.c schedule_delayed_work(&edev->sp_task, 0); edev 555 drivers/net/ethernet/qlogic/qede/qede_filter.c spin_unlock_bh(&edev->arfs->arfs_list_lock); edev 562 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = dev; edev 564 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->vxlan_dst_port != vxlan_port) edev 565 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->vxlan_dst_port = 0; edev 567 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->geneve_dst_port != geneve_port) edev 568 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->geneve_dst_port = 0; edev 573 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = dev; edev 575 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 578 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 582 drivers/net/ethernet/qlogic/qede/qede_filter.c ether_addr_copy(edev->ndev->dev_addr, mac); edev 583 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 586 drivers/net/ethernet/qlogic/qede/qede_filter.c void qede_fill_rss_params(struct qede_dev *edev, edev 592 drivers/net/ethernet/qlogic/qede/qede_filter.c if (QEDE_RSS_COUNT(edev) <= 1) { edev 600 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->rss_ind_table[i] >= QEDE_RSS_COUNT(edev)) { edev 606 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!(edev->rss_params_inited & QEDE_RSS_INDIR_INITED) || need_reset) { edev 610 drivers/net/ethernet/qlogic/qede/qede_filter.c val = QEDE_RSS_COUNT(edev); edev 612 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->rss_ind_table[i] = indir_val; edev 614 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->rss_params_inited |= QEDE_RSS_INDIR_INITED; edev 619 drivers/net/ethernet/qlogic/qede/qede_filter.c u16 idx = QEDE_RX_QUEUE_IDX(edev, edev->rss_ind_table[i]); edev 621 drivers/net/ethernet/qlogic/qede/qede_filter.c rss->rss_ind_table[i] = edev->fp_array[idx].rxq->handle; edev 624 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!(edev->rss_params_inited & QEDE_RSS_KEY_INITED)) { edev 625 drivers/net/ethernet/qlogic/qede/qede_filter.c netdev_rss_key_fill(edev->rss_key, sizeof(edev->rss_key)); edev 626 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->rss_params_inited |= QEDE_RSS_KEY_INITED; edev 628 drivers/net/ethernet/qlogic/qede/qede_filter.c memcpy(rss->rss_key, edev->rss_key, sizeof(rss->rss_key)); edev 630 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!(edev->rss_params_inited & QEDE_RSS_CAPS_INITED)) { edev 631 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->rss_caps = QED_RSS_IPV4 | QED_RSS_IPV6 | edev 633 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->rss_params_inited |= QEDE_RSS_CAPS_INITED; edev 635 drivers/net/ethernet/qlogic/qede/qede_filter.c rss->rss_caps = edev->rss_caps; edev 640 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_set_ucast_rx_mac(struct qede_dev *edev, edev 652 drivers/net/ethernet/qlogic/qede/qede_filter.c return edev->ops->filter_config(edev->cdev, &filter_cmd); edev 655 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_set_ucast_rx_vlan(struct qede_dev *edev, edev 667 drivers/net/ethernet/qlogic/qede/qede_filter.c return edev->ops->filter_config(edev->cdev, &filter_cmd); edev 670 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_config_accept_any_vlan(struct qede_dev *edev, bool action) edev 676 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->accept_any_vlan == action) edev 687 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = edev->ops->vport_update(edev->cdev, params); edev 689 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_ERR(edev, "Failed to %s accept-any-vlan\n", edev 692 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "%s accept-any-vlan\n", edev 694 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->accept_any_vlan = action; edev 703 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 707 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFUP, "Adding vlan 0x%04x\n", vid); edev 711 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Failed to allocate struct for vlan\n"); edev 719 drivers/net/ethernet/qlogic/qede/qede_filter.c list_for_each_entry(tmp, &edev->vlan_list, list) { edev 721 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 729 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 730 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->state != QEDE_STATE_OPEN) { edev 731 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFDOWN, edev 735 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->non_configured_vlans++; edev 736 drivers/net/ethernet/qlogic/qede/qede_filter.c list_add(&vlan->list, &edev->vlan_list); edev 744 drivers/net/ethernet/qlogic/qede/qede_filter.c if ((edev->configured_vlans < edev->dev_info.num_vlan_filters) || edev 746 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_vlan(edev, edev 750 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_ERR(edev, "Failed to configure VLAN %d\n", edev 759 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->configured_vlans++; edev 762 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->non_configured_vlans) { edev 763 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_config_accept_any_vlan(edev, true); edev 770 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->non_configured_vlans++; edev 773 drivers/net/ethernet/qlogic/qede/qede_filter.c list_add(&vlan->list, &edev->vlan_list); edev 776 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 780 drivers/net/ethernet/qlogic/qede/qede_filter.c static void qede_del_vlan_from_list(struct qede_dev *edev, edev 786 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->configured_vlans--; edev 788 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->non_configured_vlans--; edev 795 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_configure_vlan_filters(struct qede_dev *edev) edev 801 drivers/net/ethernet/qlogic/qede/qede_filter.c if (list_empty(&edev->vlan_list)) edev 804 drivers/net/ethernet/qlogic/qede/qede_filter.c dev_info = &edev->dev_info; edev 807 drivers/net/ethernet/qlogic/qede/qede_filter.c list_for_each_entry(vlan, &edev->vlan_list, list) { edev 813 drivers/net/ethernet/qlogic/qede/qede_filter.c (edev->configured_vlans == dev_info->num_vlan_filters)) { edev 818 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFUP, "Adding vlan %d\n", vlan->vid); edev 820 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_vlan(edev, QED_FILTER_XCAST_TYPE_ADD, edev 823 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_ERR(edev, "Failed to configure VLAN %u\n", edev 832 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->non_configured_vlans--; edev 833 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->configured_vlans++; edev 843 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_config_accept_any_vlan(edev, true); edev 844 drivers/net/ethernet/qlogic/qede/qede_filter.c else if (!edev->non_configured_vlans) edev 845 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_config_accept_any_vlan(edev, false); edev 855 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 859 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFDOWN, "Removing vlan 0x%04x\n", vid); edev 862 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 863 drivers/net/ethernet/qlogic/qede/qede_filter.c list_for_each_entry(vlan, &edev->vlan_list, list) edev 868 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN), edev 873 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->state != QEDE_STATE_OPEN) { edev 877 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFDOWN, edev 879 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_del_vlan_from_list(edev, vlan); edev 885 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_vlan(edev, QED_FILTER_XCAST_TYPE_DEL, edev 888 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_ERR(edev, "Failed to remove VLAN %d\n", vid); edev 893 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_del_vlan_from_list(edev, vlan); edev 898 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_configure_vlan_filters(edev); edev 901 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 905 drivers/net/ethernet/qlogic/qede/qede_filter.c void qede_vlan_mark_nonconfigured(struct qede_dev *edev) edev 909 drivers/net/ethernet/qlogic/qede/qede_filter.c if (list_empty(&edev->vlan_list)) edev 912 drivers/net/ethernet/qlogic/qede/qede_filter.c list_for_each_entry(vlan, &edev->vlan_list, list) { edev 920 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->non_configured_vlans++; edev 921 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->configured_vlans--; edev 924 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFDOWN, edev 928 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->accept_any_vlan = false; edev 931 drivers/net/ethernet/qlogic/qede/qede_filter.c static void qede_set_features_reload(struct qede_dev *edev, edev 934 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ndev->features = args->u.features; edev 940 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 942 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->xdp_prog || edev->ndev->mtu > PAGE_SIZE || edev 951 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 968 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 969 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->xdp_prog) edev 970 drivers/net/ethernet/qlogic/qede/qede_filter.c args.func(edev, &args); edev 972 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_reload(edev, &args, true); edev 973 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 983 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 992 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->dev_info.common.vxlan_enable) edev 995 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->vxlan_dst_port) edev 1001 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1002 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = edev->ops->tunn_config(edev->cdev, &tunn_params); edev 1003 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1006 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->vxlan_dst_port = t_port; edev 1007 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, QED_MSG_DEBUG, "Added vxlan port=%d\n", edev 1010 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Failed to add vxlan UDP port=%d\n", edev 1016 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->dev_info.common.geneve_enable) edev 1019 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->geneve_dst_port) edev 1025 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1026 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = edev->ops->tunn_config(edev->cdev, &tunn_params); edev 1027 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1030 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->geneve_dst_port = t_port; edev 1031 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 1034 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Failed to add geneve UDP port=%d\n", edev 1047 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 1055 drivers/net/ethernet/qlogic/qede/qede_filter.c if (t_port != edev->vxlan_dst_port) edev 1061 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1062 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->tunn_config(edev->cdev, &tunn_params); edev 1063 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1065 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->vxlan_dst_port = 0; edev 1067 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, QED_MSG_DEBUG, "Deleted vxlan port=%d\n", edev 1072 drivers/net/ethernet/qlogic/qede/qede_filter.c if (t_port != edev->geneve_dst_port) edev 1078 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1079 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->tunn_config(edev->cdev, &tunn_params); edev 1080 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1082 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->geneve_dst_port = 0; edev 1084 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, QED_MSG_DEBUG, "Deleted geneve port=%d\n", edev 1092 drivers/net/ethernet/qlogic/qede/qede_filter.c static void qede_xdp_reload_func(struct qede_dev *edev, edev 1097 drivers/net/ethernet/qlogic/qede/qede_filter.c old = xchg(&edev->xdp_prog, args->u.new_prog); edev 1102 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_xdp_set(struct qede_dev *edev, struct bpf_prog *prog) edev 1109 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_reload(edev, &args, false); edev 1116 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(dev); edev 1120 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_xdp_set(edev, xdp->prog); edev 1122 drivers/net/ethernet/qlogic/qede/qede_filter.c xdp->prog_id = edev->xdp_prog ? edev->xdp_prog->aux->id : 0; edev 1129 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_set_mcast_rx_mac(struct qede_dev *edev, edev 1144 drivers/net/ethernet/qlogic/qede/qede_filter.c return edev->ops->filter_config(edev->cdev, &filter_cmd); edev 1149 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(ndev); edev 1157 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1160 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "The MAC address is not valid\n"); edev 1165 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->ops->check_mac(edev->cdev, addr->sa_data)) { edev 1166 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "qed prevents setting MAC %pM\n", edev 1172 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->state == QEDE_STATE_OPEN) { edev 1174 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_mac(edev, QED_FILTER_XCAST_TYPE_DEL, edev 1181 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Setting device MAC to %pM\n", addr->sa_data); edev 1183 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->state != QEDE_STATE_OPEN) { edev 1184 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFDOWN, edev 1187 drivers/net/ethernet/qlogic/qede/qede_filter.c if (IS_VF(edev) && edev->ops->req_bulletin_update_mac) edev 1188 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->req_bulletin_update_mac(edev->cdev, edev 1193 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->common->update_mac(edev->cdev, ndev->dev_addr); edev 1195 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_mac(edev, QED_FILTER_XCAST_TYPE_ADD, edev 1198 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1206 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(ndev); edev 1216 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, edev 1225 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_mcast_rx_mac(edev, QED_FILTER_XCAST_TYPE_DEL, edev 1248 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_mcast_rx_mac(edev, QED_FILTER_XCAST_TYPE_ADD, edev 1259 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(ndev); edev 1261 drivers/net/ethernet/qlogic/qede/qede_filter.c set_bit(QEDE_SP_RX_MODE, &edev->sp_flags); edev 1262 drivers/net/ethernet/qlogic/qede/qede_filter.c schedule_delayed_work(&edev->sp_task, 0); edev 1269 drivers/net/ethernet/qlogic/qede/qede_filter.c struct qede_dev *edev = netdev_priv(ndev); edev 1283 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Failed to allocate memory for unicast MACs\n"); edev 1303 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_mac(edev, QED_FILTER_XCAST_TYPE_REPLACE, edev 1304 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ndev->dev_addr); edev 1315 drivers/net/ethernet/qlogic/qede/qede_filter.c if (uc_count < edev->dev_info.num_mac_filters) { edev 1320 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_set_ucast_rx_mac(edev, edev 1338 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_config_accept_any_vlan(edev, true); edev 1339 drivers/net/ethernet/qlogic/qede/qede_filter.c } else if (!edev->non_configured_vlans) { edev 1344 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_config_accept_any_vlan(edev, false); edev 1348 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->ops->filter_config(edev->cdev, &rx_mode); edev 1365 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_get_cls_rule_all(struct qede_dev *edev, struct ethtool_rxnfc *info, edev 1374 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1376 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) { edev 1381 drivers/net/ethernet/qlogic/qede/qede_filter.c head = QEDE_ARFS_BUCKET_HEAD(edev, 0); edev 1396 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1400 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_get_cls_rule_entry(struct qede_dev *edev, struct ethtool_rxnfc *cmd) edev 1408 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1410 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) { edev 1415 drivers/net/ethernet/qlogic/qede/qede_filter.c fltr = qede_get_arfs_fltr_by_loc(QEDE_ARFS_BUCKET_HEAD(edev, 0), edev 1418 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Rule not found - location=0x%x\n", edev 1457 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1462 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_poll_arfs_filter_config(struct qede_dev *edev, edev 1473 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Timeout in polling filter config\n"); edev 1474 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_dequeue_fltr_and_config_searcher(edev, fltr); edev 1582 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_flow_spec_validate_unused(struct qede_dev *edev, edev 1586 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Don't support MAC extensions\n"); edev 1592 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Don't support vlan-based classification\n"); edev 1598 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Don't support user defined data\n"); edev 1605 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_set_v4_tuple_to_profile(struct qede_dev *edev, edev 1623 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Invalid N-tuple\n"); edev 1634 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_set_v6_tuple_to_profile(struct qede_dev *edev, edev 1658 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Invalid N-tuple\n"); edev 1670 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_find_fltr(struct qede_dev *edev, struct qede_arfs_tuple *t) edev 1676 drivers/net/ethernet/qlogic/qede/qede_filter.c head = QEDE_ARFS_BUCKET_HEAD(edev, 0); edev 1689 drivers/net/ethernet/qlogic/qede/qede_filter.c static void qede_flow_set_destination(struct qede_dev *edev, edev 1703 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, QED_MSG_SP, edev 1707 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_delete_flow_filter(struct qede_dev *edev, u64 cookie) edev 1712 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1713 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) edev 1716 drivers/net/ethernet/qlogic/qede/qede_filter.c fltr = qede_get_arfs_fltr_by_loc(QEDE_ARFS_BUCKET_HEAD(edev, 0), edev 1721 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, fltr, fltr->rxq_id, false); edev 1723 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_poll_arfs_filter_config(edev, fltr); edev 1725 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_dequeue_fltr_and_config_searcher(edev, fltr); edev 1728 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1732 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_get_arfs_filter_count(struct qede_dev *edev) edev 1736 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1738 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) edev 1741 drivers/net/ethernet/qlogic/qede/qede_filter.c count = edev->arfs->filter_count; edev 1744 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 1748 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_parse_actions(struct qede_dev *edev, edev 1755 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "No actions received\n"); edev 1767 drivers/net/ethernet/qlogic/qede/qede_filter.c if (act->queue.index >= QEDE_RSS_COUNT(edev)) { edev 1768 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Queue out-of-bounds\n"); edev 1781 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_ports(struct qede_dev *edev, struct flow_rule *rule, edev 1790 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Do not support ports masks\n"); edev 1802 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_v6_common(struct qede_dev *edev, struct flow_rule *rule, edev 1818 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, edev 1827 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_parse_ports(edev, rule, t)) edev 1830 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_set_v6_tuple_to_profile(edev, t, &zero_addr); edev 1834 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_v4_common(struct qede_dev *edev, struct flow_rule *rule, edev 1843 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Do not support ipv4 prefix/masks\n"); edev 1851 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_parse_ports(edev, rule, t)) edev 1854 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_set_v4_tuple_to_profile(edev, t); edev 1858 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_tcp_v6(struct qede_dev *edev, struct flow_rule *rule, edev 1864 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v6_common(edev, rule, tuple); edev 1868 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_tcp_v4(struct qede_dev *edev, struct flow_rule *rule, edev 1874 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v4_common(edev, rule, tuple); edev 1878 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_udp_v6(struct qede_dev *edev, struct flow_rule *rule, edev 1884 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v6_common(edev, rule, tuple); edev 1888 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_parse_udp_v4(struct qede_dev *edev, struct flow_rule *rule, edev 1894 drivers/net/ethernet/qlogic/qede/qede_filter.c return qede_flow_parse_v4_common(edev, rule, tuple); edev 1898 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_parse_flow_attr(struct qede_dev *edev, __be16 proto, edev 1913 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Unsupported key set:0x%x\n", edev 1920 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Unsupported proto=0x%x\n", proto); edev 1932 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_tcp_v4(edev, rule, tuple); edev 1934 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_tcp_v6(edev, rule, tuple); edev 1936 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_udp_v4(edev, rule, tuple); edev 1938 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_parse_udp_v6(edev, rule, tuple); edev 1940 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, "Invalid protocol request\n"); edev 1945 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto, edev 1952 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 1954 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) { edev 1960 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_flow_attr(edev, proto, f->rule, &t)) edev 1964 drivers/net/ethernet/qlogic/qede/qede_filter.c if ((edev->arfs->filter_count && edev->arfs->mode != t.mode) || edev 1965 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->filter_count == QEDE_RFS_MAX_FLTR) { edev 1966 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_NOTICE(edev, edev 1968 drivers/net/ethernet/qlogic/qede/qede_filter.c t.mode, edev->arfs->mode, edev->arfs->filter_count); edev 1973 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_actions(edev, &f->rule->action)) edev 1976 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_find_fltr(edev, &t)) { edev 2004 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_enqueue_fltr_and_config_searcher(edev, n, 0); edev 2008 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, n, n->rxq_id, true); edev 2009 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_poll_arfs_filter_config(edev, n); edev 2012 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 2016 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_flow_spec_validate(struct qede_dev *edev, edev 2022 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Location out-of-bounds\n"); edev 2027 drivers/net/ethernet/qlogic/qede/qede_filter.c if (test_bit(location, edev->arfs->arfs_fltr_bmap)) { edev 2028 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, "Location already in use\n"); edev 2033 drivers/net/ethernet/qlogic/qede/qede_filter.c if (edev->arfs->filter_count && edev 2034 drivers/net/ethernet/qlogic/qede/qede_filter.c edev->arfs->mode != t->mode) { edev 2035 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_INFO(edev, edev 2037 drivers/net/ethernet/qlogic/qede/qede_filter.c t->mode, edev->arfs->filter_count); edev 2041 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_actions(edev, flow_action)) edev 2047 drivers/net/ethernet/qlogic/qede/qede_filter.c static int qede_flow_spec_to_rule(struct qede_dev *edev, edev 2056 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_spec_validate_unused(edev, fs)) edev 2069 drivers/net/ethernet/qlogic/qede/qede_filter.c DP_VERBOSE(edev, NETIF_MSG_IFUP, edev 2079 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_parse_flow_attr(edev, proto, flow->rule, t)) { edev 2085 drivers/net/ethernet/qlogic/qede/qede_filter.c err = qede_flow_spec_validate(edev, &flow->rule->action, t, edev 2093 drivers/net/ethernet/qlogic/qede/qede_filter.c int qede_add_cls_rule(struct qede_dev *edev, struct ethtool_rxnfc *info) edev 2100 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_lock(edev); edev 2102 drivers/net/ethernet/qlogic/qede/qede_filter.c if (!edev->arfs) { edev 2108 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_flow_spec_to_rule(edev, &t, fsp); edev 2112 drivers/net/ethernet/qlogic/qede/qede_filter.c if (qede_flow_find_fltr(edev, &t)) { edev 2132 drivers/net/ethernet/qlogic/qede/qede_filter.c set_bit(n->sw_id, edev->arfs->arfs_fltr_bmap); edev 2137 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_flow_set_destination(edev, n, fsp); edev 2142 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_enqueue_fltr_and_config_searcher(edev, n, 0); edev 2146 drivers/net/ethernet/qlogic/qede/qede_filter.c qede_configure_arfs_fltr(edev, n, n->rxq_id, true); edev 2147 drivers/net/ethernet/qlogic/qede/qede_filter.c rc = qede_poll_arfs_filter_config(edev, n); edev 2149 drivers/net/ethernet/qlogic/qede/qede_filter.c __qede_unlock(edev); edev 100 drivers/net/ethernet/qlogic/qede/qede_fp.c int qede_free_tx_pkt(struct qede_dev *edev, struct qede_tx_queue *txq, int *len) edev 112 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 132 drivers/net/ethernet/qlogic/qede/qede_fp.c dma_unmap_single(&edev->pdev->dev, BD_UNMAP_ADDR(first_bd), edev 139 drivers/net/ethernet/qlogic/qede/qede_fp.c dma_unmap_page(&edev->pdev->dev, BD_UNMAP_ADDR(tx_data_bd), edev 330 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_xdp_xmit(struct qede_dev *edev, struct qede_fastpath *fp, edev 361 drivers/net/ethernet/qlogic/qede/qede_fp.c dma_sync_single_for_device(&edev->pdev->dev, edev 388 drivers/net/ethernet/qlogic/qede/qede_fp.c static void qede_xdp_tx_int(struct qede_dev *edev, struct qede_tx_queue *txq) edev 399 drivers/net/ethernet/qlogic/qede/qede_fp.c dma_unmap_page(&edev->pdev->dev, edev 409 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_tx_int(struct qede_dev *edev, struct qede_tx_queue *txq) edev 416 drivers/net/ethernet/qlogic/qede/qede_fp.c netdev_txq = netdev_get_tx_queue(edev->ndev, txq->ndev_txq_id); edev 424 drivers/net/ethernet/qlogic/qede/qede_fp.c rc = qede_free_tx_pkt(edev, txq, &len); edev 426 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_NOTICE(edev, "hw_bd_cons = %d, chain_cons=%d\n", edev 465 drivers/net/ethernet/qlogic/qede/qede_fp.c (edev->state == QEDE_STATE_OPEN) && edev 469 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_VERBOSE(edev, NETIF_MSG_TX_DONE, edev 565 drivers/net/ethernet/qlogic/qede/qede_fp.c void qede_update_rx_prod(struct qede_dev *edev, struct qede_rx_queue *rxq) edev 614 drivers/net/ethernet/qlogic/qede/qede_fp.c static inline void qede_skb_receive(struct qede_dev *edev, edev 625 drivers/net/ethernet/qlogic/qede/qede_fp.c static void qede_set_gro_params(struct qede_dev *edev, edev 641 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_fill_frag_skb(struct qede_dev *edev, edev 733 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_tpa_rx_build_skb(struct qede_dev *edev, edev 745 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_NOTICE(edev, edev 764 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_rx_build_skb(struct qede_dev *edev, edev 774 drivers/net/ethernet/qlogic/qede/qede_fp.c if ((len + pad <= edev->rx_copybreak)) { edev 777 drivers/net/ethernet/qlogic/qede/qede_fp.c skb = netdev_alloc_skb(edev->ndev, QEDE_RX_HDR_SIZE); edev 805 drivers/net/ethernet/qlogic/qede/qede_fp.c static void qede_tpa_start(struct qede_dev *edev, edev 816 drivers/net/ethernet/qlogic/qede/qede_fp.c tpa_info->skb = qede_tpa_rx_build_skb(edev, rxq, sw_rx_data_cons, edev 823 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_NOTICE(edev, "Failed to allocate SKB for gro\n"); edev 848 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_set_gro_params(edev, tpa_info->skb, cqe); edev 852 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index, edev 856 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 891 drivers/net/ethernet/qlogic/qede/qede_fp.c static void qede_gro_receive(struct qede_dev *edev, edev 919 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 928 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_skb_receive(edev, fp, fp->rxq, skb, vlan_tag); edev 931 drivers/net/ethernet/qlogic/qede/qede_fp.c static inline void qede_tpa_cont(struct qede_dev *edev, edev 938 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index, edev 942 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 946 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_tpa_end(struct qede_dev *edev, edev 963 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index, edev 966 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 974 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 978 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 983 drivers/net/ethernet/qlogic/qede/qede_fp.c skb->protocol = eth_type_trans(skb, edev->ndev); edev 991 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_gro_receive(edev, fp, skb, tpa_info->vlan_tag); edev 1053 drivers/net/ethernet/qlogic/qede/qede_fp.c static bool qede_rx_xdp(struct qede_dev *edev, edev 1093 drivers/net/ethernet/qlogic/qede/qede_fp.c trace_xdp_exception(edev->ndev, prog, act); edev 1100 drivers/net/ethernet/qlogic/qede/qede_fp.c if (qede_xdp_xmit(edev, fp, bd, *data_offset, *len)) { edev 1104 drivers/net/ethernet/qlogic/qede/qede_fp.c trace_xdp_exception(edev->ndev, prog, act); edev 1115 drivers/net/ethernet/qlogic/qede/qede_fp.c trace_xdp_exception(edev->ndev, prog, act); edev 1124 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_rx_build_jumbo(struct qede_dev *edev, edev 1143 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 1173 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_ERR(edev, edev 1181 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_rx_process_tpa_cqe(struct qede_dev *edev, edev 1189 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_tpa_start(edev, rxq, &cqe->fast_path_tpa_start); edev 1192 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_tpa_cont(edev, rxq, &cqe->fast_path_tpa_cont); edev 1195 drivers/net/ethernet/qlogic/qede/qede_fp.c return qede_tpa_end(edev, fp, &cqe->fast_path_tpa_end); edev 1201 drivers/net/ethernet/qlogic/qede/qede_fp.c static int qede_rx_process_cqe(struct qede_dev *edev, edev 1224 drivers/net/ethernet/qlogic/qede/qede_fp.c edev->ops->eth_cqe_completion(edev->cdev, fp->id, sp_cqe); edev 1230 drivers/net/ethernet/qlogic/qede/qede_fp.c return qede_rx_process_tpa_cqe(edev, fp, rxq, cqe, cqe_type); edev 1244 drivers/net/ethernet/qlogic/qede/qede_fp.c if (!qede_rx_xdp(edev, fp, rxq, xdp_prog, bd, fp_cqe, edev 1263 drivers/net/ethernet/qlogic/qede/qede_fp.c skb = qede_rx_build_skb(edev, rxq, bd, len, pad); edev 1274 drivers/net/ethernet/qlogic/qede/qede_fp.c u16 unmapped_frags = qede_rx_build_jumbo(edev, rxq, skb, edev 1285 drivers/net/ethernet/qlogic/qede/qede_fp.c skb->protocol = eth_type_trans(skb, edev->ndev); edev 1289 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_ptp_record_rx_ts(edev, cqe, skb); edev 1292 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_skb_receive(edev, fp, rxq, skb, le16_to_cpu(fp_cqe->vlan_tag)); edev 1300 drivers/net/ethernet/qlogic/qede/qede_fp.c struct qede_dev *edev = fp->edev; edev 1316 drivers/net/ethernet/qlogic/qede/qede_fp.c rcv_pkts += qede_rx_process_cqe(edev, fp, rxq); edev 1330 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_update_rx_prod(edev, rxq); edev 1362 drivers/net/ethernet/qlogic/qede/qede_fp.c for_each_cos_in_txq(fp->edev, cos) { edev 1378 drivers/net/ethernet/qlogic/qede/qede_fp.c struct qede_dev *edev = fp->edev; edev 1384 drivers/net/ethernet/qlogic/qede/qede_fp.c for_each_cos_in_txq(fp->edev, cos) { edev 1386 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_tx_int(edev, &fp->txq[cos]); edev 1391 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_xdp_tx_int(edev, fp->xdp_tx); edev 1431 drivers/net/ethernet/qlogic/qede/qede_fp.c struct qede_dev *edev = netdev_priv(ndev); edev 1449 drivers/net/ethernet/qlogic/qede/qede_fp.c WARN_ON(txq_index >= QEDE_TSS_COUNT(edev) * edev->dev_info.num_tc); edev 1450 drivers/net/ethernet/qlogic/qede/qede_fp.c txq = QEDE_NDEV_TXQ_ID_TO_TXQ(edev, txq_index); edev 1478 drivers/net/ethernet/qlogic/qede/qede_fp.c qede_ptp_tx_ts(edev, skb); edev 1484 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_NOTICE(edev, "SKB mapping failed\n"); edev 1576 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_VERBOSE(edev, NETIF_MSG_TX_QUEUED, edev 1669 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_VERBOSE(edev, NETIF_MSG_TX_QUEUED, edev 1679 drivers/net/ethernet/qlogic/qede/qede_fp.c (edev->state == QEDE_STATE_OPEN)) { edev 1681 drivers/net/ethernet/qlogic/qede/qede_fp.c DP_VERBOSE(edev, NETIF_MSG_TX_QUEUED, edev 1692 drivers/net/ethernet/qlogic/qede/qede_fp.c struct qede_dev *edev = netdev_priv(dev); edev 1695 drivers/net/ethernet/qlogic/qede/qede_fp.c total_txq = QEDE_TSS_COUNT(edev) * edev->dev_info.num_tc; edev 1697 drivers/net/ethernet/qlogic/qede/qede_fp.c return QEDE_TSS_COUNT(edev) ? edev 1727 drivers/net/ethernet/qlogic/qede/qede_fp.c struct qede_dev *edev = netdev_priv(dev); edev 1731 drivers/net/ethernet/qlogic/qede/qede_fp.c vxln_port = edev->vxlan_dst_port; edev 1732 drivers/net/ethernet/qlogic/qede/qede_fp.c gnv_port = edev->geneve_dst_port; edev 137 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_recovery_handler(struct qede_dev *edev); edev 138 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_get_eth_tlv_data(void *edev, void *data); edev 139 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_get_generic_tlv_data(void *edev, edev 146 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(ndev); edev 149 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Illegal vlan value %d\n", vlan); edev 156 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, QED_MSG_IOV, "Setting Vlan 0x%04x to VF [%d]\n", edev 159 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->set_vlan(edev->cdev, vlan, vf); edev 164 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(ndev); edev 166 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, QED_MSG_IOV, edev 171 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, QED_MSG_IOV, "MAC address isn't valid\n"); edev 175 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->set_mac(edev->cdev, mac, vfidx); edev 180 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(pci_get_drvdata(pdev)); edev 181 drivers/net/ethernet/qlogic/qede/qede_main.c struct qed_dev_info *qed_info = &edev->dev_info.common; edev 188 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, QED_MSG_IOV, "Requested %d VFs\n", num_vfs_param); edev 190 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->iov->configure(edev->cdev, num_vfs_param); edev 193 drivers/net/ethernet/qlogic/qede/qede_main.c if ((rc == num_vfs_param) && netif_running(edev->ndev) && edev 198 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->vport_update(edev->cdev, vport_params); edev 236 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev; edev 249 drivers/net/ethernet/qlogic/qede/qede_main.c edev = netdev_priv(ndev); edev 254 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->ops || !edev->ops->common) edev 256 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_name(edev->cdev, edev->ndev->name); edev 259 drivers/net/ethernet/qlogic/qede/qede_main.c edev = netdev_priv(ndev); edev 260 drivers/net/ethernet/qlogic/qede/qede_main.c qede_rdma_event_changeaddr(edev); edev 322 drivers/net/ethernet/qlogic/qede/qede_main.c void qede_fill_by_demand_stats(struct qede_dev *edev) edev 324 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_stats_common *p_common = &edev->stats.common; edev 327 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->get_vport_stats(edev->cdev, &stats); edev 393 drivers/net/ethernet/qlogic/qede/qede_main.c p_common->ptp_skip_txts = edev->ptp_skip_txts; edev 395 drivers/net/ethernet/qlogic/qede/qede_main.c if (QEDE_IS_BB(edev)) { edev 396 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_stats_bb *p_bb = &edev->stats.bb; edev 419 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_stats_ah *p_ah = &edev->stats.ah; edev 431 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 434 drivers/net/ethernet/qlogic/qede/qede_main.c qede_fill_by_demand_stats(edev); edev 435 drivers/net/ethernet/qlogic/qede/qede_main.c p_common = &edev->stats.common; edev 452 drivers/net/ethernet/qlogic/qede/qede_main.c if (QEDE_IS_BB(edev)) edev 453 drivers/net/ethernet/qlogic/qede/qede_main.c stats->collisions = edev->stats.bb.tx_total_collisions; edev 462 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 464 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->ops) edev 467 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->get_config(edev->cdev, vfidx, ivi); edev 473 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 475 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->set_rate(edev->cdev, vfidx, min_tx_rate, edev 481 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 483 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->ops) edev 486 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->set_spoof(edev->cdev, vfidx, val); edev 492 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 494 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->ops) edev 497 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->set_link_state(edev->cdev, vfidx, link_state); edev 502 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 504 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->ops) edev 507 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->iov->set_trust(edev->cdev, vfidx, setting); edev 513 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 520 drivers/net/ethernet/qlogic/qede/qede_main.c return qede_ptp_hw_ts(edev, ifr); edev 522 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 532 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(ndev); edev 535 drivers/net/ethernet/qlogic/qede/qede_main.c if (num_tc > edev->dev_info.num_tc) edev 541 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 542 drivers/net/ethernet/qlogic/qede/qede_main.c count = QEDE_TSS_COUNT(edev); edev 543 drivers/net/ethernet/qlogic/qede/qede_main.c offset = cos * QEDE_TSS_COUNT(edev); edev 551 drivers/net/ethernet/qlogic/qede/qede_main.c qede_set_flower(struct qede_dev *edev, struct flow_cls_offload *f, edev 556 drivers/net/ethernet/qlogic/qede/qede_main.c return qede_add_tc_flower_fltr(edev, proto, f); edev 558 drivers/net/ethernet/qlogic/qede/qede_main.c return qede_delete_flow_filter(edev, f->cookie); edev 568 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = cb_priv; edev 570 drivers/net/ethernet/qlogic/qede/qede_main.c if (!tc_cls_can_offload_and_chain0(edev->ndev, type_data)) edev 576 drivers/net/ethernet/qlogic/qede/qede_main.c return qede_set_flower(edev, f, f->common.protocol); edev 588 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(dev); edev 596 drivers/net/ethernet/qlogic/qede/qede_main.c edev, edev, true); edev 693 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev; edev 695 drivers/net/ethernet/qlogic/qede/qede_main.c ndev = alloc_etherdev_mqs(sizeof(*edev), edev 703 drivers/net/ethernet/qlogic/qede/qede_main.c edev = netdev_priv(ndev); edev 704 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ndev = ndev; edev 705 drivers/net/ethernet/qlogic/qede/qede_main.c edev->cdev = cdev; edev 706 drivers/net/ethernet/qlogic/qede/qede_main.c edev->pdev = pdev; edev 707 drivers/net/ethernet/qlogic/qede/qede_main.c edev->dp_module = dp_module; edev 708 drivers/net/ethernet/qlogic/qede/qede_main.c edev->dp_level = dp_level; edev 709 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops = qed_ops; edev 710 drivers/net/ethernet/qlogic/qede/qede_main.c edev->q_num_rx_buffers = NUM_RX_BDS_DEF; edev 711 drivers/net/ethernet/qlogic/qede/qede_main.c edev->q_num_tx_buffers = NUM_TX_BDS_DEF; edev 713 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Allocated netdev with %d tx queues and %d rx queues\n", edev 718 drivers/net/ethernet/qlogic/qede/qede_main.c memset(&edev->stats, 0, sizeof(edev->stats)); edev 719 drivers/net/ethernet/qlogic/qede/qede_main.c memcpy(&edev->dev_info, info, sizeof(*info)); edev 724 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->dev_info.common.wol_support) edev 725 drivers/net/ethernet/qlogic/qede/qede_main.c edev->wol_enabled = true; edev 727 drivers/net/ethernet/qlogic/qede/qede_main.c INIT_LIST_HEAD(&edev->vlan_list); edev 729 drivers/net/ethernet/qlogic/qede/qede_main.c return edev; edev 732 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_init_ndev(struct qede_dev *edev) edev 734 drivers/net/ethernet/qlogic/qede/qede_main.c struct net_device *ndev = edev->ndev; edev 735 drivers/net/ethernet/qlogic/qede/qede_main.c struct pci_dev *pdev = edev->pdev; edev 741 drivers/net/ethernet/qlogic/qede/qede_main.c ndev->mem_start = edev->dev_info.common.pci_mem_start; edev 743 drivers/net/ethernet/qlogic/qede/qede_main.c ndev->mem_end = edev->dev_info.common.pci_mem_end; edev 744 drivers/net/ethernet/qlogic/qede/qede_main.c ndev->irq = edev->dev_info.common.pci_irq; edev 748 drivers/net/ethernet/qlogic/qede/qede_main.c if (IS_VF(edev)) { edev 749 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->dev_info.xdp_supported) edev 766 drivers/net/ethernet/qlogic/qede/qede_main.c if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) edev 769 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->dev_info.common.vxlan_enable || edev 770 drivers/net/ethernet/qlogic/qede/qede_main.c edev->dev_info.common.geneve_enable) edev 773 drivers/net/ethernet/qlogic/qede/qede_main.c if (udp_tunnel_enable || edev->dev_info.common.gre_enable) { edev 788 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->dev_info.common.gre_enable) { edev 807 drivers/net/ethernet/qlogic/qede/qede_main.c ether_addr_copy(edev->ndev->dev_addr, edev->dev_info.common.hw_mac); edev 809 drivers/net/ethernet/qlogic/qede/qede_main.c ndev->mtu = edev->dev_info.common.mtu; edev 838 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_fp_array(struct qede_dev *edev) edev 840 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->fp_array) { edev 845 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[i]; edev 858 drivers/net/ethernet/qlogic/qede/qede_main.c kfree(edev->fp_array); edev 861 drivers/net/ethernet/qlogic/qede/qede_main.c edev->num_queues = 0; edev 862 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_num_tx = 0; edev 863 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_num_rx = 0; edev 866 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_alloc_fp_array(struct qede_dev *edev) edev 868 drivers/net/ethernet/qlogic/qede/qede_main.c u8 fp_combined, fp_rx = edev->fp_num_rx; edev 872 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_array = kcalloc(QEDE_QUEUE_CNT(edev), edev 873 drivers/net/ethernet/qlogic/qede/qede_main.c sizeof(*edev->fp_array), GFP_KERNEL); edev 874 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->fp_array) { edev 875 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "fp array allocation failed\n"); edev 879 drivers/net/ethernet/qlogic/qede/qede_main.c fp_combined = QEDE_QUEUE_CNT(edev) - fp_rx - edev->fp_num_tx; edev 887 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[i]; edev 891 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "sb info struct allocation failed\n"); edev 906 drivers/net/ethernet/qlogic/qede/qede_main.c fp->txq = kcalloc(edev->dev_info.num_tc, edev 917 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->xdp_prog) { edev 929 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_fp_array(edev); edev 936 drivers/net/ethernet/qlogic/qede/qede_main.c void __qede_lock(struct qede_dev *edev) edev 938 drivers/net/ethernet/qlogic/qede/qede_main.c mutex_lock(&edev->qede_lock); edev 941 drivers/net/ethernet/qlogic/qede/qede_main.c void __qede_unlock(struct qede_dev *edev) edev 943 drivers/net/ethernet/qlogic/qede/qede_main.c mutex_unlock(&edev->qede_lock); edev 949 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_lock(struct qede_dev *edev) edev 952 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_lock(edev); edev 955 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_unlock(struct qede_dev *edev) edev 957 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_unlock(edev); edev 963 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = container_of(work, struct qede_dev, edev 972 drivers/net/ethernet/qlogic/qede/qede_main.c if (test_and_clear_bit(QEDE_SP_RECOVERY, &edev->sp_flags)) { edev 977 drivers/net/ethernet/qlogic/qede/qede_main.c qede_sriov_configure(edev->pdev, 0); edev 979 drivers/net/ethernet/qlogic/qede/qede_main.c qede_lock(edev); edev 980 drivers/net/ethernet/qlogic/qede/qede_main.c qede_recovery_handler(edev); edev 981 drivers/net/ethernet/qlogic/qede/qede_main.c qede_unlock(edev); edev 984 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_lock(edev); edev 986 drivers/net/ethernet/qlogic/qede/qede_main.c if (test_and_clear_bit(QEDE_SP_RX_MODE, &edev->sp_flags)) edev 987 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->state == QEDE_STATE_OPEN) edev 988 drivers/net/ethernet/qlogic/qede/qede_main.c qede_config_rx_mode(edev->ndev); edev 991 drivers/net/ethernet/qlogic/qede/qede_main.c if (test_and_clear_bit(QEDE_SP_ARFS_CONFIG, &edev->sp_flags)) { edev 992 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->state == QEDE_STATE_OPEN) edev 993 drivers/net/ethernet/qlogic/qede/qede_main.c qede_process_arfs_filters(edev, false); edev 996 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_unlock(edev); edev 1023 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_log_probe(struct qede_dev *edev) edev 1025 drivers/net/ethernet/qlogic/qede/qede_main.c struct qed_dev_info *p_dev_info = &edev->dev_info.common; edev 1053 drivers/net/ethernet/qlogic/qede/qede_main.c pr_info("qede %02x:%02x.%02x: %s [%s]\n", edev->pdev->bus->number, edev 1054 drivers/net/ethernet/qlogic/qede/qede_main.c PCI_SLOT(edev->pdev->devfn), PCI_FUNC(edev->pdev->devfn), edev 1055 drivers/net/ethernet/qlogic/qede/qede_main.c buf, edev->ndev->name); edev 1069 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev; edev 1110 drivers/net/ethernet/qlogic/qede/qede_main.c edev = qede_alloc_etherdev(cdev, pdev, &dev_info, dp_module, edev 1112 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev) { edev 1119 drivers/net/ethernet/qlogic/qede/qede_main.c edev = netdev_priv(ndev); edev 1120 drivers/net/ethernet/qlogic/qede/qede_main.c edev->cdev = cdev; edev 1121 drivers/net/ethernet/qlogic/qede/qede_main.c memset(&edev->stats, 0, sizeof(edev->stats)); edev 1122 drivers/net/ethernet/qlogic/qede/qede_main.c memcpy(&edev->dev_info, &dev_info, sizeof(dev_info)); edev 1126 drivers/net/ethernet/qlogic/qede/qede_main.c set_bit(QEDE_FLAGS_IS_VF, &edev->flags); edev 1128 drivers/net/ethernet/qlogic/qede/qede_main.c qede_init_ndev(edev); edev 1130 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_rdma_dev_add(edev, (mode == QEDE_PROBE_RECOVERY)); edev 1140 drivers/net/ethernet/qlogic/qede/qede_main.c INIT_DELAYED_WORK(&edev->sp_task, qede_sp_task); edev 1141 drivers/net/ethernet/qlogic/qede/qede_main.c mutex_init(&edev->qede_lock); edev 1143 drivers/net/ethernet/qlogic/qede/qede_main.c rc = register_netdev(edev->ndev); edev 1145 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Cannot register net-device\n"); edev 1150 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_name(cdev, edev->ndev->name); edev 1154 drivers/net/ethernet/qlogic/qede/qede_main.c qede_ptp_enable(edev, (mode == QEDE_PROBE_NORMAL)); edev 1156 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->register_ops(cdev, &qede_ll_ops, edev); edev 1159 drivers/net/ethernet/qlogic/qede/qede_main.c if (!IS_VF(edev)) edev 1160 drivers/net/ethernet/qlogic/qede/qede_main.c qede_set_dcbnl_ops(edev->ndev); edev 1163 drivers/net/ethernet/qlogic/qede/qede_main.c edev->rx_copybreak = QEDE_RX_HDR_SIZE; edev 1165 drivers/net/ethernet/qlogic/qede/qede_main.c qede_log_probe(edev); edev 1169 drivers/net/ethernet/qlogic/qede/qede_main.c qede_rdma_dev_remove(edev, (mode == QEDE_PROBE_RECOVERY)); edev 1171 drivers/net/ethernet/qlogic/qede/qede_main.c free_netdev(edev->ndev); edev 1211 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev; edev 1219 drivers/net/ethernet/qlogic/qede/qede_main.c edev = netdev_priv(ndev); edev 1220 drivers/net/ethernet/qlogic/qede/qede_main.c cdev = edev->cdev; edev 1222 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Starting qede_remove\n"); edev 1224 drivers/net/ethernet/qlogic/qede/qede_main.c qede_rdma_dev_remove(edev, (mode == QEDE_REMOVE_RECOVERY)); edev 1229 drivers/net/ethernet/qlogic/qede/qede_main.c cancel_delayed_work_sync(&edev->sp_task); edev 1231 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_power_state(cdev, PCI_D0); edev 1236 drivers/net/ethernet/qlogic/qede/qede_main.c qede_ptp_disable(edev); edev 1271 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_set_num_queues(struct qede_dev *edev) edev 1277 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->req_queues) edev 1278 drivers/net/ethernet/qlogic/qede/qede_main.c rss_num = edev->req_queues; edev 1281 drivers/net/ethernet/qlogic/qede/qede_main.c edev->dev_info.common.num_hwfns; edev 1283 drivers/net/ethernet/qlogic/qede/qede_main.c rss_num = min_t(u16, QEDE_MAX_RSS_CNT(edev), rss_num); edev 1285 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->set_fp_int(edev->cdev, rss_num); edev 1288 drivers/net/ethernet/qlogic/qede/qede_main.c edev->num_queues = rc; edev 1289 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Managed %d [of %d] RSS queues\n", edev 1290 drivers/net/ethernet/qlogic/qede/qede_main.c QEDE_QUEUE_CNT(edev), rss_num); edev 1294 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_num_tx = edev->req_num_tx; edev 1295 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_num_rx = edev->req_num_rx; edev 1300 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_mem_sb(struct qede_dev *edev, struct qed_sb_info *sb_info, edev 1304 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->sb_release(edev->cdev, sb_info, sb_id, edev 1306 drivers/net/ethernet/qlogic/qede/qede_main.c dma_free_coherent(&edev->pdev->dev, sizeof(*sb_info->sb_virt), edev 1313 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_alloc_mem_sb(struct qede_dev *edev, edev 1320 drivers/net/ethernet/qlogic/qede/qede_main.c sb_virt = dma_alloc_coherent(&edev->pdev->dev, edev 1323 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Status block allocation failed\n"); edev 1327 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->sb_init(edev->cdev, sb_info, edev 1331 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Status block initialization failed\n"); edev 1332 drivers/net/ethernet/qlogic/qede/qede_main.c dma_free_coherent(&edev->pdev->dev, sizeof(*sb_virt), edev 1340 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_rx_buffers(struct qede_dev *edev, edev 1352 drivers/net/ethernet/qlogic/qede/qede_main.c dma_unmap_page(&edev->pdev->dev, edev 1360 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_mem_rxq(struct qede_dev *edev, struct qede_rx_queue *rxq) edev 1363 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_rx_buffers(edev, rxq); edev 1369 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->chain_free(edev->cdev, &rxq->rx_bd_ring); edev 1370 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->chain_free(edev->cdev, &rxq->rx_comp_ring); edev 1385 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_alloc_mem_rxq(struct qede_dev *edev, struct qede_rx_queue *rxq) edev 1389 drivers/net/ethernet/qlogic/qede/qede_main.c rxq->num_rx_buffers = edev->q_num_rx_buffers; edev 1391 drivers/net/ethernet/qlogic/qede/qede_main.c rxq->rx_buf_size = NET_IP_ALIGN + ETH_OVERHEAD + edev->ndev->mtu; edev 1393 drivers/net/ethernet/qlogic/qede/qede_main.c rxq->rx_headroom = edev->xdp_prog ? XDP_PACKET_HEADROOM : NET_SKB_PAD; edev 1404 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->xdp_prog) { edev 1409 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ndev->features &= ~NETIF_F_GRO_HW; edev 1416 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Rx buffers ring allocation failed\n"); edev 1422 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->chain_alloc(edev->cdev, edev 1433 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->chain_alloc(edev->cdev, edev 1448 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, edev 1454 drivers/net/ethernet/qlogic/qede/qede_main.c edev->gro_disable = !(edev->ndev->features & NETIF_F_GRO_HW); edev 1455 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->gro_disable) edev 1461 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_mem_txq(struct qede_dev *edev, struct qede_tx_queue *txq) edev 1470 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->chain_free(edev->cdev, &txq->tx_pbl); edev 1474 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_alloc_mem_txq(struct qede_dev *edev, struct qede_tx_queue *txq) edev 1479 drivers/net/ethernet/qlogic/qede/qede_main.c txq->num_tx_buffers = edev->q_num_tx_buffers; edev 1494 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->chain_alloc(edev->cdev, edev 1507 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_txq(edev, txq); edev 1512 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_mem_fp(struct qede_dev *edev, struct qede_fastpath *fp) edev 1514 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_sb(edev, fp->sb_info, fp->id); edev 1517 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_rxq(edev, fp->rxq); edev 1520 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_txq(edev, fp->xdp_tx); edev 1525 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) edev 1526 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_txq(edev, &fp->txq[cos]); edev 1533 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_alloc_mem_fp(struct qede_dev *edev, struct qede_fastpath *fp) edev 1537 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_mem_sb(edev, fp->sb_info, fp->id); edev 1542 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_mem_rxq(edev, fp->rxq); edev 1548 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_mem_txq(edev, fp->xdp_tx); edev 1556 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 1557 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_mem_txq(edev, &fp->txq[cos]); edev 1567 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_free_mem_load(struct qede_dev *edev) edev 1572 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_fastpath *fp = &edev->fp_array[i]; edev 1574 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_fp(edev, fp); edev 1579 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_alloc_mem_load(struct qede_dev *edev) edev 1583 drivers/net/ethernet/qlogic/qede/qede_main.c for (queue_id = 0; queue_id < QEDE_QUEUE_CNT(edev); queue_id++) { edev 1584 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_fastpath *fp = &edev->fp_array[queue_id]; edev 1586 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_mem_fp(edev, fp); edev 1588 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, edev 1591 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_load(edev); edev 1599 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_empty_tx_queue(struct qede_dev *edev, edev 1606 drivers/net/ethernet/qlogic/qede/qede_main.c netdev_txq = netdev_get_tx_queue(edev->ndev, txq->ndev_txq_id); edev 1610 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, NETIF_MSG_IFDOWN, edev 1615 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_free_tx_pkt(edev, txq, &len); edev 1617 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, edev 1633 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_empty_tx_queues(struct qede_dev *edev) edev 1638 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->fp_array[i].type & QEDE_FASTPATH_TX) { edev 1641 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 1644 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[i]; edev 1645 drivers/net/ethernet/qlogic/qede/qede_main.c qede_empty_tx_queue(edev, edev 1652 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_init_fp(struct qede_dev *edev) edev 1658 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[queue_id]; edev 1660 drivers/net/ethernet/qlogic/qede/qede_main.c fp->edev = edev; edev 1664 drivers/net/ethernet/qlogic/qede/qede_main.c fp->xdp_tx->index = QEDE_TXQ_IDX_TO_XDP(edev, edev 1677 drivers/net/ethernet/qlogic/qede/qede_main.c fp->rxq->dev = &edev->pdev->dev; edev 1680 drivers/net/ethernet/qlogic/qede/qede_main.c WARN_ON(xdp_rxq_info_reg(&fp->rxq->xdp_rxq, edev->ndev, edev 1687 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 1693 drivers/net/ethernet/qlogic/qede/qede_main.c ndev_tx_id = QEDE_TXQ_TO_NDEV_TXQ_ID(edev, txq); edev 1696 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->dev_info.is_legacy) edev 1698 drivers/net/ethernet/qlogic/qede/qede_main.c txq->dev = &edev->pdev->dev; edev 1705 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ndev->name, queue_id); edev 1709 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_set_real_num_queues(struct qede_dev *edev) edev 1713 drivers/net/ethernet/qlogic/qede/qede_main.c rc = netif_set_real_num_tx_queues(edev->ndev, edev 1714 drivers/net/ethernet/qlogic/qede/qede_main.c QEDE_TSS_COUNT(edev) * edev 1715 drivers/net/ethernet/qlogic/qede/qede_main.c edev->dev_info.num_tc); edev 1717 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Failed to set real number of Tx queues\n"); edev 1721 drivers/net/ethernet/qlogic/qede/qede_main.c rc = netif_set_real_num_rx_queues(edev->ndev, QEDE_RSS_COUNT(edev)); edev 1723 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Failed to set real number of Rx queues\n"); edev 1730 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_napi_disable_remove(struct qede_dev *edev) edev 1735 drivers/net/ethernet/qlogic/qede/qede_main.c napi_disable(&edev->fp_array[i].napi); edev 1737 drivers/net/ethernet/qlogic/qede/qede_main.c netif_napi_del(&edev->fp_array[i].napi); edev 1741 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_napi_add_enable(struct qede_dev *edev) edev 1747 drivers/net/ethernet/qlogic/qede/qede_main.c netif_napi_add(edev->ndev, &edev->fp_array[i].napi, edev 1749 drivers/net/ethernet/qlogic/qede/qede_main.c napi_enable(&edev->fp_array[i].napi); edev 1753 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_sync_free_irqs(struct qede_dev *edev) edev 1757 drivers/net/ethernet/qlogic/qede/qede_main.c for (i = 0; i < edev->int_info.used_cnt; i++) { edev 1758 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->int_info.msix_cnt) { edev 1759 drivers/net/ethernet/qlogic/qede/qede_main.c synchronize_irq(edev->int_info.msix[i].vector); edev 1760 drivers/net/ethernet/qlogic/qede/qede_main.c free_irq(edev->int_info.msix[i].vector, edev 1761 drivers/net/ethernet/qlogic/qede/qede_main.c &edev->fp_array[i]); edev 1763 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->simd_handler_clean(edev->cdev, i); edev 1767 drivers/net/ethernet/qlogic/qede/qede_main.c edev->int_info.used_cnt = 0; edev 1770 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_req_msix_irqs(struct qede_dev *edev) edev 1775 drivers/net/ethernet/qlogic/qede/qede_main.c if (QEDE_QUEUE_CNT(edev) > edev->int_info.msix_cnt) { edev 1776 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, edev 1778 drivers/net/ethernet/qlogic/qede/qede_main.c QEDE_QUEUE_CNT(edev), edev->int_info.msix_cnt); edev 1782 drivers/net/ethernet/qlogic/qede/qede_main.c for (i = 0; i < QEDE_QUEUE_CNT(edev); i++) { edev 1784 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_fastpath *fp = &edev->fp_array[i]; edev 1786 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->ndev->rx_cpu_rmap && (fp->type & QEDE_FASTPATH_RX)) { edev 1787 drivers/net/ethernet/qlogic/qede/qede_main.c rc = irq_cpu_rmap_add(edev->ndev->rx_cpu_rmap, edev 1788 drivers/net/ethernet/qlogic/qede/qede_main.c edev->int_info.msix[i].vector); edev 1790 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Failed to add CPU rmap\n"); edev 1791 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_arfs(edev); edev 1795 drivers/net/ethernet/qlogic/qede/qede_main.c rc = request_irq(edev->int_info.msix[i].vector, edev 1796 drivers/net/ethernet/qlogic/qede/qede_main.c qede_msix_fp_int, 0, edev->fp_array[i].name, edev 1797 drivers/net/ethernet/qlogic/qede/qede_main.c &edev->fp_array[i]); edev 1799 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Request fp %d irq failed\n", i); edev 1800 drivers/net/ethernet/qlogic/qede/qede_main.c qede_sync_free_irqs(edev); edev 1803 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, NETIF_MSG_INTR, edev 1805 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_array[i].name, i, edev 1806 drivers/net/ethernet/qlogic/qede/qede_main.c &edev->fp_array[i]); edev 1807 drivers/net/ethernet/qlogic/qede/qede_main.c edev->int_info.used_cnt++; edev 1820 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_setup_irqs(struct qede_dev *edev) edev 1825 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->get_fp_int(edev->cdev, &edev->int_info); edev 1829 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->int_info.msix_cnt) { edev 1830 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_req_msix_irqs(edev); edev 1833 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ndev->irq = edev->int_info.msix[0].vector; edev 1838 drivers/net/ethernet/qlogic/qede/qede_main.c ops = edev->ops->common; edev 1839 drivers/net/ethernet/qlogic/qede/qede_main.c for (i = 0; i < QEDE_QUEUE_CNT(edev); i++) edev 1840 drivers/net/ethernet/qlogic/qede/qede_main.c ops->simd_handler_config(edev->cdev, edev 1841 drivers/net/ethernet/qlogic/qede/qede_main.c &edev->fp_array[i], i, edev 1843 drivers/net/ethernet/qlogic/qede/qede_main.c edev->int_info.used_cnt = QEDE_QUEUE_CNT(edev); edev 1848 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_drain_txq(struct qede_dev *edev, edev 1856 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, edev 1859 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->drain(edev->cdev); edev 1862 drivers/net/ethernet/qlogic/qede/qede_main.c return qede_drain_txq(edev, txq, false); edev 1864 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, edev 1881 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_stop_txq(struct qede_dev *edev, edev 1885 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->db_recovery_del(edev->cdev, txq->doorbell_addr, edev 1888 drivers/net/ethernet/qlogic/qede/qede_main.c return edev->ops->q_tx_stop(edev->cdev, rss_id, txq->handle); edev 1891 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_stop_queues(struct qede_dev *edev) edev 1894 drivers/net/ethernet/qlogic/qede/qede_main.c struct qed_dev *cdev = edev->cdev; edev 1908 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->vport_update(cdev, vport_update_params); edev 1912 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Failed to update vport\n"); edev 1918 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[i]; edev 1923 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 1924 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_drain_txq(edev, &fp->txq[cos], true); edev 1931 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_drain_txq(edev, fp->xdp_tx, true); edev 1938 drivers/net/ethernet/qlogic/qede/qede_main.c for (i = QEDE_QUEUE_CNT(edev) - 1; i >= 0; i--) { edev 1939 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[i]; edev 1945 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 1946 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_stop_txq(edev, &fp->txq[cos], i); edev 1954 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->q_rx_stop(cdev, i, fp->rxq->handle); edev 1956 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Failed to stop RXQ #%d\n", i); edev 1963 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_stop_txq(edev, fp->xdp_tx, i); edev 1972 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->vport_stop(cdev, 0); edev 1974 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Failed to stop VPORT\n"); edev 1979 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_start_txq(struct qede_dev *edev, edev 1996 drivers/net/ethernet/qlogic/qede/qede_main.c params.queue_id = QEDE_TXQ_XDP_TO_IDX(edev, txq); edev 2004 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->q_tx_start(edev->cdev, rss_id, ¶ms, phys_table, edev 2007 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Start TXQ #%d failed %d\n", txq->index, rc); edev 2025 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->common->db_recovery_add(edev->cdev, txq->doorbell_addr, edev 2032 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_start_queues(struct qede_dev *edev, bool clear_stats) edev 2035 drivers/net/ethernet/qlogic/qede/qede_main.c struct qed_dev *cdev = edev->cdev; edev 2036 drivers/net/ethernet/qlogic/qede/qede_main.c struct qed_dev_info *qed_info = &edev->dev_info.common; edev 2042 drivers/net/ethernet/qlogic/qede/qede_main.c if (!edev->num_queues) { edev 2043 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, edev 2052 drivers/net/ethernet/qlogic/qede/qede_main.c start.handle_ptp_pkts = !!(edev->ptp); edev 2053 drivers/net/ethernet/qlogic/qede/qede_main.c start.gro_enable = !edev->gro_disable; edev 2054 drivers/net/ethernet/qlogic/qede/qede_main.c start.mtu = edev->ndev->mtu; edev 2060 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->vport_start(cdev, &start); edev 2063 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Start V-PORT failed %d\n", rc); edev 2067 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, NETIF_MSG_IFUP, edev 2069 drivers/net/ethernet/qlogic/qede/qede_main.c start.vport_id, edev->ndev->mtu + 0xe, vlan_removal_en); edev 2072 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_fastpath *fp = &edev->fp_array[i]; edev 2092 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->q_rx_start(cdev, i, &q_params, edev 2098 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Start RXQ #%d failed %d\n", i, edev 2110 drivers/net/ethernet/qlogic/qede/qede_main.c qede_update_rx_prod(edev, rxq); edev 2114 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_start_txq(edev, fp, fp->xdp_tx, i, XDP_PI); edev 2118 drivers/net/ethernet/qlogic/qede/qede_main.c fp->rxq->xdp_prog = bpf_prog_add(edev->xdp_prog, 1); edev 2129 drivers/net/ethernet/qlogic/qede/qede_main.c for_each_cos_in_txq(edev, cos) { edev 2130 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_start_txq(edev, fp, &fp->txq[cos], i, edev 2143 drivers/net/ethernet/qlogic/qede/qede_main.c if ((qed_info->b_inter_pf_switch || pci_num_vf(edev->pdev)) && edev 2149 drivers/net/ethernet/qlogic/qede/qede_main.c qede_fill_rss_params(edev, &vport_update_params->rss_params, edev 2152 drivers/net/ethernet/qlogic/qede/qede_main.c rc = edev->ops->vport_update(cdev, vport_update_params); edev 2154 drivers/net/ethernet/qlogic/qede/qede_main.c DP_ERR(edev, "Update V-PORT failed %d\n", rc); edev 2166 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_unload(struct qede_dev *edev, enum qede_unload_mode mode, edev 2172 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Starting qede unload\n"); edev 2175 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_lock(edev); edev 2177 drivers/net/ethernet/qlogic/qede/qede_main.c clear_bit(QEDE_FLAGS_LINK_REQUESTED, &edev->flags); edev 2180 drivers/net/ethernet/qlogic/qede/qede_main.c edev->state = QEDE_STATE_CLOSED; edev 2182 drivers/net/ethernet/qlogic/qede/qede_main.c qede_rdma_dev_event_close(edev); edev 2185 drivers/net/ethernet/qlogic/qede/qede_main.c netif_tx_disable(edev->ndev); edev 2186 drivers/net/ethernet/qlogic/qede/qede_main.c netif_carrier_off(edev->ndev); edev 2192 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_link(edev->cdev, &link_params); edev 2194 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_stop_queues(edev); edev 2196 drivers/net/ethernet/qlogic/qede/qede_main.c qede_sync_free_irqs(edev); edev 2200 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Stopped Queues\n"); edev 2203 drivers/net/ethernet/qlogic/qede/qede_main.c qede_vlan_mark_nonconfigured(edev); edev 2204 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->fastpath_stop(edev->cdev); edev 2206 drivers/net/ethernet/qlogic/qede/qede_main.c if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { edev 2207 drivers/net/ethernet/qlogic/qede/qede_main.c qede_poll_for_freeing_arfs_filters(edev); edev 2208 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_arfs(edev); edev 2212 drivers/net/ethernet/qlogic/qede/qede_main.c qede_sync_free_irqs(edev); edev 2213 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_fp_int(edev->cdev, 0); edev 2215 drivers/net/ethernet/qlogic/qede/qede_main.c qede_napi_disable_remove(edev); edev 2218 drivers/net/ethernet/qlogic/qede/qede_main.c qede_empty_tx_queues(edev); edev 2220 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_load(edev); edev 2221 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_fp_array(edev); edev 2225 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_unlock(edev); edev 2228 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Link is down\n"); edev 2230 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ptp_skip_txts = 0; edev 2232 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Ending qede unload\n"); edev 2241 drivers/net/ethernet/qlogic/qede/qede_main.c static int qede_load(struct qede_dev *edev, enum qede_load_mode mode, edev 2248 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Starting qede load\n"); edev 2251 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_lock(edev); edev 2253 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_set_num_queues(edev); edev 2257 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_fp_array(edev); edev 2261 drivers/net/ethernet/qlogic/qede/qede_main.c qede_init_fp(edev); edev 2263 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_mem_load(edev); edev 2266 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Allocated %d Rx, %d Tx queues\n", edev 2267 drivers/net/ethernet/qlogic/qede/qede_main.c QEDE_RSS_COUNT(edev), QEDE_TSS_COUNT(edev)); edev 2269 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_set_real_num_queues(edev); edev 2273 drivers/net/ethernet/qlogic/qede/qede_main.c if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { edev 2274 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_alloc_arfs(edev); edev 2276 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "aRFS memory allocation failed\n"); edev 2279 drivers/net/ethernet/qlogic/qede/qede_main.c qede_napi_add_enable(edev); edev 2280 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Napi added and enabled\n"); edev 2282 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_setup_irqs(edev); edev 2285 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Setup IRQs succeeded\n"); edev 2287 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_start_queues(edev, mode != QEDE_LOAD_RELOAD); edev 2290 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Start VPORT, RXQ and TXQ succeeded\n"); edev 2292 drivers/net/ethernet/qlogic/qede/qede_main.c num_tc = netdev_get_num_tc(edev->ndev); edev 2293 drivers/net/ethernet/qlogic/qede/qede_main.c num_tc = num_tc ? num_tc : edev->dev_info.num_tc; edev 2294 drivers/net/ethernet/qlogic/qede/qede_main.c qede_setup_tc(edev->ndev, num_tc); edev 2297 drivers/net/ethernet/qlogic/qede/qede_main.c qede_configure_vlan_filters(edev); edev 2299 drivers/net/ethernet/qlogic/qede/qede_main.c set_bit(QEDE_FLAGS_LINK_REQUESTED, &edev->flags); edev 2304 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_link(edev->cdev, &link_params); edev 2306 drivers/net/ethernet/qlogic/qede/qede_main.c edev->state = QEDE_STATE_OPEN; edev 2308 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Ending successfully qede load\n"); edev 2312 drivers/net/ethernet/qlogic/qede/qede_main.c qede_sync_free_irqs(edev); edev 2313 drivers/net/ethernet/qlogic/qede/qede_main.c memset(&edev->int_info.msix_cnt, 0, sizeof(struct qed_int_info)); edev 2315 drivers/net/ethernet/qlogic/qede/qede_main.c qede_napi_disable_remove(edev); edev 2317 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_mem_load(edev); edev 2319 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_fp_int(edev->cdev, 0); edev 2320 drivers/net/ethernet/qlogic/qede/qede_main.c qede_free_fp_array(edev); edev 2321 drivers/net/ethernet/qlogic/qede/qede_main.c edev->num_queues = 0; edev 2322 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_num_tx = 0; edev 2323 drivers/net/ethernet/qlogic/qede/qede_main.c edev->fp_num_rx = 0; edev 2326 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_unlock(edev); edev 2334 drivers/net/ethernet/qlogic/qede/qede_main.c void qede_reload(struct qede_dev *edev, edev 2338 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_lock(edev); edev 2344 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->state == QEDE_STATE_OPEN) { edev 2345 drivers/net/ethernet/qlogic/qede/qede_main.c qede_unload(edev, QEDE_UNLOAD_NORMAL, true); edev 2347 drivers/net/ethernet/qlogic/qede/qede_main.c args->func(edev, args); edev 2348 drivers/net/ethernet/qlogic/qede/qede_main.c qede_load(edev, QEDE_LOAD_RELOAD, true); edev 2351 drivers/net/ethernet/qlogic/qede/qede_main.c qede_config_rx_mode(edev->ndev); edev 2353 drivers/net/ethernet/qlogic/qede/qede_main.c args->func(edev, args); edev 2357 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_unlock(edev); edev 2363 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(ndev); edev 2368 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_power_state(edev->cdev, PCI_D0); edev 2370 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_load(edev, QEDE_LOAD_NORMAL, false); edev 2376 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->update_drv_state(edev->cdev, true); edev 2383 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = netdev_priv(ndev); edev 2385 drivers/net/ethernet/qlogic/qede/qede_main.c qede_unload(edev, QEDE_UNLOAD_NORMAL, false); edev 2387 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->update_drv_state(edev->cdev, false); edev 2394 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = dev; edev 2396 drivers/net/ethernet/qlogic/qede/qede_main.c if (!test_bit(QEDE_FLAGS_LINK_REQUESTED, &edev->flags)) { edev 2397 drivers/net/ethernet/qlogic/qede/qede_main.c DP_VERBOSE(edev, NETIF_MSG_LINK, "Interface is not ready\n"); edev 2402 drivers/net/ethernet/qlogic/qede/qede_main.c if (!netif_carrier_ok(edev->ndev)) { edev 2403 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Link is up\n"); edev 2404 drivers/net/ethernet/qlogic/qede/qede_main.c netif_tx_start_all_queues(edev->ndev); edev 2405 drivers/net/ethernet/qlogic/qede/qede_main.c netif_carrier_on(edev->ndev); edev 2406 drivers/net/ethernet/qlogic/qede/qede_main.c qede_rdma_dev_event_open(edev); edev 2409 drivers/net/ethernet/qlogic/qede/qede_main.c if (netif_carrier_ok(edev->ndev)) { edev 2410 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Link is down\n"); edev 2411 drivers/net/ethernet/qlogic/qede/qede_main.c netif_tx_disable(edev->ndev); edev 2412 drivers/net/ethernet/qlogic/qede/qede_main.c netif_carrier_off(edev->ndev); edev 2413 drivers/net/ethernet/qlogic/qede/qede_main.c qede_rdma_dev_event_close(edev); edev 2420 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = dev; edev 2422 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->state == QEDE_STATE_RECOVERY) { edev 2423 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, edev 2428 drivers/net/ethernet/qlogic/qede/qede_main.c set_bit(QEDE_SP_RECOVERY, &edev->sp_flags); edev 2429 drivers/net/ethernet/qlogic/qede/qede_main.c schedule_delayed_work(&edev->sp_task, 0); edev 2431 drivers/net/ethernet/qlogic/qede/qede_main.c DP_INFO(edev, "Scheduled a recovery handler\n"); edev 2434 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_recovery_failed(struct qede_dev *edev) edev 2436 drivers/net/ethernet/qlogic/qede/qede_main.c netdev_err(edev->ndev, "Recovery handling has failed. Power cycle is needed.\n"); edev 2438 drivers/net/ethernet/qlogic/qede/qede_main.c netif_device_detach(edev->ndev); edev 2440 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->cdev) edev 2441 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->set_power_state(edev->cdev, PCI_D3hot); edev 2444 drivers/net/ethernet/qlogic/qede/qede_main.c static void qede_recovery_handler(struct qede_dev *edev) edev 2446 drivers/net/ethernet/qlogic/qede/qede_main.c u32 curr_state = edev->state; edev 2449 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Starting a recovery process\n"); edev 2454 drivers/net/ethernet/qlogic/qede/qede_main.c edev->state = QEDE_STATE_RECOVERY; edev 2456 drivers/net/ethernet/qlogic/qede/qede_main.c edev->ops->common->recovery_prolog(edev->cdev); edev 2459 drivers/net/ethernet/qlogic/qede/qede_main.c qede_unload(edev, QEDE_UNLOAD_RECOVERY, true); edev 2461 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_remove(edev->pdev, QEDE_REMOVE_RECOVERY); edev 2463 drivers/net/ethernet/qlogic/qede/qede_main.c rc = __qede_probe(edev->pdev, edev->dp_module, edev->dp_level, edev 2464 drivers/net/ethernet/qlogic/qede/qede_main.c IS_VF(edev), QEDE_PROBE_RECOVERY); edev 2466 drivers/net/ethernet/qlogic/qede/qede_main.c edev->cdev = NULL; edev 2471 drivers/net/ethernet/qlogic/qede/qede_main.c rc = qede_load(edev, QEDE_LOAD_RECOVERY, true); edev 2475 drivers/net/ethernet/qlogic/qede/qede_main.c qede_config_rx_mode(edev->ndev); edev 2476 drivers/net/ethernet/qlogic/qede/qede_main.c udp_tunnel_get_rx_info(edev->ndev); edev 2479 drivers/net/ethernet/qlogic/qede/qede_main.c edev->state = curr_state; edev 2481 drivers/net/ethernet/qlogic/qede/qede_main.c DP_NOTICE(edev, "Recovery handling is done\n"); edev 2486 drivers/net/ethernet/qlogic/qede/qede_main.c qede_recovery_failed(edev); edev 2489 drivers/net/ethernet/qlogic/qede/qede_main.c static bool qede_is_txq_full(struct qede_dev *edev, struct qede_tx_queue *txq) edev 2493 drivers/net/ethernet/qlogic/qede/qede_main.c netdev_txq = netdev_get_tx_queue(edev->ndev, txq->ndev_txq_id); edev 2502 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = dev; edev 2506 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->ndev->features & NETIF_F_IP_CSUM) edev 2508 drivers/net/ethernet/qlogic/qede/qede_main.c if (edev->ndev->features & NETIF_F_TSO) edev 2511 drivers/net/ethernet/qlogic/qede/qede_main.c ether_addr_copy(data->mac[0], edev->ndev->dev_addr); edev 2515 drivers/net/ethernet/qlogic/qede/qede_main.c netif_addr_lock_bh(edev->ndev); edev 2517 drivers/net/ethernet/qlogic/qede/qede_main.c netdev_for_each_uc_addr(ha, edev->ndev) { edev 2523 drivers/net/ethernet/qlogic/qede/qede_main.c netif_addr_unlock_bh(edev->ndev); edev 2529 drivers/net/ethernet/qlogic/qede/qede_main.c struct qede_dev *edev = dev; edev 2537 drivers/net/ethernet/qlogic/qede/qede_main.c etlv->prom_mode = !!(edev->ndev->flags & IFF_PROMISC); edev 2539 drivers/net/ethernet/qlogic/qede/qede_main.c etlv->tx_descr_size = QEDE_TSS_COUNT(edev); edev 2541 drivers/net/ethernet/qlogic/qede/qede_main.c etlv->rx_descr_size = QEDE_RSS_COUNT(edev); edev 2554 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_lock(edev); edev 2556 drivers/net/ethernet/qlogic/qede/qede_main.c fp = &edev->fp_array[i]; edev 2562 drivers/net/ethernet/qlogic/qede/qede_main.c if (qede_is_txq_full(edev, txq)) edev 2579 drivers/net/ethernet/qlogic/qede/qede_main.c __qede_unlock(edev); edev 43 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 66 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev = ptp->edev; edev 69 drivers/net/ethernet/qlogic/qede/qede_ptp.c __qede_lock(edev); edev 70 drivers/net/ethernet/qlogic/qede/qede_ptp.c if (edev->state == QEDE_STATE_OPEN) { edev 72 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = ptp->ops->adjfreq(edev->cdev, ppb); edev 75 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, "PTP adjfreq called while interface is down\n"); edev 78 drivers/net/ethernet/qlogic/qede/qede_ptp.c __qede_unlock(edev); edev 85 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 89 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev = ptp->edev; edev 91 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, "PTP adjtime called, delta = %llx\n", edev 103 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 108 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev = ptp->edev; edev 114 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, "PTP gettime called, ns = %llu\n", ns); edev 124 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 129 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev = ptp->edev; edev 133 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, "PTP settime called, ns = %llu\n", ns); edev 148 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 152 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev = ptp->edev; edev 154 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, "PHC ancillary features are not supported\n"); edev 162 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 169 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev = ptp->edev; edev 175 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = ptp->ops->read_tx_ts(edev->cdev, ×tamp); edev 179 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_INFO(edev, "Tx timestamp is not recorded\n"); edev 183 drivers/net/ethernet/qlogic/qede/qede_ptp.c &edev->flags); edev 184 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp_skip_txts++; edev 198 drivers/net/ethernet/qlogic/qede/qede_ptp.c clear_bit_unlock(QEDE_FLAGS_PTP_TX_IN_PRORGESS, &edev->flags); edev 200 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 208 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_dev *edev; edev 214 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev = ptp->edev; edev 215 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = ptp->ops->read_cc(edev->cdev, &phc_cycles); edev 219 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, "PHC read cycles = %llu\n", phc_cycles); edev 224 drivers/net/ethernet/qlogic/qede/qede_ptp.c static int qede_ptp_cfg_filters(struct qede_dev *edev) edev 228 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_ptp *ptp = edev->ptp; edev 234 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_INFO(edev, "TS IOCTL not called\n"); edev 240 drivers/net/ethernet/qlogic/qede/qede_ptp.c set_bit(QEDE_FLAGS_TX_TIMESTAMPING_EN, &edev->flags); edev 245 drivers/net/ethernet/qlogic/qede/qede_ptp.c clear_bit(QEDE_FLAGS_TX_TIMESTAMPING_EN, &edev->flags); edev 250 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, "One-step timestamping is not supported\n"); edev 307 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp->ops->cfg_filters(edev->cdev, rx_filter, tx_type); edev 314 drivers/net/ethernet/qlogic/qede/qede_ptp.c int qede_ptp_hw_ts(struct qede_dev *edev, struct ifreq *ifr) edev 320 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp = edev->ptp; edev 327 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 332 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, "config.flags is reserved for future use\n"); edev 340 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = qede_ptp_cfg_filters(edev); edev 350 drivers/net/ethernet/qlogic/qede/qede_ptp.c int qede_ptp_get_ts_info(struct qede_dev *edev, struct ethtool_ts_info *info) edev 352 drivers/net/ethernet/qlogic/qede/qede_ptp.c struct qede_ptp *ptp = edev->ptp; edev 394 drivers/net/ethernet/qlogic/qede/qede_ptp.c void qede_ptp_disable(struct qede_dev *edev) edev 398 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp = edev->ptp; edev 418 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp->ops->disable(edev->cdev); edev 422 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp = NULL; edev 425 drivers/net/ethernet/qlogic/qede/qede_ptp.c static int qede_ptp_init(struct qede_dev *edev, bool init_tc) edev 430 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp = edev->ptp; edev 437 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = ptp->ops->enable(edev->cdev); edev 439 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_INFO(edev, "PTP HW enable failed\n"); edev 464 drivers/net/ethernet/qlogic/qede/qede_ptp.c int qede_ptp_enable(struct qede_dev *edev, bool init_tc) edev 471 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_INFO(edev, "Failed to allocate struct for PTP\n"); edev 475 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp->edev = edev; edev 476 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp->ops = edev->ops->ptp; edev 478 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_INFO(edev, "PTP enable failed\n"); edev 483 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp = ptp; edev 485 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = qede_ptp_init(edev, init_tc); edev 489 drivers/net/ethernet/qlogic/qede/qede_ptp.c qede_ptp_cfg_filters(edev); edev 493 drivers/net/ethernet/qlogic/qede/qede_ptp.c snprintf(ptp->clock_info.name, 16, "%s", edev->ndev->name); edev 505 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp->clock = ptp_clock_register(&ptp->clock_info, &edev->pdev->dev); edev 507 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, "PTP clock registration failed\n"); edev 508 drivers/net/ethernet/qlogic/qede/qede_ptp.c qede_ptp_disable(edev); edev 518 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp = NULL; edev 523 drivers/net/ethernet/qlogic/qede/qede_ptp.c void qede_ptp_tx_ts(struct qede_dev *edev, struct sk_buff *skb) edev 527 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp = edev->ptp; edev 532 drivers/net/ethernet/qlogic/qede/qede_ptp.c &edev->flags)) { edev 533 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, "Timestamping in progress\n"); edev 534 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp_skip_txts++; edev 538 drivers/net/ethernet/qlogic/qede/qede_ptp.c if (unlikely(!test_bit(QEDE_FLAGS_TX_TIMESTAMPING_EN, &edev->flags))) { edev 539 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, edev 541 drivers/net/ethernet/qlogic/qede/qede_ptp.c clear_bit_unlock(QEDE_FLAGS_PTP_TX_IN_PRORGESS, &edev->flags); edev 542 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp_skip_txts++; edev 544 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_ERR(edev, edev 546 drivers/net/ethernet/qlogic/qede/qede_ptp.c clear_bit_unlock(QEDE_FLAGS_PTP_TX_IN_PRORGESS, &edev->flags); edev 547 drivers/net/ethernet/qlogic/qede/qede_ptp.c edev->ptp_skip_txts++; edev 557 drivers/net/ethernet/qlogic/qede/qede_ptp.c void qede_ptp_rx_ts(struct qede_dev *edev, struct sk_buff *skb) edev 563 drivers/net/ethernet/qlogic/qede/qede_ptp.c ptp = edev->ptp; edev 568 drivers/net/ethernet/qlogic/qede/qede_ptp.c rc = ptp->ops->read_rx_ts(edev->cdev, ×tamp); edev 571 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_INFO(edev, "Invalid Rx timestamp\n"); edev 578 drivers/net/ethernet/qlogic/qede/qede_ptp.c DP_VERBOSE(edev, QED_MSG_DEBUG, edev 40 drivers/net/ethernet/qlogic/qede/qede_ptp.h void qede_ptp_rx_ts(struct qede_dev *edev, struct sk_buff *skb); edev 41 drivers/net/ethernet/qlogic/qede/qede_ptp.h void qede_ptp_tx_ts(struct qede_dev *edev, struct sk_buff *skb); edev 42 drivers/net/ethernet/qlogic/qede/qede_ptp.h int qede_ptp_hw_ts(struct qede_dev *edev, struct ifreq *req); edev 43 drivers/net/ethernet/qlogic/qede/qede_ptp.h void qede_ptp_disable(struct qede_dev *edev); edev 44 drivers/net/ethernet/qlogic/qede/qede_ptp.h int qede_ptp_enable(struct qede_dev *edev, bool init_tc); edev 45 drivers/net/ethernet/qlogic/qede/qede_ptp.h int qede_ptp_get_ts_info(struct qede_dev *edev, struct ethtool_ts_info *ts); edev 47 drivers/net/ethernet/qlogic/qede/qede_ptp.h static inline void qede_ptp_record_rx_ts(struct qede_dev *edev, edev 56 drivers/net/ethernet/qlogic/qede/qede_ptp.h qede_ptp_rx_ts(edev, skb); edev 58 drivers/net/ethernet/qlogic/qede/qede_ptp.h DP_INFO(edev, edev 48 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void _qede_rdma_dev_add(struct qede_dev *edev) edev 54 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev->rdma_info.exp_recovery = false; edev 55 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev->rdma_info.qedr_dev = qedr_drv->add(edev->cdev, edev->pdev, edev 56 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev->ndev); edev 59 drivers/net/ethernet/qlogic/qede/qede_rdma.c static int qede_rdma_create_wq(struct qede_dev *edev) edev 61 drivers/net/ethernet/qlogic/qede/qede_rdma.c INIT_LIST_HEAD(&edev->rdma_info.rdma_event_list); edev 62 drivers/net/ethernet/qlogic/qede/qede_rdma.c kref_init(&edev->rdma_info.refcnt); edev 63 drivers/net/ethernet/qlogic/qede/qede_rdma.c init_completion(&edev->rdma_info.event_comp); edev 65 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev->rdma_info.rdma_wq = create_singlethread_workqueue("rdma_wq"); edev 66 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!edev->rdma_info.rdma_wq) { edev 67 drivers/net/ethernet/qlogic/qede/qede_rdma.c DP_NOTICE(edev, "qedr: Could not create workqueue\n"); edev 74 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_cleanup_event(struct qede_dev *edev) edev 76 drivers/net/ethernet/qlogic/qede/qede_rdma.c struct list_head *head = &edev->rdma_info.rdma_event_list; edev 79 drivers/net/ethernet/qlogic/qede/qede_rdma.c flush_workqueue(edev->rdma_info.rdma_wq); edev 98 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_destroy_wq(struct qede_dev *edev) edev 103 drivers/net/ethernet/qlogic/qede/qede_rdma.c kref_put(&edev->rdma_info.refcnt, qede_rdma_complete_event); edev 104 drivers/net/ethernet/qlogic/qede/qede_rdma.c wait_for_completion(&edev->rdma_info.event_comp); edev 106 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_cleanup_event(edev); edev 107 drivers/net/ethernet/qlogic/qede/qede_rdma.c destroy_workqueue(edev->rdma_info.rdma_wq); edev 110 drivers/net/ethernet/qlogic/qede/qede_rdma.c int qede_rdma_dev_add(struct qede_dev *edev, bool recovery) edev 114 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!qede_rdma_supported(edev)) edev 121 drivers/net/ethernet/qlogic/qede/qede_rdma.c rc = qede_rdma_create_wq(edev); edev 125 drivers/net/ethernet/qlogic/qede/qede_rdma.c INIT_LIST_HEAD(&edev->rdma_info.entry); edev 127 drivers/net/ethernet/qlogic/qede/qede_rdma.c list_add_tail(&edev->rdma_info.entry, &qedr_dev_list); edev 128 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_add(edev); edev 134 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void _qede_rdma_dev_remove(struct qede_dev *edev) edev 136 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (qedr_drv && qedr_drv->remove && edev->rdma_info.qedr_dev) edev 137 drivers/net/ethernet/qlogic/qede/qede_rdma.c qedr_drv->remove(edev->rdma_info.qedr_dev); edev 140 drivers/net/ethernet/qlogic/qede/qede_rdma.c void qede_rdma_dev_remove(struct qede_dev *edev, bool recovery) edev 142 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!qede_rdma_supported(edev)) edev 147 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_destroy_wq(edev); edev 149 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!edev->rdma_info.exp_recovery) edev 150 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_remove(edev); edev 151 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev->rdma_info.qedr_dev = NULL; edev 152 drivers/net/ethernet/qlogic/qede/qede_rdma.c list_del(&edev->rdma_info.entry); edev 155 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!edev->rdma_info.exp_recovery) { edev 157 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_remove(edev); edev 160 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev->rdma_info.exp_recovery = true; edev 164 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void _qede_rdma_dev_open(struct qede_dev *edev) edev 166 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) edev 167 drivers/net/ethernet/qlogic/qede/qede_rdma.c qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_UP); edev 170 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_dev_open(struct qede_dev *edev) edev 172 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!qede_rdma_supported(edev)) edev 176 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_open(edev); edev 180 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void _qede_rdma_dev_close(struct qede_dev *edev) edev 182 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) edev 183 drivers/net/ethernet/qlogic/qede/qede_rdma.c qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_DOWN); edev 186 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_dev_close(struct qede_dev *edev) edev 188 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!qede_rdma_supported(edev)) edev 192 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_close(edev); edev 196 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_dev_shutdown(struct qede_dev *edev) edev 198 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!qede_rdma_supported(edev)) edev 202 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) edev 203 drivers/net/ethernet/qlogic/qede/qede_rdma.c qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_CLOSE); edev 209 drivers/net/ethernet/qlogic/qede/qede_rdma.c struct qede_dev *edev; edev 219 drivers/net/ethernet/qlogic/qede/qede_rdma.c list_for_each_entry(edev, &qedr_dev_list, rdma_info.entry) { edev 223 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_add(edev); edev 224 drivers/net/ethernet/qlogic/qede/qede_rdma.c ndev = edev->ndev; edev 226 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_open(edev); edev 239 drivers/net/ethernet/qlogic/qede/qede_rdma.c struct qede_dev *edev; edev 242 drivers/net/ethernet/qlogic/qede/qede_rdma.c list_for_each_entry(edev, &qedr_dev_list, rdma_info.entry) { edev 244 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (edev->rdma_info.qedr_dev && !edev->rdma_info.exp_recovery) edev 245 drivers/net/ethernet/qlogic/qede/qede_rdma.c _qede_rdma_dev_remove(edev); edev 252 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_changeaddr(struct qede_dev *edev) edev 254 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!qede_rdma_supported(edev)) edev 257 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) edev 258 drivers/net/ethernet/qlogic/qede/qede_rdma.c qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_CHANGE_ADDR); edev 262 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_get_free_event_node(struct qede_dev *edev) edev 268 drivers/net/ethernet/qlogic/qede/qede_rdma.c list_for_each(list_node, &edev->rdma_info.rdma_event_list) { edev 280 drivers/net/ethernet/qlogic/qede/qede_rdma.c DP_NOTICE(edev, edev 285 drivers/net/ethernet/qlogic/qede/qede_rdma.c &edev->rdma_info.rdma_event_list); edev 295 drivers/net/ethernet/qlogic/qede/qede_rdma.c struct qede_dev *edev; edev 299 drivers/net/ethernet/qlogic/qede/qede_rdma.c edev = event_node->ptr; edev 303 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_dev_open(edev); edev 306 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_dev_close(edev); edev 309 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_dev_shutdown(edev); edev 312 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_changeaddr(edev); edev 315 drivers/net/ethernet/qlogic/qede/qede_rdma.c DP_NOTICE(edev, "Invalid rdma event %d", event); edev 319 drivers/net/ethernet/qlogic/qede/qede_rdma.c static void qede_rdma_add_event(struct qede_dev *edev, edev 325 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (edev->rdma_info.exp_recovery) edev 328 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!edev->rdma_info.qedr_dev) edev 334 drivers/net/ethernet/qlogic/qede/qede_rdma.c if (!kref_get_unless_zero(&edev->rdma_info.refcnt)) edev 337 drivers/net/ethernet/qlogic/qede/qede_rdma.c event_node = qede_rdma_get_free_event_node(edev); edev 342 drivers/net/ethernet/qlogic/qede/qede_rdma.c event_node->ptr = edev; edev 345 drivers/net/ethernet/qlogic/qede/qede_rdma.c queue_work(edev->rdma_info.rdma_wq, &event_node->work); edev 348 drivers/net/ethernet/qlogic/qede/qede_rdma.c kref_put(&edev->rdma_info.refcnt, qede_rdma_complete_event); edev 351 drivers/net/ethernet/qlogic/qede/qede_rdma.c void qede_rdma_dev_event_open(struct qede_dev *edev) edev 353 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_add_event(edev, QEDE_UP); edev 356 drivers/net/ethernet/qlogic/qede/qede_rdma.c void qede_rdma_dev_event_close(struct qede_dev *edev) edev 358 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_add_event(edev, QEDE_DOWN); edev 361 drivers/net/ethernet/qlogic/qede/qede_rdma.c void qede_rdma_event_changeaddr(struct qede_dev *edev) edev 363 drivers/net/ethernet/qlogic/qede/qede_rdma.c qede_rdma_add_event(edev, QEDE_CHANGE_ADDR); edev 458 drivers/net/hamradio/bpqether.c static int bpq_new_device(struct net_device *edev) edev 471 drivers/net/hamradio/bpqether.c dev_hold(edev); edev 472 drivers/net/hamradio/bpqether.c bpq->ethdev = edev; edev 487 drivers/net/hamradio/bpqether.c dev_put(edev); edev 756 drivers/pci/hotplug/pnv_php.c struct eeh_dev *edev; edev 796 drivers/pci/hotplug/pnv_php.c edev = pchild ? pci_dev_to_eeh_dev(pchild) : NULL; edev 797 drivers/pci/hotplug/pnv_php.c pe = edev ? edev->pe : NULL; edev 324 drivers/pci/pcie/aer_inject.c struct pcie_device *edev; edev 463 drivers/pci/pcie/aer_inject.c edev = to_pcie_device(device); edev 464 drivers/pci/pcie/aer_inject.c if (!get_service_data(edev)) { edev 465 drivers/pci/pcie/aer_inject.c pci_warn(edev->port, "AER service is not initialized\n"); edev 469 drivers/pci/pcie/aer_inject.c pci_info(edev->port, "Injecting errors %08x/%08x into device %s\n", edev 472 drivers/pci/pcie/aer_inject.c generic_handle_irq(edev->irq); edev 66 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c struct extcon_dev *edev; edev 256 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c extcon_set_state_sync(driver->edev, EXTCON_USB_HOST, true); edev 261 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c extcon_set_state_sync(driver->edev, EXTCON_USB_HOST, false); edev 262 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c extcon_set_state_sync(driver->edev, EXTCON_USB, false); edev 265 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c extcon_set_state_sync(driver->edev, EXTCON_USB, true); edev 347 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c driver->edev = devm_extcon_dev_allocate(dev, usb_extcon_cable); edev 348 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c if (IS_ERR(driver->edev)) { edev 353 drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c ret = devm_extcon_dev_register(dev, driver->edev); edev 220 drivers/phy/rockchip/phy-rockchip-inno-usb2.c struct extcon_dev *edev; edev 374 drivers/phy/rockchip/phy-rockchip-inno-usb2.c struct extcon_dev *edev; edev 377 drivers/phy/rockchip/phy-rockchip-inno-usb2.c edev = extcon_get_edev_by_phandle(rphy->dev, 0); edev 378 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (IS_ERR(edev)) { edev 379 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (PTR_ERR(edev) != -EPROBE_DEFER) edev 381 drivers/phy/rockchip/phy-rockchip-inno-usb2.c return PTR_ERR(edev); edev 385 drivers/phy/rockchip/phy-rockchip-inno-usb2.c edev = devm_extcon_dev_allocate(rphy->dev, edev 388 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (IS_ERR(edev)) edev 391 drivers/phy/rockchip/phy-rockchip-inno-usb2.c ret = devm_extcon_dev_register(rphy->dev, edev); edev 398 drivers/phy/rockchip/phy-rockchip-inno-usb2.c rphy->edev = edev; edev 551 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) > 0) { edev 603 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (notify_charger && rphy->edev) { edev 604 drivers/phy/rockchip/phy-rockchip-inno-usb2.c extcon_set_state_sync(rphy->edev, edev 607 drivers/phy/rockchip/phy-rockchip-inno-usb2.c extcon_set_state_sync(rphy->edev, edev 625 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) == 0) { edev 1049 drivers/phy/rockchip/phy-rockchip-inno-usb2.c if (!IS_ERR(rphy->edev)) { edev 1052 drivers/phy/rockchip/phy-rockchip-inno-usb2.c ret = devm_extcon_register_notifier(rphy->dev, rphy->edev, edev 808 drivers/phy/rockchip/phy-rockchip-typec.c struct extcon_dev *edev = tcphy->extcon; edev 815 drivers/phy/rockchip/phy-rockchip-typec.c if (!edev) edev 818 drivers/phy/rockchip/phy-rockchip-typec.c ufp = extcon_get_state(edev, EXTCON_USB); edev 819 drivers/phy/rockchip/phy-rockchip-typec.c dp = extcon_get_state(edev, EXTCON_DISP_DP); edev 831 drivers/phy/rockchip/phy-rockchip-typec.c ret = extcon_get_property(edev, id, EXTCON_PROP_USB_SS, edev 842 drivers/phy/rockchip/phy-rockchip-typec.c ret = extcon_get_property(edev, id, EXTCON_PROP_USB_TYPEC_POLARITY, edev 132 drivers/power/supply/axp288_charger.c struct extcon_dev *edev; edev 597 drivers/power/supply/axp288_charger.c struct extcon_dev *edev = info->cable.edev; edev 619 drivers/power/supply/axp288_charger.c } else if (extcon_get_state(edev, EXTCON_CHG_USB_SDP) > 0) { edev 622 drivers/power/supply/axp288_charger.c } else if (extcon_get_state(edev, EXTCON_CHG_USB_CDP) > 0) { edev 625 drivers/power/supply/axp288_charger.c } else if (extcon_get_state(edev, EXTCON_CHG_USB_DCP) > 0) { edev 657 drivers/power/supply/axp288_charger.c struct extcon_dev *edev = info->otg.cable; edev 658 drivers/power/supply/axp288_charger.c int ret, usb_host = extcon_get_state(edev, EXTCON_USB_HOST); edev 818 drivers/power/supply/axp288_charger.c info->cable.edev = extcon_get_extcon_dev(AXP288_EXTCON_DEV_NAME); edev 819 drivers/power/supply/axp288_charger.c if (info->cable.edev == NULL) { edev 859 drivers/power/supply/axp288_charger.c ret = devm_extcon_register_notifier_all(dev, info->cable.edev, edev 160 drivers/power/supply/bq24190_charger.c struct extcon_dev *edev; edev 1519 drivers/power/supply/bq24190_charger.c ret = extcon_set_state_sync(bdi->edev, EXTCON_USB, otg_enabled); edev 1733 drivers/power/supply/bq24190_charger.c bdi->edev = devm_extcon_dev_allocate(dev, bq24190_usb_extcon_cable); edev 1734 drivers/power/supply/bq24190_charger.c if (IS_ERR(bdi->edev)) edev 1735 drivers/power/supply/bq24190_charger.c return PTR_ERR(bdi->edev); edev 1737 drivers/power/supply/bq24190_charger.c ret = devm_extcon_dev_register(dev, bdi->edev); edev 1819 drivers/power/supply/charger-manager.c if (cable->extcon_dev.edev) edev 110 drivers/power/supply/qcom_smbb.c struct extcon_dev *edev; edev 379 drivers/power/supply/qcom_smbb.c extcon_set_state_sync(chg->edev, EXTCON_USB, edev 903 drivers/power/supply/qcom_smbb.c chg->edev = devm_extcon_dev_allocate(&pdev->dev, smbb_usb_extcon_cable); edev 904 drivers/power/supply/qcom_smbb.c if (IS_ERR(chg->edev)) { edev 909 drivers/power/supply/qcom_smbb.c rc = devm_extcon_dev_register(&pdev->dev, chg->edev); edev 11591 drivers/scsi/advansys.c static unsigned int advansys_eisa_irq_no(struct eisa_device *edev) edev 11593 drivers/scsi/advansys.c unsigned short cfg_lsw = inw(edev->base_addr + 0xc86); edev 11604 drivers/scsi/advansys.c struct eisa_device *edev = to_eisa_device(dev); edev 11611 drivers/scsi/advansys.c ioport = edev->base_addr + 0xc30; edev 11637 drivers/scsi/advansys.c irq = advansys_eisa_irq_no(edev); edev 73 drivers/scsi/aha1740.c struct eisa_device *edev; edev 114 drivers/scsi/aha1740.c shpnt->io_port, shpnt->irq, host->edev->slot, edev 219 drivers/scsi/aha1740.c struct eisa_device *edev; edev 226 drivers/scsi/aha1740.c edev = HOSTDATA(host)->edev; edev 258 drivers/scsi/aha1740.c dma_free_coherent (&edev->dev, edev 385 drivers/scsi/aha1740.c SCpnt->host_scribble = dma_alloc_coherent (&host->edev->dev, edev 557 drivers/scsi/aha1740.c struct eisa_device *edev = to_eisa_device (dev); edev 561 drivers/scsi/aha1740.c slotbase = edev->base_addr + EISA_VENDOR_ID_OFFSET; edev 574 drivers/scsi/aha1740.c edev->slot, slotbase, irq_level, irq_type ? "edge" : "level"); edev 588 drivers/scsi/aha1740.c host->edev = edev; edev 590 drivers/scsi/aha1740.c host->ecb_dma_addr = dma_map_single (&edev->dev, host->ecb, edev 607 drivers/scsi/aha1740.c eisa_set_drvdata (edev, shpnt); edev 619 drivers/scsi/aha1740.c dma_unmap_single (&edev->dev, host->ecb_dma_addr, edev 80 drivers/scsi/aic7xxx/aic7770_osm.c struct eisa_device *edev = to_eisa_device(dev); edev 81 drivers/scsi/aic7xxx/aic7770_osm.c u_int eisaBase = edev->base_addr+AHC_EISA_SLOT_OFFSET; edev 95 drivers/scsi/aic7xxx/aic7770_osm.c error = aic7770_config(ahc, aic7770_ident_table + edev->id.driver_data, edev 520 drivers/scsi/libsas/sas_expander.c struct sas_expander_device *edev = rphy_to_expander_device(rphy); edev 522 drivers/scsi/libsas/sas_expander.c memcpy(edev->vendor_id, mi_resp + 12, SAS_EXPANDER_VENDOR_ID_LEN); edev 523 drivers/scsi/libsas/sas_expander.c memcpy(edev->product_id, mi_resp + 20, SAS_EXPANDER_PRODUCT_ID_LEN); edev 524 drivers/scsi/libsas/sas_expander.c memcpy(edev->product_rev, mi_resp + 36, edev 528 drivers/scsi/libsas/sas_expander.c memcpy(edev->component_vendor_id, mi_resp + 40, edev 530 drivers/scsi/libsas/sas_expander.c edev->component_id = mi_resp[48] << 8 | mi_resp[49]; edev 531 drivers/scsi/libsas/sas_expander.c edev->component_revision_id = mi_resp[50]; edev 944 drivers/scsi/libsas/sas_expander.c struct sas_expander_device *edev; edev 980 drivers/scsi/libsas/sas_expander.c edev = rphy_to_expander_device(rphy); edev 990 drivers/scsi/libsas/sas_expander.c edev->level = parent_ex->level + 1; edev 992 drivers/scsi/libsas/sas_expander.c edev->level); edev 291 drivers/scsi/mpt3sas/mpt3sas_transport.c u64 sas_address, struct sas_expander_device *edev) edev 398 drivers/scsi/mpt3sas/mpt3sas_transport.c strncpy(edev->vendor_id, manufacture_reply->vendor_id, edev 400 drivers/scsi/mpt3sas/mpt3sas_transport.c strncpy(edev->product_id, manufacture_reply->product_id, edev 402 drivers/scsi/mpt3sas/mpt3sas_transport.c strncpy(edev->product_rev, manufacture_reply->product_rev, edev 404 drivers/scsi/mpt3sas/mpt3sas_transport.c edev->level = manufacture_reply->sas_format & 1; edev 405 drivers/scsi/mpt3sas/mpt3sas_transport.c if (edev->level) { edev 406 drivers/scsi/mpt3sas/mpt3sas_transport.c strncpy(edev->component_vendor_id, edev 410 drivers/scsi/mpt3sas/mpt3sas_transport.c edev->component_id = tmp[0] << 8 | tmp[1]; edev 411 drivers/scsi/mpt3sas/mpt3sas_transport.c edev->component_revision_id = edev 1300 drivers/scsi/scsi_transport_sas.c struct sas_expander_device *edev = rphy_to_expander_device(rphy); \ edev 1302 drivers/scsi/scsi_transport_sas.c return snprintf(buf, 20, format_string, cast edev->field); \ edev 1392 drivers/scsi/scsi_transport_sas.c struct sas_expander_device *edev = rphy_to_expander_device(rphy); edev 1395 drivers/scsi/scsi_transport_sas.c kfree(edev); edev 1401 drivers/scsi/scsi_transport_sas.c struct sas_end_device *edev = rphy_to_end_device(rphy); edev 1404 drivers/scsi/scsi_transport_sas.c kfree(edev); edev 38 drivers/scsi/ses.c static bool ses_page2_supported(struct enclosure_device *edev) edev 40 drivers/scsi/ses.c struct ses_device *ses_dev = edev->scratch; edev 133 drivers/scsi/ses.c static int ses_set_page2_descriptor(struct enclosure_device *edev, edev 138 drivers/scsi/ses.c struct scsi_device *sdev = to_scsi_device(edev->edev.parent); edev 139 drivers/scsi/ses.c struct ses_device *ses_dev = edev->scratch; edev 164 drivers/scsi/ses.c static unsigned char *ses_get_page2_descriptor(struct enclosure_device *edev, edev 168 drivers/scsi/ses.c struct scsi_device *sdev = to_scsi_device(edev->edev.parent); edev 169 drivers/scsi/ses.c struct ses_device *ses_dev = edev->scratch; edev 193 drivers/scsi/ses.c static void ses_get_fault(struct enclosure_device *edev, edev 198 drivers/scsi/ses.c if (!ses_page2_supported(edev)) { edev 202 drivers/scsi/ses.c desc = ses_get_page2_descriptor(edev, ecomp); edev 207 drivers/scsi/ses.c static int ses_set_fault(struct enclosure_device *edev, edev 214 drivers/scsi/ses.c if (!ses_page2_supported(edev)) edev 217 drivers/scsi/ses.c desc_ptr = ses_get_page2_descriptor(edev, ecomp); edev 236 drivers/scsi/ses.c return ses_set_page2_descriptor(edev, ecomp, desc); edev 239 drivers/scsi/ses.c static void ses_get_status(struct enclosure_device *edev, edev 244 drivers/scsi/ses.c if (!ses_page2_supported(edev)) { edev 248 drivers/scsi/ses.c desc = ses_get_page2_descriptor(edev, ecomp); edev 253 drivers/scsi/ses.c static void ses_get_locate(struct enclosure_device *edev, edev 258 drivers/scsi/ses.c if (!ses_page2_supported(edev)) { edev 262 drivers/scsi/ses.c desc = ses_get_page2_descriptor(edev, ecomp); edev 267 drivers/scsi/ses.c static int ses_set_locate(struct enclosure_device *edev, edev 274 drivers/scsi/ses.c if (!ses_page2_supported(edev)) edev 277 drivers/scsi/ses.c desc_ptr = ses_get_page2_descriptor(edev, ecomp); edev 295 drivers/scsi/ses.c return ses_set_page2_descriptor(edev, ecomp, desc); edev 298 drivers/scsi/ses.c static int ses_set_active(struct enclosure_device *edev, edev 305 drivers/scsi/ses.c if (!ses_page2_supported(edev)) edev 308 drivers/scsi/ses.c desc_ptr = ses_get_page2_descriptor(edev, ecomp); edev 328 drivers/scsi/ses.c return ses_set_page2_descriptor(edev, ecomp, desc); edev 331 drivers/scsi/ses.c static int ses_show_id(struct enclosure_device *edev, char *buf) edev 333 drivers/scsi/ses.c struct ses_device *ses_dev = edev->scratch; edev 339 drivers/scsi/ses.c static void ses_get_power_status(struct enclosure_device *edev, edev 344 drivers/scsi/ses.c if (!ses_page2_supported(edev)) { edev 349 drivers/scsi/ses.c desc = ses_get_page2_descriptor(edev, ecomp); edev 354 drivers/scsi/ses.c static int ses_set_power_status(struct enclosure_device *edev, edev 361 drivers/scsi/ses.c if (!ses_page2_supported(edev)) edev 364 drivers/scsi/ses.c desc_ptr = ses_get_page2_descriptor(edev, ecomp); edev 383 drivers/scsi/ses.c return ses_set_page2_descriptor(edev, ecomp, desc); edev 400 drivers/scsi/ses.c struct enclosure_device *edev; edev 404 drivers/scsi/ses.c int ses_match_host(struct enclosure_device *edev, void *data) edev 409 drivers/scsi/ses.c if (!scsi_is_sdev_device(edev->edev.parent)) edev 412 drivers/scsi/ses.c sdev = to_scsi_device(edev->edev.parent); edev 417 drivers/scsi/ses.c sed->edev = edev; edev 473 drivers/scsi/ses.c static int ses_enclosure_find_by_addr(struct enclosure_device *edev, edev 480 drivers/scsi/ses.c if (!edev->component[0].scratch) edev 483 drivers/scsi/ses.c for (i = 0; i < edev->components; i++) { edev 484 drivers/scsi/ses.c scomp = edev->component[i].scratch; edev 488 drivers/scsi/ses.c if (enclosure_add_device(edev, i, efd->dev) == 0) edev 497 drivers/scsi/ses.c static void ses_enclosure_data_process(struct enclosure_device *edev, edev 504 drivers/scsi/ses.c struct ses_device *ses_dev = edev->scratch; edev 564 drivers/scsi/ses.c edev, edev 569 drivers/scsi/ses.c ecomp = &edev->component[components++]; edev 601 drivers/scsi/ses.c static void ses_match_to_enclosure(struct enclosure_device *edev, edev 605 drivers/scsi/ses.c struct scsi_device *edev_sdev = to_scsi_device(edev->edev.parent); edev 611 drivers/scsi/ses.c ses_enclosure_data_process(edev, edev_sdev, 0); edev 634 drivers/scsi/ses.c struct enclosure_device *edev; edev 641 drivers/scsi/ses.c while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) { edev 642 drivers/scsi/ses.c ses_match_to_enclosure(edev, sdev, 1); edev 643 drivers/scsi/ses.c prev = edev; edev 738 drivers/scsi/ses.c edev = enclosure_register(cdev->parent, dev_name(&sdev->sdev_gendev), edev 740 drivers/scsi/ses.c if (IS_ERR(edev)) { edev 741 drivers/scsi/ses.c err = PTR_ERR(edev); edev 747 drivers/scsi/ses.c edev->scratch = ses_dev; edev 749 drivers/scsi/ses.c edev->component[i].scratch = scomp + i; edev 751 drivers/scsi/ses.c ses_enclosure_data_process(edev, sdev, 1); edev 758 drivers/scsi/ses.c ses_match_to_enclosure(edev, tmp_sdev, 0); edev 787 drivers/scsi/ses.c struct enclosure_device *edev, *prev = NULL; edev 789 drivers/scsi/ses.c while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) { edev 790 drivers/scsi/ses.c prev = edev; edev 791 drivers/scsi/ses.c if (!enclosure_remove_device(edev, &sdev->sdev_gendev)) edev 794 drivers/scsi/ses.c if (edev) edev 795 drivers/scsi/ses.c put_device(&edev->edev); edev 800 drivers/scsi/ses.c struct enclosure_device *edev; edev 804 drivers/scsi/ses.c edev = enclosure_find(&sdev->sdev_gendev, NULL); edev 805 drivers/scsi/ses.c if (!edev) edev 808 drivers/scsi/ses.c ses_dev = edev->scratch; edev 809 drivers/scsi/ses.c edev->scratch = NULL; edev 816 drivers/scsi/ses.c kfree(edev->component[0].scratch); edev 818 drivers/scsi/ses.c put_device(&edev->edev); edev 819 drivers/scsi/ses.c enclosure_unregister(edev); edev 168 drivers/scsi/sim710.c struct eisa_device *edev = to_eisa_device(dev); edev 169 drivers/scsi/sim710.c unsigned long io_addr = edev->base_addr; edev 176 drivers/scsi/sim710.c if(strcmp(edev->id.sig, "HWP0C80") == 0) { edev 629 drivers/staging/olpc_dcon/olpc_dcon.c goto edev; edev 662 drivers/staging/olpc_dcon/olpc_dcon.c edev: edev 117 drivers/usb/chipidea/ci_hdrc_msm.c if (!IS_ERR(ci->platdata->vbus_extcon.edev) || ci->role_switch) { edev 772 drivers/usb/chipidea/core.c cable->edev = ext_vbus; edev 775 drivers/usb/chipidea/core.c ret = extcon_get_state(cable->edev, EXTCON_USB); edev 784 drivers/usb/chipidea/core.c cable->edev = ext_id; edev 787 drivers/usb/chipidea/core.c ret = extcon_get_state(cable->edev, EXTCON_USB_HOST); edev 824 drivers/usb/chipidea/core.c if (!IS_ERR_OR_NULL(id->edev)) { edev 825 drivers/usb/chipidea/core.c ret = devm_extcon_register_notifier(ci->dev, id->edev, edev 835 drivers/usb/chipidea/core.c if (!IS_ERR_OR_NULL(vbus->edev)) { edev 836 drivers/usb/chipidea/core.c ret = devm_extcon_register_notifier(ci->dev, vbus->edev, edev 38 drivers/usb/chipidea/otg.c if (!IS_ERR(cable->edev) || ci->role_switch) { edev 56 drivers/usb/chipidea/otg.c if (!IS_ERR(cable->edev) || ci->role_switch) { edev 86 drivers/usb/chipidea/otg.c if (!IS_ERR(cable->edev) || ci->role_switch) { edev 100 drivers/usb/chipidea/otg.c if (!IS_ERR(cable->edev) || ci->role_switch) { edev 176 drivers/usb/chipidea/otg.c IS_ERR(ci->platdata->vbus_extcon.edev)) edev 133 drivers/usb/dwc3/core.c if (dwc->desired_dr_role == DWC3_GCTL_PRTCAP_OTG && dwc->edev) edev 1093 drivers/usb/dwc3/core.h struct extcon_dev *edev; edev 419 drivers/usb/dwc3/drd.c if (dwc->edev) { edev 420 drivers/usb/dwc3/drd.c id = extcon_get_state(dwc->edev, EXTCON_USB_HOST); edev 445 drivers/usb/dwc3/drd.c struct extcon_dev *edev; edev 458 drivers/usb/dwc3/drd.c edev = extcon_get_extcon_dev(name); edev 459 drivers/usb/dwc3/drd.c if (!edev) edev 462 drivers/usb/dwc3/drd.c return edev; edev 469 drivers/usb/dwc3/drd.c edev = extcon_find_edev_by_node(np_conn); edev 471 drivers/usb/dwc3/drd.c edev = NULL; edev 476 drivers/usb/dwc3/drd.c return edev; edev 483 drivers/usb/dwc3/drd.c dwc->edev = dwc3_get_extcon(dwc); edev 484 drivers/usb/dwc3/drd.c if (IS_ERR(dwc->edev)) edev 485 drivers/usb/dwc3/drd.c return PTR_ERR(dwc->edev); edev 487 drivers/usb/dwc3/drd.c if (dwc->edev) { edev 489 drivers/usb/dwc3/drd.c ret = extcon_register_notifier(dwc->edev, EXTCON_USB_HOST, edev 534 drivers/usb/dwc3/drd.c if (dwc->edev) edev 535 drivers/usb/dwc3/drd.c extcon_unregister_notifier(dwc->edev, EXTCON_USB_HOST, edev 560 drivers/usb/dwc3/drd.c if (!dwc->edev) edev 127 drivers/usb/dwc3/dwc3-omap.c struct extcon_dev *edev; edev 417 drivers/usb/dwc3/dwc3-omap.c struct extcon_dev *edev; edev 420 drivers/usb/dwc3/dwc3-omap.c edev = extcon_get_edev_by_phandle(omap->dev, 0); edev 421 drivers/usb/dwc3/dwc3-omap.c if (IS_ERR(edev)) { edev 427 drivers/usb/dwc3/dwc3-omap.c ret = devm_extcon_register_notifier(omap->dev, edev, edev 433 drivers/usb/dwc3/dwc3-omap.c ret = devm_extcon_register_notifier(omap->dev, edev, edev 438 drivers/usb/dwc3/dwc3-omap.c if (extcon_get_state(edev, EXTCON_USB) == true) edev 440 drivers/usb/dwc3/dwc3-omap.c if (extcon_get_state(edev, EXTCON_USB_HOST) == true) edev 443 drivers/usb/dwc3/dwc3-omap.c omap->edev = edev; edev 590 drivers/usb/dwc3/dwc3-omap.c if (extcon_get_state(omap->edev, EXTCON_USB)) edev 595 drivers/usb/dwc3/dwc3-omap.c if (extcon_get_state(omap->edev, EXTCON_USB_HOST)) edev 69 drivers/usb/dwc3/dwc3-qcom.c struct extcon_dev *edev; edev 153 drivers/usb/dwc3/dwc3-qcom.c qcom->edev = extcon_get_edev_by_phandle(dev, 0); edev 154 drivers/usb/dwc3/dwc3-qcom.c if (IS_ERR(qcom->edev)) edev 155 drivers/usb/dwc3/dwc3-qcom.c return PTR_ERR(qcom->edev); edev 163 drivers/usb/dwc3/dwc3-qcom.c ret = devm_extcon_register_notifier(dev, qcom->edev, EXTCON_USB, edev 173 drivers/usb/dwc3/dwc3-qcom.c host_edev = qcom->edev; edev 184 drivers/usb/dwc3/dwc3-qcom.c if (extcon_get_state(qcom->edev, EXTCON_USB) || edev 186 drivers/usb/dwc3/dwc3-qcom.c dwc3_qcom_vbus_notifier(&qcom->vbus_nb, true, qcom->edev); edev 188 drivers/usb/dwc3/dwc3-qcom.c dwc3_qcom_vbus_notifier(&qcom->vbus_nb, false, qcom->edev); edev 571 drivers/usb/gadget/udc/amd5536udc.h struct extcon_dev *edev; edev 162 drivers/usb/gadget/udc/snps_udc_plat.c udc->edev = extcon_get_edev_by_phandle(dev, 0); edev 163 drivers/usb/gadget/udc/snps_udc_plat.c if (IS_ERR(udc->edev)) { edev 164 drivers/usb/gadget/udc/snps_udc_plat.c if (PTR_ERR(udc->edev) == -EPROBE_DEFER) edev 167 drivers/usb/gadget/udc/snps_udc_plat.c ret = PTR_ERR(udc->edev); edev 172 drivers/usb/gadget/udc/snps_udc_plat.c ret = extcon_register_notifier(udc->edev, EXTCON_USB, edev 179 drivers/usb/gadget/udc/snps_udc_plat.c ret = extcon_get_state(udc->edev, EXTCON_USB); edev 218 drivers/usb/gadget/udc/snps_udc_plat.c if (udc->edev) edev 219 drivers/usb/gadget/udc/snps_udc_plat.c extcon_unregister_notifier(udc->edev, EXTCON_USB, &udc->nb); edev 253 drivers/usb/gadget/udc/snps_udc_plat.c extcon_unregister_notifier(dev->edev, EXTCON_USB, &dev->nb); edev 268 drivers/usb/gadget/udc/snps_udc_plat.c if (extcon_get_state(udc->edev, EXTCON_USB) > 0) { edev 298 drivers/usb/gadget/udc/snps_udc_plat.c if (extcon_get_state(udc->edev, EXTCON_USB) > 0) { edev 211 drivers/usb/mtu3/mtu3.h struct extcon_dev *edev; edev 243 drivers/usb/mtu3/mtu3_dr.c struct extcon_dev *edev = otg_sx->edev; edev 247 drivers/usb/mtu3/mtu3_dr.c if (!edev) edev 251 drivers/usb/mtu3/mtu3_dr.c ret = devm_extcon_register_notifier(ssusb->dev, edev, EXTCON_USB, edev 259 drivers/usb/mtu3/mtu3_dr.c ret = devm_extcon_register_notifier(ssusb->dev, edev, EXTCON_USB_HOST, edev 267 drivers/usb/mtu3/mtu3_dr.c extcon_get_state(edev, EXTCON_USB), edev 268 drivers/usb/mtu3/mtu3_dr.c extcon_get_state(edev, EXTCON_USB_HOST)); edev 271 drivers/usb/mtu3/mtu3_dr.c if (extcon_get_state(edev, EXTCON_USB_HOST) == false) edev 273 drivers/usb/mtu3/mtu3_dr.c if (extcon_get_state(edev, EXTCON_USB) == true) edev 305 drivers/usb/mtu3/mtu3_plat.c otg_sx->edev = extcon_get_edev_by_phandle(ssusb->dev, 0); edev 306 drivers/usb/mtu3/mtu3_plat.c if (IS_ERR(otg_sx->edev)) { edev 308 drivers/usb/mtu3/mtu3_plat.c return PTR_ERR(otg_sx->edev); edev 130 drivers/usb/phy/phy.c if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_SDP) > 0) { edev 133 drivers/usb/phy/phy.c } else if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_CDP) > 0) { edev 136 drivers/usb/phy/phy.c } else if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_DCP) > 0) { edev 139 drivers/usb/phy/phy.c } else if (extcon_get_state(usb_phy->edev, EXTCON_CHG_USB_ACA) > 0) { edev 320 drivers/usb/phy/phy.c x->edev = extcon_get_edev_by_phandle(x->dev, 0); edev 321 drivers/usb/phy/phy.c if (IS_ERR(x->edev)) edev 322 drivers/usb/phy/phy.c return PTR_ERR(x->edev); edev 331 drivers/usb/phy/phy.c ret = devm_extcon_register_notifier(x->dev, x->edev, edev 342 drivers/usb/phy/phy.c ret = devm_extcon_register_notifier(x->dev, x->edev, edev 351 drivers/usb/phy/phy.c ret = devm_extcon_register_notifier(x->dev, x->edev, edev 360 drivers/usb/phy/phy.c ret = devm_extcon_register_notifier(x->dev, x->edev, edev 369 drivers/usb/phy/phy.c ret = devm_extcon_register_notifier(x->dev, x->edev, edev 385 drivers/usb/phy/phy.c id_ext = x->edev; edev 460 drivers/usb/renesas_usbhs/common.c if (priv->edev) { edev 461 drivers/usb/renesas_usbhs/common.c cable = extcon_get_state(priv->edev, EXTCON_USB_HOST); edev 628 drivers/usb/renesas_usbhs/common.c priv->edev = extcon_get_edev_by_phandle(dev, 0); edev 629 drivers/usb/renesas_usbhs/common.c if (IS_ERR(priv->edev)) edev 630 drivers/usb/renesas_usbhs/common.c return PTR_ERR(priv->edev); edev 263 drivers/usb/renesas_usbhs/common.h struct extcon_dev *edev; edev 110 drivers/watchdog/i6300esb.c static inline void esb_unlock_registers(struct esb_dev *edev) edev 112 drivers/watchdog/i6300esb.c writew(ESB_UNLOCK1, ESB_RELOAD_REG(edev)); edev 113 drivers/watchdog/i6300esb.c writew(ESB_UNLOCK2, ESB_RELOAD_REG(edev)); edev 118 drivers/watchdog/i6300esb.c struct esb_dev *edev = to_esb_dev(wdd); edev 122 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 123 drivers/watchdog/i6300esb.c writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); edev 126 drivers/watchdog/i6300esb.c pci_write_config_byte(edev->pdev, ESB_LOCK_REG, val); edev 132 drivers/watchdog/i6300esb.c struct esb_dev *edev = to_esb_dev(wdd); edev 136 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 137 drivers/watchdog/i6300esb.c writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); edev 139 drivers/watchdog/i6300esb.c pci_write_config_byte(edev->pdev, ESB_LOCK_REG, 0x0); edev 140 drivers/watchdog/i6300esb.c pci_read_config_byte(edev->pdev, ESB_LOCK_REG, &val); edev 148 drivers/watchdog/i6300esb.c struct esb_dev *edev = to_esb_dev(wdd); edev 150 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 151 drivers/watchdog/i6300esb.c writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); edev 159 drivers/watchdog/i6300esb.c struct esb_dev *edev = to_esb_dev(wdd); edev 169 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 170 drivers/watchdog/i6300esb.c writel(val, ESB_TIMER1_REG(edev)); edev 173 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 174 drivers/watchdog/i6300esb.c writel(val, ESB_TIMER2_REG(edev)); edev 177 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 178 drivers/watchdog/i6300esb.c writew(ESB_WDT_RELOAD, ESB_RELOAD_REG(edev)); edev 217 drivers/watchdog/i6300esb.c static unsigned char esb_getdevice(struct esb_dev *edev) edev 219 drivers/watchdog/i6300esb.c if (pci_enable_device(edev->pdev)) { edev 220 drivers/watchdog/i6300esb.c dev_err(&edev->pdev->dev, "failed to enable device\n"); edev 224 drivers/watchdog/i6300esb.c if (pci_request_region(edev->pdev, 0, ESB_MODULE_NAME)) { edev 225 drivers/watchdog/i6300esb.c dev_err(&edev->pdev->dev, "failed to request region\n"); edev 229 drivers/watchdog/i6300esb.c edev->base = pci_ioremap_bar(edev->pdev, 0); edev 230 drivers/watchdog/i6300esb.c if (edev->base == NULL) { edev 232 drivers/watchdog/i6300esb.c dev_err(&edev->pdev->dev, "failed to get BASEADDR\n"); edev 237 drivers/watchdog/i6300esb.c dev_set_drvdata(&edev->pdev->dev, edev); edev 241 drivers/watchdog/i6300esb.c pci_release_region(edev->pdev, 0); edev 243 drivers/watchdog/i6300esb.c pci_disable_device(edev->pdev); edev 248 drivers/watchdog/i6300esb.c static void esb_initdevice(struct esb_dev *edev) edev 265 drivers/watchdog/i6300esb.c pci_write_config_word(edev->pdev, ESB_CONFIG_REG, 0x0003); edev 268 drivers/watchdog/i6300esb.c pci_read_config_byte(edev->pdev, ESB_LOCK_REG, &val1); edev 270 drivers/watchdog/i6300esb.c dev_warn(&edev->pdev->dev, "nowayout already set\n"); edev 273 drivers/watchdog/i6300esb.c pci_write_config_byte(edev->pdev, ESB_LOCK_REG, 0x00); edev 276 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 277 drivers/watchdog/i6300esb.c val2 = readw(ESB_RELOAD_REG(edev)); edev 279 drivers/watchdog/i6300esb.c edev->wdd.bootstatus = WDIOF_CARDRESET; edev 282 drivers/watchdog/i6300esb.c esb_unlock_registers(edev); edev 283 drivers/watchdog/i6300esb.c writew((ESB_WDT_TIMEOUT | ESB_WDT_RELOAD), ESB_RELOAD_REG(edev)); edev 286 drivers/watchdog/i6300esb.c esb_timer_set_heartbeat(&edev->wdd, edev->wdd.timeout); edev 292 drivers/watchdog/i6300esb.c struct esb_dev *edev; edev 295 drivers/watchdog/i6300esb.c edev = devm_kzalloc(&pdev->dev, sizeof(*edev), GFP_KERNEL); edev 296 drivers/watchdog/i6300esb.c if (!edev) edev 300 drivers/watchdog/i6300esb.c edev->pdev = pdev; edev 301 drivers/watchdog/i6300esb.c if (!esb_getdevice(edev)) edev 305 drivers/watchdog/i6300esb.c edev->wdd.info = &esb_info; edev 306 drivers/watchdog/i6300esb.c edev->wdd.ops = &esb_ops; edev 307 drivers/watchdog/i6300esb.c edev->wdd.min_timeout = ESB_HEARTBEAT_MIN; edev 308 drivers/watchdog/i6300esb.c edev->wdd.max_timeout = ESB_HEARTBEAT_MAX; edev 309 drivers/watchdog/i6300esb.c edev->wdd.timeout = ESB_HEARTBEAT_DEFAULT; edev 310 drivers/watchdog/i6300esb.c watchdog_init_timeout(&edev->wdd, heartbeat, NULL); edev 311 drivers/watchdog/i6300esb.c watchdog_set_nowayout(&edev->wdd, nowayout); edev 312 drivers/watchdog/i6300esb.c watchdog_stop_on_reboot(&edev->wdd); edev 313 drivers/watchdog/i6300esb.c watchdog_stop_on_unregister(&edev->wdd); edev 314 drivers/watchdog/i6300esb.c esb_initdevice(edev); edev 317 drivers/watchdog/i6300esb.c ret = watchdog_register_device(&edev->wdd); edev 322 drivers/watchdog/i6300esb.c edev->wdd.timeout, nowayout); edev 326 drivers/watchdog/i6300esb.c iounmap(edev->base); edev 327 drivers/watchdog/i6300esb.c pci_release_region(edev->pdev, 0); edev 328 drivers/watchdog/i6300esb.c pci_disable_device(edev->pdev); edev 334 drivers/watchdog/i6300esb.c struct esb_dev *edev = dev_get_drvdata(&pdev->dev); edev 336 drivers/watchdog/i6300esb.c watchdog_unregister_device(&edev->wdd); edev 337 drivers/watchdog/i6300esb.c iounmap(edev->base); edev 338 drivers/watchdog/i6300esb.c pci_release_region(edev->pdev, 0); edev 339 drivers/watchdog/i6300esb.c pci_disable_device(edev->pdev); edev 67 include/linux/devfreq-event.h int (*enable)(struct devfreq_event_dev *edev); edev 68 include/linux/devfreq-event.h int (*disable)(struct devfreq_event_dev *edev); edev 69 include/linux/devfreq-event.h int (*reset)(struct devfreq_event_dev *edev); edev 72 include/linux/devfreq-event.h int (*set_event)(struct devfreq_event_dev *edev); edev 73 include/linux/devfreq-event.h int (*get_event)(struct devfreq_event_dev *edev, edev 101 include/linux/devfreq-event.h extern int devfreq_event_enable_edev(struct devfreq_event_dev *edev); edev 102 include/linux/devfreq-event.h extern int devfreq_event_disable_edev(struct devfreq_event_dev *edev); edev 103 include/linux/devfreq-event.h extern bool devfreq_event_is_enabled(struct devfreq_event_dev *edev); edev 104 include/linux/devfreq-event.h extern int devfreq_event_set_event(struct devfreq_event_dev *edev); edev 105 include/linux/devfreq-event.h extern int devfreq_event_get_event(struct devfreq_event_dev *edev, edev 107 include/linux/devfreq-event.h extern int devfreq_event_reset_event(struct devfreq_event_dev *edev); edev 113 include/linux/devfreq-event.h extern int devfreq_event_remove_edev(struct devfreq_event_dev *edev); edev 117 include/linux/devfreq-event.h struct devfreq_event_dev *edev); edev 118 include/linux/devfreq-event.h static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) edev 120 include/linux/devfreq-event.h return edev->desc->driver_data; edev 123 include/linux/devfreq-event.h static inline int devfreq_event_enable_edev(struct devfreq_event_dev *edev) edev 128 include/linux/devfreq-event.h static inline int devfreq_event_disable_edev(struct devfreq_event_dev *edev) edev 133 include/linux/devfreq-event.h static inline bool devfreq_event_is_enabled(struct devfreq_event_dev *edev) edev 138 include/linux/devfreq-event.h static inline int devfreq_event_set_event(struct devfreq_event_dev *edev) edev 143 include/linux/devfreq-event.h static inline int devfreq_event_get_event(struct devfreq_event_dev *edev, edev 149 include/linux/devfreq-event.h static inline int devfreq_event_reset_event(struct devfreq_event_dev *edev) edev 171 include/linux/devfreq-event.h static inline int devfreq_event_remove_edev(struct devfreq_event_dev *edev) edev 184 include/linux/devfreq-event.h struct devfreq_event_dev *edev) edev 188 include/linux/devfreq-event.h static inline void *devfreq_event_get_drvdata(struct devfreq_event_dev *edev) edev 80 include/linux/eisa.h static inline void *eisa_get_drvdata (struct eisa_device *edev) edev 82 include/linux/eisa.h return dev_get_drvdata(&edev->dev); edev 85 include/linux/eisa.h static inline void eisa_set_drvdata (struct eisa_device *edev, void *data) edev 87 include/linux/eisa.h dev_set_drvdata(&edev->dev, data); edev 101 include/linux/enclosure.h struct device edev; edev 110 include/linux/enclosure.h return container_of(dev, struct enclosure_device, edev); edev 20 include/linux/extcon-provider.h extern int extcon_dev_register(struct extcon_dev *edev); edev 21 include/linux/extcon-provider.h extern void extcon_dev_unregister(struct extcon_dev *edev); edev 23 include/linux/extcon-provider.h struct extcon_dev *edev); edev 25 include/linux/extcon-provider.h struct extcon_dev *edev); edev 29 include/linux/extcon-provider.h extern void extcon_dev_free(struct extcon_dev *edev); edev 32 include/linux/extcon-provider.h extern void devm_extcon_dev_free(struct device *dev, struct extcon_dev *edev); edev 35 include/linux/extcon-provider.h extern int extcon_sync(struct extcon_dev *edev, unsigned int id); edev 41 include/linux/extcon-provider.h extern int extcon_set_state(struct extcon_dev *edev, unsigned int id, edev 43 include/linux/extcon-provider.h extern int extcon_set_state_sync(struct extcon_dev *edev, unsigned int id, edev 55 include/linux/extcon-provider.h extern int extcon_set_property(struct extcon_dev *edev, unsigned int id, edev 58 include/linux/extcon-provider.h extern int extcon_set_property_sync(struct extcon_dev *edev, unsigned int id, edev 61 include/linux/extcon-provider.h extern int extcon_set_property_capability(struct extcon_dev *edev, edev 65 include/linux/extcon-provider.h static inline int extcon_dev_register(struct extcon_dev *edev) edev 70 include/linux/extcon-provider.h static inline void extcon_dev_unregister(struct extcon_dev *edev) { } edev 73 include/linux/extcon-provider.h struct extcon_dev *edev) edev 79 include/linux/extcon-provider.h struct extcon_dev *edev) { } edev 86 include/linux/extcon-provider.h static inline void extcon_dev_free(struct extcon_dev *edev) { } edev 94 include/linux/extcon-provider.h static inline void devm_extcon_dev_free(struct extcon_dev *edev) { } edev 97 include/linux/extcon-provider.h static inline int extcon_set_state(struct extcon_dev *edev, unsigned int id, edev 103 include/linux/extcon-provider.h static inline int extcon_set_state_sync(struct extcon_dev *edev, unsigned int id, edev 109 include/linux/extcon-provider.h static inline int extcon_sync(struct extcon_dev *edev, unsigned int id) edev 114 include/linux/extcon-provider.h static inline int extcon_set_property(struct extcon_dev *edev, unsigned int id, edev 121 include/linux/extcon-provider.h static inline int extcon_set_property_sync(struct extcon_dev *edev, edev 128 include/linux/extcon-provider.h static inline int extcon_set_property_capability(struct extcon_dev *edev, edev 173 include/linux/extcon.h extern int extcon_get_state(struct extcon_dev *edev, unsigned int id); edev 184 include/linux/extcon.h extern int extcon_get_property(struct extcon_dev *edev, unsigned int id, edev 187 include/linux/extcon.h extern int extcon_get_property_capability(struct extcon_dev *edev, edev 199 include/linux/extcon.h extern int extcon_register_notifier(struct extcon_dev *edev, unsigned int id, edev 201 include/linux/extcon.h extern int extcon_unregister_notifier(struct extcon_dev *edev, unsigned int id, edev 204 include/linux/extcon.h struct extcon_dev *edev, unsigned int id, edev 207 include/linux/extcon.h struct extcon_dev *edev, unsigned int id, edev 210 include/linux/extcon.h extern int extcon_register_notifier_all(struct extcon_dev *edev, edev 212 include/linux/extcon.h extern int extcon_unregister_notifier_all(struct extcon_dev *edev, edev 215 include/linux/extcon.h struct extcon_dev *edev, edev 218 include/linux/extcon.h struct extcon_dev *edev, edev 230 include/linux/extcon.h extern const char *extcon_get_edev_name(struct extcon_dev *edev); edev 233 include/linux/extcon.h static inline int extcon_get_state(struct extcon_dev *edev, unsigned int id) edev 238 include/linux/extcon.h static inline int extcon_get_property(struct extcon_dev *edev, unsigned int id, edev 245 include/linux/extcon.h static inline int extcon_get_property_capability(struct extcon_dev *edev, edev 251 include/linux/extcon.h static inline int extcon_register_notifier(struct extcon_dev *edev, edev 257 include/linux/extcon.h static inline int extcon_unregister_notifier(struct extcon_dev *edev, edev 264 include/linux/extcon.h struct extcon_dev *edev, unsigned int id, edev 271 include/linux/extcon.h struct extcon_dev *edev, unsigned int id, edev 298 include/linux/extcon.h struct extcon_dev *edev; edev 571 include/linux/mfd/palmas.h struct extcon_dev *edev; edev 2323 include/linux/pci.h return pdev->dev.archdata.edev; edev 28 include/linux/usb/chipidea.h struct extcon_dev *edev; edev 103 include/linux/usb/phy.h struct extcon_dev *edev; edev 68 tools/usb/usbip/libsrc/usbip_host_common.c struct usbip_exported_device *edev = NULL; edev 73 tools/usb/usbip/libsrc/usbip_host_common.c edev = calloc(1, sizeof(struct usbip_exported_device)); edev 75 tools/usb/usbip/libsrc/usbip_host_common.c edev->sudev = edev 77 tools/usb/usbip/libsrc/usbip_host_common.c if (!edev->sudev) { edev 82 tools/usb/usbip/libsrc/usbip_host_common.c if (hdriver->ops.read_device(edev->sudev, &edev->udev) < 0) edev 85 tools/usb/usbip/libsrc/usbip_host_common.c edev->status = read_attr_usbip_status(&edev->udev); edev 86 tools/usb/usbip/libsrc/usbip_host_common.c if (edev->status < 0) edev 91 tools/usb/usbip/libsrc/usbip_host_common.c edev->udev.bNumInterfaces * sizeof(struct usbip_usb_interface); edev 93 tools/usb/usbip/libsrc/usbip_host_common.c edev_old = edev; edev 94 tools/usb/usbip/libsrc/usbip_host_common.c edev = realloc(edev, size); edev 95 tools/usb/usbip/libsrc/usbip_host_common.c if (!edev) { edev 96 tools/usb/usbip/libsrc/usbip_host_common.c edev = edev_old; edev 101 tools/usb/usbip/libsrc/usbip_host_common.c for (i = 0; i < edev->udev.bNumInterfaces; i++) { edev 105 tools/usb/usbip/libsrc/usbip_host_common.c hdriver->ops.read_interface(&edev->udev, i, &edev->uinf[i]); edev 108 tools/usb/usbip/libsrc/usbip_host_common.c return edev; edev 110 tools/usb/usbip/libsrc/usbip_host_common.c if (edev->sudev) edev 111 tools/usb/usbip/libsrc/usbip_host_common.c udev_device_unref(edev->sudev); edev 112 tools/usb/usbip/libsrc/usbip_host_common.c if (edev) edev 113 tools/usb/usbip/libsrc/usbip_host_common.c free(edev); edev 120 tools/usb/usbip/libsrc/usbip_host_common.c struct usbip_exported_device *edev; edev 141 tools/usb/usbip/libsrc/usbip_host_common.c edev = usbip_exported_device_new(hdriver, path); edev 142 tools/usb/usbip/libsrc/usbip_host_common.c if (!edev) { edev 147 tools/usb/usbip/libsrc/usbip_host_common.c list_add(&edev->node, &hdriver->edev_list); edev 158 tools/usb/usbip/libsrc/usbip_host_common.c struct usbip_exported_device *edev; edev 161 tools/usb/usbip/libsrc/usbip_host_common.c edev = list_entry(i, struct usbip_exported_device, node); edev 163 tools/usb/usbip/libsrc/usbip_host_common.c free(edev); edev 212 tools/usb/usbip/libsrc/usbip_host_common.c int usbip_export_device(struct usbip_exported_device *edev, int sockfd) edev 220 tools/usb/usbip/libsrc/usbip_host_common.c if (edev->status != SDEV_ST_AVAILABLE) { edev 221 tools/usb/usbip/libsrc/usbip_host_common.c dbg("device not available: %s", edev->udev.busid); edev 222 tools/usb/usbip/libsrc/usbip_host_common.c switch (edev->status) { edev 232 tools/usb/usbip/libsrc/usbip_host_common.c dbg("status unknown: 0x%x", edev->status); edev 240 tools/usb/usbip/libsrc/usbip_host_common.c edev->udev.path, attr_name); edev 262 tools/usb/usbip/libsrc/usbip_host_common.c info("connect: %s", edev->udev.busid); edev 271 tools/usb/usbip/libsrc/usbip_host_common.c struct usbip_exported_device *edev; edev 275 tools/usb/usbip/libsrc/usbip_host_common.c edev = list_entry(i, struct usbip_exported_device, node); edev 277 tools/usb/usbip/libsrc/usbip_host_common.c return edev; edev 88 tools/usb/usbip/libsrc/usbip_host_common.h int usbip_export_device(struct usbip_exported_device *edev, int sockfd); edev 94 tools/usb/usbip/src/usbipd.c struct usbip_exported_device *edev; edev 111 tools/usb/usbip/src/usbipd.c edev = list_entry(i, struct usbip_exported_device, node); edev 112 tools/usb/usbip/src/usbipd.c if (!strncmp(req.busid, edev->udev.busid, SYSFS_BUS_ID_SIZE)) { edev 124 tools/usb/usbip/src/usbipd.c status = usbip_export_device(edev, sockfd); edev 143 tools/usb/usbip/src/usbipd.c memcpy(&pdu_udev, &edev->udev, sizeof(pdu_udev)); edev 159 tools/usb/usbip/src/usbipd.c struct usbip_exported_device *edev; edev 178 tools/usb/usbip/src/usbipd.c edev = list_entry(j, struct usbip_exported_device, node); edev 179 tools/usb/usbip/src/usbipd.c if (edev->status != SDEV_ST_USED) edev 198 tools/usb/usbip/src/usbipd.c edev = list_entry(j, struct usbip_exported_device, node); edev 199 tools/usb/usbip/src/usbipd.c if (edev->status == SDEV_ST_USED) edev 202 tools/usb/usbip/src/usbipd.c dump_usb_device(&edev->udev); edev 203 tools/usb/usbip/src/usbipd.c memcpy(&pdu_udev, &edev->udev, sizeof(pdu_udev)); edev 212 tools/usb/usbip/src/usbipd.c for (i = 0; i < edev->udev.bNumInterfaces; i++) { edev 213 tools/usb/usbip/src/usbipd.c dump_usb_interface(&edev->uinf[i]); edev 214 tools/usb/usbip/src/usbipd.c memcpy(&pdu_uinf, &edev->uinf[i], sizeof(pdu_uinf));