Lines Matching refs:adapter
48 static int ixgbe_copy_dcb_cfg(struct ixgbe_adapter *adapter, int tc_max) in ixgbe_copy_dcb_cfg() argument
50 struct ixgbe_dcb_config *scfg = &adapter->temp_dcb_cfg; in ixgbe_copy_dcb_cfg()
51 struct ixgbe_dcb_config *dcfg = &adapter->dcb_cfg; in ixgbe_copy_dcb_cfg()
63 u8 up = dcb_getapp(adapter->netdev, &app); in ixgbe_copy_dcb_cfg()
65 if (up && !(up & (1 << adapter->fcoe.up))) in ixgbe_copy_dcb_cfg()
148 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_state() local
150 return !!(adapter->flags & IXGBE_FLAG_DCB_ENABLED); in ixgbe_dcbnl_get_state()
155 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_state() local
158 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE)) in ixgbe_dcbnl_set_state()
162 if (!state == !(adapter->flags & IXGBE_FLAG_DCB_ENABLED)) in ixgbe_dcbnl_set_state()
166 state ? adapter->dcb_cfg.num_tcs.pg_tcs : 0); in ixgbe_dcbnl_set_state()
172 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_perm_hw_addr() local
178 perm_addr[i] = adapter->hw.mac.perm_addr[i]; in ixgbe_dcbnl_get_perm_hw_addr()
180 switch (adapter->hw.mac.type) { in ixgbe_dcbnl_get_perm_hw_addr()
185 perm_addr[i] = adapter->hw.mac.san_addr[j]; in ixgbe_dcbnl_get_perm_hw_addr()
196 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_pg_tc_cfg_tx() local
199 adapter->temp_dcb_cfg.tc_config[tc].path[0].prio_type = prio; in ixgbe_dcbnl_set_pg_tc_cfg_tx()
201 adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_id = bwg_id; in ixgbe_dcbnl_set_pg_tc_cfg_tx()
203 adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_percent = in ixgbe_dcbnl_set_pg_tc_cfg_tx()
206 adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap = in ixgbe_dcbnl_set_pg_tc_cfg_tx()
213 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_pg_bwg_cfg_tx() local
215 adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] = bw_pct; in ixgbe_dcbnl_set_pg_bwg_cfg_tx()
222 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_pg_tc_cfg_rx() local
225 adapter->temp_dcb_cfg.tc_config[tc].path[1].prio_type = prio; in ixgbe_dcbnl_set_pg_tc_cfg_rx()
227 adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_id = bwg_id; in ixgbe_dcbnl_set_pg_tc_cfg_rx()
229 adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_percent = in ixgbe_dcbnl_set_pg_tc_cfg_rx()
232 adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap = in ixgbe_dcbnl_set_pg_tc_cfg_rx()
239 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_pg_bwg_cfg_rx() local
241 adapter->temp_dcb_cfg.bw_percentage[1][bwg_id] = bw_pct; in ixgbe_dcbnl_set_pg_bwg_cfg_rx()
248 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_pg_tc_cfg_tx() local
250 *prio = adapter->dcb_cfg.tc_config[tc].path[0].prio_type; in ixgbe_dcbnl_get_pg_tc_cfg_tx()
251 *bwg_id = adapter->dcb_cfg.tc_config[tc].path[0].bwg_id; in ixgbe_dcbnl_get_pg_tc_cfg_tx()
252 *bw_pct = adapter->dcb_cfg.tc_config[tc].path[0].bwg_percent; in ixgbe_dcbnl_get_pg_tc_cfg_tx()
253 *up_map = adapter->dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap; in ixgbe_dcbnl_get_pg_tc_cfg_tx()
259 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_pg_bwg_cfg_tx() local
261 *bw_pct = adapter->dcb_cfg.bw_percentage[0][bwg_id]; in ixgbe_dcbnl_get_pg_bwg_cfg_tx()
268 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_pg_tc_cfg_rx() local
270 *prio = adapter->dcb_cfg.tc_config[tc].path[1].prio_type; in ixgbe_dcbnl_get_pg_tc_cfg_rx()
271 *bwg_id = adapter->dcb_cfg.tc_config[tc].path[1].bwg_id; in ixgbe_dcbnl_get_pg_tc_cfg_rx()
272 *bw_pct = adapter->dcb_cfg.tc_config[tc].path[1].bwg_percent; in ixgbe_dcbnl_get_pg_tc_cfg_rx()
273 *up_map = adapter->dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap; in ixgbe_dcbnl_get_pg_tc_cfg_rx()
279 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_pg_bwg_cfg_rx() local
281 *bw_pct = adapter->dcb_cfg.bw_percentage[1][bwg_id]; in ixgbe_dcbnl_get_pg_bwg_cfg_rx()
287 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_pfc_cfg() local
289 adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc = setting; in ixgbe_dcbnl_set_pfc_cfg()
290 if (adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc != in ixgbe_dcbnl_set_pfc_cfg()
291 adapter->dcb_cfg.tc_config[priority].dcb_pfc) in ixgbe_dcbnl_set_pfc_cfg()
292 adapter->temp_dcb_cfg.pfc_mode_enable = true; in ixgbe_dcbnl_set_pfc_cfg()
298 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_get_pfc_cfg() local
300 *setting = adapter->dcb_cfg.tc_config[priority].dcb_pfc; in ixgbe_dcbnl_get_pfc_cfg()
305 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_devreset() local
307 while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state)) in ixgbe_dcbnl_devreset()
313 ixgbe_clear_interrupt_scheme(adapter); in ixgbe_dcbnl_devreset()
314 ixgbe_init_interrupt_scheme(adapter); in ixgbe_dcbnl_devreset()
319 clear_bit(__IXGBE_RESETTING, &adapter->state); in ixgbe_dcbnl_devreset()
324 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_set_all() local
325 struct ixgbe_dcb_config *dcb_cfg = &adapter->dcb_cfg; in ixgbe_dcbnl_set_all()
326 struct ixgbe_hw *hw = &adapter->hw; in ixgbe_dcbnl_set_all()
331 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE)) in ixgbe_dcbnl_set_all()
334 adapter->dcb_set_bitmap |= ixgbe_copy_dcb_cfg(adapter, in ixgbe_dcbnl_set_all()
336 if (!adapter->dcb_set_bitmap) in ixgbe_dcbnl_set_all()
339 if (adapter->dcb_set_bitmap & (BIT_PG_TX|BIT_PG_RX)) { in ixgbe_dcbnl_set_all()
344 int max_frame = adapter->netdev->mtu + ETH_HLEN + ETH_FCS_LEN; in ixgbe_dcbnl_set_all()
347 if (adapter->netdev->features & NETIF_F_FCOE_MTU) in ixgbe_dcbnl_set_all()
371 if (adapter->dcb_set_bitmap & BIT_PFC) { in ixgbe_dcbnl_set_all()
383 ixgbe_set_rx_drop_en(adapter); in ixgbe_dcbnl_set_all()
393 if (adapter->dcb_set_bitmap & BIT_APP_UPCHG) { in ixgbe_dcbnl_set_all()
400 adapter->fcoe.up = ffs(up) - 1; in ixgbe_dcbnl_set_all()
406 adapter->dcb_set_bitmap = 0x00; in ixgbe_dcbnl_set_all()
412 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_getcap() local
437 *cap = adapter->dcbx_cap; in ixgbe_dcbnl_getcap()
449 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_getnumtcs() local
451 if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) { in ixgbe_dcbnl_getnumtcs()
454 *num = adapter->dcb_cfg.num_tcs.pg_tcs; in ixgbe_dcbnl_getnumtcs()
457 *num = adapter->dcb_cfg.num_tcs.pfc_tcs; in ixgbe_dcbnl_getnumtcs()
476 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_getpfcstate() local
478 return adapter->dcb_cfg.pfc_mode_enable; in ixgbe_dcbnl_getpfcstate()
483 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_setpfcstate() local
485 adapter->temp_dcb_cfg.pfc_mode_enable = state; in ixgbe_dcbnl_setpfcstate()
500 struct ixgbe_adapter *adapter = netdev_priv(netdev); in ixgbe_dcbnl_getapp() local
506 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE)) in ixgbe_dcbnl_getapp()
515 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_ieee_getets() local
516 struct ieee_ets *my_ets = adapter->ixgbe_ieee_ets; in ixgbe_dcbnl_ieee_getets()
518 ets->ets_cap = adapter->dcb_cfg.num_tcs.pg_tcs; in ixgbe_dcbnl_ieee_getets()
535 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_ieee_setets() local
541 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) in ixgbe_dcbnl_ieee_setets()
544 if (!adapter->ixgbe_ieee_ets) { in ixgbe_dcbnl_ieee_setets()
545 adapter->ixgbe_ieee_ets = kmalloc(sizeof(struct ieee_ets), in ixgbe_dcbnl_ieee_setets()
547 if (!adapter->ixgbe_ieee_ets) in ixgbe_dcbnl_ieee_setets()
552 adapter->ixgbe_ieee_ets->prio_tc[i] = in ixgbe_dcbnl_ieee_setets()
555 ixgbe_dcb_read_rtrup2tc(&adapter->hw, in ixgbe_dcbnl_ieee_setets()
556 adapter->ixgbe_ieee_ets->prio_tc); in ixgbe_dcbnl_ieee_setets()
562 if (ets->prio_tc[i] != adapter->ixgbe_ieee_ets->prio_tc[i]) in ixgbe_dcbnl_ieee_setets()
566 memcpy(adapter->ixgbe_ieee_ets, ets, sizeof(*adapter->ixgbe_ieee_ets)); in ixgbe_dcbnl_ieee_setets()
571 if (max_tc > adapter->dcb_cfg.num_tcs.pg_tcs) in ixgbe_dcbnl_ieee_setets()
582 return ixgbe_dcb_hw_ets(&adapter->hw, ets, max_frame); in ixgbe_dcbnl_ieee_setets()
588 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_ieee_getpfc() local
589 struct ieee_pfc *my_pfc = adapter->ixgbe_ieee_pfc; in ixgbe_dcbnl_ieee_getpfc()
592 pfc->pfc_cap = adapter->dcb_cfg.num_tcs.pfc_tcs; in ixgbe_dcbnl_ieee_getpfc()
603 pfc->requests[i] = adapter->stats.pxoffrxc[i]; in ixgbe_dcbnl_ieee_getpfc()
604 pfc->indications[i] = adapter->stats.pxofftxc[i]; in ixgbe_dcbnl_ieee_getpfc()
613 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_ieee_setpfc() local
614 struct ixgbe_hw *hw = &adapter->hw; in ixgbe_dcbnl_ieee_setpfc()
618 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) in ixgbe_dcbnl_ieee_setpfc()
621 if (!adapter->ixgbe_ieee_pfc) { in ixgbe_dcbnl_ieee_setpfc()
622 adapter->ixgbe_ieee_pfc = kmalloc(sizeof(struct ieee_pfc), in ixgbe_dcbnl_ieee_setpfc()
624 if (!adapter->ixgbe_ieee_pfc) in ixgbe_dcbnl_ieee_setpfc()
628 prio_tc = adapter->ixgbe_ieee_ets->prio_tc; in ixgbe_dcbnl_ieee_setpfc()
629 memcpy(adapter->ixgbe_ieee_pfc, pfc, sizeof(*adapter->ixgbe_ieee_pfc)); in ixgbe_dcbnl_ieee_setpfc()
637 ixgbe_set_rx_drop_en(adapter); in ixgbe_dcbnl_ieee_setpfc()
645 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_ieee_setapp() local
648 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) in ixgbe_dcbnl_ieee_setapp()
660 if (app_mask & (1 << adapter->fcoe.up)) in ixgbe_dcbnl_ieee_setapp()
663 adapter->fcoe.up = app->priority; in ixgbe_dcbnl_ieee_setapp()
673 adapter->default_up = app->priority; in ixgbe_dcbnl_ieee_setapp()
675 for (vf = 0; vf < adapter->num_vfs; vf++) { in ixgbe_dcbnl_ieee_setapp()
676 struct vf_data_storage *vfinfo = &adapter->vfinfo[vf]; in ixgbe_dcbnl_ieee_setapp()
679 ixgbe_set_vmvir(adapter, vfinfo->pf_vlan, in ixgbe_dcbnl_ieee_setapp()
690 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_ieee_delapp() local
693 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_IEEE)) in ixgbe_dcbnl_ieee_delapp()
703 if (app_mask & (1 << adapter->fcoe.up)) in ixgbe_dcbnl_ieee_delapp()
706 adapter->fcoe.up = app_mask ? in ixgbe_dcbnl_ieee_delapp()
713 app->protocol == 0 && adapter->default_up == app->priority) { in ixgbe_dcbnl_ieee_delapp()
718 adapter->default_up = qos; in ixgbe_dcbnl_ieee_delapp()
720 for (vf = 0; vf < adapter->num_vfs; vf++) { in ixgbe_dcbnl_ieee_delapp()
721 struct vf_data_storage *vfinfo = &adapter->vfinfo[vf]; in ixgbe_dcbnl_ieee_delapp()
724 ixgbe_set_vmvir(adapter, vfinfo->pf_vlan, in ixgbe_dcbnl_ieee_delapp()
734 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_getdcbx() local
735 return adapter->dcbx_cap; in ixgbe_dcbnl_getdcbx()
740 struct ixgbe_adapter *adapter = netdev_priv(dev); in ixgbe_dcbnl_setdcbx() local
751 if (mode == adapter->dcbx_cap) in ixgbe_dcbnl_setdcbx()
754 adapter->dcbx_cap = mode; in ixgbe_dcbnl_setdcbx()
766 adapter->dcb_set_bitmap |= mask; in ixgbe_dcbnl_setdcbx()