Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3016373pxb; Fri, 12 Feb 2021 07:14:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJy+JmsIhQXVd28ceFSkoKOx3rh7jQQ9pVUtRwfZcodmFjL0mdlJ+V+7Hqq56NXyIlQGldS2 X-Received: by 2002:a05:6512:2254:: with SMTP id i20mr1883090lfu.534.1613142877261; Fri, 12 Feb 2021 07:14:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613142877; cv=none; d=google.com; s=arc-20160816; b=dG/ktg/tZ225nS1OSqbEZBjo5jd0msQlau5kIpc5vSRraAMJry1aOpDdS09uRS9mSO UMkIhkSeST4z9/LBSOEYpExtdSZRUIB9vekMh1O3aqbJBNgQycZtcywmOofJ46CREJeb GQ5Kp9IKvfkvlyCAJ9jv2kR34s6pWs8EIH74usi9w+itP4CWTWVZfYmrOjFU5F1ONwfU /1KoXcqbHs4s7KcxEhBTkYmGDYA6VN+Dz+Z3zQhC29jO0xyqAVE1Udlk072VNdGiPbO2 IEO3Avdtlu88WvGK7fcMtOMl4clnXa1oZdARC1Mp8m7lZQ0b147OcY5FQEPQPIvu199j oaBg== 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=SEJr4iW+kFghYPXRj/0NbZOd+ATZrOrzCj+0REy0XQE=; b=cp49y9OxdKnHyh7HFnqF5712mIULkpovq4Srz2v4k2z7Moqsr+0chHDRvhjgnZmtZh fHQ3kcmiVmsrj6Bx22JH/+ruceAUxQzP675Z+Vkom5XdlQeXM85mbDT3IuOtEYPPVvYj SCVTddATfIR2+D34uBNJQK5wyyJJTzpcGRslhRLVhw/8PgJubijreM0Y1xN2vhpsvQp/ ofiw9tCb0Rfvf1bSviZeRWgN+gP3kLb4hcm9tDI/Hcs4SfRVrsFeVhKAHjVGyY/9ey/M sAw2PQKhVok+ruK5Pxf2mm7bEZbWQyyOC0WGKu0GXzA38Eboh8B8N1+Vp1M7HbUwpAbj dZ5g== 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 hr35si6364056ejc.274.2021.02.12.07.14.12; Fri, 12 Feb 2021 07:14:37 -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 S229903AbhBLPNO (ORCPT + 99 others); Fri, 12 Feb 2021 10:13:14 -0500 Received: from relay11.mail.gandi.net ([217.70.178.231]:49389 "EHLO relay11.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229493AbhBLPNN (ORCPT ); Fri, 12 Feb 2021 10:13:13 -0500 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 relay11.mail.gandi.net (Postfix) with ESMTPSA id E2B5010000F; Fri, 12 Feb 2021 15:12:30 +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 Subject: [PATCH net-next 1/2] net: mvneta: Remove per-cpu queue mapping for Armada 3700 Date: Fri, 12 Feb 2021 16:12:19 +0100 Message-Id: <20210212151220.84106-2-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210212151220.84106-1-maxime.chevallier@bootlin.com> References: <20210212151220.84106-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. Signed-off-by: Maxime Chevallier --- 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