Home
last modified time | relevance | path

Searched refs:nhi (Results 1 – 20 of 20) sorted by relevance

/Linux-v5.10/drivers/thunderbolt/
Dnhi.c43 bit += ring->nhi->hop_count; in ring_interrupt_index()
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->pdev->dev, in ring_interrupt_active()
105 iowrite32(new, ring->nhi->iobase + reg); in ring_interrupt_active()
113 static void nhi_disable_interrupts(struct tb_nhi *nhi) in nhi_disable_interrupts() argument
[all …]
Dnhi_ops.c25 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, int timeout) in icl_nhi_lc_mailbox_cmd_complete() argument
97 pci_read_config_dword(nhi->pdev, VS_CAP_18, &data); in icl_nhi_lc_mailbox_cmd_complete()
[all …]
Dnhi.h30 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);
Dacpi.c18 struct tb_nhi *nhi = data; in tb_acpi_add_link() local
34 if (nhi->pdev->dev.fwnode != args.fwnode) in tb_acpi_add_link()
77 link = device_link_add(&pdev->dev, &nhi->pdev->dev, in tb_acpi_add_link()
81 dev_dbg(&nhi->pdev->dev, "created link from %s\n", in tb_acpi_add_link()
84 dev_warn(&nhi->pdev->dev, "device link creation from %s failed\n", in tb_acpi_add_link()
102 void tb_acpi_add_links(struct tb_nhi *nhi) in tb_acpi_add_links() argument
106 if (!has_acpi_companion(&nhi->pdev->dev)) in tb_acpi_add_links()
114 tb_acpi_add_link, NULL, nhi, NULL); in tb_acpi_add_links()
116 dev_warn(&nhi->pdev->dev, "failed to enumerate tunneled ports\n"); in tb_acpi_add_links()
Dnhi_regs.h85 #define RING_NOTIFY_REG_COUNT(nhi) ((31 + 3 * nhi->hop_count) / 32) argument
93 #define RING_INTERRUPT_REG_COUNT(nhi) ((31 + 2 * nhi->hop_count) / 32) argument
Dicm.c358 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->iobase + REG_FW_STS); in icm_ar_get_mode()
1444 dev_err(&nhi->pdev->dev, "ICM firmware not authenticated\n"); in icm_ar_get_mode()
[all …]
Dctl.c26 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->pdev->dev, in tb_ctl_alloc()
627 ctl->tx = tb_ring_alloc_tx(nhi, 0, 10, RING_FLAG_NO_SUSPEND); in tb_ctl_alloc()
[all …]
Dtb.h564 #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);
1018 void tb_acpi_add_links(struct tb_nhi *nhi);
1020 static inline void tb_acpi_add_links(struct tb_nhi *nhi) { } in tb_acpi_add_links() argument
Dtunnel.c791 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()
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_ring, 0, "DMA RX"); in tb_tunnel_alloc_dma()
868 path = tb_path_alloc(tb, nhi, transmit_ring, dst, transmit_path, 0, "DMA TX"); in tb_tunnel_alloc_dma()
Ddomain.c340 struct tb *tb_domain_alloc(struct tb_nhi *nhi, size_t privsize) in tb_domain_alloc() argument
356 tb->nhi = nhi; in tb_domain_alloc()
367 tb->dev.parent = &nhi->pdev->dev; in tb_domain_alloc()
426 tb->ctl = tb_ctl_alloc(tb->nhi, tb_domain_event_cb, tb); in tb_domain_add()
DMakefile3 thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o
Dtunnel.h72 struct tb_tunnel *tb_tunnel_alloc_dma(struct tb *tb, struct tb_port *nhi,
Dctl.h24 struct tb_ctl *tb_ctl_alloc(struct tb_nhi *nhi, event_cb cb, void *cb_data);
Deeprom.c418 struct device *dev = &sw->tb->nhi->pdev->dev; in tb_drom_copy_efi()
Dtb.c1520 struct tb *tb_probe(struct tb_nhi *nhi) in tb_probe() argument
1525 tb = tb_domain_alloc(nhi, sizeof(*tcm)); in tb_probe()
Dswitch.c266 root_port = pcie_find_root_port(sw->tb->nhi->pdev); in nvm_authenticate_start_dma_port()
275 root_port = pcie_find_root_port(sw->tb->nhi->pdev); in nvm_authenticate_complete_dma_port()
/Linux-v5.10/include/net/
Dnexthop.h143 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 = rcu_dereference(nh->nh_info); in nexthop_path_fib_result()
[all …]
/Linux-v5.10/net/ipv4/
Dnexthop.c59 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()
230 struct nh_info *nhi; in nh_fill_node() local
[all …]
/Linux-v5.10/include/linux/
Dthunderbolt.h75 struct tb_nhi *nhi; member
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()
/Linux-v5.10/drivers/net/
Dthunderbolt.c857 ring = tb_ring_alloc_tx(xd->tb->nhi, -1, TBNET_RING_SIZE, in tbnet_open()
868 ring = tb_ring_alloc_rx(xd->tb->nhi, -1, TBNET_RING_SIZE, in tbnet_open()