From patchwork Mon Aug 28 18:52:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Belous X-Patchwork-Id: 806716 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 (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="VWnUxx/Y"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xh19q5fXCz9s9Y for ; Tue, 29 Aug 2017 04:53:03 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751192AbdH1SxC (ORCPT ); Mon, 28 Aug 2017 14:53:02 -0400 Received: from mail-sn1nam01on0080.outbound.protection.outlook.com ([104.47.32.80]:58048 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751341AbdH1SxA (ORCPT ); Mon, 28 Aug 2017 14:53:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=doD11n1PuEWuQ3l8V6rQy0IZ0TLFX31PxcOmkdxxfwo=; b=VWnUxx/YrTmSo9108Dui5cqoxL/IO3FyJ361XDdLq0hIh7HySbxe5gEjn5OMgIPqClqm736GRIbpXb7+RY3ydiiGmnDUTFNYlcEuEXIF8ytsfF8Xh/Q/gWZngs2nUJmqDrONOT8NxwyvFK+UivaCf3CuYAvAchC5Vi7mVzUhdqE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavel.Belous@aquantia.com; Received: from atltest07.rdc.aquantia.com (83.149.43.106) by CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Mon, 28 Aug 2017 18:52:52 +0000 From: Pavel Belous To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Igor Russkikh , Nadezhda Krupnina , Simon Edelhaus , Pavel Belous , Pavel Belous Subject: [PATCH net v2 1/6] net:ethernet:aquantia: Extra spinlocks removed. Date: Mon, 28 Aug 2017 21:52:08 +0300 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [83.149.43.106] X-ClientProxiedBy: HE1PR0202CA0019.eurprd02.prod.outlook.com (10.168.182.29) To CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 032c0fd8-28ab-4911-53dd-08d4ee4600ad X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB2554; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 3:M/11tJLbSZ9pASkN+PxZApu2pWxSQXUZk56Nu/nePMVPS7eyBFPUxZC+zAmS1eXXMofALDYnQkvEO42TaSqPgXeum8NpfMgK1K2/ksPXkUkZ67UChfmllTfBc/CGj2ALFkP7l9Wd6QOzsukZI+2cVlRjUUwuHb9q8QcnOI+P8ffMMUSrc2YQWudnUt0yVj938yn1vd1nC3yiO5CPnPX10i36k8bTdnZBTHcADtNXBu0VQ96PTwCsab0qUbxAS1Tl; 25:Sc3fxxtVRzbSosvAelbUm88XoRUJXvayrhqu5slVdn/bChsKhSTmpPy6KjmQyF3adE5FF3hw4vHcCiGyKD1CACtpXM3fUgXpgJoJrwkcyOyMA3A8oAnLLGGALMNSCvF6kg424qSeG+TLLBPbtn3huxzBe+VDMTVPCYbCZIG5U6t8lYdHzOG7fwcR60zz585c87DTdRUe2w9WvGmMrctxvtF7q/VI0VUXoDgCFbEQNgtUtwh9oc+Ja+52vg0PSy/ngzfiebNbI4CYzif03zl5ySvodAmzjZrPWze1KUmx6Qq2gCxy393BAcGinuYXQOi6XspCFvtoH2fyJmzwaAQUXQ==; 31:oThSPVtzzrC7lCpFbKGcQwFGd7OSp+ZZojmOiPFw99Y/QyUK8utFwzt5tRHyJdC2Yh+t5ZsTwD0oxIxVsxpcYXeIo17pkJdD2TrBzpymAyEutv1W6rxrDq3ceu95BKr+WnUa6fXWdv8++fRM+zfPT0NdpfMQuMuykijoFFpLgsRyn7QVO7HmUesCqGiZ8ePWSlKQr80UWWRV+LUlBSTyYT+axhTVbpXKelAUPjNNa1o= X-MS-TrafficTypeDiagnostic: CY1PR07MB2554: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 20:tM8CBBqSE/UvV4nyXxHAiuU7wdCWpqR9+DntP3ZP6gI0OBkbxTqdcIsI0vqu9sjiSVUbWqEYe7T8cgfe/fAac3zqaI5sTkZNHZzLXgsj1hckI91xF1C79IDu5uo+RUsEs3OzK0mfPRMTOsP5M+eRIAdynj4hyoZ2xqwM6jR6hRVHf7D7xpw6au3ASVqrCQclyR1HHMU94huF/X6Gbn/Ll+oATEuKDUn3FiExbvZowyY+r68eBcCssp85NuKQn8GOeOtlOO4hjV1zDVpSBAUvp7Tf6JZ6MGMvuXyKlo+wCT4y1AZvZSvMt0w3ole1us3KJYz3Pmzl1tmQ+jl/R5evBFMgCVrj7ngjiScNJWGv8ZP8pGDy43jXzze8YyIKAaezr2csqgLQTQHT/ERPcB/LKsAaNDJLXxLzCUgxS2Td3Om+xMRu1lEh2ru5C5c8RnMES04xNTSFKlf4OLIRJRXfSzV8tOwJeg12VyiF9z2Z634di2sPwIlr4eDLrNCq0LSY; 4:fORpYW5V60pfpQSNOnuSiu8T8QMpGTGw3x6K1qrsHr51xF3mrgDTHzLDKRjIwV80T6Wj0XcFy7K8z6tRsHJXVzfM4KmIB/+kiptoJkfZCmDPvEKbpcIlPmekZRrpBVeKJDVLcib4duNXMa696flFiZzAKwSvr6xwtV+8V3WDlylU09TKNZ9HKmiKQFAp6ycxh7SNpfh56XXygP2VctAubhoGCA8viugPRvJ9mDS6t7GSqjQMK0Zny7qbC3gfmkfN X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2554; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2554; X-Forefront-PRVS: 0413C9F1ED X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(199003)(54906002)(6916009)(50226002)(189998001)(36756003)(2950100002)(5003940100001)(106356001)(25786009)(86362001)(33646002)(7736002)(8676002)(66066001)(81156014)(305945005)(81166006)(50466002)(48376002)(47776003)(53936002)(478600001)(118296001)(72206003)(107886003)(76176999)(50986999)(2906002)(68736007)(6486002)(105586002)(6116002)(110136004)(6666003)(5660300001)(3846002)(7350300001)(4326008)(101416001)(97736004)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2554; H:atltest07.rdc.aquantia.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 23:fQfdXhZSUnos8UwiT3+dcL2p2Z8q+Od1vMQ09v/zesHM+qQHF9LJrjKqDycKlF9U249EDP1Rd+DVdlzZ5xtLPH+aYBJ323Ap226oYI35FUEN2PqAgrIFLH31ky6M22x9kBRu8Kd70tkpqAhJH9BSxrU+rgjFrgN3WkFqmj6UBAjxZvnfpe18PK+F1FSJ059R7YLYsOziMtbHnlWRGlzv5tU0rQyj3JarhPuAL5OxxuhHFCq75tmas/J867Pz44GQw5AE8QyA8P5LGSlzl8FJ+JXGP9y265pS2z2otGrr0Byrk0yrophfjMar218yxe9mdInxxacCGMFGr3I1IPKZ+A+fpJO6qdNYj+OVATSUxn9XVzfYwiSEuNLeskdJ47V8F7puRrMGRx5uF6MEOd/GEgWsLlAYWBt2KTPkzkd+fb1nUfoR4WCngjq8tmdgLj9KAVHdDbDhJMEHMhsMPcCodOiBBRZ8+Sax7SqpB8A89woQWXIoM0/Oo5BTmdX3oNEEfhjPp0F9vx4gn7/4WCEKM+C1yc2emNivGb9lj+9wsZ30nEYifccANsopCl4YrcVwpohZy1FjW7jjCacOEQNInw1dVoD4kLJ4vLmLhk/RuYJKB30NuPM6Oxq8H8IfBc/aA7qz+lObboSPM4WTnh3ZkrE1W+JzcghobmxQwGRm0qVkQb4hWx1PHXLviZbylnBy80DKWiXJbmA6DMtIR2kO6Dhr/WBKjWHDwJA8Nr4ACAj0shPWNwS97rPNJjPscDVPtEBu35w2+/o1t2Pb+jHnNpm+plvBzjli85Bz7qNvuIZfw/2TYdWmIKURgMAD4n3+Az+R9lhw2tMMZhBoccZCTBOibJ4UOV//GcmBrvF0ObFswy08+/ulPO+uhxreFySvpfhi0J9TYEmJo5ufxQ0p0uOp7ubvxVGM5frJVyDjSUyH+2MtveyZHmd97rJQbHVY5PrCmBKRWTYFQyKhPxGBjdi0Hq3keT9bawQZi2Yen08Y7g/PZy/3QiFlWVMy5rVjuzP/5RnJuIPoruo8F2PJgygXCu4GdApfnpjiL/De2MvtvdovdJPa7nT1PuOYXtimdQ7Ll8LqGLRVG4Sv9TQVq0RqcAIy9ZuU81oHb4Dr7CE= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 6:8jEEg6O1xfbWsuYPllpbLo30H70qda8y7lXHzKv9l/fFWk4ElOJtZwROZ2Lb1jinWIzNWAcqHJw/qkTpF7BcpNqNzvfoSsQ0MbI1F4wOUSZHM3mO7D1qHgQ9txv/vpFGhqnFYvmPIlPhUvXCCrIGLl2b6Nwap9o23wr5vXL+XSWv7rrbcJ4FrMJ7Meg47GmhTn0kSa47S3U7eXQzsRjZeHxRyk/OHA071KJQeYoBSJuVVmOe5025FpzCD2mKFBDtMTAewlrE+poGOa20pt4ZYdYQbBMY7/6VC3ksrGGhZPEZAQx2fK1DqQ7s53Jj0W7HP7oO888TcY49tN/wuR2U0Q==; 5:uTZBn6MzmkkxDjdlcCFNGu+5hMjywMOVG12Pcpg1MhD9JCZPs6tvC0B4IifQ5RcQ2/gQHwR59tmVGkBqlvZI+WfMoHhsr/k+6ot6Egz1meRM+ifW2Rfhuvj9wxburuhq9cSCUgr3yLZlcoY918Iy7Q==; 24:aVuEpAuE5L+ma+o/GoHCqG+4a/1Ci/p9vSBHUACVIxa7VKsa4RSA8917qIk1d/MxwUOUT7udvbPnWKkOP2gvb4WS/3UVegn3Y69943MhRy0=; 7:ko4b7kbCgNdSXdyABp6W9BjUUo/ZOgea2su65WrFAJVpZXbZtyScENFuOOZf0kSBNsE1utmZ+FE30AWTAGd2ZD0Fk8K8tXKq0iwXP+lwsENaP3948Hfjg5jAkBI3zLGozw5z5iZcQamv4O5bZVWQOOkAvlMkodixOTnnYtAvw4jiExX1q76qW1/ZdCVv5y4D5VAbnGLWv3U618yuSuto5u5qZr3HPArVrnbpJbPx0KE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2017 18:52:52.1156 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2554 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Pavel Belous This patch removes datapath spinlocks which does not perform any useful work. Fixes: 6e70637f9f1e ("net: ethernet: aquantia: Add ring support code") Signed-off-by: Pavel Belous --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 42 +++++++---------------- drivers/net/ethernet/aquantia/atlantic/aq_ring.c | 1 - drivers/net/ethernet/aquantia/atlantic/aq_utils.h | 1 - drivers/net/ethernet/aquantia/atlantic/aq_vec.c | 11 ++---- 4 files changed, 14 insertions(+), 41 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 9ee1c50..08b7275 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -597,14 +597,11 @@ static unsigned int aq_nic_map_skb(struct aq_nic_s *self, } int aq_nic_xmit(struct aq_nic_s *self, struct sk_buff *skb) -__releases(&ring->lock) -__acquires(&ring->lock) { struct aq_ring_s *ring = NULL; unsigned int frags = 0U; unsigned int vec = skb->queue_mapping % self->aq_nic_cfg.vecs; unsigned int tc = 0U; - unsigned int trys = AQ_CFG_LOCK_TRYS; int err = NETDEV_TX_OK; bool is_nic_in_bad_state; @@ -628,36 +625,21 @@ __acquires(&ring->lock) goto err_exit; } - do { - if (spin_trylock(&ring->header.lock)) { - frags = aq_nic_map_skb(self, skb, ring); - - if (likely(frags)) { - err = self->aq_hw_ops.hw_ring_tx_xmit( - self->aq_hw, - ring, frags); - if (err >= 0) { - if (aq_ring_avail_dx(ring) < - AQ_CFG_SKB_FRAGS_MAX + 1) - aq_nic_ndev_queue_stop( - self, - ring->idx); - - ++ring->stats.tx.packets; - ring->stats.tx.bytes += skb->len; - } - } else { - err = NETDEV_TX_BUSY; - } + frags = aq_nic_map_skb(self, skb, ring); - spin_unlock(&ring->header.lock); - break; - } - } while (--trys); + if (likely(frags)) { + err = self->aq_hw_ops.hw_ring_tx_xmit(self->aq_hw, + ring, + frags); + if (err >= 0) { + if (aq_ring_avail_dx(ring) < AQ_CFG_SKB_FRAGS_MAX + 1) + aq_nic_ndev_queue_stop(self, ring->idx); - if (!trys) { + ++ring->stats.tx.packets; + ring->stats.tx.bytes += skb->len; + } + } else { err = NETDEV_TX_BUSY; - goto err_exit; } err_exit: diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c index 9a08179..ec5579f 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c @@ -101,7 +101,6 @@ int aq_ring_init(struct aq_ring_s *self) self->hw_head = 0; self->sw_head = 0; self->sw_tail = 0; - spin_lock_init(&self->header.lock); return 0; } diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_utils.h b/drivers/net/ethernet/aquantia/atlantic/aq_utils.h index f6012b3..e12bcdf 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_utils.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_utils.h @@ -17,7 +17,6 @@ #define AQ_DIMOF(_ARY_) ARRAY_SIZE(_ARY_) struct aq_obj_s { - spinlock_t lock; /* spinlock for nic/rings processing */ atomic_t flags; }; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_vec.c b/drivers/net/ethernet/aquantia/atlantic/aq_vec.c index ad5b4d4d..fee446a 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_vec.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_vec.c @@ -34,8 +34,6 @@ struct aq_vec_s { #define AQ_VEC_RX_ID 1 static int aq_vec_poll(struct napi_struct *napi, int budget) -__releases(&self->lock) -__acquires(&self->lock) { struct aq_vec_s *self = container_of(napi, struct aq_vec_s, napi); struct aq_ring_s *ring = NULL; @@ -47,7 +45,7 @@ __acquires(&self->lock) if (!self) { err = -EINVAL; - } else if (spin_trylock(&self->header.lock)) { + } else { for (i = 0U, ring = self->ring[0]; self->tx_rings > i; ++i, ring = self->ring[i]) { if (self->aq_hw_ops->hw_ring_tx_head_update) { @@ -105,11 +103,8 @@ __acquires(&self->lock) self->aq_hw_ops->hw_irq_enable(self->aq_hw, 1U << self->aq_ring_param.vec_idx); } - -err_exit: - spin_unlock(&self->header.lock); } - +err_exit: return work_done; } @@ -185,8 +180,6 @@ int aq_vec_init(struct aq_vec_s *self, struct aq_hw_ops *aq_hw_ops, self->aq_hw_ops = aq_hw_ops; self->aq_hw = aq_hw; - spin_lock_init(&self->header.lock); - for (i = 0U, ring = self->ring[0]; self->tx_rings > i; ++i, ring = self->ring[i]) { err = aq_ring_init(&ring[AQ_VEC_TX_ID]); From patchwork Mon Aug 28 18:52:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Belous X-Patchwork-Id: 806717 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 (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="q6+8YN+5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xh19z2ltHz9s9Y for ; Tue, 29 Aug 2017 04:53:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751393AbdH1SxJ (ORCPT ); Mon, 28 Aug 2017 14:53:09 -0400 Received: from mail-sn1nam01on0067.outbound.protection.outlook.com ([104.47.32.67]:20407 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751341AbdH1SxI (ORCPT ); Mon, 28 Aug 2017 14:53:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=bcW4bOv31bUAslDRxk5kqw63S6/gBBvlWGP5LUk1E1A=; b=q6+8YN+5XhAJ0X6q+VidEIAQeAlpQZ2GWhgd6tvjMuqwiZarRaadTptkbvQ4XIXsHvrgCzGXvk5p1rYI9Z7oYLIdZb3js9ukSfPWvdxiZmkCZdQjMQyJ2lEPGyqjwjpbAJJQfvA2bOxU2eeX+7su+vfqqOIqnkV9/G86FYH7FiE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavel.Belous@aquantia.com; Received: from atltest07.rdc.aquantia.com (83.149.43.106) by CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Mon, 28 Aug 2017 18:52:59 +0000 From: Pavel Belous To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Igor Russkikh , Nadezhda Krupnina , Simon Edelhaus , Pavel Belous , Pavel Belous Subject: [PATCH net v2 2/6] net:ethernet:aquantia: Fix for number of RSS queues. Date: Mon, 28 Aug 2017 21:52:09 +0300 Message-Id: <1dfc34c96f77f8c33c9b4bdf48ba6371c81e78c0.1503945861.git.pavel.belous@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [83.149.43.106] X-ClientProxiedBy: HE1PR0202CA0019.eurprd02.prod.outlook.com (10.168.182.29) To CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6ba62acd-1569-4afa-d171-08d4ee460538 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB2554; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 3:YzWOBsafxlQ9YLbpLTsJKAXVkszuS9pTPcBwHW+l2vHdD//ew5CKGpTkCz7EhcxWImY4o/RaFD54GiBgTGAt3pbixKYNNpt7FhBOaJ8x75h+X90rS/a1bhxeItvwgt1KTPKyJZKFwrH1fg68ff2e+j0ngvU6uy5KOPtjbDNJjiLUFcFYN7Cn/FvUAJ7lIJ20exwIzbOFNFiGCY62j3rxkKyf65+U7l7CL2bmMb4CLOfQLxypjfi8UhzLs+OmdBvV; 25:/OXZfPGZWpitSlC59tyfGHGAkTOUZ3ZpXfzgyQ+Ulidjn1KWHouIKGKaZ9MngpZdEBRTLGpBOCh+dBR9vAb7ruRT00t8bGQI1Z6ZTc90aRm7DXkAzuyjyQdE6PuCDSfXsyOyrmwOqM4xJzxdGzKY/nT2qbrpG9tnzahQReIkBO7+lNaETy1HqmN8NPko6mrLkAhFrDY2cLtwymyVbjpWnTqjRQiIzBdKzP11QPet/ZWcF2z7SWjGWhAGwPHoZk4Oumx+QZJPDKgtdmYJ69Fwu9nHhU+z1Kn1v4xqUv1PpiXfaSPGZpZh3dOCewgQxGQlE5YxUMIT81VEt3NrYCRuAQ==; 31:pBAPSjFNnasq04nRkwEbR+2MC6PdgSG7qZTNzn7eJ2+gjfE+tfdqGmbpPX7rJC09YbBl7umIOIFU8ElyteSX/diIZEga+yDDmFEGdBHvHNsK9xqA8+mbMvS/UZzN3i6AS2OiFoRu9Ods1Ss53SUqjFoqlS3+1Mb1R32iDjUcFQqMhBikPkeTKxFCiDEacs/mAV8jTlZ5OGkAJGGES4q5IHVePXWChQpr7WOXnQ5tJuo= X-MS-TrafficTypeDiagnostic: CY1PR07MB2554: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 20:dnu1G4/2L7NEoYs2KeojIckMhR940I1xvzf1BAsAyGk4Lr2ywvmFDMVDvlIZLyXVYHAtEvZNWMS9GycCCwjTu3/n/ExYBRMSvdhCaZrahx5IWcB7kRm+lfdtvwQyjOdBLtDozE1XIuzPPagQomrXVQe/VfZubs21D6VNogy8mujErR5G7YyGyFs9RMFgDPBjIxiCWCnnvmfwxG7z5cJ2uVXtsP8bG03v5XyGZyNZZcAYMZibyTLhymncD6itLb59ZqkMuMM9TuW02YrNOIT/znAucBenlqGbESGKM+aCPFdrCScOLJuzfYxKMfbThQqZlxAoSvVCkI8MRpM1oSplVSG0Qxk/7HIQ8fP7IlGAckdtmCD2Lsnh1ZwHaTPDKEiITqUngdsi3Rs8fJzgvnipEOkRqEd8l7MRD0ziBI6iMtD2MRXHP6lkGGQgJqllrA07mREtx9F3o42unLAw4+C2vELyK+BybDiglA79Efv6E48xcQ8Wby4e/KXTZAd2xSzD; 4:MwdUTtCeFTrVxFrTGYELQdgUvk+6kn1Hc91DSb70pFDNF79fcOHwCmrEIRYa6azLqk+G4JdDfa4nyR2Do3mzSGb1Ol9qCn42OnJiLHS0CQkeU5YRtriZvtArad3328Qz8EL5kIncW45e9bDGlQvzP1y4Q1Ppl33rVlt2Op6bDUcZt+uE1/qbvS3ekfGXrD+0FZks0lFRBD/gaT4mm9oshw3NHeU7+tw25Fs2Gy25vpDV97dh35zqxweTuLV/UXzi X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2554; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2554; X-Forefront-PRVS: 0413C9F1ED X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(199003)(54906002)(6916009)(50226002)(189998001)(36756003)(2950100002)(5003940100001)(106356001)(25786009)(86362001)(33646002)(7736002)(8676002)(66066001)(81156014)(305945005)(81166006)(50466002)(48376002)(47776003)(53936002)(478600001)(118296001)(72206003)(107886003)(76176999)(50986999)(2906002)(68736007)(6486002)(105586002)(6116002)(110136004)(6666003)(5660300001)(3846002)(7350300001)(4326008)(101416001)(97736004)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2554; H:atltest07.rdc.aquantia.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 23:iXArzt8LT4VWhw6HMw8vn7rFNE6fb8CEsvk/e2jqTCfMn5HW3yJnGCgg8/v+WsETMa+8Z5ZDPvNTUF3R/s1w3RAB5RmJSBRPUImsZxyk8bgpWQk825tpXqXo18rXaEQft9XTvmhqw2P1NZXC+cF8IBX4TFenXd5WkmrF2Mq66WmvalRkRhydMEwBOGTV2Hfm4PtIvMjaWddX0q442JlSMcg/GFFk8Uk7RTrYbLwq5cytMv9HSWrPkihHoNycW/S9TWMuNteZuotKAJENRx1p42p30IFCN84ZVi5Yj0WUrUhEyNxY1glKy7QwpybMDLFSDgOiWdP+0WlKA1YjdKwDhYqGi7ztisGtToEYmrg3Db2Q9kyaNjCvwMvB1rgmVW6A7gsdmU16HsAscwURPGT1PKQJmQno2x3FZU7uBhKipz1AnHrIp+Wg9DnNUBVug6dpxImBlJUmMhmwGZkLsDCIMQQsHNuwLZ8/ICHjBFgPIjBMNJL2PLVJyFeqZJEa2cV5VgHcfc9DkCnLjsMA7aiUY2cHqv9Q9V53FxoXIMfw7QKJF6gutixX06sRqY6MiY5pqXaOyT73myjPVfQLwrF1CuxdL6lOnVcV152wEyM6ezPDIPs9yhGkdKe4n0HIEKP2sw5+iTaSxZKWSZce615p31aZ+B57tBn5/+jSu56UC0+niBwpTsg6S/H3IWFrjNL+9N6ZzcHAsoqAHdRDwlOuWtTK4CeUzls6Vn3c8xtXchTFR5LShECJ4Zj4JZNDBgNomFFOkBFCgsi9fCyTTP8wExUB8O6AVV9Mozd5S6MlF8YI5oES9crmsRRj6U32rx8fduEJ/aXTx+OJ1TUMHpzf/T4cBAHNMwjaDlEOcc3D9vmJszNQpAqr1EyYSeKsP16/P6RNYk2szlTZlXKbHxqG/NRc8Ry75tUiSraXRDBU0ZXBuOuG11UBGASNE3i0TK3h8rzE+5oimFFK/SHyAwqrgOpNtqKpTqYQhAbO04rga/fpaFpufMtp7WlilSmw1T0sXaQhE7dDLmdHv8Bw13fUD0RZkucfVR2QaE+a+ntO/rQ21eFu1ZS/RERTS3hqPscrbi51z8W0tFTCc0ozVP9qjF1V94P0mGoXttRhvJkRB2M= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 6:zgm7lixv+WOgjY/usnhZczS0QUIpSCGrArfnyfegx9g0d8/4WIaIQvrn7fkR+0tTv2SA3Xw/Z4L7bSbB/SqJ/pDflAFTzK5L8p1a6JU/1C0Dl4tIgThb7gzwzroHBdlpgWOx9HFgdWiy2iZFjgNeNrb9YN2DOkA/InvAVNA/aJfjJs6vbTIY8NRtJMLYK2kbxoYr6sRmtdcCrgJpZ36klSf0J7HJzoCXLG+hdPvGn+rEICHg/gkpGXU5nPQlDUU7Ru4M2E1TRVXAvz65aw2lWEa30c9ICBc3cQj4TdRN4vUUuejB1hwlBE/3bZN01dTxLAxzA9uFOgpJIP8CHx6/iA==; 5:zH0nvZczPlecC+VGOyfTkTvV5yBORrTpLsnpypa0aZfCyb1zHMNc1lqTrvKpQ8Kw/be2pETM81f5l8yZRXgfi556eHED+AVCPsxKJJyLsLATsVlwkRi/tOZGu1czcYWApQridy0Eh0/0v9NYoihF0Q==; 24:RWGeI2NjW8deTGwU2O2HfSxjWn4PbSclC7j+gmWAjfHWjAgPXbzIdxAgzCnvVYGwMkOCxepTC2zOoY2yPCsAlLID9kuoyzCD2Xpv0rGAB6c=; 7:VK0Z9yS9XcCrHl8V77rEczWWYEJIL20CZMD470p7b9QCRtBThIMNx97w2D8EPzDTOqCJvca8L79LvGw9qWUpm6exIRCr1sTxNYO0DaZwKu3DPDv2zZP7vy9EUnox3gEBW4f0z37nDbiw0VuLqSK5Xz0BE9HKKIxvOscK0Kmw5g9uxq1njPMtN7SaT1iGm7Sxx0UdGOjRcqO5L1YCjYf29LwI73aiBPybc/fLN8eYNKg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2017 18:52:59.7406 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2554 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Pavel Belous The number of RSS queues should be not more than numbers of CPU. Its does not make sense to increase perfomance, and also cause problems on some motherboards. Fixes: 94f6c9e4cdf6 ("net: ethernet: aquantia: Support for NIC-specific code") Signed-off-by: Pavel Belous --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 08b7275..d6d8e70 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -103,6 +103,8 @@ int aq_nic_cfg_start(struct aq_nic_s *self) else cfg->vecs = 1U; + cfg->num_rss_queues = min(cfg->vecs, AQ_CFG_NUM_RSS_QUEUES_DEF); + cfg->irq_type = aq_pci_func_get_irq_type(self->aq_pci_func); if ((cfg->irq_type == AQ_HW_IRQ_LEGACY) || From patchwork Mon Aug 28 18:52:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Belous X-Patchwork-Id: 806718 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 (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="eFEIJNMB"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xh1B935M1z9s9Y for ; Tue, 29 Aug 2017 04:53:21 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751422AbdH1SxT (ORCPT ); Mon, 28 Aug 2017 14:53:19 -0400 Received: from mail-sn1nam01on0065.outbound.protection.outlook.com ([104.47.32.65]:55610 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751306AbdH1SxS (ORCPT ); Mon, 28 Aug 2017 14:53:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=BtaUgbxUQaTA0hTX28uR1k1+CZzV+10k0W+kIEJ+4hg=; b=eFEIJNMBgAxDRjS5tnw8BvOraQRPaGGF0GeqFppOaQbE+5yAaQlZ3U0sPIxv7H7w8O5pN37F/Kz2lFASxJm42Egetu0tjpPYqqea0zL+WYUFsDlvkWb5rcajUHkEwF1lKxN37cytLw4KSiviib7DqRzz6xpIxk1qIIv+Z+hZO7I= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavel.Belous@aquantia.com; Received: from atltest07.rdc.aquantia.com (83.149.43.106) by CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Mon, 28 Aug 2017 18:53:07 +0000 From: Pavel Belous To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Igor Russkikh , Nadezhda Krupnina , Simon Edelhaus , Pavel Belous , Pavel Belous Subject: [PATCH net v2 3/6] net:ethernet:aquantia: Workaround for HW checksum bug. Date: Mon, 28 Aug 2017 21:52:10 +0300 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [83.149.43.106] X-ClientProxiedBy: HE1PR0202CA0019.eurprd02.prod.outlook.com (10.168.182.29) To CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ea30b4d8-d2e3-414b-ff88-08d4ee4609d4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB2554; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 3:8XvT0vATn9sV41lS6L40E2iOazUf2fqrMmVbpnFzwrdZxLNfhlIF09lj90g/ykNlpfCIW6qa8EAWO3kJiRnQCHNdKf59t7bdLwTH+j1EzqrxyIJi8utVdHS2f0XlkyS1cyHKq6NANYqWjdqHpBPODszgh7KIlYYwpIaTkfXFZdJOj9OjFQo/hQ12SucnpKy8Wow5qr+fAAYWDVbqm4S8J6gKLceiVFvFkRyMA1bZUOvKXgjaXy5YbtlaWh5VNMKl; 25:TITwk3vZDf50RuC2+IIUA8ICXiIYtdhuvsk3et9w3Df9Fv20Ymn+1XTkMKHIUUXxAzCVQp4EKjDlbKNFF+YWoFXBiOZwTBkhGXB8R1YlWyjKrSxYZ4Eqoi5wuF0G9TbXTqiTRqjuhvIru2mMRpFrw1fRZy+WSrGSTJZ0eiWlynNbJ2AvJEKD8ZBxxOm8WFyoGySzb0O/1VVY2atfKO/W6bATXiDK14nbxd22TvRENOKbkv/L5FKAmcVZhqBCy2Gx7rWTbP3waD89wryEQdup3hK9myG6ImD5IqiRkZ9FySjRWZ+Ya10dEUQ+/91guBjkyYwF0LVPJJh7bGa4VDTRiQ==; 31:RQe8bUKYfF5fAlPIMwnWvw/XprlOzqq/UUxiOjIcAQ0P8Vn5jabtoykguc+yOA4E+rsVLScCoWaEG7ZXpxUdiqUs/1lH2uCgdW76RyZhrASx4npfonKh5qTXgxX/T8PQDv5m/WlQbEzNvRf0iGwfOjCRVysNrTfs3sV1Ow3czUYBoQNTAYsmsUW3teshqLFI/WYqSl+VYGLgGrYYZHQv9vyPqYrUe+4KUx4dtdmHG0k= X-MS-TrafficTypeDiagnostic: CY1PR07MB2554: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 20:aHZFFPRcbZL76/7Eac7NmriOP/uAgDS9ZVOuSmmFWiUv8ZVMYAcaoIiLrR3uoHV1iaEM+916fIw2p/VhrX6Z0MOXoeEKrFSfxMk/bcleebU8Lnpys7kNtiY6lMhmvSwVjo0MeTg03kB9UMuyuy3zo2LN/gQAGhbO0dZqlxjz74zPsS2O/vee+aELvNZLbskjzrS6F1Im7tDowcpakirg4jzIY9l1lFFNue7xTKcSquhGFw5qBGCBSh8iwOpIbFpH3oF9J1Dvu/xUao/7olL9XtXjvKsKg76HQLZPXC9PXbxmMM7RAvyXwN1VFGTw572wLMLWE0U/xKiR0DYuj92+xrSeJw7Lf2+NneoGK0zlQ5sb6vqNc7LIbaNa2Qf/cdunPsWdam97OZ9JTr7dBqgXAPeqq2g4ZtDIaVRGfa8+piaaN8osxOtkoN5LG6p1vytsNYmQqjfK4Rblf2X0pYYPHCOm/3dACffEaTvXW9ej+Hi8YXNaGi/ySMtJd+qWyBxX; 4:4D1verGgOQ8sns9CgXI7mtLLZBDFpHnSKo+o/pezMSf9G6lQlNWS7wpZnH3pmm3tqBIiPnW9ro7dzTdAQy7udfew1N1UdGUCHdzvkdM8liD+DennkZTTpZHwQnFXMlmcgeS/BIkM+DaJT6ZhsrWE9OUr1KDD2ndQexOscPOv4JtgQlDNv1R7lAkGoq4gu9kIHHVGxkuh9/Zc5Wnv/yjJUNLtIGs6rk8rLafrHSPAqzvT85Il0E4hB06EYaed27gN X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2554; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2554; X-Forefront-PRVS: 0413C9F1ED X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(199003)(54906002)(6916009)(50226002)(189998001)(36756003)(2950100002)(5003940100001)(106356001)(575784001)(25786009)(86362001)(33646002)(7736002)(8676002)(66066001)(81156014)(305945005)(81166006)(50466002)(48376002)(47776003)(53936002)(478600001)(118296001)(72206003)(107886003)(76176999)(50986999)(2906002)(68736007)(6486002)(105586002)(6116002)(110136004)(6666003)(5660300001)(3846002)(7350300001)(4326008)(101416001)(97736004)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2554; H:atltest07.rdc.aquantia.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 23:mJCYKmFjUhEEAmEzM6esc2qVTTdIwvY5rjLe2yvWhVgxxcJrnLF+4ZhTd76kunu2DFUuH3crAzi3qus5fFC9o9pLYSDPNiWAuhqWFweyrxCoZuaBT82ngV2FPpFrLsELVsizaq12i/nFywp9MkVfrg3dITRi8iVcFbEx6fcntpfb1IKIGzXHNcEMO80blF+Xr0FWisFoAt2khhM6WQKhIPvN6i6HjUYpHgImjHzljLNACmg78Oa7fv1nWWrXZetWDI2JmgBcDyXDuOcQkMI/GFVv1vxITeZWW9J6YbumahLnpPCBjrnT2o4Moab/99Cwz8lZKKyP4I+Jikk+wj9akYB16+7gs9wXvagammxOmdubKehs9paZPY4Bau44+tVOdGVJD0g+/+Csh5K80yE4ps+QeF0JxtqbyMyufKgOiYsLjD3zrzQu47Bq+Nv1Q2QfRjPWLutFuM1mVVDkiumM+PUdk8ZsQl7eIiUjtZkizRVunMvMa83J0N+nTRWBK8A/8chLUu71bBunJtx/PzcL/pyobTnM9zLTBP3Xi8XgU0IGmCL3oSRUlWNiu8EPLTWZJPDE9ZuGzCgQXVutpOYsclayebnfDoJwBxbfrFIh6Bb7Ptv7nKMmrCYs8EX2w1X4uAt1SJAhDpnkne7x8z+GwjLzxGb+QgIC2guIr9J8hNrBiqhw8FP08MaopQ95rIvWkVy9nfpXTwN62Je0rOnpx+X4rkZz4EP++murbXkz5LiKNMu7DelM8EiPrWTPMVSxsJxJwgVzfwvi6e8uzbYc11FhCIg6Na9IhT+jhec0xvwH53VQbqNc0bQGqmwJFyIuEvNqQGPc/EApJrrbeiIIkov+GGxzrEh0fCRDawEVkywwsrX9vCrt9E1UHJ148pzf8Q8GRYCbwZEWtCrbZTJU5r4u5CilrVX13rcJ4I/q8ds0Y2YiAkxXoMT16Rwjfhsk4eWSNgskWhpPJbevYQ3PzXbxEQtHFqELeyzF7RwTolHeNDAmsvs+lXeWB7Wj4aLSnTcTmsH/Yi2HCs9YzkvoltQwvUtjdeuzGgWskCc8M4u909QLdX9NQRvBljPTtvW7JA2Pb2Dw+SML8pe5T3Gj2BlYCW+fyHBFd5nPljD7Kf7Q25IGUJL3E2Zvti+TzaJrnzPiVpk9BFjfBWdS9mhOdg== X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 6:R+bRtjGlBe9FfVdGR/oh4ds9ZmIDH4J7VrG01a7/TobmuPNq4UYWHuxzpDGlpGS3CQKyNOr8C3mWsaxZXwH8VPre2msqqHy81VrNkaOkwQyEDa/HGOKzkkFVTkrtRbaBtuGKLxiM58DY9YKEbQ6IApOCKX0HhrlmQiza6RNVHlFSFz6XtGsVzkbLgkQnYmoruM6qm60pVY8D+sI5xRWdZsMXr9S/NJFynjD2+MFSeZr+Sh4sJ8mr6LxDl6BAYcdcqLFT5ggmVBzo4FTbcIIVDhgR0E4eEdxIwf7hutmZ6Bh7jrzaDPq9omACqwOptUGysJfExJZ5HX/SLnayg54G8g==; 5:FZ7D+qb7zpdIAb3MsmtotLCDkCzDt9KX83/EomEzfIGfTMn90CMf5+gXvlklLSxWmjOhsAuDq8m6kGbgjA7+fdzKkma1uRj4NozYk8j1hVATfck7SH0ZPOBBG1sjOU3llHkfjpHbos9TMk9Kuz1Fhg==; 24:/ZOb8O6imaDwa5Yy5xmVn1c7odCRAKZD0VgGDPAG53AyHFjHjI2WcswEOggU4yac3Yv3sno2XW44dxtd+FSiyjc1E4y0sx28JHgmdJZh9Ak=; 7:GYbASzUNFzSNcIYZBSyoeZAmmVbm2x/I5mHRVPpUnDF5hb3mn8QwEqVitTV2oqRkysAgcb6lMSgfETmAOzZnWgGXAgDJkFLrB+WJ7UfkvfhCUv30QoNDieAEJu8QZmjgsoi+3LW1/kYIPuEqY4AmFPou+ibQt1LR44Fqoh1T3U78a/KnofRre1rMeMLxmL4kOClkB0a+sJszctu76lgO4rh3MKjOOCWPtrXfBucJZ+w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2017 18:53:07.4438 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2554 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Pavel Belous The hardware has the HW Checksum Offload bug when small TCP patckets (with length <= 60 bytes) has wrong "checksum valid" bit. The solution is - ignore checksum valid bit for small packets (with length <= 60 bytes) and mark this as CHECKSUM_NONE to allow network stack recalculate checksum itself. Fixes: ccf9a5ed14be ("net: ethernet: aquantia: Atlantic A0 and B0 specific functions.") Signed-off-by: Pavel Belous --- drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 6 ++++++ drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c index faeb493..c5a02df 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c @@ -629,6 +629,12 @@ static int hw_atl_a0_hw_ring_rx_receive(struct aq_hw_s *self, buff->is_udp_cso = (is_err & 0x10U) ? 0 : 1; else if (0x0U == (pkt_type & 0x1CU)) buff->is_tcp_cso = (is_err & 0x10U) ? 0 : 1; + + /* Checksum offload workaround for small packets */ + if (rxd_wb->pkt_len <= 60) { + buff->is_ip_cso = 0U; + buff->is_cso_err = 0U; + } } is_err &= ~0x18U; diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c index 1bceb73..21784cc 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c @@ -645,6 +645,12 @@ static int hw_atl_b0_hw_ring_rx_receive(struct aq_hw_s *self, buff->is_udp_cso = buff->is_cso_err ? 0U : 1U; else if (0x0U == (pkt_type & 0x1CU)) buff->is_tcp_cso = buff->is_cso_err ? 0U : 1U; + + /* Checksum offload workaround for small packets */ + if (rxd_wb->pkt_len <= 60) { + buff->is_ip_cso = 0U; + buff->is_cso_err = 0U; + } } is_err &= ~0x18U; From patchwork Mon Aug 28 18:52:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Belous X-Patchwork-Id: 806719 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 (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="SK1spmP0"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xh1BJ3nPzz9s9Y for ; Tue, 29 Aug 2017 04:53:28 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751455AbdH1Sx0 (ORCPT ); Mon, 28 Aug 2017 14:53:26 -0400 Received: from mail-sn1nam01on0088.outbound.protection.outlook.com ([104.47.32.88]:52421 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751306AbdH1SxY (ORCPT ); Mon, 28 Aug 2017 14:53:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xskdjX+P6KZFxoYdtq592q625+eFl39QIbAIsX1eJT8=; b=SK1spmP0FUrS5dasvimFFxRbWd9hsibSG91F37C0le5sSHPt86mD+TGIaA02Lcm8CeSG92EiGUpgqi6aIAnlLPWWJrS9o4Hz+EWjsBGcysLDFHqcAOC9jIhOce33mJfcsviPaEyAjwryv9wtV6YvgeM8Yu6ZhLL3IiWooyuRyXo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavel.Belous@aquantia.com; Received: from atltest07.rdc.aquantia.com (83.149.43.106) by CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Mon, 28 Aug 2017 18:53:16 +0000 From: Pavel Belous To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Igor Russkikh , Nadezhda Krupnina , Simon Edelhaus , Pavel Belous , Pavel Belous Subject: [PATCH net v2 4/6] net:ethernet:aquantia: Fix for incorrect speed index. Date: Mon, 28 Aug 2017 21:52:11 +0300 Message-Id: <457d1909678cfce99beba71e3b3096c8e468292c.1503945861.git.pavel.belous@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [83.149.43.106] X-ClientProxiedBy: HE1PR0202CA0019.eurprd02.prod.outlook.com (10.168.182.29) To CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a5b3c80a-ea86-49e6-255e-08d4ee460f2b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB2554; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 3:lfRJJe7+JXmUK3lY6nTX+cZg7D9LSIcKrwoS+b5w8cT1hcJgSon463tRPqJ4hNJZg/ywyd5/asuu9FpRL/jD0AAexnsfHq9LwB2dPKJm8+0qIY2V0GMo0GaHb73bctN0xG9+1WjFPWukjpl/GTSVGIeF8NSsfwQdTH3/i1L+PwHVm8ul2OQs4R7s8YWvvGE7aLeF443K0wUB06CFHaLeLkb0hmdmnE42aGlFr1FDlXmCQWjSH+Hpy4ncX0iH5h9c; 25:H2p6/jd0TbNKtA5WVWi6OC671L9r4UUeHRd2oLzz2tKSq9R1nqPrnGM+jn8KSa72T5N795ThfoNiVZMTwZEwUvAaY1uzVVIzPDC4MyPYwnWZd3JvRFzFaK4BKKg4B8fRV5ddpKL3GzbOPAzHGC6foRg3Ypy2HAuOt65o6eNrlenWHN1yZhP42PseFjBmsRF5PKB+RELqO9Q0mBgJON9a8UmYYffiNulzWkNCAwQ1hMjSGiMCztjaNOFpJPNI69g3IQ8PcJTH5OlJlWSJ6Yx1IyTsVVYJa/uan96BgAP6vdch5oQfRekNy49UXCi0uoDmQq3W1qqUR3U13JgdzfJE7A==; 31:/TH4wd+PKlcCGoSKFsCjenXI9MxCgWqh4uJcucUgsV/TiMKTiqKqQBzXEcI/U5qn+utVR1jZLqEyHTCbdU0fxtAsuALBoR5nUr3jaVROWgM0AoNyfqcyLkmQa13DiIlhMl7QlSTeRsBuPfSJlgoezp98FTE9gDBJ+8kuphgxtp3949rnp0ZzXnP5ggSb4mQ66scxB0rajal5gaIdiwndZHiI5E/E6UZ2ciwFNSwIkxM= X-MS-TrafficTypeDiagnostic: CY1PR07MB2554: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 20:2/w3EGQ+bfnpXhlFeuL15eLBxfS0AkXH3At309+YU0n6P01hMrxxWceH6MXct+ghQl/QuwW1pBFzDwJLoxBX92dFvEHjUe/XzcFm1pcIXBY4g1Ml+DJ5KQwMTG+vtX3SkQ8Y8t58as4Yafv8ZYNIVOpnLbNC8rUHfda0an1AA+OOgd8T8oEsmotgRkIDGJZihUaEIiayG/MKu8/i3YVTAzz0q7ZT1mf3iKo0uG4JWDSPdb7qjB41hOzMAsDdr3Qgw4qANr06lC1LlkhRyg2ri5NbCEe7GEnp1DwSCnN7m3AH9V2WWnXuPhCgkeCYhjMgmySranQFM9whg8nXf38Eg1dqN4Pu/kQzCJgKIlAs9Gv7BYjpMMQxI/c9vEPK0CV16fwAAXXgyDHwo3uwQNKrG7Iqi2hccrCQOdb7rq9ZkBJmzxnrtZ2lB9PRK/7gmr2uwLTUNB5rjm4Ab9T9qZByJj+pS5DPzbR4vxbHrZLZOdk//KqUOlLxxJQZzdpqNsyr; 4:TWEAxoAiFctmU+LZzBls9nrUbHNbTn1SD8vcvIKgEc0Sarf51mUqoKTY1IXTlcZ6ZztXMPTXCfIhfx6A3frjklTvlHutk8FA+sJ4oy4QGbDPqSkgTs1JR38lvreLASRdMk5+IP2E1EEI7oRf+kirEQ8wX4/MQ1SqFV3G7q2rKdYfcusoXbNXO4XXDfdBVIDqxu2n7Mj08Gv9UffN2IRe+s06svyd9Pszixumw92GyLr3JIXOGjeZRcMwjDoJMVzV X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2554; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2554; X-Forefront-PRVS: 0413C9F1ED X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(199003)(54906002)(6916009)(50226002)(189998001)(36756003)(2950100002)(5003940100001)(106356001)(575784001)(25786009)(86362001)(33646002)(7736002)(8676002)(66066001)(81156014)(305945005)(81166006)(50466002)(48376002)(47776003)(53936002)(478600001)(118296001)(72206003)(107886003)(76176999)(50986999)(2906002)(68736007)(6486002)(105586002)(6116002)(110136004)(6666003)(5660300001)(3846002)(7350300001)(4326008)(101416001)(97736004)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2554; H:atltest07.rdc.aquantia.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 23:5414diKuV/JiaTlTQ/WtduLvmkDq2B4w2RZEJsZebHh7lXuILh7WMInwlIuyZk/MlW6jGqU2UaHDp8GYUziqn7HzkKnX4Sk2U2gSP8jGg5nh6JA9XhF/LgFGJQIST9nFkrHt6jVMheIQIivkzf/knxuAI0TxH7C6/DRMtgXR9zEPht4P3mDDjRLwtoMncXMegXpRzIdB+qdEeyOadPMveS4h7j2fuVKriyDnbsqzad3+ArOtRoh/XPd8YW9bpEdWAFsZ2WMXc4VqHBTQtDDm69Si4TyJN1PBzirFgqGrKLpoLN60uR21c75+lKABVnsgYrNH3b3ZEJk2+FLt7b1fqtI1/dGLRxtj0F+xDrkFrSIGLDd+n3CMZBkvv3XyceFgHc8fS59XkOyfNyPbde61TGGgGLPPLvGdvreQ1u601eVy1FIYYBM1/ld9LEYf5PDCAB4Ei6bhWgfX3FYWYbvoUFzORlu5tfg9c0lEKzp1R+HLR/KwG6HJKs4cjIHKkEMcHokids3fcI3ordhVocUmKmyKZcqltYt+JYQfhqEr1H56hHJhvUXaRkRWpzzwDMlBsbPAlEkTvmEBft76v+eAif7FW8AvdK3tBalbsAA41gKXlP7JzJ9eIasR0YHol99dQlJ6ZG8/pJZC0UBMg+akKByR2+mgubXmVZSGVMtZQWcDPcADks9aAzdARWl78R2OcwEz1hViwEcgFrsn249hdmQ/x716odcdPMReFWHY2M4XxWC8uRmmQgWGQS30c69xIiG6QACiR6WQauIds+J5JgoWiiZpCmBnEfm8lRrHkLK1qCE6cV8umHdQDCdj8LVJ0CKGxrUfv3y7hCmvtcjA0jHQ07+V85Rserim/YMd2DMZewjhYR2YbLhuSqNKgYJH3+KRaCbBO+xSPmdIr+/SHVEB90UsyfzqegyRIab0hH0Y9Thuo4+wmH2rydtj3xay+T2iHz9rb6LsI45ikTASoECRNdIzl7519h/b0uDF+euZ1rxW+w1fY3ZJT2SCJSv6L0DepIG0FEAMHPcgU8b9PgFJ0CObMjjtItRUsmT/HdLzz1uTrzYlZPSnVvrTqki3lLV7y1fF3Y5b1sBRlLdat0pwyJ94xGUGW5T/u+vouJdCStVEpGqkLq1eUjwEEjN/DH0lML6Q28HGOWmxWP6oJg== X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 6:6iiqWSJ23ISWAJRdEtxAuf6G4fI+lKhg/Qd5KM90wXnt593qcUOXj5a8Q63BcXT1CtsL8rsBEFK0LHFtxb1CXCJn6oskF7VZ7S+Q0SF9DIlcNKd/+EThQbTJ644JE7mB9mkTolIiLvR1zfQanBdXyHrC/ya8uytGqA3hL8a68esov7OSWqB2mpc4yuw/f1Iqd13BJf5qL7JXIn8RNU0Q7ibuFhPWB7C8JXl2rBI+/Rdstu692NrgsKCAtE7OIODSM9KakEacAb+DpPA6qLXLYFLOV9XJ3mkQfVBZ5UllVkftO2k/S1ZmpHNxFahr1RuAAvmkGLrO2n9oiA3wdka/8Q==; 5:nEgKfph6ykU9TAXW/uFsFo5+ZyIhlVgiMnZ6VvpmeMzI+IP/qgMTb3DsOs6C64Offh9knxq3SoJ0Vt9aBKUU9HjlFh1YioZFHiX65UPfb+s3mX48DI9W6J66Hl2Uyvie4y2Utu3Ulhb7tN7UrDBFwQ==; 24:5zRjFN4y7NsJAbEgOxw8j4fbYoypcAG+QDL8AqnswnoC4bsdkffT6dUYRwmMRdMYSLm0VGqANxNB3XnAaG+AuNWXVRR0gyt8SzXRKok7nyU=; 7:jtFbU5DF/tNuau6mtLWs6pprLfDHAuag8PrJaHiGamEvPlU5Y/XV7XwGd60YYLJ9IxFhVQjeYvdpoxWhS1UlzMxfvhJ0F/IyVsPOXJySR+uVFClmUUuqqzuy0C3kSqeHKsR2X9WTmWSWrWCcF92fh7M6JX54Oo6TE2y6y862RQrdfFHLP7qxSvUNs8SZJbT3KdzYLKucs6nC4umwgD5zEnijdo4ZgdIo82If5OdTJpg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2017 18:53:16.4126 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2554 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Pavel Belous The driver choose the optimal interrupt throttling settings depends of current link speed. Due this bug link_status field from aq_hw is never updated and as result always used same interrupt throttling values. Fixes: 3d2ff7eebe26 ("net: ethernet: aquantia: Atlantic hardware abstraction layer") Signed-off-by: Pavel Belous --- drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 3 +-- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 31 ++++++++++------------ .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 4 +-- .../aquantia/atlantic/hw_atl/hw_atl_utils.h | 3 +-- 4 files changed, 18 insertions(+), 23 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_hw.h b/drivers/net/ethernet/aquantia/atlantic/aq_hw.h index fce0fd3..bf9b3f0 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_hw.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_hw.h @@ -105,8 +105,7 @@ struct aq_hw_ops { int (*hw_set_mac_address)(struct aq_hw_s *self, u8 *mac_addr); - int (*hw_get_link_status)(struct aq_hw_s *self, - struct aq_hw_link_status_s *link_status); + int (*hw_get_link_status)(struct aq_hw_s *self); int (*hw_set_link_speed)(struct aq_hw_s *self, u32 speed); diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index d6d8e70..dce17a5 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -125,33 +125,30 @@ static void aq_nic_service_timer_cb(unsigned long param) struct net_device *ndev = aq_nic_get_ndev(self); int err = 0; unsigned int i = 0U; - struct aq_hw_link_status_s link_status; struct aq_ring_stats_rx_s stats_rx; struct aq_ring_stats_tx_s stats_tx; if (aq_utils_obj_test(&self->header.flags, AQ_NIC_FLAGS_IS_NOT_READY)) goto err_exit; - err = self->aq_hw_ops.hw_get_link_status(self->aq_hw, &link_status); + err = self->aq_hw_ops.hw_get_link_status(self->aq_hw); if (err < 0) goto err_exit; - self->aq_hw_ops.hw_interrupt_moderation_set(self->aq_hw, - self->aq_nic_cfg.is_interrupt_moderation); - - if (memcmp(&link_status, &self->link_status, sizeof(link_status))) { - if (link_status.mbps) { - aq_utils_obj_set(&self->header.flags, - AQ_NIC_FLAG_STARTED); - aq_utils_obj_clear(&self->header.flags, - AQ_NIC_LINK_DOWN); - netif_carrier_on(self->ndev); - } else { - netif_carrier_off(self->ndev); - aq_utils_obj_set(&self->header.flags, AQ_NIC_LINK_DOWN); - } + self->link_status = self->aq_hw->aq_link_status; - self->link_status = link_status; + self->aq_hw_ops.hw_interrupt_moderation_set(self->aq_hw, + self->aq_nic_cfg.is_interrupt_moderation); + + if (self->link_status.mbps) { + aq_utils_obj_set(&self->header.flags, + AQ_NIC_FLAG_STARTED); + aq_utils_obj_clear(&self->header.flags, + AQ_NIC_LINK_DOWN); + netif_carrier_on(self->ndev); + } else { + netif_carrier_off(self->ndev); + aq_utils_obj_set(&self->header.flags, AQ_NIC_LINK_DOWN); } memset(&stats_rx, 0U, sizeof(struct aq_ring_stats_rx_s)); diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c index 8d6d8f5..7a1332e 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c @@ -313,11 +313,11 @@ void hw_atl_utils_mpi_set(struct aq_hw_s *self, err_exit:; } -int hw_atl_utils_mpi_get_link_status(struct aq_hw_s *self, - struct aq_hw_link_status_s *link_status) +int hw_atl_utils_mpi_get_link_status(struct aq_hw_s *self) { u32 cp0x036C = aq_hw_read_reg(self, HW_ATL_MPI_STATE_ADR); u32 link_speed_mask = cp0x036C >> HW_ATL_MPI_SPEED_SHIFT; + struct aq_hw_link_status_s *link_status = &self->aq_link_status; if (!link_speed_mask) { link_status->mbps = 0U; diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h index a66aee5..e0360a6 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.h @@ -180,8 +180,7 @@ void hw_atl_utils_mpi_set(struct aq_hw_s *self, int hw_atl_utils_mpi_set_speed(struct aq_hw_s *self, u32 speed, enum hal_atl_utils_fw_state_e state); -int hw_atl_utils_mpi_get_link_status(struct aq_hw_s *self, - struct aq_hw_link_status_s *link_status); +int hw_atl_utils_mpi_get_link_status(struct aq_hw_s *self); int hw_atl_utils_get_mac_permanent(struct aq_hw_s *self, struct aq_hw_caps_s *aq_hw_caps, From patchwork Mon Aug 28 18:52:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Belous X-Patchwork-Id: 806720 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 (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="XgUrF/HD"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xh1BN6M9Xz9s9Y for ; Tue, 29 Aug 2017 04:53:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751499AbdH1Sxa (ORCPT ); Mon, 28 Aug 2017 14:53:30 -0400 Received: from mail-sn1nam01on0080.outbound.protection.outlook.com ([104.47.32.80]:48576 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751306AbdH1Sx0 (ORCPT ); Mon, 28 Aug 2017 14:53:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Avt4MRviGRrUziL3zgzl46sHkPiSzHnSupUoLB2NFZ0=; b=XgUrF/HDUb9VLmd5z4QLRLapBQJZBtT/DZKAmlgrO/m7dxNDHkP/JLnxFrrUqiWO9ex/iMp1knAFyXw0v01bfvVIvkAG35sb5wNdm9Z4PBkJM1nI5LbX1Y71chi08qjIk4Ez84L1QZB2Gl96MvcPoUZX9v/6l5NDcvuz5s0Xx8A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavel.Belous@aquantia.com; Received: from atltest07.rdc.aquantia.com (83.149.43.106) by CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Mon, 28 Aug 2017 18:53:24 +0000 From: Pavel Belous To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Igor Russkikh , Nadezhda Krupnina , Simon Edelhaus Subject: [PATCH net v2 5/6] net:ethernet:aquantia: Fix for multicast filter handling. Date: Mon, 28 Aug 2017 21:52:12 +0300 Message-Id: <2a2c2fc05e8bf5aa9bfa53bbbd5d4b4a885c42e3.1503945861.git.pavel.belous@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [83.149.43.106] X-ClientProxiedBy: HE1PR0202CA0019.eurprd02.prod.outlook.com (10.168.182.29) To CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f41e130f-5fb4-4280-1638-08d4ee461080 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB2554; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 3:ZSZkwTjdpaBo3JJhX2lRzeVFap7U9/8N6tXQkLHwl6g/JZ4qjqN+G/Jo0bHOghypXuw74bmtBCemIsqJ97U7wc0gCnwo+9THtgaNzM/8zSofks3/D6cu6xW7EwiMH8FMisYrOgBI7G6d9+PIH0kiEwAzGIIqTinT5fYVZ92PFRJ37m5XKnGl4Vsr4U5Q2ezEvy6wRppwCEN11/eRATAXpvSb718abXUv2eRLCHW0GzEYESRRls0ocy7zTOHgfYUa; 25:/NgB7vgylQ1S5I1wwb07d/Jaew5k0xHRtrzJM6QpeZtE/WpMT1NjGNz4xSkXizZNAmw/5xMzcUtPZ1XazAvMqYm8fWg274k64uKBr4JLrFfDOZxOtlHi9/Z+BO0cdsDyKXGHdUpKrSvUeHkd10nER1HXH5sCjWpJ2PoLmQNvsh5QTOtsfxwiLa0T3Z/Kg8VFe9+ienurFQYjwoTmu4LbO1vBw++aFfGU7fIst2+UN/0oDMpHM0B4cULeMBACn26e8ziWPgJFh0yPUCQvBGD0Bvt08ro8VDdV9zpnNs9H+IFtsbnEPhu6P5Gxa0Xm9GLaWSkc73GuTyyjpoo+OepqVA==; 31:tryZas6F13JntRss9MEl+08rCrPuiwyBP837vjpMaW3O8EUIpVL8VKcxp2cikldCFfMowatXgc9vgpXj3aqS50gOxWibWMigJV7ARjXdgSQ8iavPi+xmHkBcaL0xk3ltuE166CeZyL36/gTqn+nfuuZu9I2zvgzAeF/KbLR8BGH5LNtV5l11+g4fhnM2+6dx7kjukisdCl6ozxicd8gV+NkTdhXSblx6aTtA9L5BRSs= X-MS-TrafficTypeDiagnostic: CY1PR07MB2554: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 20:MuD1YS/LfBdjLUNbvbTm1wJA7aS/pBn4/ldIxXJmZxtMsTndmGTfJo9YBKkG5U5HsbpkrTxh0837g9M3pm3+6aQ4jVqz6Qhc0YipHUiBYvWj8soGdXrHLawvkx0QTIE4iMlwQkfdQwSx0tbrIj/L12e6aCfkKa4KBjwsf4SgYIwOtVTsiMaPkDZ+ioyaAjwYqWf/C04jFD2YfLWNGES69Y60ziSVaseS7pc7Up3s8y8siqHH+CCKSS1oOL5utgWC2+SBAu+h0M2CK2aZJ0zu27BZAtyaxiSk0uHx/ybiVSOyiwIJ1Ge2e8sXXdXMdJxuvQWqDvmfWy87M0TLnG4dT+3DRWmG44Ql93NPw3LlFtOa6Xnzk5f9XNlAXep9NsBReHi4rYZ6ftjky3CCtt3NY9ZYAX1YgqYR43SZ0XRK431IKxh2n4WVjS4KYjg334LECMs9Ld8DirD8NIzN5otX/e5E7YefBQr9ObvFNNjNU0mpaItBnsZlACiStsCIoIbN; 4:0mG0nqovXjlZaXCWyUrRUywP6W5BjG0hwUCqgNItnXAGelwk/OGlDjfr6Zp9etZgOMIP7w2Rln60Es6HfPA3QcsP5NpXdVxKqVLhpRKmQBbIU+/bE/0thHaHzXt92QIpU+PbMUjhrS60y7+gMCBgJUk6RratmjrL5dpKwz5hBkvSqjluzSOi4W+bomKM9ZNVr88HP79EDdSEcfEglj9Yvy3631vuTjtMjz8mIx5sYpJQ3dGFCLZsVdjFz4AptULv X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2554; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2554; X-Forefront-PRVS: 0413C9F1ED X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(199003)(54906002)(6916009)(50226002)(189998001)(36756003)(2950100002)(5003940100001)(106356001)(25786009)(86362001)(33646002)(7736002)(8676002)(66066001)(81156014)(305945005)(81166006)(50466002)(48376002)(47776003)(53936002)(478600001)(118296001)(72206003)(107886003)(76176999)(50986999)(2906002)(68736007)(6486002)(105586002)(6116002)(110136004)(6666003)(5660300001)(3846002)(7350300001)(4326008)(101416001)(97736004)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2554; H:atltest07.rdc.aquantia.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 23:U8d9HsGvffRUvdTtYL/NMFFV1iJeMyIKNhbUeZq7G7sp9gOZpaYnmE57cSy2n5Uqz7cjl+Az/yZVrB24mRoFsoiMgiiTtt9R8T+pVFCdledwV17P1+6OFEqp6qBODW8SjHcWC3r8C6TWz+mxXjRxI0zfA0iw6yNfJJqvRVxQ2e69mJg2YU3uAkmqVIMogdO9ffgB/zyPa8O4B/uj6z/0tu9RMsBKHmG/iyoHxV7cwseSdEPdCXMD8e3IOfYxEDUPEz6UQEpsqZedLYC8p+pzWw3vtZYVdnTbEt6atuP4BoLIDdVk0ijZ20y5Womjeb2QZ12IM+MimQ3No77MN0BFO8DnJGrkAabU2bIgUyZ5j3QSF28+RBkW7kIo6bE8te9dEKlArcGPkLk7XauDz1MMsS7kGHYNZVM6IHLOf3wNStPJu56orOMLPP6f+s+KTlG4WVLlNcEKBlJorm3pg3tZVkNOfh3hqQVEsuDCbkGq+yhXm2f5y3MYxa7nBRMvbHCk8ZsSs7boKbc+G+iTfw7Lm8sShajUKrIRkueE3Ldc40EWntTbfxZjzmQ5j4uoAOVP6QYj5Xwgb+S7ByUdzqFWusbcHB1j6EAQid1szhb718L9RsuxmZIiqOA0L1hVlOy2xZCO4oFakq0YbmjIF8GVEWeDmpiExWeo2XVNA3VjclcYbHtS879EMjcZY8TMgtZSA5CFX16FSZ7A1Xd+m1MmM8Vi/GNnq9ISZmA/jCxl5CgA4X1T3Ri1drK/HnRlYz1j7WiS11dF0nUE0rs6RioGJYVfuFmbpR2uvpjMruJ2uTXeDb13frKpoEBDr3OY4TkCRxBSU0O/tpxuuMELBuqg56ZiXPMw6lIgIvZ/rhuAj60UYO/9RqlchJjwFFEDgHDX14pqqOlX02P/o11KerTmhZNy//aa27Sp7yi/5SdT9m4cmDs48RORoCx+wY+E85LqdFc/5Ja+sGmTRHVkmtLkbkX5QIw0hcS9jprH15qUTuv7UROgRqx/9P1SBXdeeYWRlzD4g3cKXorPfOdGOZ3wqfDRhU8Bu9+U0bAVJZHfa6IuhacqFKG2yHxdmfLMMGnYJMcuR0CfLDnOmUhmXq+VO5QAwQKsqHoKlE3XgfWYjek= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 6:/svLoI8ozgIJjznG7OddTFN2J4r86Wv/VBl5lfpDi9MwYZKgWoH+ziH+aM9xxfr0OYZMAQO4japgch+gjWkqEVHNfguhLe3O2SLLSkpUFb46ASTvhm+hvkq+k80RF7Gi1wx0Vb45u+UaEftWyB50E+D5Zng5GwjD/npkxtNqNZZmHVg/7bHgbXhSq+q0qwKRLmyWWKU7P24qL+84aaQjQDKsR0cQGGe6kafE+LGdAUuNJ5r48BWI6okN174IGhRBZI7OQmHsvj3JpUNEKyf8e+bIn4L52rR87nECG0hBx6fwlFMULDOuyz5pv0gIU43de1T+Fz90jm0HSNK7rgQg9A==; 5:Rqt8B8DZx+vsEY/s9DLzS0rIzgId6v4ku3p5U9F9EuU4kYi5YKZisZyMeGut/yNOEXcrvK86W64GEfAqPN2hG+una4ZtiD5x/j8vpwskAHj3Z8qCWTEdrLwnXmcMEvc2vaKT2Q8BA28MmUJ1Y/iOEQ==; 24:+N7hx0LdHmYuZPG6yBC9Ph2LafwAp0OLqk6um674Hd8mRiNJI5cePDjimb6z4BYXQa6aFH/+kQY5MlOUvnLd5hynFEkbu7r1McdO6KOBlGE=; 7:etnmKMiQeOEVfqo3zXLgEGOpzWkIPx8QRgZmON8nUSBtom3F92ldwc7LOAYWJhNJc4pbstIDlAEzFGYb4ai+zqfnPEiI4z2qY6v7y1FQH+Q5yYlB8c8zxSnHH2FyAn0PugZR/DKr+RPg1RlHC9L7NaF+BqBgqniCN2k4VQenvs1GUvcq+VMWvv8ZCoSjq1FT7z5boQOBc723vjcyScSc5ISEM9/QKhlX4KcwLxVhnlY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2017 18:53:24.0689 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2554 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Igor Russkikh Since the HW supports up to 32 multicast filters we should track count of multicast filters to avoid overflow. If we attempt to add >32 multicast filter - just set NETIF_ALLMULTI flag instead. Fixes: 94f6c9e4cdf6 ("net: ethernet: aquantia: Support for NIC-specific code") Signed-off-by: Igor Russkikh --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index dce17a5..6ac9e26 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -669,11 +669,26 @@ int aq_nic_set_multicast_list(struct aq_nic_s *self, struct net_device *ndev) netdev_for_each_mc_addr(ha, ndev) { ether_addr_copy(self->mc_list.ar[i++], ha->addr); ++self->mc_list.count; + + if (i >= AQ_CFG_MULTICAST_ADDRESS_MAX) + break; } - return self->aq_hw_ops.hw_multicast_list_set(self->aq_hw, + if (i >= AQ_CFG_MULTICAST_ADDRESS_MAX) { + /* Number of filters is too big: atlantic does not support this. + * Force all multi filter to support this. + * With this we disable all UC filters and setup "all pass" + * multicast mask + */ + self->packet_filter |= IFF_ALLMULTI; + self->aq_hw->aq_nic_cfg->mc_list_count = 0; + return self->aq_hw_ops.hw_packet_filter_set(self->aq_hw, + self->packet_filter); + } else { + return self->aq_hw_ops.hw_multicast_list_set(self->aq_hw, self->mc_list.ar, self->mc_list.count); + } } int aq_nic_set_mtu(struct aq_nic_s *self, int new_mtu) From patchwork Mon Aug 28 18:52:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Belous X-Patchwork-Id: 806721 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 (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="m0rhx+wm"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xh1BV2nJgz9s9Y for ; Tue, 29 Aug 2017 04:53:38 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751523AbdH1Sxg (ORCPT ); Mon, 28 Aug 2017 14:53:36 -0400 Received: from mail-sn1nam01on0068.outbound.protection.outlook.com ([104.47.32.68]:28764 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751190AbdH1Sxe (ORCPT ); Mon, 28 Aug 2017 14:53:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=tTTfqme56ZWx1/x6pngnW0N1HEzrN8JOoNOG621dAxw=; b=m0rhx+wm0nwIfC3pnJFAgvBaEVoywzP7y4VA520NAyKu9gL25J+rb3lxTjhOnaHVCoNEUK1J8QFUUe8/WzhOpbGKXHvNvmm7qGtdO/y86FGqy6/JwNnI8LhcwvsrnYUy20vV0tXDCgAUd3JQhSkttWngVFk4MIHXfYRCoZcA86Y= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavel.Belous@aquantia.com; Received: from atltest07.rdc.aquantia.com (83.149.43.106) by CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Mon, 28 Aug 2017 18:53:26 +0000 From: Pavel Belous To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Igor Russkikh , Nadezhda Krupnina , Simon Edelhaus , Pavel Belous , Pavel Belous Subject: [PATCH net v2 6/6] net:ethernet:aquantia: Show info message if bad firmware version detected. Date: Mon, 28 Aug 2017 21:52:13 +0300 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [83.149.43.106] X-ClientProxiedBy: HE1PR0202CA0019.eurprd02.prod.outlook.com (10.168.182.29) To CY1PR07MB2554.namprd07.prod.outlook.com (10.167.16.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 668cfb48-afd4-4d2b-8b16-08d4ee461508 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR07MB2554; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 3:jW2uV7x5OysDL6GsxoZVilRjR5vwEMvKmsN/+B3u5sJi0WIP41E2XreVnNiWVXjX3vl72wIjNzUwGdEfQGaWzazzG3g4KaomT0jdShaaxPW4tO9sXQubHIdssw0BGB6aB/wL/zRYL0OjAAgtIhQ3U5TjTqeJA/JdpqveA4rKfOYYE0uI6qgZLwh31NVpZYKz0h6mRRyaC+BzJpDHQM6pwaGEX+zXK5rTOD/dCTHiu5QZGD1qbuugey/hligICQg0; 25:KYVdjzrzoImcDZOyUiRTH4T8n95fJOba96/KbIR4CkWOVjtqt22dF26kx/MmWku9RkV+W/j3oJBVkqlI5J9Z79GLMo5sQjsM/+0QITPyPol6ZGeI2aT2x6ReO7C1Upgr7V8xEm+fXfQF4/GHfLyORKvi+9aL55/RpIzRSyewcnvQQ7n9LlNz8aViLK2dqmoBZ/c/WtWI9weq1oDTzVEn+mLXD0t++p5ilIYTcvAw59UwL4VHJlQDK4W/83CUfLujfET4mVAgQJuhZ5PWjE0nSEQ3UhfjaWYF+2n+deh2qygA5AEboOU2EPmSeLUjuTDHzvxYanHzskodoyD8lelgYw==; 31:6ypnWkELWD3MsNGJRZ2eLABEjRcLHVGAfn3uISe1CTtt4caTMSMJDjdNxIIa0jxqJqC0Yfbhy0qoLVk3rn2iwSbDh73DD1uDkJztBRq6mW0+s3gI/zj9kHSBMEDAXKewLie7uoz1uEhhsjs/JXTOuyrQZWAeSYdo9smnsbrbHaxDs0WtrWBhvLN2zL/pbNlcHrcNgINlhDxkAzckelHNWTzZRjR9mGHQzPh8cBYuLXI= X-MS-TrafficTypeDiagnostic: CY1PR07MB2554: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 20:nj6gUGWR+KAD9cxwT3Mv6qkqibUQ2TxC/6jC3qIT/7M3yp6/8oxbcv08jvAquEbxH4I0mzKom+gTimOfHyCqqBr5VZMpW7w4LL0aQOCuFnp4v2rGw8yXOntpoIOTEGH82ZtwAiAHZGiju6J7cTrNJNrCGuDX1O6i8bDxE5E2ZyMDrpNwPVfo0rwTJ2fHF3XtKDo/r+YaVhlZDZnFzFz8ikv0mcogqn8Qj9PrS7qKxxYR3sLZsRKNp2H9OWCZ78c6gwiuXVbMOQ62I+eaAG43VEImhvH23zFKm48Ox9kwSVRqYAxRWLsJqg8sI8xI/neg8d2XxJb+5mxtOvn4d+B4P58nXxPW7me1CmzTKD9RUgtFxr3j3MIRpT0XjZo8Mo4TIoRHmbk/GCy6cOk5Pvy75djxkvgMr0CFvWXQxz1munYkeWJRRNRa57+u/QG4t+yZZ1ST1BYOfNMASf09u7H5k1D9Sb/zoUt8nHijB7HWxxTA9GXjL1WqewmJeu4PmLSs; 4:Hx7EYt95EX2qcPH/tKChD5aiDjxwnbwezUZpXp8B1LIkVi6s2oic1zlFgyrOk/e2GMckBycsfW0MPk+zP9Megi2ceQhVFaQNHqGJ2QdvOxEUEM380/k8fMkFN6UGb45ttVrzK/AtVbzlXM01GqhcB62eCWxqmN7KmcfrzDcrRiCWX4yN5dpZ0dPyDPd7iXNrlsEI9HflBAqz68j76x7LpA7OAs+kDDylySZp+hXpEfN95Tn46h17+n+VrsFA8Mj4 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2554; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2554; X-Forefront-PRVS: 0413C9F1ED X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(199003)(54906002)(6916009)(50226002)(189998001)(36756003)(2950100002)(5003940100001)(106356001)(25786009)(86362001)(33646002)(7736002)(8676002)(66066001)(81156014)(305945005)(81166006)(50466002)(48376002)(47776003)(53936002)(478600001)(118296001)(72206003)(107886003)(76176999)(50986999)(2906002)(68736007)(6486002)(105586002)(6116002)(110136004)(6666003)(5660300001)(3846002)(15650500001)(7350300001)(4326008)(101416001)(97736004)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2554; H:atltest07.rdc.aquantia.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 23:xd1oH5zFZyzMiR/n9u+4pXWTyXgD7cSFVSv/HlkG/1mcXVFbPZQLOOyfpLXWA8bxvvB7ZErOVM81TMlmpBj56IvlwX72j2i+PS/ajJRogfSFlHn7V9b3owWBERQUJS31O+B3aQ8Yeh/8mSihqye5Y1CDvYM+UFjWnM4y+zrnxD5Jv4bvL9uG/cYgGBDcew2l47g+6o3/KAJ4T7CJCw63Dk5L1UZzwWyk2VZtPaS1ykmlmk+uuxRXqg/KmALnWlmjtCY5K7QmcID2nosEnbugeMJywh3uAEAlO8Q1EHYZD6IXMm08UeHQHvUFM+RSq/USlt4EuwkBM5xdplFrrTIHmTIW0eBbY+gxVp1NBE4hhmvvqZ4InaDbUd9UmBKF/rPyJGM2dSlJ8+gXuEdyyIhgPRzafy/oMIlcjdwIYv1caw30fbTQZttcqleGH82jqE/ph/N1orCW/e474BP8VbJ92cCTM5cmx6YQthpxOirSwToITjuJVmz9VR4UGqPhcCu2ALplZdN6Fc1+zXuOCwQ1K/46ZftzZyExsFtEPCzVbITO29q438d+yXvhGZ6HE1KOUX6eBO6Z5W08hJ+rWD3G0DicbThqOJ9dKL/4YIysVVgw4IIB3AuKpuhBwNcqG5Ln3hVM0fhcKDttljkdj0KO1AqHF6V+ooTXXW+kECYCct3Ata9vB0amxyD3bu+w5Zo878ePFBrhNZKEAqJ+K41paKdvV7uquyif9nBUETfP7sPRenvoo9CRbhUSAXCvbPenahD6qSue9NJ/PTtnsd0Or/gGjkuutZGzu08Yj2WN6ffx5VNU5XxQBJNb0XBqIRmPcdT7L3DgWKMG2cw40t5SP4RHA6v/kmkPzOoOF1WA4djcghp2MjvIGO0kIiIisixwqmgNvWZqV6BJpr/WljPVvn3Jx88rsXtDxjy4YspU+vfyiDPQ8tQ/PzfX7QWgIumiWLaAQeR822cniaz1PZC05hyGQ4lBWkt9yFLyDIs35gzAlBF3QBugfcGSKc60qjm7BIDRwn1l+TFPZT2JydfwIvtZyuaxhpxzdRrLazFwWlhNiqrfgdNDtsGbf8TZp7ncNaa1ZBEfwwWIuf7z85e/kQymHkpCQORMZl4DfbCrkAUxAWYvs/SACkgj+w1bWylArAo/O1hPcXt6sRhPaJPKkQ== X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2554; 6:upcf8O07mH/SgPrcZVoaD8QNyLo6xeJ0zWkgdr5NaPJr0OsAKTWXadpUfTngZZROpBlvwGpfv1Cj9MSG2yB+8t9KGiL7S0l/Uyw34Glm4yZe25QFJW/GXT0vBpsPYS9lPR264DdtR01CJLrZ38M1HEXphQv14/DsErzDic4Ifxo/wduKiu1wvHeJjCBFeQk3Rdp+5Grt6QpIESTV/ix4b6E5BRIMxQqHv80vzktymRmKrMKK2EoSXorSJbzTc/v7u4yYdikZJBhbtbeVpNpRBsFBCubM7A+5L2FzetW5SbWBxjjIrbOjS8HPGdSKMg+TnVv9YZnEP5R70qeylf+aWA==; 5:AKxEga+ahDOlCyOpWTViGt2/t01KLdnTO3bLAJt/4FceSvVc9VJ8U89M84BFx79xl4tcOZAI1PO8Rug1hxGMpGsdB7KpHsMckllopd66Im2LgIZjh5k3627+r8VhqzRZ5agK0dFI9DgrDjPhTSTz0w==; 24:RFdteudDlBNnH3hOZhtYFmUKgvIlmKzzbLoA33RKW4ukx3IgPwZupIQ3E/s1iHFB8tlEQcnhzNfWSVGIdfHV77zIqj0Z+HnoLHMFTBdzahA=; 7:Vy92zxlOJjsQ0nRff9V3LZiprdPDmHyMPo5gIe7fVlrGna+smsvsDxlSFmUrMR7Vyw6JfK8sJxDwnslzYWjWiD5urk6Kr2r8vSCP/WHo94mdnte/PnUyIJXwP2fmFs+zUsRA1GQanxXq0bXYex1+I2aZV+/t5vYEyI3ZG4HqR3X4Rs+p5Qy9bKWik98/fUSslnDQvDxkrk7NT4CKBHl0dWSmViVlZvx6HCuIqWRYCvI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2017 18:53:26.2408 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2554 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Pavel Belous We should inform user about wrong firmware version by printing message in dmesg. Fixes: 3d2ff7eebe26 ("net: ethernet: aquantia: Atlantic hardware abstraction layer") Signed-off-by: Pavel Belous --- drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c index 7a1332e..4f5ec9a 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c @@ -141,6 +141,12 @@ static int hw_atl_utils_init_ucp(struct aq_hw_s *self, err = hw_atl_utils_ver_match(aq_hw_caps->fw_ver_expected, aq_hw_read_reg(self, 0x18U)); + + if (err < 0) + pr_err("%s: Bad FW version detected: expected=%x, actual=%x\n", + AQ_CFG_DRV_NAME, + aq_hw_caps->fw_ver_expected, + aq_hw_read_reg(self, 0x18U)); return err; }