/kernel/linux/linux-6.6/drivers/thunderbolt/ |
H A D | nhi.c | 24 #include "nhi.h" 57 bit += ring->nhi->hop_count; in ring_interrupt_index() 61 static void nhi_mask_interrupt(struct tb_nhi *nhi, int mask, int ring) in nhi_mask_interrupt() argument 63 if (nhi->quirks & QUIRK_AUTO_CLEAR_INT) { in nhi_mask_interrupt() 66 val = ioread32(nhi->iobase + REG_RING_INTERRUPT_BASE + ring); in nhi_mask_interrupt() 67 iowrite32(val & ~mask, nhi->iobase + REG_RING_INTERRUPT_BASE + ring); in nhi_mask_interrupt() 69 iowrite32(mask, nhi->iobase + REG_RING_INTERRUPT_MASK_CLEAR_BASE + ring); in nhi_mask_interrupt() 73 static void nhi_clear_interrupt(struct tb_nhi *nhi, int ring) in nhi_clear_interrupt() argument 75 if (nhi->quirks & QUIRK_AUTO_CLEAR_INT) in nhi_clear_interrupt() 76 ioread32(nhi in nhi_clear_interrupt() 162 nhi_disable_interrupts(struct tb_nhi *nhi) nhi_disable_interrupts() argument 461 struct tb_nhi *nhi = ring->nhi; ring_request_msix() local 504 nhi_alloc_hop(struct tb_nhi *nhi, struct tb_ring *ring) nhi_alloc_hop() argument 576 tb_ring_alloc(struct tb_nhi *nhi, u32 hop, int size, bool transmit, unsigned int flags, int e2e_tx_hop, u16 sof_mask, u16 eof_mask, void (*start_poll)(void *), void *poll_data) tb_ring_alloc() argument 643 tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size, unsigned int flags) tb_ring_alloc_tx() argument 664 tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size, unsigned int flags, int e2e_tx_hop, u16 sof_mask, u16 eof_mask, void (*start_poll)(void *), void *poll_data) tb_ring_alloc_rx() argument 859 nhi_mailbox_cmd(struct tb_nhi *nhi, enum nhi_mailbox_cmd cmd, u32 data) nhi_mailbox_cmd() argument 894 nhi_mailbox_mode(struct tb_nhi *nhi) nhi_mailbox_mode() argument 907 struct tb_nhi *nhi = container_of(work, typeof(*nhi), interrupt_work); nhi_interrupt_work() local 959 struct tb_nhi *nhi = data; nhi_msi() local 968 struct tb_nhi *nhi = tb->nhi; __nhi_suspend_noirq() local 1028 nhi_enable_int_throttling(struct tb_nhi *nhi) nhi_enable_int_throttling() argument 1048 struct tb_nhi *nhi = tb->nhi; nhi_resume_noirq() local 1098 struct tb_nhi *nhi = tb->nhi; nhi_runtime_suspend() local 1117 struct tb_nhi *nhi = tb->nhi; nhi_runtime_resume() local 1130 nhi_shutdown(struct tb_nhi *nhi) nhi_shutdown() argument 1159 nhi_check_quirks(struct tb_nhi *nhi) nhi_check_quirks() argument 1192 nhi_check_iommu(struct tb_nhi *nhi) nhi_check_iommu() argument 1224 nhi_reset(struct tb_nhi *nhi) nhi_reset() argument 1255 nhi_init_msi(struct tb_nhi *nhi) nhi_init_msi() argument 1306 nhi_select_cm(struct tb_nhi *nhi) nhi_select_cm() argument 1332 struct tb_nhi *nhi; nhi_probe() local 1420 struct tb_nhi *nhi = tb->nhi; nhi_remove() local [all...] |
H A D | nhi_ops.c | 12 #include "nhi.h" 25 static bool icl_nhi_is_device_connected(struct tb_nhi *nhi) in icl_nhi_is_device_connected() argument 27 struct tb *tb = pci_get_drvdata(nhi->pdev); in icl_nhi_is_device_connected() 35 static int icl_nhi_force_power(struct tb_nhi *nhi, bool power) in icl_nhi_force_power() argument 51 pci_read_config_dword(nhi->pdev, VS_CAP_22, &vs_cap); in icl_nhi_force_power() 59 pci_write_config_dword(nhi->pdev, VS_CAP_22, vs_cap); in icl_nhi_force_power() 67 pci_read_config_dword(nhi->pdev, VS_CAP_9, &val); in icl_nhi_force_power() 79 static void icl_nhi_lc_mailbox_cmd(struct tb_nhi *nhi, enum icl_lc_mailbox_cmd cmd) in icl_nhi_lc_mailbox_cmd() argument 84 pci_write_config_dword(nhi->pdev, VS_CAP_19, data | VS_CAP_19_VALID); in icl_nhi_lc_mailbox_cmd() 87 static int icl_nhi_lc_mailbox_cmd_complete(struct tb_nhi *nhi, in argument 111 icl_nhi_set_ltr(struct tb_nhi *nhi) icl_nhi_set_ltr() argument 122 icl_nhi_suspend(struct tb_nhi *nhi) icl_nhi_suspend() argument 145 icl_nhi_suspend_noirq(struct tb_nhi *nhi, bool wakeup) icl_nhi_suspend_noirq() argument 161 icl_nhi_resume(struct tb_nhi *nhi) icl_nhi_resume() argument 173 icl_nhi_shutdown(struct tb_nhi *nhi) icl_nhi_shutdown() argument [all...] |
H A D | nhi.h | 30 int nhi_mailbox_cmd(struct tb_nhi *nhi, enum nhi_mailbox_cmd cmd, u32 data); 31 enum nhi_fw_mode nhi_mailbox_mode(struct tb_nhi *nhi); 43 int (*init)(struct tb_nhi *nhi); 44 int (*suspend_noirq)(struct tb_nhi *nhi, bool wakeup); 45 int (*resume_noirq)(struct tb_nhi *nhi); 46 int (*runtime_suspend)(struct tb_nhi *nhi); 47 int (*runtime_resume)(struct tb_nhi *nhi); 48 void (*shutdown)(struct tb_nhi *nhi);
|
H A D | acpi.c | 19 struct tb_nhi *nhi = data; in tb_acpi_add_link() local 31 if (dev_fwnode(&nhi->pdev->dev) != fwnode) in tb_acpi_add_link() 80 link = device_link_add(&pdev->dev, &nhi->pdev->dev, in tb_acpi_add_link() 85 dev_dbg(&nhi->pdev->dev, "created link from %s\n", in tb_acpi_add_link() 89 dev_warn(&nhi->pdev->dev, "device link creation from %s failed\n", in tb_acpi_add_link() 103 * @nhi: Pointer to NHI 106 * @nhi ACPI node. For each reference a device link is added. The link 111 bool tb_acpi_add_links(struct tb_nhi *nhi) in tb_acpi_add_links() argument 116 if (!has_acpi_companion(&nhi->pdev->dev)) in tb_acpi_add_links() 124 tb_acpi_add_link, NULL, nhi, (voi in tb_acpi_add_links() 323 struct tb_nhi *nhi = sw->tb->nhi; tb_acpi_switch_find_companion() local [all...] |
H A D | nhi_regs.h | 85 #define RING_NOTIFY_REG_COUNT(nhi) ((31 + 3 * nhi->hop_count) / 32) 94 #define RING_INTERRUPT_REG_COUNT(nhi) ((31 + 2 * nhi->hop_count) / 32)
|
H A D | icm.c | 374 static bool icm_firmware_running(const struct tb_nhi *nhi) in icm_firmware_running() argument 378 val = ioread32(nhi->iobase + REG_FW_STS); in icm_firmware_running() 451 nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_SAVE_DEVS, 0); in icm_fr_save_devices() 603 nhi_mailbox_cmd(tb->nhi, cmd, 1); in icm_fr_disconnect_xdomain_paths() 605 nhi_mailbox_cmd(tb->nhi, cmd, 2); in icm_fr_disconnect_xdomain_paths() 1435 if (icm_firmware_running(tb->nhi)) in icm_ar_is_supported() 1444 upstream_port = get_upstream_port(tb->nhi->pdev); in icm_ar_is_supported() 1468 struct tb_nhi *nhi = tb->nhi; in icm_ar_get_mode() local 1473 val = ioread32(nhi in icm_ar_get_mode() 1646 struct tb_nhi *nhi = tb->nhi; icm_icl_set_uuid() local 1789 icm_firmware_reset(struct tb *tb, struct tb_nhi *nhi) icm_firmware_reset() argument 1812 icm_firmware_start(struct tb *tb, struct tb_nhi *nhi) icm_firmware_start() argument 1912 struct tb_nhi *nhi = tb->nhi; icm_firmware_init() local 2429 icm_probe(struct tb_nhi *nhi) icm_probe() argument [all...] |
H A D | ctl.c | 24 * @nhi: Pointer to the NHI structure 37 struct tb_nhi *nhi; member 54 dev_WARN(&(ctl)->nhi->pdev->dev, format, ## arg) 57 dev_err(&(ctl)->nhi->pdev->dev, format, ## arg) 60 dev_warn(&(ctl)->nhi->pdev->dev, format, ## arg) 63 dev_info(&(ctl)->nhi->pdev->dev, format, ## arg) 66 dev_dbg(&(ctl)->nhi->pdev->dev, format, ## arg) 616 * @nhi: Pointer to NHI 625 struct tb_ctl *tb_ctl_alloc(struct tb_nhi *nhi, int timeout_msec, event_cb cb, in tb_ctl_alloc() argument 632 ctl->nhi in tb_ctl_alloc() [all...] |
H A D | test.c | 1791 struct tb_port *nhi, *port; in tb_test_tunnel_dma() local 1807 nhi = &host->ports[7]; in tb_test_tunnel_dma() 1810 tunnel = tb_tunnel_alloc_dma(NULL, nhi, port, 8, 1, 8, 1); in tb_test_tunnel_dma() 1813 KUNIT_EXPECT_PTR_EQ(test, tunnel->src_port, nhi); in tb_test_tunnel_dma() 1820 KUNIT_EXPECT_PTR_EQ(test, tunnel->paths[0]->hops[0].out_port, nhi); in tb_test_tunnel_dma() 1824 KUNIT_EXPECT_PTR_EQ(test, tunnel->paths[1]->hops[0].in_port, nhi); in tb_test_tunnel_dma() 1834 struct tb_port *nhi, *port; in tb_test_tunnel_dma_rx() local 1850 nhi = &host->ports[7]; in tb_test_tunnel_dma_rx() 1853 tunnel = tb_tunnel_alloc_dma(NULL, nhi, port, -1, -1, 15, 2); in tb_test_tunnel_dma_rx() 1856 KUNIT_EXPECT_PTR_EQ(test, tunnel->src_port, nhi); in tb_test_tunnel_dma_rx() 1871 struct tb_port *nhi, *port; tb_test_tunnel_dma_tx() local 1909 struct tb_port *nhi, *port; tb_test_tunnel_dma_chain() local 1974 struct tb_port *nhi, *port; tb_test_tunnel_dma_match() local 2252 struct tb_port *nhi, *port; tb_test_credit_alloc_dma() local 2289 struct tb_port *nhi, *port; tb_test_credit_alloc_dma_multiple() local 2519 struct tb_port *nhi, *port; TB_TEST_DMA_TUNNEL1() local 2549 struct tb_port *nhi, *port; TB_TEST_DMA_TUNNEL2() local [all...] |
H A D | domain.c | 258 return sysfs_emit(buf, "%d\n", tb->nhi->iommu_dma_protection); in iommu_dma_protection_show() 360 * @nhi: Pointer to the host controller 373 struct tb *tb_domain_alloc(struct tb_nhi *nhi, int timeout_msec, size_t privsize) in tb_domain_alloc() argument 389 tb->nhi = nhi; in tb_domain_alloc() 400 tb->ctl = tb_ctl_alloc(nhi, timeout_msec, tb_domain_event_cb, tb); in tb_domain_alloc() 404 tb->dev.parent = &nhi->pdev->dev; in tb_domain_alloc()
|
H A D | tb.h | 688 #define tb_err(tb, fmt, arg...) dev_err(&(tb)->nhi->pdev->dev, fmt, ## arg) 689 #define tb_WARN(tb, fmt, arg...) dev_WARN(&(tb)->nhi->pdev->dev, fmt, ## arg) 690 #define tb_warn(tb, fmt, arg...) dev_warn(&(tb)->nhi->pdev->dev, fmt, ## arg) 691 #define tb_info(tb, fmt, arg...) dev_info(&(tb)->nhi->pdev->dev, fmt, ## arg) 692 #define tb_dbg(tb, fmt, arg...) dev_dbg(&(tb)->nhi->pdev->dev, fmt, ## arg) 720 struct tb *icm_probe(struct tb_nhi *nhi); 721 struct tb *tb_probe(struct tb_nhi *nhi); 733 struct tb *tb_domain_alloc(struct tb_nhi *nhi, int timeout_msec, size_t privsize); 1336 bool tb_acpi_add_links(struct tb_nhi *nhi); 1349 static inline bool tb_acpi_add_links(struct tb_nhi *nhi) { retur argument [all...] |
/kernel/linux/linux-5.10/drivers/thunderbolt/ |
H A D | nhi.c | 22 #include "nhi.h" 43 bit += ring->nhi->hop_count; in ring_interrupt_index() 50 * ring->nhi->lock must be held. 68 index = ring->hop + ring->nhi->hop_count; in ring_interrupt_active() 74 misc = ioread32(ring->nhi->iobase + REG_DMA_MISC); in ring_interrupt_active() 77 iowrite32(misc, ring->nhi->iobase + REG_DMA_MISC); in ring_interrupt_active() 80 ivr_base = ring->nhi->iobase + REG_INT_VEC_ALLOC_BASE; in ring_interrupt_active() 90 old = ioread32(ring->nhi->iobase + reg); in ring_interrupt_active() 96 dev_dbg(&ring->nhi->pdev->dev, in ring_interrupt_active() 101 dev_WARN(&ring->nhi in ring_interrupt_active() 113 nhi_disable_interrupts(struct tb_nhi *nhi) nhi_disable_interrupts() argument 396 struct tb_nhi *nhi = ring->nhi; ring_request_msix() local 439 nhi_alloc_hop(struct tb_nhi *nhi, struct tb_ring *ring) nhi_alloc_hop() argument 495 tb_ring_alloc(struct tb_nhi *nhi, u32 hop, int size, bool transmit, unsigned int flags, u16 sof_mask, u16 eof_mask, void (*start_poll)(void *), void *poll_data) tb_ring_alloc() argument 561 tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size, unsigned int flags) tb_ring_alloc_tx() argument 581 tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size, unsigned int flags, u16 sof_mask, u16 eof_mask, void (*start_poll)(void *), void *poll_data) tb_ring_alloc_rx() argument 748 nhi_mailbox_cmd(struct tb_nhi *nhi, enum nhi_mailbox_cmd cmd, u32 data) nhi_mailbox_cmd() argument 783 nhi_mailbox_mode(struct tb_nhi *nhi) nhi_mailbox_mode() argument 796 struct tb_nhi *nhi = container_of(work, typeof(*nhi), interrupt_work); nhi_interrupt_work() local 848 struct tb_nhi *nhi = data; nhi_msi() local 857 struct tb_nhi *nhi = tb->nhi; __nhi_suspend_noirq() local 917 nhi_enable_int_throttling(struct tb_nhi *nhi) nhi_enable_int_throttling() argument 937 struct tb_nhi *nhi = tb->nhi; nhi_resume_noirq() local 987 struct tb_nhi *nhi = tb->nhi; nhi_runtime_suspend() local 1006 struct tb_nhi *nhi = tb->nhi; nhi_runtime_resume() local 1019 nhi_shutdown(struct tb_nhi *nhi) nhi_shutdown() argument 1048 nhi_init_msi(struct tb_nhi *nhi) nhi_init_msi() argument 1107 tb_apple_add_links(struct tb_nhi *nhi) tb_apple_add_links() argument 1165 struct tb_nhi *nhi; nhi_probe() local 1267 struct tb_nhi *nhi = tb->nhi; nhi_remove() local [all...] |
H A D | nhi_ops.c | 12 #include "nhi.h" 25 static bool icl_nhi_is_device_connected(struct tb_nhi *nhi) in icl_nhi_is_device_connected() argument 27 struct tb *tb = pci_get_drvdata(nhi->pdev); in icl_nhi_is_device_connected() 35 static int icl_nhi_force_power(struct tb_nhi *nhi, bool power) in icl_nhi_force_power() argument 51 pci_read_config_dword(nhi->pdev, VS_CAP_22, &vs_cap); in icl_nhi_force_power() 59 pci_write_config_dword(nhi->pdev, VS_CAP_22, vs_cap); in icl_nhi_force_power() 67 pci_read_config_dword(nhi->pdev, VS_CAP_9, &val); in icl_nhi_force_power() 79 static void icl_nhi_lc_mailbox_cmd(struct tb_nhi *nhi, enum icl_lc_mailbox_cmd cmd) in icl_nhi_lc_mailbox_cmd() argument 84 pci_write_config_dword(nhi->pdev, VS_CAP_19, data | VS_CAP_19_VALID); in icl_nhi_lc_mailbox_cmd() 87 static int icl_nhi_lc_mailbox_cmd_complete(struct tb_nhi *nhi, in argument 111 icl_nhi_set_ltr(struct tb_nhi *nhi) icl_nhi_set_ltr() argument 122 icl_nhi_suspend(struct tb_nhi *nhi) icl_nhi_suspend() argument 145 icl_nhi_suspend_noirq(struct tb_nhi *nhi, bool wakeup) icl_nhi_suspend_noirq() argument 161 icl_nhi_resume(struct tb_nhi *nhi) icl_nhi_resume() argument 173 icl_nhi_shutdown(struct tb_nhi *nhi) icl_nhi_shutdown() argument [all...] |
H A D | nhi.h | 30 int nhi_mailbox_cmd(struct tb_nhi *nhi, enum nhi_mailbox_cmd cmd, u32 data); 31 enum nhi_fw_mode nhi_mailbox_mode(struct tb_nhi *nhi); 43 int (*init)(struct tb_nhi *nhi); 44 int (*suspend_noirq)(struct tb_nhi *nhi, bool wakeup); 45 int (*resume_noirq)(struct tb_nhi *nhi); 46 int (*runtime_suspend)(struct tb_nhi *nhi); 47 int (*runtime_resume)(struct tb_nhi *nhi); 48 void (*shutdown)(struct tb_nhi *nhi);
|
H A D | acpi.c | 19 struct tb_nhi *nhi = data; in tb_acpi_add_link() local 35 if (nhi->pdev->dev.fwnode != args.fwnode) in tb_acpi_add_link() 87 link = device_link_add(&pdev->dev, &nhi->pdev->dev, in tb_acpi_add_link() 92 dev_dbg(&nhi->pdev->dev, "created link from %s\n", in tb_acpi_add_link() 95 dev_warn(&nhi->pdev->dev, "device link creation from %s failed\n", in tb_acpi_add_link() 109 * @nhi: Pointer to NHI 112 * @nhi ACPI node. For each reference a device link is added. The link 115 void tb_acpi_add_links(struct tb_nhi *nhi) in tb_acpi_add_links() argument 119 if (!has_acpi_companion(&nhi->pdev->dev)) in tb_acpi_add_links() 127 tb_acpi_add_link, NULL, nhi, NUL in tb_acpi_add_links() [all...] |
H A D | icm.c | 358 static bool icm_firmware_running(const struct tb_nhi *nhi) in icm_firmware_running() argument 362 val = ioread32(nhi->iobase + REG_FW_STS); in icm_firmware_running() 435 nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_SAVE_DEVS, 0); in icm_fr_save_devices() 583 nhi_mailbox_cmd(tb->nhi, cmd, 1); in icm_fr_disconnect_xdomain_paths() 585 nhi_mailbox_cmd(tb->nhi, cmd, 2); in icm_fr_disconnect_xdomain_paths() 1399 if (icm_firmware_running(tb->nhi)) in icm_ar_is_supported() 1408 upstream_port = get_upstream_port(tb->nhi->pdev); in icm_ar_is_supported() 1432 struct tb_nhi *nhi = tb->nhi; in icm_ar_get_mode() local 1437 val = ioread32(nhi in icm_ar_get_mode() 1606 struct tb_nhi *nhi = tb->nhi; icm_icl_set_uuid() local 1737 icm_firmware_reset(struct tb *tb, struct tb_nhi *nhi) icm_firmware_reset() argument 1760 icm_firmware_start(struct tb *tb, struct tb_nhi *nhi) icm_firmware_start() argument 1860 struct tb_nhi *nhi = tb->nhi; icm_firmware_init() local 2207 icm_probe(struct tb_nhi *nhi) icm_probe() argument [all...] |
H A D | nhi_regs.h | 85 #define RING_NOTIFY_REG_COUNT(nhi) ((31 + 3 * nhi->hop_count) / 32) 93 #define RING_INTERRUPT_REG_COUNT(nhi) ((31 + 2 * nhi->hop_count) / 32)
|
H A D | ctl.c | 26 struct tb_nhi *nhi; member 42 dev_WARN(&(ctl)->nhi->pdev->dev, format, ## arg) 45 dev_err(&(ctl)->nhi->pdev->dev, format, ## arg) 48 dev_warn(&(ctl)->nhi->pdev->dev, format, ## arg) 51 dev_info(&(ctl)->nhi->pdev->dev, format, ## arg) 54 dev_dbg(&(ctl)->nhi->pdev->dev, format, ## arg) 610 struct tb_ctl *tb_ctl_alloc(struct tb_nhi *nhi, event_cb cb, void *cb_data) in tb_ctl_alloc() argument 616 ctl->nhi = nhi; in tb_ctl_alloc() 622 ctl->frame_pool = dma_pool_create("thunderbolt_ctl", &nhi in tb_ctl_alloc() [all...] |
H A D | tb.h | 564 #define tb_err(tb, fmt, arg...) dev_err(&(tb)->nhi->pdev->dev, fmt, ## arg) 565 #define tb_WARN(tb, fmt, arg...) dev_WARN(&(tb)->nhi->pdev->dev, fmt, ## arg) 566 #define tb_warn(tb, fmt, arg...) dev_warn(&(tb)->nhi->pdev->dev, fmt, ## arg) 567 #define tb_info(tb, fmt, arg...) dev_info(&(tb)->nhi->pdev->dev, fmt, ## arg) 568 #define tb_dbg(tb, fmt, arg...) dev_dbg(&(tb)->nhi->pdev->dev, fmt, ## arg) 596 struct tb *icm_probe(struct tb_nhi *nhi); 597 struct tb *tb_probe(struct tb_nhi *nhi); 608 struct tb *tb_domain_alloc(struct tb_nhi *nhi, size_t privsize); 1019 void tb_acpi_add_links(struct tb_nhi *nhi); 1021 static inline void tb_acpi_add_links(struct tb_nhi *nhi) { } in tb_acpi_add_links() argument [all...] |
H A D | tunnel.c | 791 static u32 tb_dma_credits(struct tb_port *nhi) in tb_dma_credits() argument 795 max_credits = (nhi->config.nfc_credits & ADP_CS_4_TOTAL_BUFFERS_MASK) >> in tb_dma_credits() 802 struct tb_port *nhi = tunnel->src_port; in tb_dma_activate() local 805 credits = active ? tb_dma_credits(nhi) : 0; in tb_dma_activate() 806 return tb_port_set_initial_credits(nhi, credits); in tb_dma_activate() 829 * @nhi: Host controller port 840 struct tb_tunnel *tb_tunnel_alloc_dma(struct tb *tb, struct tb_port *nhi, in tb_tunnel_alloc_dma() argument 854 tunnel->src_port = nhi; in tb_tunnel_alloc_dma() 857 credits = tb_dma_credits(nhi); in tb_tunnel_alloc_dma() 859 path = tb_path_alloc(tb, dst, receive_path, nhi, receive_rin in tb_tunnel_alloc_dma() [all...] |
/kernel/linux/linux-5.10/include/net/ |
H A D | nexthop.h | 143 const struct nh_info *nhi; in nexthop_is_fdb() local 145 nhi = rcu_dereference_rtnl(nh->nh_info); in nexthop_is_fdb() 146 return nhi->fdb_nh; in nexthop_is_fdb() 210 struct nh_info *nhi = rcu_dereference_rtnl(nhe->nh_info); in nexthop_mpath_fill_node() local 211 struct fib_nh_common *nhc = &nhi->fib_nhc; in nexthop_mpath_fill_node() 224 const struct nh_info *nhi; in nexthop_is_blackhole() local 236 nhi = rcu_dereference_rtnl(nh->nh_info); in nexthop_is_blackhole() 237 return nhi->reject_nh; in nexthop_is_blackhole() 242 struct nh_info *nhi; in nexthop_path_fib_result() local 246 nhi in nexthop_path_fib_result() 254 struct nh_info *nhi; nexthop_fib_nhc() local 281 struct nh_info *nhi; nexthop_get_nhc_lookup() local 310 struct nh_info *nhi; nexthop_uses_dev() local 368 struct nh_info *nhi; nexthop_fib6_nh() local 391 struct nh_info *nhi; nexthop_fib6_nh_bh() local 420 struct nh_info *nhi; nexthop_path_fib6_result() local 440 struct nh_info *nhi = rcu_dereference_rtnl(nh->nh_info); nexthop_get_family() local 448 struct nh_info *nhi = rcu_dereference_rtnl(nh->nh_info); nexthop_fdb_nhc() local 456 struct nh_info *nhi; nexthop_path_fdb_result() local [all...] |
/kernel/linux/linux-6.6/include/net/ |
H A D | nexthop.h | 257 const struct nh_info *nhi; in nexthop_is_fdb() local 259 nhi = rcu_dereference_rtnl(nh->nh_info); in nexthop_is_fdb() 260 return nhi->fdb_nh; in nexthop_is_fdb() 324 struct nh_info *nhi = rcu_dereference_rtnl(nhe->nh_info); in nexthop_mpath_fill_node() local 325 struct fib_nh_common *nhc = &nhi->fib_nhc; in nexthop_mpath_fill_node() 338 const struct nh_info *nhi; in nexthop_is_blackhole() local 350 nhi = rcu_dereference_rtnl(nh->nh_info); in nexthop_is_blackhole() 351 return nhi->reject_nh; in nexthop_is_blackhole() 356 struct nh_info *nhi; in nexthop_path_fib_result() local 360 nhi in nexthop_path_fib_result() 368 struct nh_info *nhi; nexthop_fib_nhc() local 395 struct nh_info *nhi; nexthop_get_nhc_lookup() local 424 struct nh_info *nhi; nexthop_uses_dev() local 482 struct nh_info *nhi; nexthop_fib6_nh() local 511 struct nh_info *nhi; nexthop_path_fib6_result() local 531 struct nh_info *nhi = rcu_dereference_rtnl(nh->nh_info); nexthop_get_family() local 539 struct nh_info *nhi = rcu_dereference_rtnl(nh->nh_info); nexthop_fdb_nhc() local 547 struct nh_info *nhi; nexthop_path_fdb_result() local [all...] |
/kernel/linux/linux-5.10/net/ipv4/ |
H A D | nexthop.c | 59 static void nexthop_devhash_add(struct net *net, struct nh_info *nhi) in nexthop_devhash_add() argument 61 struct net_device *dev = nhi->fib_nhc.nhc_dev; in nexthop_devhash_add() 69 hlist_add_head(&nhi->dev_hash, head); in nexthop_devhash_add() 93 struct nh_info *nhi; in nexthop_free_single() local 95 nhi = rcu_dereference_raw(nh->nh_info); in nexthop_free_single() 96 switch (nhi->family) { in nexthop_free_single() 98 fib_nh_release(nh->net, &nhi->fib_nh); in nexthop_free_single() 101 ipv6_stub->fib6_nh_release(&nhi->fib6_nh); in nexthop_free_single() 104 kfree(nhi); in nexthop_free_single() 231 struct nh_info *nhi; in nh_fill_node() local 317 struct nh_info *nhi = rtnl_dereference(nh->nh_info); nh_nlmsg_size_single() local 403 struct nh_info *nhi = rtnl_dereference(nh->nh_info); valid_group_nh() local 419 struct nh_info *nhi; nh_check_attr_fdb_group() local 555 struct nh_info *nhi; nexthop_select_path() local 590 struct nh_info *nhi; nexthop_for_each_fib6_nh() local 630 struct nh_info *nhi; fib6_check_nexthop() local 687 nexthop_check_scope(struct nh_info *nhi, u8 scope, struct netlink_ext_ack *extack) nexthop_check_scope() argument 711 struct nh_info *nhi; fib_check_nexthop() local 810 struct nh_info *nhi; remove_nh_grp_entry() local 898 struct nh_info *nhi; __remove_nexthop() local 953 struct nh_info *nhi = rtnl_dereference(nhge->nh->nh_info); nh_rt_cache_flush() local 997 struct nh_info *nhi; nh_group_v4_update() local 1106 struct nh_info *nhi = rtnl_dereference(new->nh_info); replace_nexthop() local 1214 struct nh_info *nhi; nexthop_flush_dev() local 1278 struct nh_info *nhi; nexthop_create_group() local 1319 nh_create_ipv4(struct net *net, struct nexthop *nh, struct nh_info *nhi, struct nh_config *cfg, struct netlink_ext_ack *extack) nh_create_ipv4() argument 1358 nh_create_ipv6(struct net *net, struct nexthop *nh, struct nh_info *nhi, struct nh_config *cfg, struct netlink_ext_ack *extack) nh_create_ipv6() argument 1396 struct nh_info *nhi; nexthop_create() local 1807 const struct nh_info *nhi; nh_dump_filtered() local 1955 struct nh_info *nhi; nexthop_sync_mtu() local [all...] |
/kernel/linux/linux-6.6/net/ipv4/ |
H A D | nexthop.c | 86 const struct nh_info *nhi) in __nh_notifier_single_info_init() 88 nh_info->dev = nhi->fib_nhc.nhc_dev; in __nh_notifier_single_info_init() 89 nh_info->gw_family = nhi->fib_nhc.nhc_gw_family; in __nh_notifier_single_info_init() 91 nh_info->ipv4 = nhi->fib_nhc.nhc_gw.ipv4; in __nh_notifier_single_info_init() 93 nh_info->ipv6 = nhi->fib_nhc.nhc_gw.ipv6; in __nh_notifier_single_info_init() 95 nh_info->is_reject = nhi->reject_nh; in __nh_notifier_single_info_init() 96 nh_info->is_fdb = nhi->fdb_nh; in __nh_notifier_single_info_init() 97 nh_info->has_encap = !!nhi->fib_nhc.nhc_lwtstate; in __nh_notifier_single_info_init() 103 struct nh_info *nhi = rtnl_dereference(nh->nh_info); in nh_notifier_single_info_init() local 110 __nh_notifier_single_info_init(info->nh, nhi); in nh_notifier_single_info_init() 85 __nh_notifier_single_info_init(struct nh_notifier_single_info *nh_info, const struct nh_info *nhi) __nh_notifier_single_info_init() argument 137 struct nh_info *nhi; nh_notifier_mpath_info_init() local 169 struct nh_info *nhi; nh_notifier_res_table_info_init() local 454 nexthop_devhash_add(struct net *net, struct nh_info *nhi) nexthop_devhash_add() argument 491 struct nh_info *nhi; nexthop_free_single() local 699 struct nh_info *nhi; nh_fill_node() local 798 struct nh_info *nhi = rtnl_dereference(nh->nh_info); nh_nlmsg_size_single() local 1008 struct nh_info *nhi = rtnl_dereference(nh->nh_info); valid_group_nh() local 1024 struct nh_info *nhi; nh_check_attr_fdb_group() local 1157 struct nh_info *nhi = rcu_dereference(nh->nh_info); nexthop_is_good_nh() local 1253 struct nh_info *nhi; nexthop_for_each_fib6_nh() local 1293 struct nh_info *nhi; fib6_check_nexthop() local 1350 nexthop_check_scope(struct nh_info *nhi, u8 scope, struct netlink_ext_ack *extack) nexthop_check_scope() argument 1374 struct nh_info *nhi; fib_check_nexthop() local 1788 struct nh_info *nhi; remove_nh_grp_entry() local 1896 struct nh_info *nhi; __remove_nexthop() local 1948 struct nh_info *nhi = rtnl_dereference(nhge->nh->nh_info); nh_rt_cache_flush() local 2050 struct nh_info *nhi; nh_group_v4_update() local 2263 struct nh_info *nhi = rtnl_dereference(new->nh_info); replace_nexthop() local 2403 struct nh_info *nhi; nexthop_flush_dev() local 2468 struct nh_info *nhi; nexthop_create_group() local 2529 nh_create_ipv4(struct net *net, struct nexthop *nh, struct nh_info *nhi, struct nh_config *cfg, struct netlink_ext_ack *extack) nh_create_ipv4() argument 2568 nh_create_ipv6(struct net *net, struct nexthop *nh, struct nh_info *nhi, struct nh_config *cfg, struct netlink_ext_ack *extack) nh_create_ipv6() argument 2606 struct nh_info *nhi; nexthop_create() local 3088 const struct nh_info *nhi; nh_dump_filtered() local 3557 struct nh_info *nhi; nexthop_sync_mtu() local [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | thunderbolt.h | 62 * @nhi: Pointer to the NHI structure 75 struct tb_nhi *nhi; member 459 * nhi->lock. 460 * @nhi: Pointer to the native host controller interface 482 struct tb_nhi *nhi; member 552 struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size, 554 struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size, 619 return &ring->nhi->pdev->dev; in tb_ring_dma_device()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | thunderbolt.h | 65 * @nhi: Pointer to the NHI structure 78 struct tb_nhi *nhi; member 509 * nhi->lock. 510 * @nhi: Pointer to the native host controller interface 534 struct tb_nhi *nhi; member 607 struct tb_ring *tb_ring_alloc_tx(struct tb_nhi *nhi, int hop, int size, 609 struct tb_ring *tb_ring_alloc_rx(struct tb_nhi *nhi, int hop, int size, 675 return &ring->nhi->pdev->dev; in tb_ring_dma_device()
|