From patchwork Thu Feb 19 19:09:27 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 441729 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 C1AE51400A0 for ; Fri, 20 Feb 2015 06:09:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752210AbbBSTJr (ORCPT ); Thu, 19 Feb 2015 14:09:47 -0500 Received: from mail-pd0-f170.google.com ([209.85.192.170]:45229 "EHLO mail-pd0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751742AbbBSTJq (ORCPT ); Thu, 19 Feb 2015 14:09:46 -0500 Received: by pdjz10 with SMTP id z10so1711667pdj.12 for ; Thu, 19 Feb 2015 11:09:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=4mAuKwn4iw5HYos8f0LyI1UAEOVoZI2Je6FgEQ6aYOg=; b=LWT+NkZQnPRB+iWsC05XcJttBiEkfj5VJ/+Dew2vai8xG9YqJR555vEqNaeU9cXbam pTF35YA0mKEtEwUuuX58dnZnPruDcCnPMh8Cz2QBhD4+72teZfuifQazoumN7YF1Kvf7 0tY8LNWsmrZEKam36deqpzBjaGv9SqDpZz0VaOvG/54mpuUvTsVLsY/WsvjSUQcKXxbG QXpZU/DUbUrph3cRFKj1XwEnQheMajQk7P3ySvXrV518ajmrefyBljrwjqV8YGdFcPy/ YEmxBJIqZt6DqYkicGLJiEv+okpXbslHHXJipQCz+ZgGBojuFVzBmMMlD0T0/qTUqPyX CE/w== X-Received: by 10.66.186.166 with SMTP id fl6mr10116912pac.95.1424372985509; Thu, 19 Feb 2015 11:09:45 -0800 (PST) Received: from fainelli-desktop.broadcom.com (5520-maca-inet1-outside.broadcom.com. [216.31.211.11]) by mx.google.com with ESMTPSA id f12sm24786925pat.43.2015.02.19.11.09.44 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 19 Feb 2015 11:09:44 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: davem@davemloft.net, Florian Fainelli Subject: [PATCH net] net: dsa: bcm_sf2: fix 64-bits register reads Date: Thu, 19 Feb 2015 11:09:27 -0800 Message-Id: <1424372967-27938-1-git-send-email-f.fainelli@gmail.com> X-Mailer: git-send-email 2.1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Reading 64-bits register was not working because we inverted the steps between reading the lower 32-bits of the register and reading the upper 32-bits. Swapping these operations is how the HW guarantees that 64-bits reads are latched correctly. We only have a handful of 64-bits registers for now, mostly MIB counters, so the imapct is low. Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver") Signed-off-by: Florian Fainelli --- drivers/net/dsa/bcm_sf2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/bcm_sf2.h b/drivers/net/dsa/bcm_sf2.h index ee9f650d5026..7b7053d3c5fa 100644 --- a/drivers/net/dsa/bcm_sf2.h +++ b/drivers/net/dsa/bcm_sf2.h @@ -105,8 +105,8 @@ static inline u64 name##_readq(struct bcm_sf2_priv *priv, u32 off) \ { \ u32 indir, dir; \ spin_lock(&priv->indir_lock); \ - indir = reg_readl(priv, REG_DIR_DATA_READ); \ dir = __raw_readl(priv->name + off); \ + indir = reg_readl(priv, REG_DIR_DATA_READ); \ spin_unlock(&priv->indir_lock); \ return (u64)indir << 32 | dir; \ } \