| /linux/drivers/net/ethernet/ti/icssg/ |
| H A D | icssg_ethtool.c | 211 struct ethtool_coalesce *coal, in emac_get_coalesce() argument 220 coal->rx_coalesce_usecs = emac->rx_pace_timeout_ns / 1000; in emac_get_coalesce() 221 coal->tx_coalesce_usecs = tx_chn->tx_pace_timeout_ns / 1000; in emac_get_coalesce() 227 struct ethtool_coalesce *coal) in emac_get_per_queue_coalesce() argument 237 coal->tx_coalesce_usecs = tx_chn->tx_pace_timeout_ns / 1000; in emac_get_per_queue_coalesce() 243 struct ethtool_coalesce *coal, in emac_set_coalesce() argument 253 if (coal->rx_coalesce_usecs && in emac_set_coalesce() 254 coal->rx_coalesce_usecs < ICSSG_MIN_COALESCE_USECS) { in emac_set_coalesce() 257 coal->rx_coalesce_usecs = ICSSG_MIN_COALESCE_USECS; in emac_set_coalesce() 260 if (coal->tx_coalesce_usecs && in emac_set_coalesce() [all …]
|
| /linux/net/ethtool/ |
| H A D | coalesce.c | 214 const struct ethtool_coalesce *coal = &data->coalesce; in coalesce_fill_reply() local 220 coal->rx_coalesce_usecs, supported) || in coalesce_fill_reply() 222 coal->rx_max_coalesced_frames, supported) || in coalesce_fill_reply() 224 coal->rx_coalesce_usecs_irq, supported) || in coalesce_fill_reply() 226 coal->rx_max_coalesced_frames_irq, supported) || in coalesce_fill_reply() 228 coal->tx_coalesce_usecs, supported) || in coalesce_fill_reply() 230 coal->tx_max_coalesced_frames, supported) || in coalesce_fill_reply() 232 coal->tx_coalesce_usecs_irq, supported) || in coalesce_fill_reply() 234 coal->tx_max_coalesced_frames_irq, supported) || in coalesce_fill_reply() 236 coal->stats_block_coalesce_usecs, supported) || in coalesce_fill_reply() [all …]
|
| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_ethtool.c | 632 struct ethtool_coalesce *coal, u16 queue) in __hinic_get_coalesce() argument 653 coal->rx_coalesce_usecs = rx_intr_coal_info->coalesce_timer_cfg * in __hinic_get_coalesce() 656 coal->rx_max_coalesced_frames = rx_intr_coal_info->pending_limt * in __hinic_get_coalesce() 658 coal->tx_coalesce_usecs = tx_intr_coal_info->coalesce_timer_cfg * in __hinic_get_coalesce() 660 coal->tx_max_coalesced_frames = tx_intr_coal_info->pending_limt * in __hinic_get_coalesce() 666 static int is_coalesce_exceed_limit(const struct ethtool_coalesce *coal) in is_coalesce_exceed_limit() argument 668 if (coal->rx_coalesce_usecs > COALESCE_MAX_TIMER_CFG || in is_coalesce_exceed_limit() 669 coal->rx_max_coalesced_frames > COALESCE_MAX_PENDING_LIMIT || in is_coalesce_exceed_limit() 670 coal->tx_coalesce_usecs > COALESCE_MAX_TIMER_CFG || in is_coalesce_exceed_limit() 671 coal->tx_max_coalesced_frames > COALESCE_MAX_PENDING_LIMIT) in is_coalesce_exceed_limit() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_ethtool.c | 985 struct ethtool_coalesce *coal, in mlx4_en_get_coalesce() argument 991 coal->tx_coalesce_usecs = priv->tx_usecs; in mlx4_en_get_coalesce() 992 coal->tx_max_coalesced_frames = priv->tx_frames; in mlx4_en_get_coalesce() 993 coal->tx_max_coalesced_frames_irq = priv->tx_work_limit; in mlx4_en_get_coalesce() 995 coal->rx_coalesce_usecs = priv->rx_usecs; in mlx4_en_get_coalesce() 996 coal->rx_max_coalesced_frames = priv->rx_frames; in mlx4_en_get_coalesce() 998 coal->pkt_rate_low = priv->pkt_rate_low; in mlx4_en_get_coalesce() 999 coal->rx_coalesce_usecs_low = priv->rx_usecs_low; in mlx4_en_get_coalesce() 1000 coal->pkt_rate_high = priv->pkt_rate_high; in mlx4_en_get_coalesce() 1001 coal->rx_coalesce_usecs_high = priv->rx_usecs_high; in mlx4_en_get_coalesce() [all …]
|
| /linux/drivers/net/ethernet/pensando/ionic/ |
| H A D | ionic_regs.h | 21 u32 coal; member 54 int intr_idx, u32 coal) in ionic_intr_coal_init() argument 56 iowrite32(coal, &intr_ctrl[intr_idx].coal_init); in ionic_intr_coal_init()
|
| /linux/include/linux/pds/ |
| H A D | pds_intr.h | 117 pds_core_intr_coal_init(struct pds_core_intr __iomem *intr_ctrl, u32 coal) in pds_core_intr_coal_init() argument 119 iowrite32(coal, &intr_ctrl->coal_init); in pds_core_intr_coal_init()
|
| /linux/drivers/net/ethernet/qlogic/qlcnic/ |
| H A D | qlcnic_hw.c | 780 req.words[0] = cpu_to_le64(((u64) adapter->ahw->coal.flag) << 32); in qlcnic_82xx_set_rx_coalesce() 781 req.words[2] = cpu_to_le64(adapter->ahw->coal.rx_packets | in qlcnic_82xx_set_rx_coalesce() 782 ((u64) adapter->ahw->coal.rx_time_us) << 16); in qlcnic_82xx_set_rx_coalesce() 783 req.words[5] = cpu_to_le64(adapter->ahw->coal.timer_out | in qlcnic_82xx_set_rx_coalesce() 784 ((u64) adapter->ahw->coal.type) << 32 | in qlcnic_82xx_set_rx_coalesce() 785 ((u64) adapter->ahw->coal.sts_ring_mask) << 40); in qlcnic_82xx_set_rx_coalesce() 798 struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal; in qlcnic_82xx_config_intr_coalesce() local 801 coal->flag = QLCNIC_INTR_DEFAULT; in qlcnic_82xx_config_intr_coalesce() 802 coal->rx_time_us = ethcoal->rx_coalesce_usecs; in qlcnic_82xx_config_intr_coalesce() 803 coal->rx_packets = ethcoal->rx_max_coalesced_frames; in qlcnic_82xx_config_intr_coalesce()
|
| H A D | qlcnic_83xx_hw.c | 2197 struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal; in qlcnic_83xx_set_rx_intr_coal() local 2208 temp = coal->rx_time_us; in qlcnic_83xx_set_rx_intr_coal() 2209 cmd.req.arg[2] = coal->rx_packets | temp << 16; in qlcnic_83xx_set_rx_intr_coal() 2210 cmd.req.arg[3] = coal->flag; in qlcnic_83xx_set_rx_intr_coal() 2224 struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal; in qlcnic_83xx_set_tx_intr_coal() local 2235 temp = coal->tx_time_us; in qlcnic_83xx_set_tx_intr_coal() 2236 cmd.req.arg[2] = coal->tx_packets | temp << 16; in qlcnic_83xx_set_tx_intr_coal() 2237 cmd.req.arg[3] = coal->flag; in qlcnic_83xx_set_tx_intr_coal() 2269 struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal; in qlcnic_83xx_config_intr_coal() local 2281 coal->flag = QLCNIC_INTR_DEFAULT; in qlcnic_83xx_config_intr_coal() [all …]
|
| H A D | qlcnic_sriov_pf.c | 1198 struct qlcnic_nic_intr_coalesce *coal = &adapter->ahw->coal; in qlcnic_sriov_validate_cfg_intrcoal() local 1210 if (ctx_id != vf->rx_ctx_id || pkts > coal->rx_packets || in qlcnic_sriov_validate_cfg_intrcoal() 1211 time < coal->rx_time_us) in qlcnic_sriov_validate_cfg_intrcoal() 1215 if (ctx_id != vf->tx_ctx_id || pkts > coal->tx_packets || in qlcnic_sriov_validate_cfg_intrcoal() 1216 time < coal->tx_time_us) in qlcnic_sriov_validate_cfg_intrcoal() 1229 vf->rx_ctx_id, coal->rx_packets, coal->rx_time_us, in qlcnic_sriov_validate_cfg_intrcoal() 1230 vf->tx_ctx_id, coal->tx_packets, coal->tx_time_us); in qlcnic_sriov_validate_cfg_intrcoal()
|
| H A D | qlcnic_main.c | 1829 ahw->coal.flag = QLCNIC_INTR_DEFAULT; in qlcnic_config_def_intr_coalesce() 1832 ahw->coal.type = QLCNIC_INTR_COAL_TYPE_RX_TX; in qlcnic_config_def_intr_coalesce() 1833 ahw->coal.tx_time_us = QLCNIC_DEF_INTR_COALESCE_TX_TIME_US; in qlcnic_config_def_intr_coalesce() 1834 ahw->coal.tx_packets = QLCNIC_DEF_INTR_COALESCE_TX_PACKETS; in qlcnic_config_def_intr_coalesce() 1835 ahw->coal.rx_time_us = QLCNIC_DEF_INTR_COALESCE_RX_TIME_US; in qlcnic_config_def_intr_coalesce() 1836 ahw->coal.rx_packets = QLCNIC_DEF_INTR_COALESCE_RX_PACKETS; in qlcnic_config_def_intr_coalesce() 1840 ahw->coal.type = QLCNIC_INTR_COAL_TYPE_RX; in qlcnic_config_def_intr_coalesce() 1841 ahw->coal.rx_time_us = QLCNIC_DEF_INTR_COALESCE_RX_TIME_US; in qlcnic_config_def_intr_coalesce() 1842 ahw->coal.rx_packets = QLCNIC_DEF_INTR_COALESCE_RX_PACKETS; in qlcnic_config_def_intr_coalesce() 2064 ahw->coal.type = QLCNIC_INTR_COAL_TYPE_RX_TX; in qlcnic_alloc_adapter_resources() [all …]
|
| /linux/drivers/net/ethernet/tehuti/ |
| H A D | tn40.h | 34 #define TN40_INT_REG_VAL(coal, coal_rc, rxf_th, pck_th) ( \ argument 35 FIELD_PREP(GENMASK(14, 0), (coal)) | \
|
| H A D | tehuti.h | 139 #define INT_REG_VAL(coal, coal_rc, rxf_th, pck_th) \ argument 140 ((coal)|((coal_rc)<<15)|((rxf_th)<<16)|((pck_th)<<20))
|
| /linux/drivers/net/ethernet/hisilicon/hns3/ |
| H A D | hns3_ethtool.c | 1544 tx_vector->tx_group.coal.adapt_enable = in hns3_set_coalesce_per_queue() 1546 rx_vector->rx_group.coal.adapt_enable = in hns3_set_coalesce_per_queue() 1549 tx_vector->tx_group.coal.int_gl = cmd->tx_coalesce_usecs; in hns3_set_coalesce_per_queue() 1550 rx_vector->rx_group.coal.int_gl = cmd->rx_coalesce_usecs; in hns3_set_coalesce_per_queue() 1552 tx_vector->tx_group.coal.int_ql = cmd->tx_max_coalesced_frames; in hns3_set_coalesce_per_queue() 1553 rx_vector->rx_group.coal.int_ql = cmd->rx_max_coalesced_frames; in hns3_set_coalesce_per_queue() 1556 tx_vector->tx_group.coal.int_gl); in hns3_set_coalesce_per_queue() 1558 rx_vector->rx_group.coal.int_gl); in hns3_set_coalesce_per_queue() 1563 if (tx_vector->tx_group.coal.ql_enable) in hns3_set_coalesce_per_queue() 1565 tx_vector->tx_group.coal.int_ql); in hns3_set_coalesce_per_queue() [all …]
|
| H A D | hns3_enet.c | 501 if (rl_reg > 0 && !tqp_vector->tx_group.coal.adapt_enable && in hns3_set_vector_coalesce_rl() 502 !tqp_vector->rx_group.coal.adapt_enable) in hns3_set_vector_coalesce_rl() 516 if (tqp_vector->rx_group.coal.unit_1us) in hns3_set_vector_coalesce_rx_gl() 529 if (tqp_vector->tx_group.coal.unit_1us) in hns3_set_vector_coalesce_tx_gl() 552 struct hns3_enet_coalesce *tx_coal = &tqp_vector->tx_group.coal; in hns3_vector_coalesce_init() 553 struct hns3_enet_coalesce *rx_coal = &tqp_vector->rx_group.coal; in hns3_vector_coalesce_init() 589 struct hns3_enet_coalesce *tx_coal = &tqp_vector->tx_group.coal; in hns3_vector_coalesce_init_hw() 590 struct hns3_enet_coalesce *rx_coal = &tqp_vector->rx_group.coal; in hns3_vector_coalesce_init_hw() 4495 if (!rx_group->coal.adapt_enable) in hns3_update_rx_int_coalesce() 4508 if (!tx_group->coal.adapt_enable) in hns3_update_tx_int_coalesce() [all …]
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_ethtool.c | 62 struct ethtool_coalesce *coal, in bnxt_get_coalesce() argument 70 memset(coal, 0, sizeof(*coal)); in bnxt_get_coalesce() 72 coal->use_adaptive_rx_coalesce = bp->flags & BNXT_FLAG_DIM; in bnxt_get_coalesce() 76 coal->rx_coalesce_usecs = hw_coal->coal_ticks; in bnxt_get_coalesce() 77 coal->rx_max_coalesced_frames = hw_coal->coal_bufs / mult; in bnxt_get_coalesce() 78 coal->rx_coalesce_usecs_irq = hw_coal->coal_ticks_irq; in bnxt_get_coalesce() 79 coal->rx_max_coalesced_frames_irq = hw_coal->coal_bufs_irq / mult; in bnxt_get_coalesce() 86 coal->tx_coalesce_usecs = hw_coal->coal_ticks; in bnxt_get_coalesce() 87 coal->tx_max_coalesced_frames = hw_coal->coal_bufs / mult; in bnxt_get_coalesce() 88 coal->tx_coalesce_usecs_irq = hw_coal->coal_ticks_irq; in bnxt_get_coalesce() [all …]
|
| /linux/drivers/net/ethernet/qualcomm/rmnet/ |
| H A D | rmnet_vnd.c | 219 struct ethtool_coalesce *coal, in rmnet_get_coalesce() argument 238 struct ethtool_coalesce *coal, in rmnet_set_coalesce() argument
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en.h | 1225 struct ethtool_coalesce *coal, 1229 struct ethtool_coalesce *coal, 1233 struct ethtool_coalesce *coal); 1235 struct ethtool_coalesce *coal);
|
| H A D | en_rep.c | 385 struct ethtool_coalesce *coal, in mlx5e_rep_get_coalesce() argument 391 return mlx5e_ethtool_get_coalesce(priv, coal, kernel_coal, extack); in mlx5e_rep_get_coalesce() 395 struct ethtool_coalesce *coal, in mlx5e_rep_set_coalesce() argument 401 return mlx5e_ethtool_set_coalesce(priv, coal, kernel_coal, extack); in mlx5e_rep_set_coalesce()
|
| /linux/drivers/net/ethernet/qlogic/qed/ |
| H A D | qed_dev_api.h | 464 int qed_get_queue_coalesce(struct qed_hwfn *p_hwfn, u16 *coal, void *handle);
|
| /linux/drivers/net/ethernet/ti/ |
| H A D | cpsw_priv.h | 481 int cpsw_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal, 484 int cpsw_set_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal,
|
| /linux/drivers/net/ethernet/qlogic/qede/ |
| H A D | qede.h | 582 int qede_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal, 586 struct ethtool_coalesce *coal);
|
| H A D | qede_main.c | 2437 struct ethtool_coalesce coal = {}; in qede_load() local 2500 coal.rx_coalesce_usecs = QED_DEFAULT_RX_USECS; in qede_load() 2501 coal.tx_coalesce_usecs = QED_DEFAULT_TX_USECS; in qede_load() 2505 coal.rx_coalesce_usecs = edev->coal_entry[i].rxc; in qede_load() 2506 coal.tx_coalesce_usecs = edev->coal_entry[i].txc; in qede_load() 2509 qede_set_per_coalesce(edev->ndev, i, &coal); in qede_load()
|
| /linux/drivers/net/ethernet/broadcom/ |
| H A D | bnx2.c | 7230 struct ethtool_coalesce *coal, in bnx2_get_coalesce() argument 7236 memset(coal, 0, sizeof(struct ethtool_coalesce)); in bnx2_get_coalesce() 7238 coal->rx_coalesce_usecs = bp->rx_ticks; in bnx2_get_coalesce() 7239 coal->rx_max_coalesced_frames = bp->rx_quick_cons_trip; in bnx2_get_coalesce() 7240 coal->rx_coalesce_usecs_irq = bp->rx_ticks_int; in bnx2_get_coalesce() 7241 coal->rx_max_coalesced_frames_irq = bp->rx_quick_cons_trip_int; in bnx2_get_coalesce() 7243 coal->tx_coalesce_usecs = bp->tx_ticks; in bnx2_get_coalesce() 7244 coal->tx_max_coalesced_frames = bp->tx_quick_cons_trip; in bnx2_get_coalesce() 7245 coal->tx_coalesce_usecs_irq = bp->tx_ticks_int; in bnx2_get_coalesce() 7246 coal->tx_max_coalesced_frames_irq = bp->tx_quick_cons_trip_int; in bnx2_get_coalesce() [all …]
|
| /linux/include/uapi/linux/ |
| H A D | virtio_net.h | 454 struct virtio_net_ctrl_coal coal; member
|
| /linux/include/linux/qed/ |
| H A D | qed_eth_if.h | 333 int (*get_coalesce)(struct qed_dev *cdev, u16 *coal, void *handle);
|