Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4242025pxf; Tue, 16 Mar 2021 08:47:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQoGjcBOlyhIMph0cCROf7P7mcVoxa/cF5xBZhesOABfK/er7qbax5D7598lc9L8e0gJ2Q X-Received: by 2002:aa7:d74d:: with SMTP id a13mr38336206eds.199.1615909634199; Tue, 16 Mar 2021 08:47:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615909634; cv=none; d=google.com; s=arc-20160816; b=Y56hUF7bmlkYprc5NaMrAq/l1D3NeLlV5bKwgOOQu9zUpUddu0VTmfYn8emRr7JDe8 MP369OjXibr5sZfrOUGuxByoY7pD+kDGS/sNI0+lKa1t2Sp2dZJ2cgu3kYrXuYm6uBhL uU71+b53Gv1ALtwqEaK1uHXvpHwhPieWgoAIpLZazZn132ELf3x1JF6gTPcUuBd4BoHC x1u3GlYbRJRTVoALOp93dh9vEZCuESsbyM8JrF7mtruZ1TwY4NIbrMCM99fA15XRDxuj 7ekps5+kcz75tRG/E4VLWHUu822+KYXTiMA+bMsywHbUy2QW51bGra8UtBvF/a50gzKU vrrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from:ironport-sdr :ironport-sdr; bh=AOAW/3iP1xJgDqtr/a96QyAtqmWDzZXgxeezIxch4zo=; b=I3eaRZWIdoCr5r0qnVWTwFEhb+jFKVmfMCvlC4t7nrZJA+HpX9iQHaNsTWnnVVxPG3 xTsLWcEh8zLP/DVmB1BstoNFLIXn+8dO/irgrbNrWoCdzrdhU/yhokjbh2BzTrV414kH cD89Qy/FklN94dylPrjrhS7pG104O1m7BlJ5tWNt906bE9njvFnk7hZFfzBV+jG+QxyO AuS2wEvQOX3yqIhybCkiKwPQCJu9d66UWHBVg/D0gUHY4k1T5ocoyeG1SoW9k5wBm0E1 OsMnlA/eisjfGyMUp7Ve2vl7OCPcWqK2r3nTK5v3uSOnjRSUxN+DC3RbdWuS8BX6JcYy zZ2w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j20si13746212ejs.411.2021.03.16.08.46.50; Tue, 16 Mar 2021 08:47:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230127AbhCPMSu (ORCPT + 99 others); Tue, 16 Mar 2021 08:18:50 -0400 Received: from mga18.intel.com ([134.134.136.126]:49319 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230113AbhCPMS2 (ORCPT ); Tue, 16 Mar 2021 08:18:28 -0400 IronPort-SDR: UxaKiUh1IOiM7oNgmQIXrdjw4A8AuyG0seDZmqd0k4+3Cs8HrPTx0Gzf1WHPsHWBgGl/0dBj8U L2IdYz5RgEUw== X-IronPort-AV: E=McAfee;i="6000,8403,9924"; a="176844043" X-IronPort-AV: E=Sophos;i="5.81,251,1610438400"; d="scan'208";a="176844043" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2021 05:18:27 -0700 IronPort-SDR: hfN8W7PNV5itwFmITqi3spDA4QeDpgxF6ahDdPoZxhENQvr4KdyCNAe8h7yOBykFXS/d3E11ib lFLKrnLPnnmg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,251,1610438400"; d="scan'208";a="449703375" Received: from climb.png.intel.com ([10.221.118.165]) by orsmga001.jf.intel.com with ESMTP; 16 Mar 2021 05:18:24 -0700 From: Voon Weifeng To: "David S . Miller" , Maxime Coquelin Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jose Abreu , Jakub Kicinski , Giuseppe Cavallaro , Andrew Lunn , Alexandre Torgue , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Ong Boon Leong , Voon Weifeng , Wong Vee Khee Subject: [RESEND v1 net-next 0/5] net: stmmac: enable multi-vector MSI Date: Tue, 16 Mar 2021 20:18:18 +0800 Message-Id: <20210316121823.18659-1-weifeng.voon@intel.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset adds support for multi MSI interrupts in addition to current single common interrupt implementation. Each MSI interrupt is tied to a newly introduce interrupt service routine(ISR). Hence, each interrupt will only go through the corresponding ISR. In order to increase the efficiency, enabling multi MSI interrupt will automatically select the interrupt mode configuration INTM=1. When INTM=1, the TX/RX transfer complete signal will only asserted on corresponding sbd_perch_tx_intr_o[] or sbd_perch_rx_intr_o[] without asserting signal on the common sbd_intr_o. Hence, for each TX/RX interrupts, only the corresponding ISR will be triggered. Every vendor might have different MSI vector assignment. So, this patchset only includes multi-vector MSI assignment for Intel platform. Ong Boon Leong (4): net: stmmac: introduce DMA interrupt status masking per traffic direction net: stmmac: make stmmac_interrupt() function more friendly to MSI net: stmmac: introduce MSI Interrupt routines for mac, safety, RX & TX stmmac: intel: add support for multi-vector msi and msi-x Wong, Vee Khee (1): net: stmmac: use interrupt mode INTM=1 for multi-MSI drivers/net/ethernet/stmicro/stmmac/common.h | 21 + .../net/ethernet/stmicro/stmmac/dwmac-intel.c | 112 +++- .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 24 +- .../net/ethernet/stmicro/stmmac/dwmac4_dma.c | 8 + .../net/ethernet/stmicro/stmmac/dwmac4_dma.h | 24 +- .../net/ethernet/stmicro/stmmac/dwmac4_lib.c | 30 +- .../net/ethernet/stmicro/stmmac/dwmac_dma.h | 22 +- .../net/ethernet/stmicro/stmmac/dwmac_lib.c | 8 +- .../net/ethernet/stmicro/stmmac/dwxgmac2.h | 6 + .../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 8 +- drivers/net/ethernet/stmicro/stmmac/hwif.h | 2 +- drivers/net/ethernet/stmicro/stmmac/stmmac.h | 16 + .../net/ethernet/stmicro/stmmac/stmmac_main.c | 482 +++++++++++++++--- include/linux/stmmac.h | 9 + 14 files changed, 676 insertions(+), 96 deletions(-) -- 2.17.1