Lines Matching +full:charge +full:- +full:delay

1 // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
3 * Copyright (c) 2014-2025, Advanced Micro Devices, Inc.
12 #include "xgbe-common.h"
20 ets->ets_cap = pdata->hw_feat.tc_cnt;
22 if (pdata->ets) {
23 ets->cbs = pdata->ets->cbs;
24 memcpy(ets->tc_tx_bw, pdata->ets->tc_tx_bw,
25 sizeof(ets->tc_tx_bw));
26 memcpy(ets->tc_tsa, pdata->ets->tc_tsa,
27 sizeof(ets->tc_tsa));
28 memcpy(ets->prio_tc, pdata->ets->prio_tc,
29 sizeof(ets->prio_tc));
47 ets->tc_tx_bw[i], ets->tc_rx_bw[i],
48 ets->tc_tsa[i]);
50 ets->prio_tc[i]);
52 max_tc = max_t(u8, max_tc, ets->prio_tc[i]);
53 if ((ets->tc_tx_bw[i] || ets->tc_tsa[i]))
56 switch (ets->tc_tsa[i]) {
61 tc_ets_weight += ets->tc_tx_bw[i];
66 ets->tc_tsa[i]);
67 return -EINVAL;
72 if (max_tc >= pdata->hw_feat.tc_cnt) {
75 return -EINVAL;
83 return -EINVAL;
86 if (!pdata->ets) {
87 pdata->ets = devm_kzalloc(pdata->dev, sizeof(*pdata->ets),
89 if (!pdata->ets)
90 return -ENOMEM;
93 pdata->num_tcs = max_tc + 1;
94 memcpy(pdata->ets, ets, sizeof(*pdata->ets));
96 pdata->hw_if.config_dcb_tc(pdata);
107 pfc->pfc_cap = pdata->hw_feat.tc_cnt;
109 if (pdata->pfc) {
110 pfc->pfc_en = pdata->pfc->pfc_en;
111 pfc->mbc = pdata->pfc->mbc;
112 pfc->delay = pdata->pfc->delay;
124 "cap=%d, en=%#x, mbc=%d, delay=%d\n",
125 pfc->pfc_cap, pfc->pfc_en, pfc->mbc, pfc->delay);
128 if (pfc->pfc_en & ~((1 << pdata->hw_feat.tc_cnt) - 1)) {
131 return -EINVAL;
134 if (!pdata->pfc) {
135 pdata->pfc = devm_kzalloc(pdata->dev, sizeof(*pdata->pfc),
137 if (!pdata->pfc)
138 return -ENOMEM;
141 memcpy(pdata->pfc, pfc, sizeof(*pdata->pfc));
143 pdata->hw_if.config_dcb_pfc(pdata);