From patchwork Wed Oct 25 22:04:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Berger X-Patchwork-Id: 830401 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PE/a2mww"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yMkk32Z4mz9t2W for ; Thu, 26 Oct 2017 09:06:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932337AbdJYWFO (ORCPT ); Wed, 25 Oct 2017 18:05:14 -0400 Received: from mail-qt0-f195.google.com ([209.85.216.195]:45068 "EHLO mail-qt0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751668AbdJYWFK (ORCPT ); Wed, 25 Oct 2017 18:05:10 -0400 Received: by mail-qt0-f195.google.com with SMTP id p1so2003085qtg.2; Wed, 25 Oct 2017 15:05:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=B/a6GvKrBdM0n4/4CDOjPrz6NR7Hfnjypy/WS1HxUGM=; b=PE/a2mwwt+qzpNs1tcDCGKxlGbgE0y1ElQ8XPkMXQMQRiddeY7nV8JWdoOE9XTHC+R qX76nyuyAPPUscZD37a6C245HkHuApIfHxs3zFkrzSC+/StJPaC6Bn/f9iN5j0e4XLLP tn1QGUqWH22R6oY37+llKj/iVr6UDQxbGbLHN+dyPW9xM/U/k73B+NhbTZ1cOGjr6GU/ k8FJC+52JG5sSrZdRAMqs8f+W8D335G9lf9kRMH52C89H0R29tNmc9+rJ+S71H6cI4Uq sWjnuhDfFFDMoAPoBwtkZUBW70VRU1SawP4iDMw8ZFPiRAXjrnx+X8Cf3gmaFnMao4VO /PGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=B/a6GvKrBdM0n4/4CDOjPrz6NR7Hfnjypy/WS1HxUGM=; b=oeZ0jbKvA8SYLx1hw4SfQ+ohnpUnoiNJkumLfN+34bBlD191H6/eiNb6jJ23W6XdoG 8SIMmowTt3aUQ/NaFhjp6NjbEoh7BpXo6H9PruYeaq0r1VturIy9SJMW7irLCr8Md/Vl 0vb33/oYNWjPjK6s2Qs+14CUX2XhjdBmnkKHHHNUBBc7c0/+c+9GZKWNuo1P4xV8sfs2 nnNLn+ZFQZbNx9lv/3yjCsCWhf4b+End8gjSkB/cBj3oU192SAvCYZnqSLtdm8xlANoL aoSYx68iu2K/0dcuxduHTON4c/FJCd9zyrHW/TeEHa8JYeUmGA32ygNp93d9b95pqQS0 fyzw== X-Gm-Message-State: AMCzsaUGu20ubgyTDDpePyNvZ16oKqbZwNgviKAkyRsxS2QH6ln4+r19 PI5mL97B89oF5gfNJ5AU7x8= X-Google-Smtp-Source: ABhQp+QwL+6LYmjuViuUURBl3iOCyRm2awWSEc2svm+U9kvahNJEz/3scO0D8hFWqBvxc6CO7O2KcQ== X-Received: by 10.200.46.109 with SMTP id s42mr32502904qta.94.1508969110061; Wed, 25 Oct 2017 15:05:10 -0700 (PDT) Received: from stb-bld-02.irv.broadcom.com ([192.19.255.250]) by smtp.gmail.com with ESMTPSA id f38sm2690246qtf.17.2017.10.25.15.05.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Oct 2017 15:05:09 -0700 (PDT) From: Doug Berger To: Florian Fainelli Cc: Doug Berger , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 4/9] net: bcmgenet: move NAPI initialization to ring initialization Date: Wed, 25 Oct 2017 15:04:14 -0700 Message-Id: <20171025220419.24951-5-opendmb@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171025220419.24951-1-opendmb@gmail.com> References: <20171025220419.24951-1-opendmb@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since each ring has its own NAPI instance it might as well be initialized along with the other ring context. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 42 +++++--------------------- 1 file changed, 8 insertions(+), 34 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 3da177fa2659..9ce6671e8916 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2081,6 +2081,10 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_priv *priv, TDMA_WRITE_PTR); bcmgenet_tdma_ring_writel(priv, index, end_ptr * words_per_bd - 1, DMA_END_ADDR); + + /* Initialize Tx NAPI */ + netif_napi_add(priv->dev, &ring->napi, bcmgenet_tx_poll, + NAPI_POLL_WEIGHT); } /* Initialize a RDMA ring */ @@ -2112,6 +2116,10 @@ static int bcmgenet_init_rx_ring(struct bcmgenet_priv *priv, if (ret) return ret; + /* Initialize Rx NAPI */ + netif_napi_add(priv->dev, &ring->napi, bcmgenet_rx_poll, + NAPI_POLL_WEIGHT); + bcmgenet_rdma_ring_writel(priv, index, 0, RDMA_PROD_INDEX); bcmgenet_rdma_ring_writel(priv, index, 0, RDMA_CONS_INDEX); bcmgenet_rdma_ring_writel(priv, index, 1, DMA_MBUF_DONE_THRESH); @@ -2136,20 +2144,6 @@ static int bcmgenet_init_rx_ring(struct bcmgenet_priv *priv, return ret; } -static void bcmgenet_init_tx_napi(struct bcmgenet_priv *priv) -{ - unsigned int i; - struct bcmgenet_tx_ring *ring; - - for (i = 0; i < priv->hw_params->tx_queues; ++i) { - ring = &priv->tx_rings[i]; - netif_tx_napi_add(priv->dev, &ring->napi, bcmgenet_tx_poll, 64); - } - - ring = &priv->tx_rings[DESC_INDEX]; - netif_tx_napi_add(priv->dev, &ring->napi, bcmgenet_tx_poll, 64); -} - static void bcmgenet_enable_tx_napi(struct bcmgenet_priv *priv) { unsigned int i; @@ -2263,9 +2257,6 @@ static void bcmgenet_init_tx_queues(struct net_device *dev) bcmgenet_tdma_writel(priv, dma_priority[1], DMA_PRIORITY_1); bcmgenet_tdma_writel(priv, dma_priority[2], DMA_PRIORITY_2); - /* Initialize Tx NAPI */ - bcmgenet_init_tx_napi(priv); - /* Enable Tx queues */ bcmgenet_tdma_writel(priv, ring_cfg, DMA_RING_CFG); @@ -2275,20 +2266,6 @@ static void bcmgenet_init_tx_queues(struct net_device *dev) bcmgenet_tdma_writel(priv, dma_ctrl, DMA_CTRL); } -static void bcmgenet_init_rx_napi(struct bcmgenet_priv *priv) -{ - unsigned int i; - struct bcmgenet_rx_ring *ring; - - for (i = 0; i < priv->hw_params->rx_queues; ++i) { - ring = &priv->rx_rings[i]; - netif_napi_add(priv->dev, &ring->napi, bcmgenet_rx_poll, 64); - } - - ring = &priv->rx_rings[DESC_INDEX]; - netif_napi_add(priv->dev, &ring->napi, bcmgenet_rx_poll, 64); -} - static void bcmgenet_enable_rx_napi(struct bcmgenet_priv *priv) { unsigned int i; @@ -2391,9 +2368,6 @@ static int bcmgenet_init_rx_queues(struct net_device *dev) ring_cfg |= (1 << DESC_INDEX); dma_ctrl |= (1 << (DESC_INDEX + DMA_RING_BUF_EN_SHIFT)); - /* Initialize Rx NAPI */ - bcmgenet_init_rx_napi(priv); - /* Enable rings */ bcmgenet_rdma_writel(priv, ring_cfg, DMA_RING_CFG);