Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1582088pxb; Thu, 4 Mar 2021 15:25:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJxej1TjrfAXzAmpNxxV0J7/FpHKnfXnLiaxB0dNTJmH9wahCTHpM28hnmRT+JsMprdKi2ju X-Received: by 2002:a17:906:8043:: with SMTP id x3mr6557696ejw.149.1614900353264; Thu, 04 Mar 2021 15:25:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614900353; cv=none; d=google.com; s=arc-20160816; b=gu5a7klkxFzas3gXQuFXg4QALy3/2o8ESJV5ImMA8fDqv8E4OvAOyzyZiDMq8eZbgN m63X2+ilcnhbMBHPrxXyQnsSMw0lioPD5vXtYPClLTmUDeAk+Jb90vCuDkkInn5ZE3cu +IpS2ESJo83C3kaPyotVdfajpJ3OX9KWrq7yO590hRfvC+ZaL88QSplth8X7tsenIBUw t6cAqeTZnztnKcvBO4bzVuL8WaC/pfV1v7K3jOjSk7o+zbcunEQUdKBxnRSzCpYtoBSh gYAonpo9TovnBPYuKRJcSjvbZ9vIy8AlJbQbnnQPO4qkN4dPyWwelsfbK9AVTs+2VkkQ rw/w== 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=hSVEtHfcGelBqLC5G363wsXRQ42r1jwQ8BZLijT1XJPezUqlm00OKBm/Rv5MWG85mY pSAgjINUL/jfK2FKmn7yYI+u1rEwHRGXncfOUifSyVmyukw7fq6RALBqW0GUokOC+YNR nzo6apUJabbtHVeDX7OrAxW8TjBJyevSetR0hUIuKl+D/o1db+m7aivLkmrbFtYWNX+p rDkFd1StLNuwSAMrIo9c+SFpoYefbiu4UOiwhaSkTLW3GG3yaUI+VG0zhyYO2CiSi+5y KrOeFrqrTfqJOsjX8szoCgPKpcL9O46O8jESG4UMf55sa0bY1x+WoZBUZbCWmF498QRR XoLg== 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 h20si338666ejy.416.2021.03.04.15.25.30; Thu, 04 Mar 2021 15:25:53 -0800 (PST) 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 S1347881AbhCCSNR (ORCPT + 99 others); Wed, 3 Mar 2021 13:13:17 -0500 Received: from mga14.intel.com ([192.55.52.115]:39539 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1383871AbhCCPfZ (ORCPT ); Wed, 3 Mar 2021 10:35:25 -0500 IronPort-SDR: 9X3WCiI2nxIHO7d5/H0/HRx0ReedIRcjgFF1P1YA4/0kB1T5F+4jmOZWNfP7NZsYq/69c36SoJ VxVuYct0DHOA== X-IronPort-AV: E=McAfee;i="6000,8403,9912"; a="186564101" X-IronPort-AV: E=Sophos;i="5.81,220,1610438400"; d="scan'208";a="186564101" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2021 07:28:01 -0800 IronPort-SDR: tiVx67nZorZLEMZqXymk8KfgYz8ZZmXH/hXhYa+Hb9MioKxvFew3SZVoui8icgJ+FFf9mzcFIf div9VDpHszHA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,220,1610438400"; d="scan'208";a="399758550" Received: from climb.png.intel.com ([10.221.118.165]) by fmsmga008.fm.intel.com with ESMTP; 03 Mar 2021 07:27:58 -0800 From: Voon Weifeng To: "David S . Miller" , Maxime Coquelin Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jose Abreu , Giuseppe Cavallaro , Andrew Lunn , Alexandre Torgue , Ong Boon Leong , Voon Weifeng , Wong Vee Khee Subject: [PATCH v1 net-next 0/5] net: stmmac: enable multi-vector MSI Date: Wed, 3 Mar 2021 23:27:52 +0800 Message-Id: <20210303152757.18959-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