[E1000-devel] [net v7 0/8][pull request] Intel Wired LAN Driver Updates

2013-09-11 Thread Jeff Kirsher
This series implements the new i40e driver for Intel's upcoming
Intel(R) Ethernet Controller XL710 Family of devices.

V7: many changes from a few comments:
use linux errno types
change I40E_SUCCESS to 0, standardize returns
change s32 return values to int
use void return values where possible
prefer use of int over i40e_status
V6: rename Kbuild to Makefile
rename i40e_mem[set|cpy] to regular memset/memcpy
V5: remove sysfs support from this set, will rearchitect
changes from community comments
V4: addresses remaining community comments, mostly trivial edits.
major sparse based cleanup of possible endian issues
removal of most of __func__ references
sizeof(*var) instead of sizeof(struct ...)
change 'NULL ==' tests to !NULL
implement xps
use kernel bitshift macros (upper_32_bits, etc)
V3: many more individual comments addressed, thanks reviewers!  Many
other changes due to internal review and development.
V2: each patch has individual comments, in general, feedback from the
list was applied and addressed. Many changes due to internal review
and coding as well.
V1: initial send

Let me start by saying thanks and we appreciate any time spent by
those of you who review and comment on this new driver, and we will
attempt to address and respond to all issues brought to our attention.

I tried to break the patches up to ease review, but the series should
apply and still be bisectable, as the last patch adds the driver to
the kernel compile with CONFIG_I40E.

This driver is for a brand new bit of silicon that has a different
design than other Intel Ethernet silicon, and therefore needed a new
driver.

The hardware has quite a bit of capability and this driver is only
meant to provide basic functionality at first.  Future patches will
continue to add functionality and bug fixes.

This initial release is very early in the product cycle with the intent
of getting initial support into the kernel before users have the
hardware available to purchase.  A software development manual is not
ready yet but will be available when the hardware ships.

The driver development model and interaction with community submitted
patches *will not be any different* than what we are currently doing
today.  We plan to continue established processes.

An associated i40evf driver has been posted for review.

List of tools we ran in preparation:
way more sparse clean
make W=1, W=2 clean
checkpatch (almost) clean
total: 1 errors, 4 warnings, 30461 lines checked
NOTE: Ignored message types: LONG_LINE
- issues have been addressed and the remainders
  are noise.
codespell clean
smatch (almost) clean with a couple minor warnings
coccicheck clean
namespacecheck clean
allmodconfig clean
ppc64 build clean (untested)

This driver is a team effort, thank you to Joseph Gasparakis,
Shannon Nelson, Anjali Singhai-Jain, Mitch Williams, Neerav
Parikh, Vasu Dev, Kavindya Deegala, Yi Zou, and PJ Waskiewicz.

TODO (known issues)
BQL implementation
finish rtnl_stat64 locking (we have a patch but debugging it)

The following are changes since commit c19d65c95c6d472d69829fea7d473228493d5245:
  bnx2x: Fix configuration of doorbell block
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master

Jesse Brandeburg (8):
  i40e: main driver core
  i40e: transmit, receive, and NAPI
  i40e: driver ethtool core
  i40e: driver core headers
  i40e: implement virtual device interface
  i40e: init code and hardware support
  i40e: debugfs interface
  i40e: include i40e in kernel proper

 Documentation/networking/00-INDEX  |2 +
 Documentation/networking/i40e.txt  |  115 +
 MAINTAINERS|3 +-
 drivers/net/ethernet/intel/Kconfig |   18 +
 drivers/net/ethernet/intel/Makefile|1 +
 drivers/net/ethernet/intel/i40e/Makefile   |   44 +
 drivers/net/ethernet/intel/i40e/i40e.h |  558 ++
 drivers/net/ethernet/intel/i40e/i40e_adminq.c  |  983 +++
 drivers/net/ethernet/intel/i40e/i40e_adminq.h  |  112 +
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  | 2076 ++
 drivers/net/ethernet/intel/i40e/i40e_alloc.h   |   59 +
 drivers/net/ethernet/intel/i40e/i40e_common.c  | 2041 ++
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 2076 ++
 drivers/net/ethernet/intel/i40e/i40e_diag.c|  131 +
 drivers/net/ethernet/intel/i40e/i40e_diag.h|   52 +
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 1449 
 drivers/net/ethernet/intel/i40e/i40e_hmc.c |  366 +
 drivers/net/ethernet/intel/i40e/i40e_hmc.h |  245 +
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c | 1006 +++
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h |  169 +
 drivers/net/ethernet/intel/i40e/i40e_main.c| 7375 
 drivers/net/ethernet/intel/i40e/i40e_nvm.c 

Re: [E1000-devel] [net v7 0/8][pull request] Intel Wired LAN Driver Updates

2013-09-11 Thread David Miller
From: Jeff Kirsher jeffrey.t.kirs...@intel.com
Date: Wed, 11 Sep 2013 02:50:48 -0700

   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master

Ok, I've pulled this.

Please send fixups based upon the trivial issues a few folks have
pointed out.

Thanks.

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel#174; Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] [net v7 0/8][pull request] Intel Wired LAN Driver Updates

2013-09-11 Thread Jeff Kirsher
On Wed, 2013-09-11 at 17:08 -0400, David Miller wrote:
 From: Jeff Kirsher jeffrey.t.kirs...@intel.com
 Date: Wed, 11 Sep 2013 02:50:48 -0700
 
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master
 
 Ok, I've pulled this.
 
 Please send fixups based upon the trivial issues a few folks have
 pointed out.
 
 Thanks.

Noted, we are already working on the fixups based on the feedback.

Thanks,
Jeff


signature.asc
Description: This is a digitally signed message part
--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk___
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel#174; Ethernet, visit 
http://communities.intel.com/community/wired