| 2465 | } |
| 2466 | |
| 2467 | static void |
| 2468 | ixgbe_dev_phy_intr_setup(struct rte_eth_dev *dev) |
| 2469 | { |
| 2470 | struct ixgbe_hw *hw = |
| 2471 | IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private); |
| 2472 | struct ixgbe_interrupt *intr = |
| 2473 | IXGBE_DEV_PRIVATE_TO_INTR(dev->data->dev_private); |
| 2474 | uint32_t gpie; |
| 2475 | |
| 2476 | /* only set up it on X550EM_X */ |
| 2477 | if (hw->mac.type == ixgbe_mac_X550EM_x) { |
| 2478 | gpie = IXGBE_READ_REG(hw, IXGBE_GPIE); |
| 2479 | gpie |= IXGBE_SDP0_GPIEN_X550EM_x; |
| 2480 | IXGBE_WRITE_REG(hw, IXGBE_GPIE, gpie); |
| 2481 | if (hw->phy.type == ixgbe_phy_x550em_ext_t) |
| 2482 | intr->mask |= IXGBE_EICR_GPI_SDP0_X550EM_x; |
| 2483 | } |
| 2484 | } |
| 2485 | |
| 2486 | int |
| 2487 | ixgbe_set_vf_rate_limit(struct rte_eth_dev *dev, uint16_t vf, |