From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E8831C433F5 for ; Tue, 25 Jan 2022 16:50:20 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D1F67830D0; Tue, 25 Jan 2022 17:50:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="OkrhEkDb"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 24F9380F9E; Tue, 25 Jan 2022 17:50:16 +0100 (CET) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1A8AF830D0 for ; Tue, 25 Jan 2022 17:50:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=pali@kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8296060B3A; Tue, 25 Jan 2022 16:50:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C67ABC340E0; Tue, 25 Jan 2022 16:50:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643129410; bh=/SWgx9lV7tcvl44eV7H3Ktlt0ZqYWE0WbwmoSX/xETg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=OkrhEkDbdk8sbdmzmuZ/jceZzcbwhtOgvxeeAXLmJ/YM9mSWt9ChnAi/OBfRvfZ8V 5i7xemG+Z9saV+pRf6DsBpx8ac5h35Yx40moOcMk771XKxctSstjjf3d86n61B1+a/ Z1hw0CVSFzBt9OdyvXLNwjvDdKW0qgv0o48CDRqjVKpDXYyq6ookf765LnVKgmzqn4 SeOx4+DKSJOncyrhffEhKqKumco2iTqZ8KFznHSu2QsGTXigUPMJcWFFJMTXR8xPyA S+BRou/5MpYztxPGJ/E9MdGfs/Odp5UcG2JYeVvOuyYHjghU6fbBFXONLCoAbqYZE/ EwMQyeBiAj/WA== Received: by pali.im (Postfix) id 2BD8612F7; Tue, 25 Jan 2022 17:50:08 +0100 (CET) Date: Tue, 25 Jan 2022 17:50:08 +0100 From: Pali =?utf-8?B?Um9ow6Fy?= To: Stefan Roese Cc: Bin Meng , Simon Glass , Marek =?utf-8?B?QmVow7pu?= , u-boot@lists.denx.de Subject: Re: [PATCH 2/4] pci: Extend 'pci regions' command with bus number Message-ID: <20220125165008.c26cx4xq3xqfsiko@pali> References: <20220117153840.31173-1-pali@kernel.org> <20220117153840.31173-3-pali@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20180716 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean On Tuesday 25 January 2022 16:53:05 Stefan Roese wrote: > On 1/17/22 16:38, Pali Rohár wrote: > > 'pci regions' currently prints only region information from bus 0 which > > belongs to controller 0. Parser for 'pci regions' cmdline currently ignores > > any additional arguments and so U-Boot always uses bus 0. > > > > Regions are stored in controller (not on the bus) and therefore to retrieve > > controller from the bus, it is needed to call pci_get_controller() which > > returns root bus. Because bus 0 is root bus, current code worked fine for > > controller 0. > > > > Extend cmdline parser for 'pci regions' to allows specifying bus number, > > extend pci_show_regions() code to accept also non-zero bus number and > > print bus ranges for which is regions configuration assigned. > > > > Signed-off-by: Pali Rohár > > Nitpicking comment below. But still: > > Reviewed-by: Stefan Roese > > Thanks, > Stefan > > > --- > > cmd/pci.c | 10 ++++++---- > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/cmd/pci.c b/cmd/pci.c > > index 3b1863f139c9..53edf0d90010 100644 > > --- a/cmd/pci.c > > +++ b/cmd/pci.c > > @@ -443,7 +443,7 @@ static const struct pci_flag_info { > > static void pci_show_regions(struct udevice *bus) > > { > > - struct pci_controller *hose = dev_get_uclass_priv(bus); > > + struct pci_controller *hose = dev_get_uclass_priv(pci_get_controller(bus)); > > const struct pci_region *reg; > > int i, j; > > @@ -452,6 +452,7 @@ static void pci_show_regions(struct udevice *bus) > > return; > > } > > + printf("Buses %02x-%02x\n", hose->first_busno, hose->last_busno); > > printf("# %-18s %-18s %-18s %s\n", "Bus start", "Phys start", "Size", > > "Flags"); > > for (i = 0, reg = hose->regions; i < hose->region_count; i++, reg++) { > > @@ -520,8 +521,9 @@ static int do_pci(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) > > value = 0; > > argc--; > > } > > - if (argc > 1) > > - busnum = hextoul(argv[1], NULL); > > + if (argc > 2 || (argc > 1 && cmd != 'r' && argv[1][0] != 's')) { > > + busnum = hextoul(argv[argc - 1], NULL); > > + } > > Nitpicking: > Single line statements without parentheses is preferred. In next patches I'm adding more statements into this branch and I did not wanted to make next patches too noisy. > > } > > ret = uclass_get_device_by_seq(UCLASS_PCI, busnum, &bus); > > if (ret) { > > @@ -586,7 +588,7 @@ static char pci_help_text[] = > > " - show header of PCI device 'bus.device.function'\n" > > "pci bar b.d.f\n" > > " - show BARs base and size for device b.d.f'\n" > > - "pci regions\n" > > + "pci regions [bus]\n" > > " - show PCI regions\n" > > "pci display[.b, .w, .l] b.d.f [address] [# of objects]\n" > > " - display PCI configuration space (CFG)\n" > > Viele Grüße, > Stefan Roese > > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de