Lines Matching refs:dcbcfg

335  * @dcbcfg: Local store to update ETS CFG data
341 struct ice_dcbx_cfg *dcbcfg)
353 etscfg = &dcbcfg->etscfg;
367 * @dcbcfg: Local store to update ETS REC data
373 struct ice_dcbx_cfg *dcbcfg)
378 ice_parse_ieee_ets_common_tlv(&buf[1], &dcbcfg->etsrec);
384 * @dcbcfg: Local store to update PFC CFG data
390 struct ice_dcbx_cfg *dcbcfg)
400 dcbcfg->pfc.willing = ((buf[0] & ICE_IEEE_PFC_WILLING_M) >>
402 dcbcfg->pfc.mbc = ((buf[0] & ICE_IEEE_PFC_MBC_M) >> ICE_IEEE_PFC_MBC_S);
403 dcbcfg->pfc.pfccap = ((buf[0] & ICE_IEEE_PFC_CAP_M) >>
405 dcbcfg->pfc.pfcena = buf[1];
411 * @dcbcfg: Local store to update APP PRIO data
417 struct ice_dcbx_cfg *dcbcfg)
446 dcbcfg->app[i].priority = ((buf[offset] &
449 dcbcfg->app[i].selector = ((buf[offset] &
452 dcbcfg->app[i].prot_id = (buf[offset + 1] << 0x8) |
461 dcbcfg->numapps = i;
467 * @dcbcfg: Local store to update ETS REC data
473 ice_parse_ieee_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
483 ice_parse_ieee_etscfg_tlv(tlv, dcbcfg);
486 ice_parse_ieee_etsrec_tlv(tlv, dcbcfg);
489 ice_parse_ieee_pfccfg_tlv(tlv, dcbcfg);
492 ice_parse_ieee_app_tlv(tlv, dcbcfg);
502 * @dcbcfg: Local store to update ETS CFG data
508 struct ice_dcbx_cfg *dcbcfg)
515 etscfg = &dcbcfg->etscfg;
549 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_STRICT;
551 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_ETS;
561 * @dcbcfg: Local store to update PFC CFG data
567 struct ice_dcbx_cfg *dcbcfg)
572 dcbcfg->pfc.willing = 1;
579 dcbcfg->pfc.pfcena = buf[0];
580 dcbcfg->pfc.pfccap = buf[1];
586 * @dcbcfg: Local store to update APP PRIO data
591 ice_parse_cee_app_tlv(struct ice_cee_feat_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
600 dcbcfg->numapps = len / sizeof(*app);
601 if (!dcbcfg->numapps)
603 if (dcbcfg->numapps > ICE_DCBX_MAX_APPS)
604 dcbcfg->numapps = ICE_DCBX_MAX_APPS;
606 for (i = 0; i < dcbcfg->numapps; i++) {
614 dcbcfg->app[i].priority = up;
620 dcbcfg->app[i].selector = ICE_APP_SEL_ETHTYPE;
623 dcbcfg->app[i].selector = ICE_APP_SEL_TCPIP;
627 dcbcfg->app[i].selector = selector;
630 dcbcfg->app[i].prot_id = NTOHS(app->protocol);
639 * @dcbcfg: Local store to update DCBX config data
645 ice_parse_cee_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
677 ice_parse_cee_pgcfg_tlv(sub_tlv, dcbcfg);
680 ice_parse_cee_pfccfg_tlv(sub_tlv, dcbcfg);
683 ice_parse_cee_app_tlv(sub_tlv, dcbcfg);
699 * @dcbcfg: Local store to update ETS REC data
705 ice_parse_org_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
714 ice_parse_ieee_tlv(tlv, dcbcfg);
717 ice_parse_cee_tlv(tlv, dcbcfg);
727 * @dcbcfg: store for LLDPDU data
731 enum ice_status ice_lldp_to_dcb_cfg(u8 *lldpmib, struct ice_dcbx_cfg *dcbcfg)
740 if (!lldpmib || !dcbcfg)
758 ice_parse_org_tlv(tlv, dcbcfg);
777 * @dcbcfg: store for LLDPDU data
783 struct ice_dcbx_cfg *dcbcfg)
798 ret = ice_lldp_to_dcb_cfg(lldpmib, dcbcfg);
1010 struct ice_dcbx_cfg *cmp_dcbcfg, *dcbcfg;
1013 dcbcfg = &pi->qos_cfg.local_dcbx_cfg;
1014 dcbcfg->dcbx_mode = ICE_DCBX_MODE_CEE;
1015 dcbcfg->tlv_status = tlv_status;
1018 dcbcfg->etscfg.maxtcs = cee_cfg->oper_num_tc;
1024 dcbcfg->etscfg.prio_table[i * 2] =
1027 dcbcfg->etscfg.prio_table[i * 2 + 1] =
1033 dcbcfg->etscfg.tcbwtable[i] = cee_cfg->oper_tc_bw[i];
1035 if (dcbcfg->etscfg.prio_table[i] == ICE_CEE_PGID_STRICT) {
1037 dcbcfg->etscfg.prio_table[i] = cee_cfg->oper_num_tc - 1;
1038 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_STRICT;
1040 dcbcfg->etscfg.tsatable[i] = ICE_IEEE_TSA_ETS;
1045 dcbcfg->pfc.pfcena = cee_cfg->oper_pfc_en;
1046 dcbcfg->pfc.pfccap = ICE_MAX_TRAFFIC_CLASS;
1049 if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING)
1103 dcbcfg->app[app_index].priority =
1106 dcbcfg->app[app_index].selector = ice_app_sel_type;
1107 dcbcfg->app[app_index].prot_id = ice_app_prot_id_type;
1112 dcbcfg->numapps = app_index;
1307 * @dcbcfg: Local store which holds the DCB Config
1312 ice_add_ieee_ets_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1335 etscfg = &dcbcfg->etscfg;
1348 * @dcbcfg: Local store which holds the DCB Config
1354 struct ice_dcbx_cfg *dcbcfg)
1369 etsrec = &dcbcfg->etsrec;
1379 * @dcbcfg: Local store which holds the PFC CFG data
1384 ice_add_ieee_pfc_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg)
1404 if (dcbcfg->pfc.willing)
1407 if (dcbcfg->pfc.mbc)
1410 buf[0] |= dcbcfg->pfc.pfccap & 0xF;
1411 buf[1] = dcbcfg->pfc.pfcena;
1417 * @dcbcfg: Local store which holds the APP CFG data
1423 struct ice_dcbx_cfg *dcbcfg)
1431 if (dcbcfg->numapps == 0)
1447 while (i < dcbcfg->numapps) {
1448 priority = dcbcfg->app[i].priority & 0x7;
1449 selector = dcbcfg->app[i].selector & 0x7;
1451 buf[offset + 1] = (dcbcfg->app[i].prot_id >> 0x8) & 0xFF;
1452 buf[offset + 2] = dcbcfg->app[i].prot_id & 0xFF;
1468 * @dcbcfg: Local store which holds the DCB Config
1474 ice_add_dcb_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg,
1479 ice_add_ieee_ets_tlv(tlv, dcbcfg);
1482 ice_add_ieee_etsrec_tlv(tlv, dcbcfg);
1485 ice_add_ieee_pfc_tlv(tlv, dcbcfg);
1488 ice_add_ieee_app_pri_tlv(tlv, dcbcfg);
1499 * @dcbcfg: Local store which holds the DCB Config
1503 void ice_dcb_cfg_to_lldp(u8 *lldpmib, u16 *miblen, struct ice_dcbx_cfg *dcbcfg)
1511 ice_add_dcb_tlv(tlv, dcbcfg, tlvid++);
1537 struct ice_dcbx_cfg *dcbcfg;
1548 dcbcfg = &pi->qos_cfg.local_dcbx_cfg;
1555 if (dcbcfg->app_mode == ICE_DCBX_APPS_NON_WILLING)
1558 ice_dcb_cfg_to_lldp(lldpmib, &miblen, dcbcfg);