Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp5562466pxb; Tue, 16 Feb 2021 01:29:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJxPJtugw6YT2PWOZpx7TBfzKtN9fBmUibBKpQlD9V0UE3bjUiXRcEe1sBC3k5t0OsMDOsjH X-Received: by 2002:a05:6402:1383:: with SMTP id b3mr5637702edv.374.1613467796479; Tue, 16 Feb 2021 01:29:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613467796; cv=none; d=google.com; s=arc-20160816; b=FsCAJFzm5qIJW+8kKEhvI3GfmIEzC4MzOAE/0N3GQ/cZjGl/tVlGMXGhtDCguLV+lf zMzHIlFZOj/RCP/OpYlCLQJM6XGyl584HwBo92zkVENMko86E//Sc4i1CHHZT/a4Pz1c kS3ZG/bfUDK1d5WamAh/QlmRzDXsveAt0MDZcfnALxrcIufb6R5XUqe4h0kJgVBtoKXM rsJ29nAma0+cu/sczp4+2wZc2uBOzvmjkD2FvAfese7j4N0l/+zA4nwgaz9c5GlTOqcl pZDxMuUGLcPebo7grV7o6jS0yGStuG+52EzNot9ft/kh1xfQhkFjnEP95afqvU+5+1+V 8Qew== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=fcAEUrGOYKUyQ9MXF07bqs98JLsTLahvo8Gsbk6bLRM=; b=L/b1mXR7yes6U/f9op/tXtEEoYFWDlfHVMygSoJxHjwiYTA0ibrfzQPd5sAqvHzvzS AMZP4sbuepp3l7yCuxPUFbLj8uMZ75klR6AXFRnetbQ+jIYK8cYPcOla1tMuBbw6VHHQ RwP558kgEDF7RRc8dMoW++wlH/6fPLOsQFahYzNvlQ3r+nQOaUivIJ+R5hrTpTS6Kllp JNkZtKZRhV0ovQxPRRtNHvsHbwffyYn80z31clutQwE7pkYbdoz7foKZ8LIncbX1BDn5 47a42Anj+otGqeX1dm0tFALKdykVdzqCezHqbcC3RMFpCKGtNAR4Hz4AIzJTcZA2nsrG 3b7w== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n2si17140424ejl.444.2021.02.16.01.29.33; Tue, 16 Feb 2021 01:29:56 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229710AbhBPJ1D (ORCPT + 99 others); Tue, 16 Feb 2021 04:27:03 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:48909 "EHLO relay8-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229942AbhBPJ00 (ORCPT ); Tue, 16 Feb 2021 04:26:26 -0500 X-Originating-IP: 90.55.97.122 Received: from pc-2.home (apoitiers-259-1-26-122.w90-55.abo.wanadoo.fr [90.55.97.122]) (Authenticated sender: maxime.chevallier@bootlin.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 3F7E31BF208; Tue, 16 Feb 2021 09:25:41 +0000 (UTC) From: Maxime Chevallier To: davem@davemloft.net Cc: Maxime Chevallier , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com, gregory.clement@bootlin.com, Andrew Lunn , =?UTF-8?q?Pali=20Roh=C3=A1r?= Subject: [PATCH net-next v2 1/2] net: mvneta: Remove per-cpu queue mapping for Armada 3700 Date: Tue, 16 Feb 2021 10:25:35 +0100 Message-Id: <20210216092536.1153864-2-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210216092536.1153864-1-maxime.chevallier@bootlin.com> References: <20210216092536.1153864-1-maxime.chevallier@bootlin.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org According to Errata #23 "The per-CPU GbE interrupt is limited to Core 0", we can't use the per-cpu interrupt mechanism on the Armada 3700 familly. This is correctly checked for RSS configuration, but the initial queue mapping is still done by having the queues spread across all the CPUs in the system, both in the init path and in the cpu_hotplug path. Fixes: 2636ac3cc2b4 ("net: mvneta: Add network support for Armada 3700 SoC") Signed-off-by: Maxime Chevallier --- V2: Added Fixes tag, as per Pali's review drivers/net/ethernet/marvell/mvneta.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 6290bfb6494e..8e410fafff8d 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -3428,7 +3428,9 @@ static int mvneta_txq_sw_init(struct mvneta_port *pp, return -ENOMEM; /* Setup XPS mapping */ - if (txq_number > 1) + if (pp->neta_armada3700) + cpu = 0; + else if (txq_number > 1) cpu = txq->id % num_present_cpus(); else cpu = pp->rxq_def % num_present_cpus(); @@ -4206,6 +4208,11 @@ static int mvneta_cpu_online(unsigned int cpu, struct hlist_node *node) node_online); struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu); + /* Armada 3700's per-cpu interrupt for mvneta is broken, all interrupts + * are routed to CPU 0, so we don't need all the cpu-hotplug support + */ + if (pp->neta_armada3700) + return 0; spin_lock(&pp->lock); /* -- 2.25.4