From patchwork Fri Mar 9 17:21:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anirudh Venkataramanan X-Patchwork-Id: 883827 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.133; helo=hemlock.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 hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zyZ1M54WYz9sbk for ; Sat, 10 Mar 2018 04:21:43 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id DFA4584357; Fri, 9 Mar 2018 17:21:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JSkRk4S46OmP; Fri, 9 Mar 2018 17:21:39 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id E9B5D83767; Fri, 9 Mar 2018 17:21:39 +0000 (UTC) X-Original-To: intel-wired-lan@lists.osuosl.org Delivered-To: intel-wired-lan@lists.osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 6308A1BFF8A for ; Fri, 9 Mar 2018 17:21:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 5F57B89554 for ; Fri, 9 Mar 2018 17:21:38 +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 xU1PGAU+nWyj for ; Fri, 9 Mar 2018 17:21:37 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by whitealder.osuosl.org (Postfix) with ESMTPS id 2A2A289355 for ; Fri, 9 Mar 2018 17:21:37 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Mar 2018 09:21:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,446,1515484800"; d="scan'208";a="33745308" Received: from shasta.jf.intel.com ([10.166.241.32]) by orsmga003.jf.intel.com with ESMTP; 09 Mar 2018 09:21:36 -0800 From: Anirudh Venkataramanan To: intel-wired-lan@lists.osuosl.org Date: Fri, 9 Mar 2018 09:21:21 -0800 Message-Id: <20180309172136.9073-1-anirudh.venkataramanan@intel.com> X-Mailer: git-send-email 2.14.3 Subject: [Intel-wired-lan] [PATCH 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 targetted to go through Jeff Kirsher's Intel Wired LAN git tree(s). 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 | 328 ++ drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 1366 ++++++ drivers/net/ethernet/intel/ice/ice_common.c | 2244 +++++++++ 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 | 972 ++++ 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 | 5507 +++++++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_nvm.c | 245 + 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 | 407 ++ 26 files changed, 19183 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