mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
enic: Move RX coalescing set function
Move the function used for setting the RX coalescing range to before the function that checks the link status. It needs to be called from there instead of from the probe function. There is no functional change. Co-developed-by: Nelson Escobar <neescoba@cisco.com> Signed-off-by: Nelson Escobar <neescoba@cisco.com> Co-developed-by: Satish Kharat <satishkh@cisco.com> Signed-off-by: Satish Kharat <satishkh@cisco.com> Signed-off-by: John Daley <johndale@cisco.com> Link: https://patch.msgid.link/20250107214159.18807-2-johndale@cisco.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
75f01bf610
commit
af2ccc6908
|
|
@ -428,6 +428,36 @@ static void enic_mtu_check(struct enic *enic)
|
|||
}
|
||||
}
|
||||
|
||||
static void enic_set_rx_coal_setting(struct enic *enic)
|
||||
{
|
||||
unsigned int speed;
|
||||
int index = -1;
|
||||
struct enic_rx_coal *rx_coal = &enic->rx_coalesce_setting;
|
||||
|
||||
/* 1. Read the link speed from fw
|
||||
* 2. Pick the default range for the speed
|
||||
* 3. Update it in enic->rx_coalesce_setting
|
||||
*/
|
||||
speed = vnic_dev_port_speed(enic->vdev);
|
||||
if (speed > ENIC_LINK_SPEED_10G)
|
||||
index = ENIC_LINK_40G_INDEX;
|
||||
else if (speed > ENIC_LINK_SPEED_4G)
|
||||
index = ENIC_LINK_10G_INDEX;
|
||||
else
|
||||
index = ENIC_LINK_4G_INDEX;
|
||||
|
||||
rx_coal->small_pkt_range_start = mod_range[index].small_pkt_range_start;
|
||||
rx_coal->large_pkt_range_start = mod_range[index].large_pkt_range_start;
|
||||
rx_coal->range_end = ENIC_RX_COALESCE_RANGE_END;
|
||||
|
||||
/* Start with the value provided by UCSM */
|
||||
for (index = 0; index < enic->rq_count; index++)
|
||||
enic->cq[index].cur_rx_coal_timeval =
|
||||
enic->config.intr_timer_usec;
|
||||
|
||||
rx_coal->use_adaptive_rx_coalesce = 1;
|
||||
}
|
||||
|
||||
static void enic_link_check(struct enic *enic)
|
||||
{
|
||||
int link_status = vnic_dev_link_status(enic->vdev);
|
||||
|
|
@ -1901,36 +1931,6 @@ static void enic_synchronize_irqs(struct enic *enic)
|
|||
}
|
||||
}
|
||||
|
||||
static void enic_set_rx_coal_setting(struct enic *enic)
|
||||
{
|
||||
unsigned int speed;
|
||||
int index = -1;
|
||||
struct enic_rx_coal *rx_coal = &enic->rx_coalesce_setting;
|
||||
|
||||
/* 1. Read the link speed from fw
|
||||
* 2. Pick the default range for the speed
|
||||
* 3. Update it in enic->rx_coalesce_setting
|
||||
*/
|
||||
speed = vnic_dev_port_speed(enic->vdev);
|
||||
if (ENIC_LINK_SPEED_10G < speed)
|
||||
index = ENIC_LINK_40G_INDEX;
|
||||
else if (ENIC_LINK_SPEED_4G < speed)
|
||||
index = ENIC_LINK_10G_INDEX;
|
||||
else
|
||||
index = ENIC_LINK_4G_INDEX;
|
||||
|
||||
rx_coal->small_pkt_range_start = mod_range[index].small_pkt_range_start;
|
||||
rx_coal->large_pkt_range_start = mod_range[index].large_pkt_range_start;
|
||||
rx_coal->range_end = ENIC_RX_COALESCE_RANGE_END;
|
||||
|
||||
/* Start with the value provided by UCSM */
|
||||
for (index = 0; index < enic->rq_count; index++)
|
||||
enic->cq[index].cur_rx_coal_timeval =
|
||||
enic->config.intr_timer_usec;
|
||||
|
||||
rx_coal->use_adaptive_rx_coalesce = 1;
|
||||
}
|
||||
|
||||
static int enic_dev_notify_set(struct enic *enic)
|
||||
{
|
||||
int err;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user