From patchwork Thu Mar 15 23:47:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anirudh Venkataramanan X-Patchwork-Id: 886522 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=osuosl.org (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=intel.com Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 402QJV0MTbz9sVm for ; Fri, 16 Mar 2018 10:48:09 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id A7EF78858F; Thu, 15 Mar 2018 23:48:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JU3sstYi+qee; Thu, 15 Mar 2018 23:48:06 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 3205888B03; Thu, 15 Mar 2018 23:48:06 +0000 (UTC) X-Original-To: intel-wired-lan@lists.osuosl.org Delivered-To: intel-wired-lan@lists.osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id F37F31C0359 for ; Thu, 15 Mar 2018 23:48:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id EF9B1226CF for ; Thu, 15 Mar 2018 23:48:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ftwWU5sowDV5 for ; Thu, 15 Mar 2018 23:48:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by silver.osuosl.org (Postfix) with ESMTPS id C511A22118 for ; Thu, 15 Mar 2018 23:48:03 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Mar 2018 16:48:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,313,1517904000"; d="scan'208";a="37836776" Received: from shasta.jf.intel.com ([10.166.241.32]) by fmsmga004.fm.intel.com with ESMTP; 15 Mar 2018 16:48:02 -0700 From: Anirudh Venkataramanan To: intel-wired-lan@lists.osuosl.org Date: Thu, 15 Mar 2018 16:47:47 -0700 Message-Id: <20180315234802.31336-1-anirudh.venkataramanan@intel.com> X-Mailer: git-send-email 2.14.3 Subject: [Intel-wired-lan] [PATCH v2 00/15] Add ice driver X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.24 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: netdev@vger.kernel.org MIME-Version: 1.0 Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" This patch series adds the ice driver, which will support the Intel(R) E800 Series of network devices. This is the first phase in the release of this driver where we implement basic transmit and receive. The idea behind the multi-phase release is to aid in code review as well as testing. Subsequent phases will implement advanced features (like SR-IOV, tunnelling, flow director, QoS, etc.) that build upon the previous phase(s). Each phase will be submitted as a patch series. I cc'd netdev for review since this is a new driver, even though this is targeted to go through Jeff Kirsher's Intel Wired LAN git tree(s). v2: Addressed community feedback patch #3 : Removed register write based on Shannon's comments patch #4 : Change retries value based on Shannon's comments patch #6 : Remove reference to "lump" as Shannon suggested patch #7 : Add define for magic number as Shannon suggested patch #12: Reworked based on multiple comments (Jakub, Stephen, et al.) Anirudh Venkataramanan (15): ice: Add basic driver framework for Intel(R) E800 Series ice: Add support for control queues ice: Start hardware initialization ice: Get switch config, scheduler config and device capabilities ice: Get MAC/PHY/link info and scheduler topology ice: Initialize PF and setup miscellaneous interrupt ice: Add support for VSI allocation and deallocation ice: Add support for switch filter programming ice: Configure VSIs for Tx/Rx ice: Implement transmit and NAPI support ice: Add support for VLANs and offloads ice: Add stats and ethtool support ice: Update Tx scheduler tree for VSI multi-Tx queue support ice: Support link events, reset and rebuild ice: Implement filter sync, NDO operations and bump version Documentation/networking/ice.txt | 39 + MAINTAINERS | 1 + drivers/net/ethernet/intel/Kconfig | 14 + drivers/net/ethernet/intel/Makefile | 1 + drivers/net/ethernet/intel/ice/Makefile | 34 + drivers/net/ethernet/intel/ice/ice.h | 326 ++ drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 1366 ++++++ drivers/net/ethernet/intel/ice/ice_common.c | 2247 +++++++++ drivers/net/ethernet/intel/ice/ice_common.h | 100 + drivers/net/ethernet/intel/ice/ice_controlq.c | 1080 +++++ drivers/net/ethernet/intel/ice/ice_controlq.h | 108 + drivers/net/ethernet/intel/ice/ice_devids.h | 33 + drivers/net/ethernet/intel/ice/ice_ethtool.c | 954 ++++ drivers/net/ethernet/intel/ice/ice_hw_autogen.h | 280 ++ drivers/net/ethernet/intel/ice/ice_lan_tx_rx.h | 487 ++ drivers/net/ethernet/intel/ice/ice_main.c | 5509 +++++++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_nvm.c | 250 + drivers/net/ethernet/intel/ice/ice_osdep.h | 87 + drivers/net/ethernet/intel/ice/ice_sched.c | 1673 +++++++ drivers/net/ethernet/intel/ice/ice_sched.h | 57 + drivers/net/ethernet/intel/ice/ice_status.h | 46 + drivers/net/ethernet/intel/ice/ice_switch.c | 1897 ++++++++ drivers/net/ethernet/intel/ice/ice_switch.h | 175 + drivers/net/ethernet/intel/ice/ice_txrx.c | 1796 ++++++++ drivers/net/ethernet/intel/ice/ice_txrx.h | 206 + drivers/net/ethernet/intel/ice/ice_type.h | 408 ++ 26 files changed, 19174 insertions(+) create mode 100644 Documentation/networking/ice.txt create mode 100644 drivers/net/ethernet/intel/ice/Makefile create mode 100644 drivers/net/ethernet/intel/ice/ice.h create mode 100644 drivers/net/ethernet/intel/ice/ice_adminq_cmd.h create mode 100644 drivers/net/ethernet/intel/ice/ice_common.c create mode 100644 drivers/net/ethernet/intel/ice/ice_common.h create mode 100644 drivers/net/ethernet/intel/ice/ice_controlq.c create mode 100644 drivers/net/ethernet/intel/ice/ice_controlq.h create mode 100644 drivers/net/ethernet/intel/ice/ice_devids.h create mode 100644 drivers/net/ethernet/intel/ice/ice_ethtool.c create mode 100644 drivers/net/ethernet/intel/ice/ice_hw_autogen.h create mode 100644 drivers/net/ethernet/intel/ice/ice_lan_tx_rx.h create mode 100644 drivers/net/ethernet/intel/ice/ice_main.c create mode 100644 drivers/net/ethernet/intel/ice/ice_nvm.c create mode 100644 drivers/net/ethernet/intel/ice/ice_osdep.h create mode 100644 drivers/net/ethernet/intel/ice/ice_sched.c create mode 100644 drivers/net/ethernet/intel/ice/ice_sched.h create mode 100644 drivers/net/ethernet/intel/ice/ice_status.h create mode 100644 drivers/net/ethernet/intel/ice/ice_switch.c create mode 100644 drivers/net/ethernet/intel/ice/ice_switch.h create mode 100644 drivers/net/ethernet/intel/ice/ice_txrx.c create mode 100644 drivers/net/ethernet/intel/ice/ice_txrx.h create mode 100644 drivers/net/ethernet/intel/ice/ice_type.h