| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Thunderbolt Cactus Ridge driver - PCIe tunnel |
| * |
| * Copyright (c) 2014 Andreas Noever <andreas.noever@gmail.com> |
| */ |
| |
| #ifndef TB_PCI_H_ |
| #define TB_PCI_H_ |
| |
| #include "tb.h" |
| |
| struct tb_pci_tunnel { |
| struct tb *tb; |
| struct tb_port *up_port; |
| struct tb_port *down_port; |
| struct tb_path *path_to_up; |
| struct tb_path *path_to_down; |
| struct list_head list; |
| }; |
| |
| struct tb_pci_tunnel *tb_pci_alloc(struct tb *tb, struct tb_port *up, |
| struct tb_port *down); |
| void tb_pci_free(struct tb_pci_tunnel *tunnel); |
| int tb_pci_activate(struct tb_pci_tunnel *tunnel); |
| int tb_pci_restart(struct tb_pci_tunnel *tunnel); |
| void tb_pci_deactivate(struct tb_pci_tunnel *tunnel); |
| bool tb_pci_is_invalid(struct tb_pci_tunnel *tunnel); |
| |
| #endif |
| |