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: 883826 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zyZ1J6Kwmz9sbp for ; Sat, 10 Mar 2018 04:21:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751347AbeCIRVi (ORCPT ); Fri, 9 Mar 2018 12:21:38 -0500 Received: from mga14.intel.com ([192.55.52.115]:12207 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751227AbeCIRVh (ORCPT ); Fri, 9 Mar 2018 12:21:37 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.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 Cc: netdev@vger.kernel.org Subject: [PATCH 00/15] Add ice driver 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 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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