From patchwork Fri Oct 21 10:49:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Regnery X-Patchwork-Id: 685029 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3t0jC55vV9z9t1P for ; Fri, 21 Oct 2016 21:50:57 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=F+jQhQL6; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932277AbcJUKux (ORCPT ); Fri, 21 Oct 2016 06:50:53 -0400 Received: from mail-lf0-f67.google.com ([209.85.215.67]:36369 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932240AbcJUKum (ORCPT ); Fri, 21 Oct 2016 06:50:42 -0400 Received: by mail-lf0-f67.google.com with SMTP id b75so5243668lfg.3 for ; Fri, 21 Oct 2016 03:50:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=ww5f2OltDr3DUZws1IFk+NHRJ40mQvKT6vdiBj9UO6s=; b=F+jQhQL6On/x6tszpIk76U1i3G/80s8npkV/GcH82CO1s7OpyGzQOw1A5Cx22YSEVW lPAhSmMf7Ak69KPMjxg0Om05ITq4LU6mSG7632zcfSV8kubTi7hc9xdE5p5mPV3CxXF8 rG6bOKhEEKlynXQDGQE+Hh/1O6OFfJVxM7YnkPVG58fvlACkHlLpgvqXKesDzW7L8EY7 ypK7CPC4dST8bCp7RaonqQOIIiZRBwW3OkpU/Ew3DptCGNdTH4FBH75GjtiYKYYCqGRX nKnx8XVP8JgYFOsUzjY18+oqnGD+ozr047p2dx0MbhgduUV5hSoC75nnoOCqlH1mPoAF ajzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=ww5f2OltDr3DUZws1IFk+NHRJ40mQvKT6vdiBj9UO6s=; b=Mfu8nX5lzWdToXYKbHXmZWmeBbuqmhDsA0iMo7s8WKpyR3eI7sNHdQNQoItQtsgiJR dpBU8/KP5W8qr+gtmJjXuv9kszWEpaw7DuJIha3UQYdDSzuSrHo1wE/uwacpUT8Ixcdy IlQNEuqpT0e5MUotqOtecXgxgGxNScL4RS+ybQ1ZB9kkzWzNfllUDlW+sfSYwfBRbERe RU541OamjJEjeNOU4nE7wy1Q7qde0Vug9tVeG8DVOOoctJP1/Kl+N55xumw8xkXuJy9V /m+s/E3nkZhNl+wXRdAjTAFBuRM0ZK8sM4kuGtgNt09c06SjM4wxfZtxVvHG+5x8wJFv ehuw== X-Gm-Message-State: AA6/9RlaOmG487+MpdmPKgMXv3Js3lg9f3Mxbt4sqsTFK1pLbu228eYPNOOdbF0okrQSNQ== X-Received: by 10.28.64.213 with SMTP id n204mr2343707wma.64.1477047041108; Fri, 21 Oct 2016 03:50:41 -0700 (PDT) Received: from localhost.localdomain ([83.243.48.51]) by smtp.gmail.com with ESMTPSA id a1sm2229280wjl.28.2016.10.21.03.50.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Oct 2016 03:50:40 -0700 (PDT) From: Tobias Regnery To: jcliburn@gmail.com, chris.snook@gmail.com, netdev@vger.kernel.org Cc: davem@davemloft.net, Tobias Regnery Subject: [PATCH net-next 9/9] alx: enable multiple tx queues Date: Fri, 21 Oct 2016 12:49:52 +0200 Message-Id: <41b84fba502dde356b82411440dee936335896ea.1477044921.git.tobias.regnery@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Enable multiple tx queues by default based on the number of online cpus. The hardware supports up to four tx queues. Based on the downstream driver at github.com/qca/alx Signed-off-by: Tobias Regnery --- drivers/net/ethernet/atheros/alx/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/atheros/alx/main.c b/drivers/net/ethernet/atheros/alx/main.c index 3b832090ad2e..df5bfa4480d7 100644 --- a/drivers/net/ethernet/atheros/alx/main.c +++ b/drivers/net/ethernet/atheros/alx/main.c @@ -834,7 +834,7 @@ static bool alx_enable_msix(struct alx_priv *alx) { int i, err, num_vec, num_txq, num_rxq; - num_txq = 1; + num_txq = min_t(int, num_online_cpus(), ALX_MAX_TX_QUEUES); num_rxq = 1; num_vec = max_t(int, num_txq, num_rxq) + 1; @@ -1241,6 +1241,9 @@ static int __alx_open(struct alx_priv *alx, bool resume) if (err) goto out_free_rings; + netif_set_real_num_tx_queues(alx->dev, alx->num_txq); + netif_set_real_num_rx_queues(alx->dev, alx->num_rxq); + /* clear old interrupts */ alx_write_mem32(&alx->hw, ALX_ISR, ~(u32)ALX_ISR_DIS); @@ -1749,7 +1752,8 @@ static int alx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto out_pci_release; } - netdev = alloc_etherdev(sizeof(*alx)); + netdev = alloc_etherdev_mqs(sizeof(*alx), + ALX_MAX_TX_QUEUES, 1); if (!netdev) { err = -ENOMEM; goto out_pci_release;