mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 16:07:39 +00:00
Merge branch 'liquidio-VF-driver-will-notify-NIC-firmware-of-MTU-change'
Veerasenareddy Burru says: ==================== liquidio: VF driver will notify NIC firmware of MTU change Make VF driver notify NIC firmware of MTU change. Firmware needs this information for MTU propagation and enforcement. The first patch in this series moves a macro definition to a proper place to prevent a build error in the second patch which has the code that sends the notification. Change Log: V1 -> V2 * Add "From:" line to patch #1 and #2 to give credit to the author. * In patch #2, order local variable declarations from longest to shortest line. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
0580b53f38
3 changed files with 25 additions and 8 deletions
|
@ -24,8 +24,6 @@
|
|||
|
||||
#include "cn23xx_pf_regs.h"
|
||||
|
||||
#define LIO_CMD_WAIT_TM 100
|
||||
|
||||
/* Register address and configuration for a CN23XX devices.
|
||||
* If device specific changes need to be made then add a struct to include
|
||||
* device specific fields as shown in the commented section
|
||||
|
|
|
@ -1544,15 +1544,32 @@ 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 = GET_LIO(netdev);
|
||||
oct = lio->oct_dev;
|
||||
|
||||
memset(&nctrl, 0, sizeof(struct octnic_ctrl_pkt));
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
lio->mtu = new_mtu;
|
||||
|
||||
netif_info(lio, probe, lio->netdev, "MTU Changed from %d to %d\n",
|
||||
netdev->mtu, new_mtu);
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -237,6 +237,8 @@ static inline void add_sg_size(struct octeon_sg_entry *sg_entry,
|
|||
#define OCTNET_CMD_VLAN_FILTER_ENABLE 0x1
|
||||
#define OCTNET_CMD_VLAN_FILTER_DISABLE 0x0
|
||||
|
||||
#define LIO_CMD_WAIT_TM 100
|
||||
|
||||
/* RX(packets coming from wire) Checksum verification flags */
|
||||
/* TCP/UDP csum */
|
||||
#define CNNIC_L4SUM_VERIFIED 0x1
|
||||
|
|
Loading…
Reference in a new issue