From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C29B5C282C3 for ; Tue, 22 Jan 2019 13:30:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 975D420870 for ; Tue, 22 Jan 2019 13:30:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728488AbfAVNaB (ORCPT ); Tue, 22 Jan 2019 08:30:01 -0500 Received: from inva021.nxp.com ([92.121.34.21]:56514 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727936AbfAVNaB (ORCPT ); Tue, 22 Jan 2019 08:30:01 -0500 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id F0B6D20014A; Tue, 22 Jan 2019 14:29:58 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id E4A582000CF; Tue, 22 Jan 2019 14:29:58 +0100 (CET) Received: from fsr-ub1664-016.ea.freescale.net (fsr-ub1664-016.ea.freescale.net [10.171.71.216]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id B546220605; Tue, 22 Jan 2019 14:29:58 +0100 (CET) From: Claudiu Manoil To: netdev@vger.kernel.org Cc: "David S . Miller" , Alex Marginean Subject: [PATCH net-next v4 0/4] Introduce ENETC ethernet drivers Date: Tue, 22 Jan 2019 15:29:53 +0200 Message-Id: <1548163797-20192-1-git-send-email-claudiu.manoil@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org ENETC is a multi-port virtualized Ethernet controller supporting GbE designs and Time-Sensitive Networking (TSN) functionality. ENETC is operating as an SR-IOV multi-PF capable Root Complex Integrated Endpoint (RCIE). As such, it contains multiple physical (PF) and virtual (VF) PCIe functions, discoverable by standard PCI Express. The patch series adds basic enablement for these otherwise standard buffer descriptor (BD) ring based ethernet devices (PCIe PFs and VFs), currently included in the 64-bit dual ARMv8 processors LS1028A SoC. The driver is portable to 32-bit designs, and it's independent of CPU endianness. Contributors: Alex Marginean Catalin Horghidan TODO list: * IEEE 1588 PTP support; * TSN support; * MDIO support and VF link management; * power management support; * flow control support; * TC offloading with h/w MQPRIO; * interrupt coalescing, configurable BD ring sizes, and other usual config options if missing. Claudiu Manoil (4): enetc: Introduce basic PF and VF ENETC ethernet drivers enetc: Add ethtool statistics enetc: Add vf to pf messaging support enetc: Add RFS and RSS support MAINTAINERS | 6 + drivers/net/ethernet/freescale/Kconfig | 1 + drivers/net/ethernet/freescale/Makefile | 3 + drivers/net/ethernet/freescale/enetc/Kconfig | 19 + drivers/net/ethernet/freescale/enetc/Makefile | 15 + drivers/net/ethernet/freescale/enetc/enetc.c | 1603 ++++++++++++++++++++ drivers/net/ethernet/freescale/enetc/enetc.h | 230 +++ drivers/net/ethernet/freescale/enetc/enetc_cbdr.c | 210 +++ .../net/ethernet/freescale/enetc/enetc_ethtool.c | 597 ++++++++ drivers/net/ethernet/freescale/enetc/enetc_hw.h | 532 +++++++ drivers/net/ethernet/freescale/enetc/enetc_msg.c | 164 ++ drivers/net/ethernet/freescale/enetc/enetc_pf.c | 931 ++++++++++++ drivers/net/ethernet/freescale/enetc/enetc_pf.h | 49 + drivers/net/ethernet/freescale/enetc/enetc_vf.c | 255 ++++ 14 files changed, 4615 insertions(+) create mode 100644 drivers/net/ethernet/freescale/enetc/Kconfig create mode 100644 drivers/net/ethernet/freescale/enetc/Makefile create mode 100644 drivers/net/ethernet/freescale/enetc/enetc.c create mode 100644 drivers/net/ethernet/freescale/enetc/enetc.h create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_cbdr.c create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_hw.h create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_msg.c create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_pf.c create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_pf.h create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_vf.c -- 2.7.4