diff options
author | Igor Russkikh <igor.russkikh@aquantia.com> | 2018-07-02 17:03:37 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-03 23:23:48 +0900 |
commit | 288551de45aa39a751bc03e7976919aa896c5093 (patch) | |
tree | 9e259a475f980ce2661e9d1f9a7be57ad84c130f /drivers/net/ethernet/aquantia/atlantic/aq_nic.c | |
parent | 44e00dd8eb94b894b7f60009c251acf24b8bbaf1 (diff) |
net: aquantia: Implement rx/tx flow control ethtools callback
Runtime change of pause frame configuration (rx/tx flow control)
via ethtool.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aquantia/atlantic/aq_nic.c')
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index e8cf93adc445..21cfb327d791 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -761,10 +761,14 @@ void aq_nic_get_link_ksettings(struct aq_nic_s *self, ethtool_link_ksettings_add_link_mode(cmd, advertising, 100baseT_Full); - if (self->aq_nic_cfg.flow_control) + if (self->aq_nic_cfg.flow_control & AQ_NIC_FC_RX) ethtool_link_ksettings_add_link_mode(cmd, advertising, Pause); + if (self->aq_nic_cfg.flow_control & AQ_NIC_FC_TX) + ethtool_link_ksettings_add_link_mode(cmd, advertising, + Asym_Pause); + if (self->aq_nic_cfg.aq_hw_caps->media_type == AQ_HW_MEDIA_TYPE_FIBRE) ethtool_link_ksettings_add_link_mode(cmd, advertising, FIBRE); else |