From patchwork Tue Jun 14 18:52:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shrikrishna Khare X-Patchwork-Id: 635501 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 3rTf3F6KFbz9t18 for ; Wed, 15 Jun 2016 04:55:05 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932748AbcFNSy5 (ORCPT ); Tue, 14 Jun 2016 14:54:57 -0400 Received: from ex13-edg-ou-001.vmware.com ([208.91.0.189]:53844 "EHLO EX13-EDG-OU-001.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932125AbcFNSwe (ORCPT ); Tue, 14 Jun 2016 14:52:34 -0400 Received: from sc9-mailhost1.vmware.com (10.113.161.71) by EX13-EDG-OU-001.vmware.com (10.113.208.155) with Microsoft SMTP Server id 15.0.1156.6; Tue, 14 Jun 2016 11:52:29 -0700 Received: from htb-1n-eng-dhcp274.eng.vmware.com (htb-1n-eng-dhcp74.eng.vmware.com [10.33.74.74]) by sc9-mailhost1.vmware.com (Postfix) with ESMTP id 7EE2218152; Tue, 14 Jun 2016 11:52:33 -0700 (PDT) From: Shrikrishna Khare To: , , CC: Shrikrishna Khare , Guolin Yang Subject: [PATCH net-next v4 2/7] vmxnet3: introduce generic command interface to configure the device Date: Tue, 14 Jun 2016 11:52:23 -0700 Message-ID: <1465930348-92164-3-git-send-email-skhare@vmware.com> X-Mailer: git-send-email 2.8.2 In-Reply-To: <1465930348-92164-1-git-send-email-skhare@vmware.com> References: <1465930348-92164-1-git-send-email-skhare@vmware.com> MIME-Version: 1.0 Received-SPF: None (EX13-EDG-OU-001.vmware.com: skhare@vmware.com does not designate permitted sender hosts) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Guolin Yang Signed-off-by: Shrikrishna Khare --- drivers/net/vmxnet3/vmxnet3_defs.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/net/vmxnet3/vmxnet3_defs.h b/drivers/net/vmxnet3/vmxnet3_defs.h index 8345e0c..a26a69d 100644 --- a/drivers/net/vmxnet3/vmxnet3_defs.h +++ b/drivers/net/vmxnet3/vmxnet3_defs.h @@ -79,6 +79,7 @@ enum { VMXNET3_CMD_RESERVED1, VMXNET3_CMD_LOAD_PLUGIN, VMXNET3_CMD_RESERVED2, + VMXNET3_CMD_RESERVED3, VMXNET3_CMD_FIRST_GET = 0xF00D0000, VMXNET3_CMD_GET_QUEUE_STATUS = VMXNET3_CMD_FIRST_GET, @@ -612,6 +613,18 @@ struct Vmxnet3_RxQueueDesc { u8 __pad[88]; /* 128 aligned */ }; +struct Vmxnet3_SetPolling { + u8 enablePolling; +}; + +/* If the command data <= 16 bytes, use the shared memory directly. + * otherwise, use variable length configuration descriptor. + */ +union Vmxnet3_CmdInfo { + struct Vmxnet3_VariableLenConfDesc varConf; + struct Vmxnet3_SetPolling setPolling; + __le64 data[2]; +}; struct Vmxnet3_DSDevRead { /* read-only region for device, read by dev in response to a SET cmd */ @@ -630,7 +643,14 @@ struct Vmxnet3_DriverShared { __le32 pad; struct Vmxnet3_DSDevRead devRead; __le32 ecr; - __le32 reserved[5]; + __le32 reserved; + union { + __le32 reserved1[4]; + union Vmxnet3_CmdInfo cmdInfo; /* only valid in the context of + * executing the relevant + * command + */ + } cu; };