Commit 8b1ff1ea authored by Fuyun Liang's avatar Fuyun Liang Committed by David S. Miller

net: hns3: refactor GL update function

The GL update function uses the max GL value between tx_int_gl and
rx_int_gl to set both new tx_int_gl and new rx_int_gl. Therefore, User
can not enable TX GL self-adaptive or RX GL self-adaptive individually.

This patch refactors the code to update the TX GL and the RX GL
separately, making user can enable TX GL self-adaptive or RX GL
self-adaptive individually.
Signed-off-by: default avatarFuyun Liang <liangfuyun1@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5fd4789a
...@@ -2459,25 +2459,22 @@ static bool hns3_get_new_int_gl(struct hns3_enet_ring_group *ring_group) ...@@ -2459,25 +2459,22 @@ static bool hns3_get_new_int_gl(struct hns3_enet_ring_group *ring_group)
static void hns3_update_new_int_gl(struct hns3_enet_tqp_vector *tqp_vector) static void hns3_update_new_int_gl(struct hns3_enet_tqp_vector *tqp_vector)
{ {
u16 rx_int_gl, tx_int_gl; struct hns3_enet_ring_group *rx_group = &tqp_vector->rx_group;
bool rx, tx; struct hns3_enet_ring_group *tx_group = &tqp_vector->tx_group;
bool rx_update, tx_update;
rx = hns3_get_new_int_gl(&tqp_vector->rx_group);
tx = hns3_get_new_int_gl(&tqp_vector->tx_group); if (rx_group->gl_adapt_enable) {
rx_int_gl = tqp_vector->rx_group.int_gl; rx_update = hns3_get_new_int_gl(rx_group);
tx_int_gl = tqp_vector->tx_group.int_gl; if (rx_update)
if (rx && tx) { hns3_set_vector_coalesce_rx_gl(tqp_vector,
if (rx_int_gl > tx_int_gl) { rx_group->int_gl);
tqp_vector->tx_group.int_gl = rx_int_gl; }
tqp_vector->tx_group.flow_level =
tqp_vector->rx_group.flow_level; if (tx_group->gl_adapt_enable) {
hns3_set_vector_coalesc_gl(tqp_vector, rx_int_gl); tx_update = hns3_get_new_int_gl(&tqp_vector->tx_group);
} else { if (tx_update)
tqp_vector->rx_group.int_gl = tx_int_gl; hns3_set_vector_coalesce_tx_gl(tqp_vector,
tqp_vector->rx_group.flow_level = tx_group->int_gl);
tqp_vector->tx_group.flow_level;
hns3_set_vector_coalesc_gl(tqp_vector, tx_int_gl);
}
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment