提交 ee5b1fac 编写于 作者: V Veerasenareddy Burru 提交者: David S. Miller

liquidio: make VF driver notify NIC firmware of MTU change

Signed-off-by: NVeerasenareddy Burru <veerasenareddy.burru@cavium.com>
Signed-off-by: NFelix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 ad530a1d
......@@ -1544,14 +1544,31 @@ static struct net_device_stats *liquidio_get_stats(struct net_device *netdev)
*/
static int liquidio_change_mtu(struct net_device *netdev, int new_mtu)
{
struct lio *lio = GET_LIO(netdev);
struct octnic_ctrl_pkt nctrl;
struct octeon_device *oct;
struct lio *lio;
int ret = 0;
lio->mtu = new_mtu;
lio = GET_LIO(netdev);
oct = lio->oct_dev;
memset(&nctrl, 0, sizeof(struct octnic_ctrl_pkt));
netif_info(lio, probe, lio->netdev, "MTU Changed from %d to %d\n",
netdev->mtu, new_mtu);
nctrl.ncmd.u64 = 0;
nctrl.ncmd.s.cmd = OCTNET_CMD_CHANGE_MTU;
nctrl.ncmd.s.param1 = new_mtu;
nctrl.iq_no = lio->linfo.txpciq[0].s.q_no;
nctrl.wait_time = LIO_CMD_WAIT_TM;
nctrl.netpndev = (u64)netdev;
nctrl.cb_fn = liquidio_link_ctrl_cmd_completion;
ret = octnet_send_nic_ctrl_pkt(lio->oct_dev, &nctrl);
if (ret < 0) {
dev_err(&oct->pci_dev->dev, "Failed to set MTU\n");
return -EIO;
}
netdev->mtu = new_mtu;
lio->mtu = new_mtu;
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册