Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp977405pxb; Fri, 22 Apr 2022 15:47:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyC6oN8QbEMDzEwRpsqEOg6+1wkvUN6MkEBsKjsoaSmumXrUUyMf7xWcr4D87mL+TYdoCFI X-Received: by 2002:a17:902:6bc4:b0:154:6b3d:a720 with SMTP id m4-20020a1709026bc400b001546b3da720mr6792090plt.104.1650667642560; Fri, 22 Apr 2022 15:47:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650667642; cv=none; d=google.com; s=arc-20160816; b=KYMzzsoL9baZKApOAkXPJtlvL8nc22TEwh5itZldxWd0CoCcOOd+Na50jhrQEm6nuh CFGL1J62ebdfghAv77mupxS4Pj8Na86bs/ATCw2zDFyjfJsVbEBLQiKnUaOb78+m/Fba tkFfFQCJ/x+zVgEnxUsQ61F/om8sRBDRG58P9fst93U/9Z4SvzGFGzJ3qVNgG84VfxK0 rpzQVuCBJ3s+79ACs9HHFLNPvGuFor+/8j/yM/IvGYu9zbW6mXSMnDFsSjDhkk3LU7i5 ZtmjjgBsoHrTK40f2d9kdWREnXKi6sBYGTjjQGbWJUS+gPU1xWFNm20YbEU1liKf7qRG ObKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=DzFYMdqiUbF9fkv7pZJyHpakFyvM1o8fMoCSIs24IhI=; b=lub0c2IgQrBesuSh77OJYrMCQpWkXayLyLpYsAWxGtklmqcvtjx6T/xAn5kGRGQWyy zzMZ0mElJzQX8eIKEHdU0YfVGUWBcokYvvmJy//R/szjW7vkF5XU7aJs6LWAzcHwJzMq IbuRF/lH8edaikUKVCRN7QmrYCANGljy00j3LEcZa3ST/Cwa0u4IJbuZRxaLxjk/RCsN c7RPPlxGV+Aaj7ga1lWYMCZblQzMhN7LTz2csY+q+qBr53EP1wFZz6lgkS1BBlHlDzKo rGq0Gkp2w4etZj0MXupoGMB6hRUEX+Grp/TLkurr+eSyEzqK+lJetKmvE+AMG+QWnhaB X6+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b="RGvD/NEB"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id d5-20020a170902854500b00158643c240asi8715151plo.87.2022.04.22.15.47.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Apr 2022 15:47:22 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b="RGvD/NEB"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 8027A29A0DE; Fri, 22 Apr 2022 13:36:05 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235673AbiDVSIr (ORCPT + 99 others); Fri, 22 Apr 2022 14:08:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237276AbiDVSGr (ORCPT ); Fri, 22 Apr 2022 14:06:47 -0400 Received: from mslow1.mail.gandi.net (mslow1.mail.gandi.net [217.70.178.240]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3855DE49EE; Fri, 22 Apr 2022 11:03:48 -0700 (PDT) Received: from relay2-d.mail.gandi.net (unknown [IPv6:2001:4b98:dc4:8::222]) by mslow1.mail.gandi.net (Postfix) with ESMTP id 9BFA3C1EAB; Fri, 22 Apr 2022 18:03:30 +0000 (UTC) Received: (Authenticated sender: maxime.chevallier@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 9D3B140004; Fri, 22 Apr 2022 18:03:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1650650591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=DzFYMdqiUbF9fkv7pZJyHpakFyvM1o8fMoCSIs24IhI=; b=RGvD/NEBQqLT/SR04JDPMP/MpuR40CZoxYwPDS/m1/julhFNlmXsZMWK/wwoXBpMnUXz98 iwmD98uPcM1m2u+EvaRCGz7mIbu+3ZfhF0yLWjaGENudt90TaWLhSevlOFduTUlO8UJqva ASh13xDJ4Ood7hCa/QYKKo20gl9VEKa4+z6auIKXxhkGYVrmYQIHomzae8yL7IEm8FENOu DQ3x0KWanLSz6v6eEv7NHStsdHifXkufpIQxK1oBJfXwkTus0zVjUms7z2BAcd2Wt9jIV3 gE56JdI5XEFjbgMGT8OmPY4QpUSOnQ5Vif9xuyvRbCa+lXMTTj5hnpPNV4AM7w== From: Maxime Chevallier To: davem@davemloft.net, Rob Herring Cc: Maxime Chevallier , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, thomas.petazzoni@bootlin.com, Andrew Lunn , Florian Fainelli , Heiner Kallweit , Russell King , linux-arm-kernel@lists.infradead.org, Vladimir Oltean , Luka Perkov , Robert Marko Subject: [PATCH net-next 0/5] net: ipqess: introduce Qualcomm IPQESS driver Date: Fri, 22 Apr 2022 20:03:00 +0200 Message-Id: <20220422180305.301882-1-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello everyone, This series introduces a new driver, for the Qualcomm IPQESS Ethernet Controller, found on the IPQ4019. The driver itself is pretty straightforward, but has lived out-of-tree for a while. I've done my best to clean-up some outdated API calls, but some might remain. This controller is somewhat special, since it's part of the IPQ4019 SoC which also includes an QCA8K switch, and uses the IPQESS controller for the CPU port. The switch is so tightly intergrated with the MAC that it is connected to the MAC using an internal link (hence the fact that we only support PHY_INTERFACE_MODE_INTERNAL), and this has some consequences on the DSA side. The tagging for the switch isn't done inband as most switch do, but out-of-band, the DSA tag being included in the DMA descriptor. So, this series also includes a new DSA tagging protocol, that sets the DSA port index into skb->shinfo, so that the MAC driver can use it to build the descriptor. This is definitely unusual, so I'l very openned to suggestions, comments and reviews on the tagging side of this series. Thanks to the Sartura folks who worked on a base version of this driver, and provided test hardware. Best regards, Maxime Chevallier Maxime Chevallier (5): net: ipqess: introduce the Qualcomm IPQESS driver net: dsa: add out-of-band tagging protocol net: ipqess: Add out-of-band DSA tagging support net: dt-bindings: Introduce the Qualcomm IPQESS Ethernet controller ARM: dts: qcom: ipq4019: Add description for the IPQESS Ethernet controller .../devicetree/bindings/net/qcom,ipqess.yaml | 94 ++ MAINTAINERS | 6 + arch/arm/boot/dts/qcom-ipq4019.dtsi | 42 + drivers/net/ethernet/qualcomm/Kconfig | 11 + drivers/net/ethernet/qualcomm/Makefile | 2 + drivers/net/ethernet/qualcomm/ipqess/Makefile | 8 + drivers/net/ethernet/qualcomm/ipqess/ipqess.c | 1258 +++++++++++++++++ drivers/net/ethernet/qualcomm/ipqess/ipqess.h | 515 +++++++ .../ethernet/qualcomm/ipqess/ipqess_ethtool.c | 168 +++ include/linux/skbuff.h | 7 + include/net/dsa.h | 2 + net/dsa/Kconfig | 7 + net/dsa/Makefile | 1 + net/dsa/tag_oob.c | 45 + 14 files changed, 2166 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/qcom,ipqess.yaml create mode 100644 drivers/net/ethernet/qualcomm/ipqess/Makefile create mode 100644 drivers/net/ethernet/qualcomm/ipqess/ipqess.c create mode 100644 drivers/net/ethernet/qualcomm/ipqess/ipqess.h create mode 100644 drivers/net/ethernet/qualcomm/ipqess/ipqess_ethtool.c create mode 100644 net/dsa/tag_oob.c -- 2.35.1