Lines Matching refs:enic
95 static void enic_intr_coal_set_rx(struct enic *enic, u32 timer) in enic_intr_coal_set_rx() argument
100 for (i = 0; i < enic->rq_count; i++) { in enic_intr_coal_set_rx()
101 intr = enic_msix_rq_intr(enic, i); in enic_intr_coal_set_rx()
102 vnic_intr_coalescing_timer_set(&enic->intr[intr], timer); in enic_intr_coal_set_rx()
109 struct enic *enic = netdev_priv(netdev); in enic_get_settings() local
117 ethtool_cmd_speed_set(ecmd, vnic_dev_port_speed(enic->vdev)); in enic_get_settings()
132 struct enic *enic = netdev_priv(netdev); in enic_get_drvinfo() local
136 err = enic_dev_fw_info(enic, &fw_info); in enic_get_drvinfo()
148 strlcpy(drvinfo->bus_info, pci_name(enic->pdev), in enic_get_drvinfo()
188 struct enic *enic = netdev_priv(netdev); in enic_get_ethtool_stats() local
193 err = enic_dev_stats_dump(enic, &vstats); in enic_get_ethtool_stats()
206 *(data++) = ((u64 *)&enic->gen_stats)[enic_gen_stats[i].index]; in enic_get_ethtool_stats()
211 struct enic *enic = netdev_priv(netdev); in enic_get_msglevel() local
212 return enic->msg_enable; in enic_get_msglevel()
217 struct enic *enic = netdev_priv(netdev); in enic_set_msglevel() local
218 enic->msg_enable = value; in enic_set_msglevel()
224 struct enic *enic = netdev_priv(netdev); in enic_get_coalesce() local
225 struct enic_rx_coal *rxcoal = &enic->rx_coalesce_setting; in enic_get_coalesce()
227 if (vnic_dev_get_intr_mode(enic->vdev) == VNIC_DEV_INTR_MODE_MSIX) in enic_get_coalesce()
228 ecmd->tx_coalesce_usecs = enic->tx_coalesce_usecs; in enic_get_coalesce()
229 ecmd->rx_coalesce_usecs = enic->rx_coalesce_usecs; in enic_get_coalesce()
238 static int enic_coalesce_valid(struct enic *enic, in enic_coalesce_valid() argument
241 u32 coalesce_usecs_max = vnic_dev_get_intr_coal_timer_max(enic->vdev); in enic_coalesce_valid()
266 if ((vnic_dev_get_intr_mode(enic->vdev) != VNIC_DEV_INTR_MODE_MSIX) && in enic_coalesce_valid()
274 …netdev_info(enic->netdev, "ethtool_set_coalesce: adaptor supports max coalesce value of %d. Settin… in enic_coalesce_valid()
288 struct enic *enic = netdev_priv(netdev); in enic_set_coalesce() local
296 struct enic_rx_coal *rxcoal = &enic->rx_coalesce_setting; in enic_set_coalesce()
298 ret = enic_coalesce_valid(enic, ecmd); in enic_set_coalesce()
301 coalesce_usecs_max = vnic_dev_get_intr_coal_timer_max(enic->vdev); in enic_set_coalesce()
312 if (vnic_dev_get_intr_mode(enic->vdev) == VNIC_DEV_INTR_MODE_MSIX) { in enic_set_coalesce()
313 for (i = 0; i < enic->wq_count; i++) { in enic_set_coalesce()
314 intr = enic_msix_wq_intr(enic, i); in enic_set_coalesce()
315 vnic_intr_coalescing_timer_set(&enic->intr[intr], in enic_set_coalesce()
318 enic->tx_coalesce_usecs = tx_coalesce_usecs; in enic_set_coalesce()
322 enic_intr_coal_set_rx(enic, rx_coalesce_usecs); in enic_set_coalesce()
330 enic->rx_coalesce_usecs = rx_coalesce_usecs; in enic_set_coalesce()
335 static int enic_grxclsrlall(struct enic *enic, struct ethtool_rxnfc *cmd, in enic_grxclsrlall() argument
340 cmd->data = enic->rfs_h.max - enic->rfs_h.free; in enic_grxclsrlall()
346 hhead = &enic->rfs_h.ht_head[j]; in enic_grxclsrlall()
359 static int enic_grxclsrule(struct enic *enic, struct ethtool_rxnfc *cmd) in enic_grxclsrule() argument
365 n = htbl_fltr_search(enic, (u16)fsp->location); in enic_grxclsrule()
400 struct enic *enic = netdev_priv(dev); in enic_get_rxnfc() local
405 cmd->data = enic->rq_count; in enic_get_rxnfc()
408 spin_lock_bh(&enic->rfs_h.lock); in enic_get_rxnfc()
409 cmd->rule_cnt = enic->rfs_h.max - enic->rfs_h.free; in enic_get_rxnfc()
410 cmd->data = enic->rfs_h.max; in enic_get_rxnfc()
411 spin_unlock_bh(&enic->rfs_h.lock); in enic_get_rxnfc()
414 spin_lock_bh(&enic->rfs_h.lock); in enic_get_rxnfc()
415 ret = enic_grxclsrlall(enic, cmd, rule_locs); in enic_get_rxnfc()
416 spin_unlock_bh(&enic->rfs_h.lock); in enic_get_rxnfc()
419 spin_lock_bh(&enic->rfs_h.lock); in enic_get_rxnfc()
420 ret = enic_grxclsrule(enic, cmd); in enic_get_rxnfc()
421 spin_unlock_bh(&enic->rfs_h.lock); in enic_get_rxnfc()
434 struct enic *enic = netdev_priv(dev); in enic_get_tunable() local
439 *(u32 *)data = enic->rx_copybreak; in enic_get_tunable()
453 struct enic *enic = netdev_priv(dev); in enic_set_tunable() local
458 enic->rx_copybreak = *(u32 *)data; in enic_set_tunable()
476 struct enic *enic = netdev_priv(netdev); in enic_get_rxfh() local
479 memcpy(hkey, enic->rss_key, ENIC_RSS_LEN); in enic_get_rxfh()
490 struct enic *enic = netdev_priv(netdev); in enic_set_rxfh() local
497 memcpy(enic->rss_key, hkey, ENIC_RSS_LEN); in enic_set_rxfh()
499 return __enic_set_rsskey(enic); in enic_set_rxfh()