Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vmxnet3: prepare for version 3 changes

vmxnet3 is currently at version 2, but some command definitions from
previous vmxnet3 versions are missing. Add those definitions before
moving to version 3.

Also, introduce utility macros for vmxnet3 version comparison and update
Copyright information and Maintained by.

Signed-off-by: Shrikrishna Khare <skhare@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Shrikrishna Khare and committed by
David S. Miller
190af10f a264d830

+36 -20
+2 -2
drivers/net/vmxnet3/Makefile
··· 2 2 # 3 3 # Linux driver for VMware's vmxnet3 ethernet NIC. 4 4 # 5 - # Copyright (C) 2007-2009, VMware, Inc. All Rights Reserved. 5 + # Copyright (C) 2007-2016, VMware, Inc. All Rights Reserved. 6 6 # 7 7 # This program is free software; you can redistribute it and/or modify it 8 8 # under the terms of the GNU General Public License as published by the ··· 21 21 # The full GNU General Public License is included in this distribution in 22 22 # the file called "COPYING". 23 23 # 24 - # Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com> 24 + # Maintained by: pv-drivers@vmware.com 25 25 # 26 26 # 27 27 ################################################################################
+2 -2
drivers/net/vmxnet3/upt1_defs.h
··· 1 1 /* 2 2 * Linux driver for VMware's vmxnet3 ethernet NIC. 3 3 * 4 - * Copyright (C) 2008-2009, VMware, Inc. All Rights Reserved. 4 + * Copyright (C) 2008-2016, VMware, Inc. All Rights Reserved. 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 20 20 * The full GNU General Public License is included in this distribution in 21 21 * the file called "COPYING". 22 22 * 23 - * Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com> 23 + * Maintained by: pv-drivers@vmware.com 24 24 * 25 25 */ 26 26
+6 -3
drivers/net/vmxnet3/vmxnet3_defs.h
··· 1 1 /* 2 2 * Linux driver for VMware's vmxnet3 ethernet NIC. 3 3 * 4 - * Copyright (C) 2008-2015, VMware, Inc. All Rights Reserved. 4 + * Copyright (C) 2008-2016, VMware, Inc. All Rights Reserved. 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 20 20 * The full GNU General Public License is included in this distribution in 21 21 * the file called "COPYING". 22 22 * 23 - * Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com> 23 + * Maintained by: pv-drivers@vmware.com 24 24 * 25 25 */ 26 26 ··· 76 76 VMXNET3_CMD_UPDATE_IML, 77 77 VMXNET3_CMD_UPDATE_PMCFG, 78 78 VMXNET3_CMD_UPDATE_FEATURE, 79 + VMXNET3_CMD_RESERVED1, 79 80 VMXNET3_CMD_LOAD_PLUGIN, 81 + VMXNET3_CMD_RESERVED2, 80 82 81 83 VMXNET3_CMD_FIRST_GET = 0xF00D0000, 82 84 VMXNET3_CMD_GET_QUEUE_STATUS = VMXNET3_CMD_FIRST_GET, ··· 89 87 VMXNET3_CMD_GET_DID_LO, 90 88 VMXNET3_CMD_GET_DID_HI, 91 89 VMXNET3_CMD_GET_DEV_EXTRA_INFO, 92 - VMXNET3_CMD_GET_CONF_INTR 90 + VMXNET3_CMD_GET_CONF_INTR, 91 + VMXNET3_CMD_GET_RESERVED1, 93 92 }; 94 93 95 94 /*
+13 -9
drivers/net/vmxnet3/vmxnet3_drv.c
··· 1 1 /* 2 2 * Linux driver for VMware's vmxnet3 ethernet NIC. 3 3 * 4 - * Copyright (C) 2008-2009, VMware, Inc. All Rights Reserved. 4 + * Copyright (C) 2008-2016, VMware, Inc. All Rights Reserved. 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 20 20 * The full GNU General Public License is included in this distribution in 21 21 * the file called "COPYING". 22 22 * 23 - * Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com> 23 + * Maintained by: pv-drivers@vmware.com 24 24 * 25 25 */ 26 26 ··· 1363 1363 rbi->dma_addr = new_dma_addr; 1364 1364 rxd->addr = cpu_to_le64(rbi->dma_addr); 1365 1365 rxd->len = rbi->len; 1366 - if (adapter->version == 2 && 1366 + if (VMXNET3_VERSION_GE_2(adapter) && 1367 1367 rcd->type == VMXNET3_CDTYPE_RXCOMP_LRO) { 1368 1368 struct Vmxnet3_RxCompDescExt *rcdlro; 1369 1369 rcdlro = (struct Vmxnet3_RxCompDescExt *)rcd; ··· 3200 3200 goto err_alloc_pci; 3201 3201 3202 3202 ver = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_VRRS); 3203 - if (ver & 2) { 3204 - VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_VRRS, 2); 3205 - adapter->version = 2; 3206 - } else if (ver & 1) { 3207 - VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_VRRS, 1); 3208 - adapter->version = 1; 3203 + if (ver & (1 << VMXNET3_REV_2)) { 3204 + VMXNET3_WRITE_BAR1_REG(adapter, 3205 + VMXNET3_REG_VRRS, 3206 + 1 << VMXNET3_REV_2); 3207 + adapter->version = VMXNET3_REV_2 + 1; 3208 + } else if (ver & (1 << VMXNET3_REV_1)) { 3209 + VMXNET3_WRITE_BAR1_REG(adapter, 3210 + VMXNET3_REG_VRRS, 3211 + 1 << VMXNET3_REV_1); 3212 + adapter->version = VMXNET3_REV_1 + 1; 3209 3213 } else { 3210 3214 dev_err(&pdev->dev, 3211 3215 "Incompatible h/w version (0x%x) for adapter\n", ver);
+2 -2
drivers/net/vmxnet3/vmxnet3_ethtool.c
··· 1 1 /* 2 2 * Linux driver for VMware's vmxnet3 ethernet NIC. 3 3 * 4 - * Copyright (C) 2008-2009, VMware, Inc. All Rights Reserved. 4 + * Copyright (C) 2008-2016, VMware, Inc. All Rights Reserved. 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 20 20 * The full GNU General Public License is included in this distribution in 21 21 * the file called "COPYING". 22 22 * 23 - * Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com> 23 + * Maintained by: pv-drivers@vmware.com 24 24 * 25 25 */ 26 26
+11 -2
drivers/net/vmxnet3/vmxnet3_int.h
··· 1 1 /* 2 2 * Linux driver for VMware's vmxnet3 ethernet NIC. 3 3 * 4 - * Copyright (C) 2008-2009, VMware, Inc. All Rights Reserved. 4 + * Copyright (C) 2008-2016, VMware, Inc. All Rights Reserved. 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 20 20 * The full GNU General Public License is included in this distribution in 21 21 * the file called "COPYING". 22 22 * 23 - * Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com> 23 + * Maintained by: pv-drivers@vmware.com 24 24 * 25 25 */ 26 26 ··· 78 78 /* RSS only makes sense if MSI-X is supported. */ 79 79 #define VMXNET3_RSS 80 80 #endif 81 + 82 + #define VMXNET3_REV_3 2 /* Vmxnet3 Rev. 3 */ 83 + #define VMXNET3_REV_2 1 /* Vmxnet3 Rev. 2 */ 84 + #define VMXNET3_REV_1 0 /* Vmxnet3 Rev. 1 */ 81 85 82 86 /* 83 87 * Capabilities ··· 390 386 391 387 #define VMXNET3_GET_ADDR_LO(dma) ((u32)(dma)) 392 388 #define VMXNET3_GET_ADDR_HI(dma) ((u32)(((u64)(dma)) >> 32)) 389 + 390 + #define VMXNET3_VERSION_GE_2(adapter) \ 391 + (adapter->version >= VMXNET3_REV_2 + 1) 392 + #define VMXNET3_VERSION_GE_3(adapter) \ 393 + (adapter->version >= VMXNET3_REV_3 + 1) 393 394 394 395 /* must be a multiple of VMXNET3_RING_SIZE_ALIGN */ 395 396 #define VMXNET3_DEF_TX_RING_SIZE 512