* Set device link down. */
| 275 | * Set device link down. |
| 276 | */ |
| 277 | int cxgbe_dev_set_link_down(struct rte_eth_dev *dev) |
| 278 | { |
| 279 | struct port_info *pi = dev->data->dev_private; |
| 280 | struct adapter *adapter = pi->adapter; |
| 281 | unsigned int work_done, budget = 32; |
| 282 | struct sge *s = &adapter->sge; |
| 283 | int ret; |
| 284 | |
| 285 | if (!s->fw_evtq.desc) |
| 286 | return -ENOMEM; |
| 287 | |
| 288 | /* Flush all link events */ |
| 289 | cxgbe_poll(&s->fw_evtq, NULL, budget, &work_done); |
| 290 | |
| 291 | /* If link already down, nothing to do */ |
| 292 | if (!pi->link_cfg.link_ok) |
| 293 | return 0; |
| 294 | |
| 295 | ret = cxgbe_set_link_status(pi, false); |
| 296 | if (ret) |
| 297 | return ret; |
| 298 | |
| 299 | cxgbe_dev_link_update(dev, 0); |
| 300 | return 0; |
| 301 | } |
| 302 | |
| 303 | int cxgbe_dev_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu) |
| 304 | { |
nothing calls this directly
no test coverage detected