From patchwork Fri Oct 15 09:12:04 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xin, Xiaohui" X-Patchwork-Id: 67905 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 45DF7B70DD for ; Fri, 15 Oct 2010 19:57:53 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754308Ab0JOIwy (ORCPT ); Fri, 15 Oct 2010 04:52:54 -0400 Received: from mga01.intel.com ([192.55.52.88]:49841 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752728Ab0JOIwx (ORCPT ); Fri, 15 Oct 2010 04:52:53 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 15 Oct 2010 01:52:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.57,335,1283756400"; d="scan'208";a="616995373" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.239.36.73]) by fmsmga002.fm.intel.com with ESMTP; 15 Oct 2010 01:52:48 -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 v13 03/16] Add a ndo_mp_port_prep pointer to net_device_ops. Date: Fri, 15 Oct 2010 17:12:04 +0800 Message-Id: X-Mailer: git-send-email 1.7.3 In-Reply-To: <1287133937-5538-1-git-send-email-xiaohui.xin@intel.com> References: <1287133937-5538-1-git-send-email-xiaohui.xin@intel.com> In-Reply-To: References: 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 f6b1870..575777f 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -723,6 +723,12 @@ struct netdev_rx_queue { * int (*ndo_set_vf_port)(struct net_device *dev, int vf, * struct nlattr *port[]); * int (*ndo_get_vf_port)(struct net_device *dev, int vf, struct sk_buff *skb); + * + * 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 { @@ -795,6 +801,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 }; /*