提交 df0676d1 编写于 作者: A Alexander Duyck 提交者: Jeff Kirsher

ixgbe: Cleanup unpacking code for DCB

This is meant to be a generic clean-up of the remaining functions for
unpacking data from the DCB structures. The only real changes are:
replaced the variable i with tc for functions that were looping through the
traffic classes, and added a pointer for tc_class instead of path since
that way we only need to pull the pointer once instead of once per loop.
Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: NRoss Brattain <ross.b.brattain@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
上级 15cbc70e
master alk-4.19.24 alk-4.19.30 alk-4.19.34 alk-4.19.36 alk-4.19.43 alk-4.19.48 alk-4.19.57 ck-4.19.67 ck-4.19.81 ck-4.19.91 github/fork/deepanshu1422/fix-typo-in-comment github/fork/haosdent/fix-typo linux-next v4.19.91 v4.19.90 v4.19.89 v4.19.88 v4.19.87 v4.19.86 v4.19.85 v4.19.84 v4.19.83 v4.19.82 v4.19.81 v4.19.80 v4.19.79 v4.19.78 v4.19.77 v4.19.76 v4.19.75 v4.19.74 v4.19.73 v4.19.72 v4.19.71 v4.19.70 v4.19.69 v4.19.68 v4.19.67 v4.19.66 v4.19.65 v4.19.64 v4.19.63 v4.19.62 v4.19.61 v4.19.60 v4.19.59 v4.19.58 v4.19.57 v4.19.56 v4.19.55 v4.19.54 v4.19.53 v4.19.52 v4.19.51 v4.19.50 v4.19.49 v4.19.48 v4.19.47 v4.19.46 v4.19.45 v4.19.44 v4.19.43 v4.19.42 v4.19.41 v4.19.40 v4.19.39 v4.19.38 v4.19.37 v4.19.36 v4.19.35 v4.19.34 v4.19.33 v4.19.32 v4.19.31 v4.19.30 v4.19.29 v4.19.28 v4.19.27 v4.19.26 v4.19.25 v4.19.24 v4.19.23 v4.19.22 v4.19.21 v4.19.20 v4.19.19 v4.19.18 v4.19.17 v4.19.16 v4.19.15 v4.19.14 v4.19.13 v4.19.12 v4.19.11 v4.19.10 v4.19.9 v4.19.8 v4.19.7 v4.19.6 v4.19.5 v4.19.4 v4.19.3 v4.19.2 v4.19.1 v4.19 v4.19-rc8 v4.19-rc7 v4.19-rc6 v4.19-rc5 v4.19-rc4 v4.19-rc3 v4.19-rc2 v4.19-rc1 ck-release-21 ck-release-20 ck-release-19.2 ck-release-19.1 ck-release-19 ck-release-18 ck-release-17.2 ck-release-17.1 ck-release-17 ck-release-16 ck-release-15.1 ck-release-15 ck-release-14 ck-release-13.2 ck-release-13 ck-release-12 ck-release-11 ck-release-10 ck-release-9 ck-release-7 alk-release-15 alk-release-14 alk-release-13.2 alk-release-13 alk-release-12 alk-release-11 alk-release-10 alk-release-9 alk-release-7
无相关合并请求
...@@ -180,55 +180,52 @@ s32 ixgbe_dcb_calculate_tc_credits(struct ixgbe_hw *hw, ...@@ -180,55 +180,52 @@ s32 ixgbe_dcb_calculate_tc_credits(struct ixgbe_hw *hw,
void ixgbe_dcb_unpack_pfc(struct ixgbe_dcb_config *cfg, u8 *pfc_en) void ixgbe_dcb_unpack_pfc(struct ixgbe_dcb_config *cfg, u8 *pfc_en)
{ {
int i; struct tc_configuration *tc_config = &cfg->tc_config[0];
int tc;
*pfc_en = 0; for (*pfc_en = 0, tc = 0; tc < MAX_TRAFFIC_CLASS; tc++) {
for (i = 0; i < MAX_TRAFFIC_CLASS; i++) if (tc_config[tc].dcb_pfc != pfc_disabled)
*pfc_en |= !!(cfg->tc_config[i].dcb_pfc & 0xF) << i; *pfc_en |= 1 << tc;
}
} }
void ixgbe_dcb_unpack_refill(struct ixgbe_dcb_config *cfg, int direction, void ixgbe_dcb_unpack_refill(struct ixgbe_dcb_config *cfg, int direction,
u16 *refill) u16 *refill)
{ {
struct tc_bw_alloc *p; struct tc_configuration *tc_config = &cfg->tc_config[0];
int i; int tc;
for (i = 0; i < MAX_TRAFFIC_CLASS; i++) { for (tc = 0; tc < MAX_TRAFFIC_CLASS; tc++)
p = &cfg->tc_config[i].path[direction]; refill[tc] = tc_config[tc].path[direction].data_credits_refill;
refill[i] = p->data_credits_refill;
}
} }
void ixgbe_dcb_unpack_max(struct ixgbe_dcb_config *cfg, u16 *max) void ixgbe_dcb_unpack_max(struct ixgbe_dcb_config *cfg, u16 *max)
{ {
int i; struct tc_configuration *tc_config = &cfg->tc_config[0];
int tc;
for (i = 0; i < MAX_TRAFFIC_CLASS; i++) for (tc = 0; tc < MAX_TRAFFIC_CLASS; tc++)
max[i] = cfg->tc_config[i].desc_credits_max; max[tc] = tc_config[tc].desc_credits_max;
} }
void ixgbe_dcb_unpack_bwgid(struct ixgbe_dcb_config *cfg, int direction, void ixgbe_dcb_unpack_bwgid(struct ixgbe_dcb_config *cfg, int direction,
u8 *bwgid) u8 *bwgid)
{ {
struct tc_bw_alloc *p; struct tc_configuration *tc_config = &cfg->tc_config[0];
int i; int tc;
for (i = 0; i < MAX_TRAFFIC_CLASS; i++) { for (tc = 0; tc < MAX_TRAFFIC_CLASS; tc++)
p = &cfg->tc_config[i].path[direction]; bwgid[tc] = tc_config[tc].path[direction].bwg_id;
bwgid[i] = p->bwg_id;
}
} }
void ixgbe_dcb_unpack_prio(struct ixgbe_dcb_config *cfg, int direction, void ixgbe_dcb_unpack_prio(struct ixgbe_dcb_config *cfg, int direction,
u8 *ptype) u8 *ptype)
{ {
struct tc_bw_alloc *p; struct tc_configuration *tc_config = &cfg->tc_config[0];
int i; int tc;
for (i = 0; i < MAX_TRAFFIC_CLASS; i++) { for (tc = 0; tc < MAX_TRAFFIC_CLASS; tc++)
p = &cfg->tc_config[i].path[direction]; ptype[tc] = tc_config[tc].path[direction].prio_type;
ptype[i] = p->prio_type;
}
} }
static u8 ixgbe_dcb_get_tc_from_up(struct ixgbe_dcb_config *cfg, static u8 ixgbe_dcb_get_tc_from_up(struct ixgbe_dcb_config *cfg,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
反馈
建议
客服 返回
顶部