From patchwork Fri Jul 16 01:21:27 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyas Bhatewara X-Patchwork-Id: 59055 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E08A7B6F3E for ; Fri, 16 Jul 2010 11:21:50 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935212Ab0GPBV3 (ORCPT ); Thu, 15 Jul 2010 21:21:29 -0400 Received: from smtp-outbound-2.vmware.com ([65.115.85.73]:49279 "EHLO smtp-outbound-2.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935145Ab0GPBV1 (ORCPT ); Thu, 15 Jul 2010 21:21:27 -0400 Received: from mailhost2.vmware.com (mailhost2.vmware.com [10.16.67.167]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id C43E01C007; Thu, 15 Jul 2010 18:21:27 -0700 (PDT) Received: from promb-1s-dhcp85.eng.vmware.com (promb-1s-dhcp85.eng.vmware.com [10.20.84.85]) by mailhost2.vmware.com (Postfix) with ESMTP id B97838E7FD; Thu, 15 Jul 2010 18:21:27 -0700 (PDT) Date: Thu, 15 Jul 2010 18:21:27 -0700 (PDT) From: Shreyas Bhatewara X-X-Sender: sbhatewara@localhost.localdomain To: David Miller cc: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "pv-drivers@vmware.com" Subject: Re: [PATCH 2.6.35-rc1] net-next: vmxnet3 fixes [5/5] Respect the interrupt type in VM configuration In-Reply-To: <20100714.141118.260092331.davem@davemloft.net> Message-ID: References: <20100714.141118.260092331.davem@davemloft.net> User-Agent: Alpine 2.00 (LRH 1167 2008-08-23) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Wed, 14 Jul 2010, David Miller wrote: > From: Shreyas Bhatewara > Date: Tue, 13 Jul 2010 17:51:39 -0700 (PDT) > > > > > Do not ignore interrupt type in VM configuration > > > > When interrupt type is not auto, do not ignore the interrupt type set from > > VM configuration. > > Driver may not always respect the interrupt type in configuration but it > > will certainly try to. Eg: if MSIx is configured and enabling MSIx fails > > in driver, it fall back on MSI and then on INTx. > > > > Signed-off-by: Shreyas Bhatewara > ... > > @@ -291,7 +291,7 @@ vmxnet3_set_flags(struct net_device *netdev, u32 data) > > > > /* update harware LRO capability accordingly */ > > if (lro_requested) > > - adapter->shared->devRead.misc.uptFeatures &= UPT1_F_LRO; > > + adapter->shared->devRead.misc.uptFeatures |= UPT1_F_LRO; > > else > > This change has nothing to do with respecting the VM interrupt setting. > > Do not stuff unrelated changes into a commit. > ... Sorry about that. This is a fix I wanted to add and I did not operate stg correctly. Reposting the patch w/o the feature update bits. --- Respect the interrupt type set in VM configuration. When interrupt type is not auto, do not ignore the interrupt type set from VM configuration. Signed-off-by: Shreyas Bhatewara --- drivers/net/vmxnet3/vmxnet3_drv.c | 13 ++++++++++--- drivers/net/vmxnet3/vmxnet3_int.h | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index c4d7e42..9282635 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -2357,9 +2357,13 @@ vmxnet3_alloc_intr_resources(struct vmxnet3_adapter *adapter) adapter->intr.mask_mode = (cfg >> 2) & 0x3; if (adapter->intr.type == VMXNET3_IT_AUTO) { - int err; + adapter->intr.type = VMXNET3_IT_MSIX; + } #ifdef CONFIG_PCI_MSI + if (adapter->intr.type == VMXNET3_IT_MSIX) { + int err; + adapter->intr.msix_entries[0].entry = 0; err = pci_enable_msix(adapter->pdev, adapter->intr.msix_entries, VMXNET3_LINUX_MAX_MSIX_VECT); @@ -2368,15 +2372,18 @@ vmxnet3_alloc_intr_resources(struct vmxnet3_adapter *adapter) adapter->intr.type = VMXNET3_IT_MSIX; return; } -#endif + adapter->intr.type = VMXNET3_IT_MSI; + } + if (adapter->intr.type == VMXNET3_IT_MSI) { + int err; err = pci_enable_msi(adapter->pdev); if (!err) { adapter->intr.num_intrs = 1; - adapter->intr.type = VMXNET3_IT_MSI; return; } } +#endif /* CONFIG_PCI_MSI */ adapter->intr.type = VMXNET3_IT_INTX; diff --git a/drivers/net/vmxnet3/vmxnet3_int.h b/drivers/net/vmxnet3/vmxnet3_int.h index 9c2fe9a..d17fae6 100644 --- a/drivers/net/vmxnet3/vmxnet3_int.h +++ b/drivers/net/vmxnet3/vmxnet3_int.h @@ -68,10 +68,10 @@ /* * Version numbers */ -#define VMXNET3_DRIVER_VERSION_STRING "1.0.5.0-k" +#define VMXNET3_DRIVER_VERSION_STRING "1.0.13.0-k" /* a 32-bit int, each byte encode a verion number in VMXNET3_DRIVER_VERSION */ -#define VMXNET3_DRIVER_VERSION_NUM 0x01000500 +#define VMXNET3_DRIVER_VERSION_NUM 0x01000B00 /*