From patchwork Sat Jun 10 03:46:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Salil Mehta X-Patchwork-Id: 103544 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp73178qgd; Fri, 9 Jun 2017 20:48:31 -0700 (PDT) X-Received: by 10.84.230.134 with SMTP id e6mr43703057plk.256.1497066510997; Fri, 09 Jun 2017 20:48:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497066510; cv=none; d=google.com; s=arc-20160816; b=S121kTc20Oyrnpe21qEAAz7vx6OQ9KHLfIXMQY2onmvldhSKyM/O2bbMkUgZrxH5Yl v08mK8/HHpo1vtbbczdJOyqzZBkKHufQ19QVpPxiyodvnFs5S71f9VLJCGQv6JJ2BdTb YkK2Om+ryti3nhPvSBInJ3yrSUGTxIbuSEWNLObCJS9Gcoo0tJDeRbZNlIfCShoVZzPg qyaWsgGioZD/GtQfQjCU5tvoqit3CEv69xWtBKLwiIZNrypRKmfiI4/bprNdpAzP/uHS PO5sk81S6cNfAC8re+K085qbmsLzddFEnYNd0ZlD6uYX+JmeDWkG/Nk0lAJYNdzDlwL9 1pMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=Z4huZwXdu2qpCO5a2yUQo1gbopi/J7kcKeR1vBIwKh8=; b=VJk45JMHE5hamGghIOH0Y4F7pLkl0H/zBC6L78rugX4n37LjQFtcaVOYr9rbaGS2VV AdNbMovj0BTeVojx5+D570r57omZ3JsUoOuIjOWeKw74bAN09q+WhSozLHfpBsyFOzhp qwXv46EV4mJ3N17hrMTWZlFK3KhsWbBFjHSvxlEBRVlgxLgOEaO7yTa/lLl8BNjBAKH+ DoYNm6+v53RUeittH3a+InMmIRAWCzyGFsjk+k1FBKdMa51JGesJhFAwEHcM9hvt+Wsm XWRipE1i+nT1M9JzmSotmE6mqxSZq3IedG4RS2gxeD+Wzn6mr5+Fw4/geI1YVgzZ67pG CdYg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 60si2338508plb.445.2017.06.09.20.48.30; Fri, 09 Jun 2017 20:48:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751832AbdFJDrz (ORCPT + 25 others); Fri, 9 Jun 2017 23:47:55 -0400 Received: from szxga01-in.huawei.com ([45.249.212.187]:7807 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751562AbdFJDrw (ORCPT ); Fri, 9 Jun 2017 23:47:52 -0400 Received: from 172.30.72.53 (EHLO dggeml405-hub.china.huawei.com) ([172.30.72.53]) by dggrg01-dlp.huawei.com (MOS 4.4.6-GA FastPath queued) with ESMTP id AQB19335; Sat, 10 Jun 2017 11:47:46 +0800 (CST) Received: from S00293818-DELL1.china.huawei.com (10.203.181.161) by dggeml405-hub.china.huawei.com (10.3.17.49) with Microsoft SMTP Server id 14.3.301.0; Sat, 10 Jun 2017 11:47:36 +0800 From: Salil Mehta To: CC: , , , , , , , Subject: [PATCH net-next 0/9] Hisilicon Network Subsystem 3 Ethernet Driver Date: Sat, 10 Jun 2017 04:46:21 +0100 Message-ID: <20170610034630.493852-1-salil.mehta@huawei.com> X-Mailer: git-send-email 2.8.3 MIME-Version: 1.0 X-Originating-IP: [10.203.181.161] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.593B6BE2.005F, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: ddc8568196538954b68608f794bc0f70 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch-set contains the support of the HNS3 (Hisilicon Network Subsystem 3) Ethernet driver for hip08 family of SoCs and future upcoming SoCs. Hisilicon's new hip08 SoCs have integrated ethernet based on PCI Express and hence there was a need of new driver over the previous HNS driver which is already part of the Linux mainline. This new driver is NOT backward compatible with HNS. This current driver is meant to control the Physical Function and there would soon be a support of a separate driver for Virtual Function once this base PF driver has been accepted. Also, this driver is the ongoing development work and HNS3 Ethernet driver would be incrementally enhanced with more new features. High Level Architecture: [ Ethtool ] ^ | | | [Ethernet Client] [RoCE Client] . . . [ Ethernet Client ] --------------------------------------------- | | | [ HNAE3 Framework (Register/unregister) ] | | | --------------------------------------------- | [ HNAE Device ] | | | [ HCLGE Layer] | ________________|_________________ | | | | | [ MDIO ] [ Scheduler/Shaper ] [ Debugfs ] | | | | | |________________|_________________| | | | [ IMP command Interface ] | --------------------------------------------- | HIP08 H A R D W A R E * Current patch-set broadly adds the support of the following PF functionality: 1. Basic Rx and Tx functionality 2. TSO support 3. Ethtool support 4. Debugfs support 5. HNAE framework and hardware compatability layer 6. Scheduler and Shaper support in transmit function 7. MDIO support Salil Mehta (9): net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC net: hns3: Add support of the HNAE3 framework net: hns3: Add HNS3 IMP(Integrated Mgmt Proc) Cmd Interface Support net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support net: hns3: Add support of TX Scheduler & Shaper to HNS3 driver net: hns3: Add MDIO support to HNS3 Ethernet driver for hip08 SoC net: hns3: Add Ethtool support to HNS3 driver net: hns3: Add support of debugfs interface to HNS3 driver net: hns3: Add HNS3 driver to kernel build framework & MAINTAINERS MAINTAINERS | 8 + drivers/net/ethernet/hisilicon/Kconfig | 24 + drivers/net/ethernet/hisilicon/Makefile | 1 + drivers/net/ethernet/hisilicon/hns3/Makefile | 7 + drivers/net/ethernet/hisilicon/hns3/hnae3.c | 305 ++ drivers/net/ethernet/hisilicon/hns3/hnae3.h | 449 +++ .../net/ethernet/hisilicon/hns3/hns3pf/Makefile | 11 + .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 347 ++ .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 742 ++++ .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 188 + .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 4257 ++++++++++++++++++++ .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 493 +++ .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 310 ++ .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 1018 +++++ .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 108 + .../net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c | 2851 +++++++++++++ .../net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.h | 585 +++ .../ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 894 ++++ 18 files changed, 12598 insertions(+) create mode 100644 drivers/net/ethernet/hisilicon/hns3/Makefile create mode 100644 drivers/net/ethernet/hisilicon/hns3/hnae3.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hnae3.h create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/Makefile create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.h create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c -- 2.7.4