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>
This commit is contained in:

committed by
David S. Miller

parent
a264d830ab
commit
190af10f0b
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Linux driver for VMware's vmxnet3 ethernet NIC.
|
||||
*
|
||||
* Copyright (C) 2008-2009, VMware, Inc. All Rights Reserved.
|
||||
* Copyright (C) 2008-2016, VMware, Inc. All Rights Reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
@@ -20,7 +20,7 @@
|
||||
* The full GNU General Public License is included in this distribution in
|
||||
* the file called "COPYING".
|
||||
*
|
||||
* Maintained by: Shreyas Bhatewara <pv-drivers@vmware.com>
|
||||
* Maintained by: pv-drivers@vmware.com
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1363,7 +1363,7 @@ vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq,
|
||||
rbi->dma_addr = new_dma_addr;
|
||||
rxd->addr = cpu_to_le64(rbi->dma_addr);
|
||||
rxd->len = rbi->len;
|
||||
if (adapter->version == 2 &&
|
||||
if (VMXNET3_VERSION_GE_2(adapter) &&
|
||||
rcd->type == VMXNET3_CDTYPE_RXCOMP_LRO) {
|
||||
struct Vmxnet3_RxCompDescExt *rcdlro;
|
||||
rcdlro = (struct Vmxnet3_RxCompDescExt *)rcd;
|
||||
@@ -3200,12 +3200,16 @@ vmxnet3_probe_device(struct pci_dev *pdev,
|
||||
goto err_alloc_pci;
|
||||
|
||||
ver = VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_VRRS);
|
||||
if (ver & 2) {
|
||||
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_VRRS, 2);
|
||||
adapter->version = 2;
|
||||
} else if (ver & 1) {
|
||||
VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_VRRS, 1);
|
||||
adapter->version = 1;
|
||||
if (ver & (1 << VMXNET3_REV_2)) {
|
||||
VMXNET3_WRITE_BAR1_REG(adapter,
|
||||
VMXNET3_REG_VRRS,
|
||||
1 << VMXNET3_REV_2);
|
||||
adapter->version = VMXNET3_REV_2 + 1;
|
||||
} else if (ver & (1 << VMXNET3_REV_1)) {
|
||||
VMXNET3_WRITE_BAR1_REG(adapter,
|
||||
VMXNET3_REG_VRRS,
|
||||
1 << VMXNET3_REV_1);
|
||||
adapter->version = VMXNET3_REV_1 + 1;
|
||||
} else {
|
||||
dev_err(&pdev->dev,
|
||||
"Incompatible h/w version (0x%x) for adapter\n", ver);
|
||||
|
Reference in New Issue
Block a user