| 119 | } |
| 120 | |
| 121 | static int |
| 122 | sfc_port_init_dev_link(struct sfc_adapter *sa) |
| 123 | { |
| 124 | struct rte_eth_link *dev_link = &sa->eth_dev->data->dev_link; |
| 125 | int rc; |
| 126 | efx_link_mode_t link_mode; |
| 127 | struct rte_eth_link current_link; |
| 128 | |
| 129 | rc = efx_port_poll(sa->nic, &link_mode); |
| 130 | if (rc != 0) |
| 131 | return rc; |
| 132 | |
| 133 | sfc_port_link_mode_to_info(link_mode, ¤t_link); |
| 134 | |
| 135 | EFX_STATIC_ASSERT(sizeof(*dev_link) == sizeof(rte_atomic64_t)); |
| 136 | rte_atomic64_set((rte_atomic64_t *)dev_link, |
| 137 | *(uint64_t *)¤t_link); |
| 138 | |
| 139 | return 0; |
| 140 | } |
| 141 | |
| 142 | #if EFSYS_OPT_LOOPBACK |
| 143 |
no test coverage detected