Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967193AbdCYFhE (ORCPT ); Sat, 25 Mar 2017 01:37:04 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:34011 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966954AbdCYFg6 (ORCPT ); Sat, 25 Mar 2017 01:36:58 -0400 MIME-Version: 1.0 In-Reply-To: <20170324144632.5896-7-opendmb@gmail.com> References: <20170324144632.5896-1-opendmb@gmail.com> <20170324144632.5896-7-opendmb@gmail.com> From: Gregory Fong Date: Fri, 24 Mar 2017 22:36:16 -0700 Message-ID: Subject: Re: [PATCH 6/9] bus: brcmstb_gisb: correct support for 64-bit address output To: Doug Berger Cc: Catalin Marinas , Rob Herring , Mark Rutland , Will Deacon , Brian Norris , Florian Fainelli , bcm-kernel-feedback-list , wangkefeng.wang@huawei.com, james.morse@arm.com, vladimir.murzin@arm.com, panand@redhat.com, andre.przywara@arm.com, cmetcalf@mellanox.com, mingo@kernel.org, sandeepa.s.prabhu@gmail.com, shijie.huang@arm.com, Linus Walleij , treding@nvidia.com, jonathanh@nvidia.com, Olof Johansson , mirza.krak@gmail.com, suzuki.poulose@arm.com, bgolaszewski@baylibre.com, horms+renesas@verge.net.au, "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1267 Lines: 35 On Fri, Mar 24, 2017 at 7:46 AM, Doug Berger wrote: > The GISB bus can support addresses beyond 32-bits. So this commit > corrects support for reading a captured 64-bit address into a 64-bit > variable by obtaining the high bits from the ARB_ERR_CAP_HI_ADDR > register (when present) and then outputting the full 64-bit value. > > It also removes unused definitions. > > Fixes: 44127b771d9c ("bus: add Broadcom GISB bus arbiter timeout/error handler") > Signed-off-by: Doug Berger > --- > drivers/bus/brcmstb_gisb.c | 36 ++++++++++++++++++++---------------- > 1 file changed, 20 insertions(+), 16 deletions(-) > > diff --git a/drivers/bus/brcmstb_gisb.c b/drivers/bus/brcmstb_gisb.c > [snip] > @@ -119,6 +116,16 @@ static u32 gisb_read(struct brcmstb_gisb_arb_device *gdev, int reg) > return ioread32(gdev->base + offset); > } > > +static u64 gisb_read_address(struct brcmstb_gisb_arb_device *gdev) > +{ > + u64 value; > + > + value = (u64)gisb_read(gdev, ARB_ERR_CAP_ADDR); Unlike the one on the next line, this cast can be omitted. > + value |= (u64)gisb_read(gdev, ARB_ERR_CAP_HI_ADDR) << 32; > + > + return value; > +} > [snip] Acked-by: Gregory Fong