From patchwork Thu Sep 30 14:04:20 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xin, Xiaohui" X-Patchwork-Id: 66174 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 82411B70B8 for ; Thu, 30 Sep 2010 23:56:14 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756384Ab0I3NvP (ORCPT ); Thu, 30 Sep 2010 09:51:15 -0400 Received: from mga03.intel.com ([143.182.124.21]:30013 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756175Ab0I3Nqz (ORCPT ); Thu, 30 Sep 2010 09:46:55 -0400 Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga101.ch.intel.com with ESMTP; 30 Sep 2010 06:46:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.57,259,1283756400"; d="scan'208";a="330506175" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.239.36.37]) by azsmga001.ch.intel.com with ESMTP; 30 Sep 2010 06:46:52 -0700 From: xiaohui.xin@intel.com To: netdev@vger.kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, mst@redhat.com, mingo@elte.hu, davem@davemloft.net, herbert@gondor.apana.org.au, jdike@linux.intel.com Cc: Xin Xiaohui Subject: [PATCH v12 03/17] Add a ndo_mp_port_prep pointer to net_device_ops. Date: Thu, 30 Sep 2010 22:04:20 +0800 Message-Id: <71d822c4ef96c404f21fce724549c0ba9f71bd36.1285853725.git.xiaohui.xin@intel.com> X-Mailer: git-send-email 1.7.3 In-Reply-To: <1285855474-12110-1-git-send-email-xiaohui.xin@intel.com> References: <1285855474-12110-1-git-send-email-xiaohui.xin@intel.com> In-Reply-To: <59d8a50047ee01e26658fd676d26c0162b79e5fd.1285853725.git.xiaohui.xin@intel.com> References: <59d8a50047ee01e26658fd676d26c0162b79e5fd.1285853725.git.xiaohui.xin@intel.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Xin Xiaohui If the driver want to allocate external buffers, then it can export it's capability, as the skb buffer header length, the page length can be DMA, etc. The external buffers owner may utilize this. Signed-off-by: Xin Xiaohui Signed-off-by: Zhao Yu Reviewed-by: Jeff Dike --- include/linux/netdevice.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 9ef9bf1..24a31e7 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -651,6 +651,12 @@ struct mp_port { * int (*ndo_set_vf_tx_rate)(struct net_device *dev, int vf, int rate); * int (*ndo_get_vf_config)(struct net_device *dev, * int vf, struct ifla_vf_info *ivf); + * + * int (*ndo_mp_port_prep)(struct net_device *dev, struct mp_port *port); + * If the driver want to allocate external buffers, + * then it can export it's capability, as the skb + * buffer header length, the page length can be DMA, etc. + * The external buffers owner may utilize this. */ #define HAVE_NET_DEVICE_OPS struct net_device_ops { @@ -713,6 +719,10 @@ struct net_device_ops { int (*ndo_fcoe_get_wwn)(struct net_device *dev, u64 *wwn, int type); #endif +#if defined(CONFIG_MEDIATE_PASSTHRU) || defined(CONFIG_MEDIATE_PASSTHRU_MODULE) + int (*ndo_mp_port_prep)(struct net_device *dev, + struct mp_port *port); +#endif }; /*