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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 909D1C433F5 for ; Sun, 29 May 2022 02:11:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230235AbiE2CL0 (ORCPT ); Sat, 28 May 2022 22:11:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229461AbiE2CLX (ORCPT ); Sat, 28 May 2022 22:11:23 -0400 Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com [IPv6:2607:f8b0:4864:20::22f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B782A8; Sat, 28 May 2022 19:11:22 -0700 (PDT) Received: by mail-oi1-x22f.google.com with SMTP id y131so2731127oia.6; Sat, 28 May 2022 19:11:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=smiwtbi/0KCKQ9mAxuPcwH47K9rL1ME6DA+PRBcWPyA=; b=ma2BZ8i4KKcn6aDYzmcJdLkipZraQNaNX1gxwNPeTJEV7ZYi9qFsX4ectiwrFmcss0 96e3NgEd1L8XuzHduzIIIUl1iqoOoFbiqYoDYnDy7Fl/kJRrA1EXhsIZdt7QW7svhQ5j OUombPD77hZLviNC7jrIhGpF8srctEdyyPBEuUIzK1ODNpBPjNrFTOsdbaNax+/il5CL I+wSPW2IlwGKl2jwe4yljp2waTo0Ludu3NI/uRFkJxJB2PvfG8tS8QWY7i59dd6iPFIA GRkE1rzZT9hf+XMLTJ/JuPNzCXZYBC8ETQkJCbvtt87Z1naEz83EA42ljSunQuRjzaAX TxTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=smiwtbi/0KCKQ9mAxuPcwH47K9rL1ME6DA+PRBcWPyA=; b=aY67XkU91/Q4EDL8iEMgRZsTtQsLSu6K7tf9Gaj3GN5Sru4CODzlptoEq+M8nCFV83 pjh6SSXtvitQHTqCaEjU9b5w9RSpgXoykiXm00/0DSiuN+ye8tYoA26tuWTmtbQtlu5I 7nImUkKcXhssmPdQGDcej1yLvQ56ysqnOv3ui0WQyj8tR4RvkhfaIEjKk+vdVKAlnbS6 vh0bd4LpiaYo1Fqs8dfo0e4bXZ0pZ/HodVg6SQ0aZ4yoSZk5N5OucTeQ5OIDCb27/gHJ dRqSEdpoGhJE8rm9vcGGfDTroBeRtiYdq2XB2F/R3udiSWlBUfbT52/IMaKhYrIUUf7x tnuw== X-Gm-Message-State: AOAM532p596TE4f64CMkjqddb7tLLXSD+pGlXjk5BvI8WOWdumPwV4/P ASB6b1ISG9Ac5ycDfmZY6sHhYcSkvk9DK+EzBXU= X-Google-Smtp-Source: ABdhPJx+kRriykk8K/OOKZ2b7La96R0lYMDM7upPEK4Xa37+RL/3ASeemnFqUaBEhPDtwc22HhFRHZJAG5W2qavBN3c= X-Received: by 2002:a05:6808:1825:b0:32b:a1e9:fdb6 with SMTP id bh37-20020a056808182500b0032ba1e9fdb6mr7107048oib.73.1653790281356; Sat, 28 May 2022 19:11:21 -0700 (PDT) MIME-Version: 1.0 References: <20220528224423.7017-1-jim2101024@gmail.com> <20220528224423.7017-2-jim2101024@gmail.com> <20220529011526.4lzuvkv5zclwntce@mraw.org> In-Reply-To: <20220529011526.4lzuvkv5zclwntce@mraw.org> From: Jim Quinlan Date: Sat, 28 May 2022 22:11:10 -0400 Message-ID: Subject: Re: [PATCH v2 1/1] PCI: brcmstb: Fix regression regarding missing PCIe linkup To: Cyril Brulebois Cc: linux-pci , Nicolas Saenz Julienne , Bjorn Helgaas , James Dutton , bcm-kernel-feedback-list , Jim Quinlan , Florian Fainelli , Lorenzo Pieralisi , Rob Herring , =?UTF-8?Q?Krzysztof_Wilczy=C5=84ski?= , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , open list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, May 28, 2022 at 9:15 PM Cyril Brulebois wrote: > > Hi Jim, > > Jim Quinlan (2022-05-28): > > commit 93e41f3fca3d ("PCI: brcmstb: Add control of subdevice voltage re= gulators")vpcie3v3-supply > > > > introduced a regression on the PCIe RPi4 Compute Module. If the PCIe > > root port DT node described in [2] was missing, no linkup would be atte= mpted, > > and subsequent accesses would cause a panic because this particular PCI= e HW > > causes a CPU abort on illegal accesses (instead of returning 0xffffffff= ). > > > > We fix this by allowing the DT root port node to be missing, as it beha= ved > > before the original patchset messed things up. > > > > In addition, two small changes are made: > > > > 1. Having pci_subdev_regulators_remove_bus() call > > regulator_bulk_free() in addtion to regulator_bulk_disable(). > > 2. Having brcm_pcie_add_bus() return 0 if there is an > > error in calling pci_subdev_regulators_add_bus(). > > Instead, we dev_err() and turn on our refusal mode instead. > > > > It would be best if this commit were tested by someone with a Rpi CM4 > > platform, as that is how the regression was found. I have only emulate= d > > the problem and fix on different platform. > > Testing is less flawless than it was with the earlier version, but this > might be related to the fact master has moved a lot since then (from > v5.18-rcX to open merge window). > > Overall, it's still a net win over the status quo (broken boot). > > > Applying your patch on 664a393a2663a0f62fc1b18157ccae33dcdbb8c8 and > performing cold boots is mostly fine: > - without anything on the PCIe slot; > - with a PCIe=E2=86=92quad-USB extension board, a USB keyboard and a USB= stick > (both work fine). > > However, with an empty PCIe slot, I'm no longer able to perform the > following (which was rock solid, and has been used in all my testing up > to now): > - boot the exact same Debian stable image as before (running v5.10.y if > that matters); > - deploy the patched kernel; > - enable serial console; > - reboot into the patched kernel. Hi Cyril, Thanks for the quick response. As you may have guessed our CM4 did not arrive yet although we did get the CM4 IO board. I don't know if you have the bandwidth to try one or both of these tests: (1) Same experiment except remove the V2 commit and use my V1 commit. Unless this is exactly what you tried before. (2) Same experiment except commenting out the call I made to regulator_bulk_free(). > > PCI-related messages, a call trace, and broken storage: > > [ 3.425331] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d50000= 0 ranges: > [ 3.425353] brcm-pcie fd500000.pcie: No bus range found for /scb= /pcie@7d500000, using [bus 00-ff] > [ 3.425388] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x0603= ffffff -> 0x00f8000000 > [ 3.425420] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x003f= ffffff -> 0x0400000000 > [ 3.426229] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:0= 0 > [ 3.426243] pci_bus 0000:00: root bus resource [bus 00-ff] > [ 3.426255] pci_bus 0000:00: root bus resource [mem 0x600000000-0x= 603ffffff] (bus address [0xf8000000-0xfbffffff]) > [ 3.426303] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400 > [ 3.426398] pci 0000:00:00.0: PME# supported from D0 D3hot > [ 3.428797] pci 0000:00:00.0: bridge configuration invalid ([bus 0= 0-00]), reconfiguring > [ 3.745909] brcm-pcie fd500000.pcie: link down > [ 3.747915] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated = to 01 > [ 3.747944] pci 0000:00:00.0: PCI bridge to [bus 01] > [ 3.748294] pcieport 0000:00:00.0: PME: Signaling with IRQ 23 > [ 3.748691] pcieport 0000:00:00.0: AER: enabled with IRQ 23 > [ 3.749201] pci_bus 0000:01: busn_res: [bus 01] is released > [ 3.749462] pci_bus 0000:00: busn_res: [bus 00-ff] is released > =E2=80=A6 Does "..." here mean you removed some lines or that it hung? If you removed lines can you please post the full bootlog? I do not need to see the mmc0 sdhci errors though. > [ 5.617308] irq 35: nobody cared (try booting with the "irqpoll" o= ption) > [ 5.617335] CPU: 0 PID: 127 Comm: systemd-udevd Not tainted 5.18.0= + #1 > [ 5.617350] Hardware name: Raspberry Pi Compute Module 4 Rev 1.0 (= DT) > [ 5.617358] Call trace: > [ 5.617362] dump_backtrace+0xc0/0x130 > [ 5.617386] show_stack+0x24/0x70 > [ 5.617396] dump_stack_lvl+0x68/0x84 > [ 5.617415] dump_stack+0x18/0x34 > [ 5.617426] __report_bad_irq+0x54/0x16c > [ 5.617436] note_interrupt+0x324/0x41c > [ 5.617445] handle_irq_event+0xc0/0x180 > [ 5.617460] handle_fasteoi_irq+0xc8/0x1fc > [ 5.617468] generic_handle_domain_irq+0x38/0x50 > [ 5.617481] gic_handle_irq+0x68/0xa0 > [ 5.617489] call_on_irq_stack+0x2c/0x60 > [ 5.617500] do_interrupt_handler+0x88/0x90 > [ 5.617511] el0_interrupt+0x58/0x124 > [ 5.617526] __el0_irq_handler_common+0x18/0x2c > [ 5.617538] el0t_64_irq_handler+0x10/0x20 > [ 5.617549] el0t_64_irq+0x18c/0x190 > [ 5.617558] handlers: > [ 5.617563] [<(____ptrval____)>] sdhci_irq [sdhci] threaded [<(___= _ptrval____)>] sdhci_thread_irq [sdhci] > [ 5.617613] Disabling IRQ #35 > =E2=80=A6 > [ 15.581894] mmc0: Timeout waiting for hardware cmd interrupt. > [ 15.581914] mmc0: sdhci: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D SDHC= I REGISTER DUMP =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > [ 15.581920] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001= 002 > [ 15.581931] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000= 000 > [ 15.581937] mmc0: sdhci: Argument: 0x00000c00 | Trn mode: 0x00000= 000 > [ 15.581944] mmc0: sdhci: Present: 0x1fff0000 | Host ctl: 0x00000= 001 > [ 15.581951] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000= 080 > [ 15.581957] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00007= d07 > [ 15.581964] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00018= 000 > [ 15.581971] mmc0: sdhci: Int enab: 0x00ff1003 | Sig enab: 0x00ff1= 003 > [ 15.581976] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000= 001 > [ 15.581982] mmc0: sdhci: Caps: 0x45ee6432 | Caps_1: 0x0000a= 525 > [ 15.581988] mmc0: sdhci: Cmd: 0x0000341a | Max curr: 0x00080= 008 > [ 15.581996] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000= 000 > [ 15.582001] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000= 000 > [ 15.582005] mmc0: sdhci: Host ctl2: 0x00000000 > [ 15.582011] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000= 000 > [ 15.582016] mmc0: sdhci: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > This last part gets repeated over and over, and storage (external SD > card) never comes up. I can share fuller logs if that's desirable. I can the full bootlog? > [ 5.617308] irq 35: nobody cared (try booting with the "irqpoll" o= ption) > [ 5.617335] CPU: 0 PID: 127 Comm: systemd-udevd Not tainted 5.18.0= + #1 > [ 5.617350] Hardware name: Raspberry Pi Compute Module 4 Rev 1.0 (= DT) > [ 5.617358] Call trace: > [ 5.617362] dump_backtrace+0xc0/0x130 > [ 5.617386] show_stack+0x24/0x70 > [ 5.617396] dump_stack_lvl+0x68/0x84 > [ 5.617415] dump_stack+0x18/0x34 > [ 5.617426] __report_bad_irq+0x54/0x16c > [ 5.617436] note_interrupt+0x324/0x41c > [ 5.617445] handle_irq_event+0xc0/0x180 > [ 5.617460] handle_fasteoi_irq+0xc8/0x1fc > [ 5.617468] generic_handle_domain_irq+0x38/0x50 > [ 5.617481] gic_handle_irq+0x68/0xa0 > [ 5.617489] call_on_irq_stack+0x2c/0x60 > [ 5.617500] do_interrupt_handler+0x88/0x90 > [ 5.617511] el0_interrupt+0x58/0x124 > [ 5.617526] __el0_irq_handler_common+0x18/0x2c > [ 5.617538] el0t_64_irq_handler+0x10/0x20 > [ 5.617549] el0t_64_irq+0x18c/0x190 > [ 5.617558] handlers: > [ 5.617563] [<(____ptrval____)>] sdhci_irq [sdhci] threaded [<(___= _ptrval____)>] sdhci_thread_irq [sdhci] > [ 5.617613] Disabling IRQ #35 > =E2=80=A6 > [ 15.581894] mmc0: Timeout waiting for hardware cmd interrupt. > [ 15.581914] mmc0: sdhci: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D SDHC= I REGISTER DUMP =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > [ 15.581920] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001= 002 > [ 15.581931] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000= 000 > [ 15.581937] mmc0: sdhci: Argument: 0x00000c00 | Trn mode: 0x00000= 000 > [ 15.581944] mmc0: sdhci: Present: 0x1fff0000 | Host ctl: 0x00000= 001 > [ 15.581951] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000= 080 > [ 15.581957] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00007= d07 > [ 15.581964] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00018= 000 > [ 15.581971] mmc0: sdhci: Int enab: 0x00ff1003 | Sig enab: 0x00ff1= 003 > [ 15.581976] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000= 001 > [ 15.581982] mmc0: sdhci: Caps: 0x45ee6432 | Caps_1: 0x0000a= 525 > [ 15.581988] mmc0: sdhci: Cmd: 0x0000341a | Max curr: 0x00080= 008 > [ 15.581996] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000= 000 > [ 15.582001] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000= 000 > [ 15.582005] mmc0: sdhci: Host ctl2: 0x00000000 > [ 15.582011] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000= 000 > [ 15.582016] mmc0: sdhci: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D >> also test booting with irqpoll if that's desirable. Or anything else tha= t > might help. I have seen this before and I do not think it is related to my V2 commit. Nonetheless, let us assume that it is related until we can prove otherwise. > > > I did check that applying the same patch on top of the v5.18 tag gives > good results (cold boots and reboots are fine, with or without an empty > PCIe slot, as that was the case during earlier test sessions), so I'd > guess something changed since then, and makes reboots more brittle than > they used to be. Okay, that's why I'd like to see if my v1 works and the v2 doesn't. That will tell me a lot. Kind regards, Jim Quinlan Broadcom STB > > I can also check applying the v1 patch on top of master and compare > results, to give a different perspective. > > But I'd also be happy to get some directions as to which test(s) would > be most beneficial, which would help me cut down on combinatorics. > > > Cheers, > -- > Cyril Brulebois (kibi@debian.org) > D-I release manager -- Release team member -- Freelance Consultant 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AD497C433EF for ; Sun, 29 May 2022 02:12:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=V8EfpUZUvKHof1VMBm23bEUEqpy6jeUDbg0HnMW7QS8=; b=JniEMkXmDkmVBo GDH/fhUpL0s4xtRyxqMRaoHI/A43G2PYFBTs0c5VyxAIoOu+877qNBVgiZwSHiwurYlZ/bnGH/3fO w/v4cZqyK/9EW38MlecEhnrNiQ922C7qQtFi/q1x0wSPOKWvN49HqaYVPqLUxO03gGGWbIEg7eCQn fiSEmRD2uCzjehbAQy0HxVwIc9wRqU/wPJTPoJ+MBHCMMnJoSQai9T2zO8H/nPgSxTkZhtLn39Uf0 7+sYHpb8DWqXdSYoSJ+ntmG6pQ5GC4JcIV2/NpT+TRD0y7d3Yg0ea9gM09N+yU8XkNmDQvhAz1GsW 6J1ukK5inQpBXDPiOQ6g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nv8Ot-00352D-IJ; Sun, 29 May 2022 02:11:27 +0000 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nv8Oo-00351F-KW; Sun, 29 May 2022 02:11:24 +0000 Received: by mail-oi1-x236.google.com with SMTP id s188so10184362oie.4; Sat, 28 May 2022 19:11:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=smiwtbi/0KCKQ9mAxuPcwH47K9rL1ME6DA+PRBcWPyA=; b=ma2BZ8i4KKcn6aDYzmcJdLkipZraQNaNX1gxwNPeTJEV7ZYi9qFsX4ectiwrFmcss0 96e3NgEd1L8XuzHduzIIIUl1iqoOoFbiqYoDYnDy7Fl/kJRrA1EXhsIZdt7QW7svhQ5j OUombPD77hZLviNC7jrIhGpF8srctEdyyPBEuUIzK1ODNpBPjNrFTOsdbaNax+/il5CL I+wSPW2IlwGKl2jwe4yljp2waTo0Ludu3NI/uRFkJxJB2PvfG8tS8QWY7i59dd6iPFIA GRkE1rzZT9hf+XMLTJ/JuPNzCXZYBC8ETQkJCbvtt87Z1naEz83EA42ljSunQuRjzaAX TxTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=smiwtbi/0KCKQ9mAxuPcwH47K9rL1ME6DA+PRBcWPyA=; b=NoQxnWbgWVk4moPFSRApqq5JNdUO36l0j2U7VjZdUaeMz7QGtOlVp2C7QR1QXaXWJK p/xYI0vQW7BZMk5pO/9BUWHJxjijQidzxV+NAFTSjb2ykQ/18KnIKyKEyWh0sgXWqnYl hhjNtl9MadaEM7s5pFcCIG5yEtL9NOna9ovECdr+wL4JtuF1jbAo1RAKTmmeekVSH366 0QS1MaBM8H+xsJ15p9pQeh24zzWa8/dmrJqojr1ofDTRI7YoubXkyjAUr2trRn1i+dOw Kj+nHcl7qHuQJubW8jsFtteYEwQVshdEBHfLIYqHaBSFirhoLQahSACfmS33Uwp0Vm4K UuBg== X-Gm-Message-State: AOAM530MHVeDJL5VRWBvRZKrki3Wgy3gKiAKihRZ1/8lrV8+ah8yrLdH kcTS/mkUvQYYZehpHMHXIETBiTwelrIIMW/DBqw= X-Google-Smtp-Source: ABdhPJx+kRriykk8K/OOKZ2b7La96R0lYMDM7upPEK4Xa37+RL/3ASeemnFqUaBEhPDtwc22HhFRHZJAG5W2qavBN3c= X-Received: by 2002:a05:6808:1825:b0:32b:a1e9:fdb6 with SMTP id bh37-20020a056808182500b0032ba1e9fdb6mr7107048oib.73.1653790281356; Sat, 28 May 2022 19:11:21 -0700 (PDT) MIME-Version: 1.0 References: <20220528224423.7017-1-jim2101024@gmail.com> <20220528224423.7017-2-jim2101024@gmail.com> <20220529011526.4lzuvkv5zclwntce@mraw.org> In-Reply-To: <20220529011526.4lzuvkv5zclwntce@mraw.org> From: Jim Quinlan Date: Sat, 28 May 2022 22:11:10 -0400 Message-ID: Subject: Re: [PATCH v2 1/1] PCI: brcmstb: Fix regression regarding missing PCIe linkup To: Cyril Brulebois Cc: linux-pci , Nicolas Saenz Julienne , Bjorn Helgaas , James Dutton , bcm-kernel-feedback-list , Jim Quinlan , Florian Fainelli , Lorenzo Pieralisi , Rob Herring , =?UTF-8?Q?Krzysztof_Wilczy=C5=84ski?= , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , open list X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220528_191122_743017_24799626 X-CRM114-Status: GOOD ( 38.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU2F0LCBNYXkgMjgsIDIwMjIgYXQgOToxNSBQTSBDeXJpbCBCcnVsZWJvaXMgPGtpYmlAZGVi aWFuLm9yZz4gd3JvdGU6Cj4KPiBIaSBKaW0sCj4KPiBKaW0gUXVpbmxhbiA8amltMjEwMTAyNEBn bWFpbC5jb20+ICgyMDIyLTA1LTI4KToKPiA+IGNvbW1pdCA5M2U0MWYzZmNhM2QgKCJQQ0k6IGJy Y21zdGI6IEFkZCBjb250cm9sIG9mIHN1YmRldmljZSB2b2x0YWdlIHJlZ3VsYXRvcnMiKXZwY2ll M3YzLXN1cHBseQo+ID4KPiA+IGludHJvZHVjZWQgYSByZWdyZXNzaW9uIG9uIHRoZSBQQ0llIFJQ aTQgQ29tcHV0ZSBNb2R1bGUuICBJZiB0aGUgUENJZQo+ID4gcm9vdCBwb3J0IERUIG5vZGUgZGVz Y3JpYmVkIGluIFsyXSB3YXMgbWlzc2luZywgbm8gbGlua3VwIHdvdWxkIGJlIGF0dGVtcHRlZCwK PiA+IGFuZCBzdWJzZXF1ZW50IGFjY2Vzc2VzIHdvdWxkIGNhdXNlIGEgcGFuaWMgYmVjYXVzZSB0 aGlzIHBhcnRpY3VsYXIgUENJZSBIVwo+ID4gY2F1c2VzIGEgQ1BVIGFib3J0IG9uIGlsbGVnYWwg YWNjZXNzZXMgKGluc3RlYWQgb2YgcmV0dXJuaW5nIDB4ZmZmZmZmZmYpLgo+ID4KPiA+IFdlIGZp eCB0aGlzIGJ5IGFsbG93aW5nIHRoZSBEVCByb290IHBvcnQgbm9kZSB0byBiZSBtaXNzaW5nLCBh cyBpdCBiZWhhdmVkCj4gPiBiZWZvcmUgdGhlIG9yaWdpbmFsIHBhdGNoc2V0IG1lc3NlZCB0aGlu Z3MgdXAuCj4gPgo+ID4gSW4gYWRkaXRpb24sIHR3byBzbWFsbCBjaGFuZ2VzIGFyZSBtYWRlOgo+ ID4KPiA+ICAgMS4gSGF2aW5nIHBjaV9zdWJkZXZfcmVndWxhdG9yc19yZW1vdmVfYnVzKCkgY2Fs bAo+ID4gICAgICByZWd1bGF0b3JfYnVsa19mcmVlKCkgaW4gYWRkdGlvbiB0byByZWd1bGF0b3Jf YnVsa19kaXNhYmxlKCkuCj4gPiAgIDIuIEhhdmluZyBicmNtX3BjaWVfYWRkX2J1cygpIHJldHVy biAwIGlmIHRoZXJlIGlzIGFuCj4gPiAgICAgIGVycm9yIGluIGNhbGxpbmcgcGNpX3N1YmRldl9y ZWd1bGF0b3JzX2FkZF9idXMoKS4KPiA+ICAgICAgSW5zdGVhZCwgd2UgZGV2X2VycigpIGFuZCB0 dXJuIG9uIG91ciByZWZ1c2FsIG1vZGUgaW5zdGVhZC4KPiA+Cj4gPiBJdCB3b3VsZCBiZSBiZXN0 IGlmIHRoaXMgY29tbWl0IHdlcmUgdGVzdGVkIGJ5IHNvbWVvbmUgd2l0aCBhIFJwaSBDTTQKPiA+ IHBsYXRmb3JtLCBhcyB0aGF0IGlzIGhvdyB0aGUgcmVncmVzc2lvbiB3YXMgZm91bmQuICBJIGhh dmUgb25seSBlbXVsYXRlZAo+ID4gdGhlIHByb2JsZW0gYW5kIGZpeCBvbiBkaWZmZXJlbnQgcGxh dGZvcm0uCj4KPiBUZXN0aW5nIGlzIGxlc3MgZmxhd2xlc3MgdGhhbiBpdCB3YXMgd2l0aCB0aGUg ZWFybGllciB2ZXJzaW9uLCBidXQgdGhpcwo+IG1pZ2h0IGJlIHJlbGF0ZWQgdG8gdGhlIGZhY3Qg bWFzdGVyIGhhcyBtb3ZlZCBhIGxvdCBzaW5jZSB0aGVuIChmcm9tCj4gdjUuMTgtcmNYIHRvIG9w ZW4gbWVyZ2Ugd2luZG93KS4KPgo+IE92ZXJhbGwsIGl0J3Mgc3RpbGwgYSBuZXQgd2luIG92ZXIg dGhlIHN0YXR1cyBxdW8gKGJyb2tlbiBib290KS4KPgo+Cj4gQXBwbHlpbmcgeW91ciBwYXRjaCBv biA2NjRhMzkzYTI2NjNhMGY2MmZjMWIxODE1N2NjYWUzM2RjZGJiOGM4IGFuZAo+IHBlcmZvcm1p bmcgY29sZCBib290cyBpcyBtb3N0bHkgZmluZToKPiAgLSB3aXRob3V0IGFueXRoaW5nIG9uIHRo ZSBQQ0llIHNsb3Q7Cj4gIC0gd2l0aCBhIFBDSWXihpJxdWFkLVVTQiBleHRlbnNpb24gYm9hcmQs IGEgVVNCIGtleWJvYXJkIGFuZCBhIFVTQiBzdGljawo+ICAgIChib3RoIHdvcmsgZmluZSkuCj4K PiBIb3dldmVyLCB3aXRoIGFuIGVtcHR5IFBDSWUgc2xvdCwgSSdtIG5vIGxvbmdlciBhYmxlIHRv IHBlcmZvcm0gdGhlCj4gZm9sbG93aW5nICh3aGljaCB3YXMgcm9jayBzb2xpZCwgYW5kIGhhcyBi ZWVuIHVzZWQgaW4gYWxsIG15IHRlc3RpbmcgdXAKPiB0byBub3cpOgo+ICAtIGJvb3QgdGhlIGV4 YWN0IHNhbWUgRGViaWFuIHN0YWJsZSBpbWFnZSBhcyBiZWZvcmUgKHJ1bm5pbmcgdjUuMTAueSBp Zgo+ICAgIHRoYXQgbWF0dGVycyk7Cj4gIC0gZGVwbG95IHRoZSBwYXRjaGVkIGtlcm5lbDsKPiAg LSBlbmFibGUgc2VyaWFsIGNvbnNvbGU7Cj4gIC0gcmVib290IGludG8gdGhlIHBhdGNoZWQga2Vy bmVsLgpIaSBDeXJpbCwKClRoYW5rcyBmb3IgdGhlIHF1aWNrIHJlc3BvbnNlLiAgQXMgeW91IG1h eSBoYXZlIGd1ZXNzZWQgb3VyIENNNCBkaWQKbm90IGFycml2ZSB5ZXQgYWx0aG91Z2ggd2UgZGlk IGdldCB0aGUgQ000IElPCmJvYXJkLiAgSSBkb24ndCBrbm93IGlmIHlvdSBoYXZlIHRoZSBiYW5k d2lkdGggdG8gdHJ5IG9uZSBvciBib3RoIG9mCnRoZXNlIHRlc3RzOgoKKDEpIFNhbWUgZXhwZXJp bWVudCBleGNlcHQgcmVtb3ZlIHRoZSBWMiBjb21taXQgYW5kIHVzZSBteSBWMSBjb21taXQuClVu bGVzcyB0aGlzIGlzIGV4YWN0bHkgd2hhdCB5b3UgdHJpZWQgYmVmb3JlLgooMikgU2FtZSBleHBl cmltZW50IGV4Y2VwdCBjb21tZW50aW5nIG91dCB0aGUgY2FsbCBJIG1hZGUgdG8KcmVndWxhdG9y X2J1bGtfZnJlZSgpLgoKCj4KPiBQQ0ktcmVsYXRlZCBtZXNzYWdlcywgYSBjYWxsIHRyYWNlLCBh bmQgYnJva2VuIHN0b3JhZ2U6Cj4KPiAgICAgWyAgICAzLjQyNTMzMV0gYnJjbS1wY2llIGZkNTAw MDAwLnBjaWU6IGhvc3QgYnJpZGdlIC9zY2IvcGNpZUA3ZDUwMDAwMCByYW5nZXM6Cj4gICAgIFsg ICAgMy40MjUzNTNdIGJyY20tcGNpZSBmZDUwMDAwMC5wY2llOiAgIE5vIGJ1cyByYW5nZSBmb3Vu ZCBmb3IgL3NjYi9wY2llQDdkNTAwMDAwLCB1c2luZyBbYnVzIDAwLWZmXQo+ICAgICBbICAgIDMu NDI1Mzg4XSBicmNtLXBjaWUgZmQ1MDAwMDAucGNpZTogICAgICBNRU0gMHgwNjAwMDAwMDAwLi4w eDA2MDNmZmZmZmYgLT4gMHgwMGY4MDAwMDAwCj4gICAgIFsgICAgMy40MjU0MjBdIGJyY20tcGNp ZSBmZDUwMDAwMC5wY2llOiAgIElCIE1FTSAweDAwMDAwMDAwMDAuLjB4MDAzZmZmZmZmZiAtPiAw eDA0MDAwMDAwMDAKPiAgICAgWyAgICAzLjQyNjIyOV0gYnJjbS1wY2llIGZkNTAwMDAwLnBjaWU6 IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMAo+ICAgICBbICAgIDMuNDI2MjQzXSBwY2lf YnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFtidXMgMDAtZmZdCj4gICAgIFsgICAgMy40 MjYyNTVdIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweDYwMDAwMDAw MC0weDYwM2ZmZmZmZl0gKGJ1cyBhZGRyZXNzIFsweGY4MDAwMDAwLTB4ZmJmZmZmZmZdKQo+ICAg ICBbICAgIDMuNDI2MzAzXSBwY2kgMDAwMDowMDowMC4wOiBbMTRlNDoyNzExXSB0eXBlIDAxIGNs YXNzIDB4MDYwNDAwCj4gICAgIFsgICAgMy40MjYzOThdIHBjaSAwMDAwOjAwOjAwLjA6IFBNRSMg c3VwcG9ydGVkIGZyb20gRDAgRDNob3QKPiAgICAgWyAgICAzLjQyODc5N10gcGNpIDAwMDA6MDA6 MDAuMDogYnJpZGdlIGNvbmZpZ3VyYXRpb24gaW52YWxpZCAoW2J1cyAwMC0wMF0pLCByZWNvbmZp Z3VyaW5nCj4gICAgIFsgICAgMy43NDU5MDldIGJyY20tcGNpZSBmZDUwMDAwMC5wY2llOiBsaW5r IGRvd24KPiAgICAgWyAgICAzLjc0NzkxNV0gcGNpX2J1cyAwMDAwOjAxOiBidXNuX3JlczogW2J1 cyAwMS1mZl0gZW5kIGlzIHVwZGF0ZWQgdG8gMDEKPiAgICAgWyAgICAzLjc0Nzk0NF0gcGNpIDAw MDA6MDA6MDAuMDogUENJIGJyaWRnZSB0byBbYnVzIDAxXQo+ICAgICBbICAgIDMuNzQ4Mjk0XSBw Y2llcG9ydCAwMDAwOjAwOjAwLjA6IFBNRTogU2lnbmFsaW5nIHdpdGggSVJRIDIzCj4gICAgIFsg ICAgMy43NDg2OTFdIHBjaWVwb3J0IDAwMDA6MDA6MDAuMDogQUVSOiBlbmFibGVkIHdpdGggSVJR IDIzCj4gICAgIFsgICAgMy43NDkyMDFdIHBjaV9idXMgMDAwMDowMTogYnVzbl9yZXM6IFtidXMg MDFdIGlzIHJlbGVhc2VkCj4gICAgIFsgICAgMy43NDk0NjJdIHBjaV9idXMgMDAwMDowMDogYnVz bl9yZXM6IFtidXMgMDAtZmZdIGlzIHJlbGVhc2VkCj4gICAgIOKApgpEb2VzICIuLi4iIGhlcmUg bWVhbiB5b3UgcmVtb3ZlZCBzb21lIGxpbmVzIG9yIHRoYXQgaXQgaHVuZz8gIElmIHlvdQpyZW1v dmVkIGxpbmVzIGNhbiB5b3UgcGxlYXNlIHBvc3QgdGhlCmZ1bGwgYm9vdGxvZz8gIEkgZG8gbm90 IG5lZWQgdG8gc2VlIHRoZSBtbWMwIHNkaGNpIGVycm9ycyB0aG91Z2guCgo+ICAgICBbICAgIDUu NjE3MzA4XSBpcnEgMzU6IG5vYm9keSBjYXJlZCAodHJ5IGJvb3Rpbmcgd2l0aCB0aGUgImlycXBv bGwiIG9wdGlvbikKPiAgICAgWyAgICA1LjYxNzMzNV0gQ1BVOiAwIFBJRDogMTI3IENvbW06IHN5 c3RlbWQtdWRldmQgTm90IHRhaW50ZWQgNS4xOC4wKyAjMQo+ICAgICBbICAgIDUuNjE3MzUwXSBI YXJkd2FyZSBuYW1lOiBSYXNwYmVycnkgUGkgQ29tcHV0ZSBNb2R1bGUgNCBSZXYgMS4wIChEVCkK PiAgICAgWyAgICA1LjYxNzM1OF0gQ2FsbCB0cmFjZToKPiAgICAgWyAgICA1LjYxNzM2Ml0gIGR1 bXBfYmFja3RyYWNlKzB4YzAvMHgxMzAKPiAgICAgWyAgICA1LjYxNzM4Nl0gIHNob3dfc3RhY2sr MHgyNC8weDcwCj4gICAgIFsgICAgNS42MTczOTZdICBkdW1wX3N0YWNrX2x2bCsweDY4LzB4ODQK PiAgICAgWyAgICA1LjYxNzQxNV0gIGR1bXBfc3RhY2srMHgxOC8weDM0Cj4gICAgIFsgICAgNS42 MTc0MjZdICBfX3JlcG9ydF9iYWRfaXJxKzB4NTQvMHgxNmMKPiAgICAgWyAgICA1LjYxNzQzNl0g IG5vdGVfaW50ZXJydXB0KzB4MzI0LzB4NDFjCj4gICAgIFsgICAgNS42MTc0NDVdICBoYW5kbGVf aXJxX2V2ZW50KzB4YzAvMHgxODAKPiAgICAgWyAgICA1LjYxNzQ2MF0gIGhhbmRsZV9mYXN0ZW9p X2lycSsweGM4LzB4MWZjCj4gICAgIFsgICAgNS42MTc0NjhdICBnZW5lcmljX2hhbmRsZV9kb21h aW5faXJxKzB4MzgvMHg1MAo+ICAgICBbICAgIDUuNjE3NDgxXSAgZ2ljX2hhbmRsZV9pcnErMHg2 OC8weGEwCj4gICAgIFsgICAgNS42MTc0ODldICBjYWxsX29uX2lycV9zdGFjaysweDJjLzB4NjAK PiAgICAgWyAgICA1LjYxNzUwMF0gIGRvX2ludGVycnVwdF9oYW5kbGVyKzB4ODgvMHg5MAo+ICAg ICBbICAgIDUuNjE3NTExXSAgZWwwX2ludGVycnVwdCsweDU4LzB4MTI0Cj4gICAgIFsgICAgNS42 MTc1MjZdICBfX2VsMF9pcnFfaGFuZGxlcl9jb21tb24rMHgxOC8weDJjCj4gICAgIFsgICAgNS42 MTc1MzhdICBlbDB0XzY0X2lycV9oYW5kbGVyKzB4MTAvMHgyMAo+ICAgICBbICAgIDUuNjE3NTQ5 XSAgZWwwdF82NF9pcnErMHgxOGMvMHgxOTAKPiAgICAgWyAgICA1LjYxNzU1OF0gaGFuZGxlcnM6 Cj4gICAgIFsgICAgNS42MTc1NjNdIFs8KF9fX19wdHJ2YWxfX19fKT5dIHNkaGNpX2lycSBbc2Ro Y2ldIHRocmVhZGVkIFs8KF9fX19wdHJ2YWxfX19fKT5dIHNkaGNpX3RocmVhZF9pcnEgW3NkaGNp XQo+ICAgICBbICAgIDUuNjE3NjEzXSBEaXNhYmxpbmcgSVJRICMzNQo+ICAgICDigKYKPiAgICAg WyAgIDE1LjU4MTg5NF0gbW1jMDogVGltZW91dCB3YWl0aW5nIGZvciBoYXJkd2FyZSBjbWQgaW50 ZXJydXB0Lgo+ICAgICBbICAgMTUuNTgxOTE0XSBtbWMwOiBzZGhjaTogPT09PT09PT09PT09IFNE SENJIFJFR0lTVEVSIERVTVAgPT09PT09PT09PT0KPiAgICAgWyAgIDE1LjU4MTkyMF0gbW1jMDog c2RoY2k6IFN5cyBhZGRyOiAgMHgwMDAwMDAwMCB8IFZlcnNpb246ICAweDAwMDAxMDAyCj4gICAg IFsgICAxNS41ODE5MzFdIG1tYzA6IHNkaGNpOiBCbGsgc2l6ZTogIDB4MDAwMDAwMDAgfCBCbGsg Y250OiAgMHgwMDAwMDAwMAo+ICAgICBbICAgMTUuNTgxOTM3XSBtbWMwOiBzZGhjaTogQXJndW1l bnQ6ICAweDAwMDAwYzAwIHwgVHJuIG1vZGU6IDB4MDAwMDAwMDAKPiAgICAgWyAgIDE1LjU4MTk0 NF0gbW1jMDogc2RoY2k6IFByZXNlbnQ6ICAgMHgxZmZmMDAwMCB8IEhvc3QgY3RsOiAweDAwMDAw MDAxCj4gICAgIFsgICAxNS41ODE5NTFdIG1tYzA6IHNkaGNpOiBQb3dlcjogICAgIDB4MDAwMDAw MGYgfCBCbGsgZ2FwOiAgMHgwMDAwMDA4MAo+ICAgICBbICAgMTUuNTgxOTU3XSBtbWMwOiBzZGhj aTogV2FrZS11cDogICAweDAwMDAwMDAwIHwgQ2xvY2s6ICAgIDB4MDAwMDdkMDcKPiAgICAgWyAg IDE1LjU4MTk2NF0gbW1jMDogc2RoY2k6IFRpbWVvdXQ6ICAgMHgwMDAwMDAwMCB8IEludCBzdGF0 OiAweDAwMDE4MDAwCj4gICAgIFsgICAxNS41ODE5NzFdIG1tYzA6IHNkaGNpOiBJbnQgZW5hYjog IDB4MDBmZjEwMDMgfCBTaWcgZW5hYjogMHgwMGZmMTAwMwo+ICAgICBbICAgMTUuNTgxOTc2XSBt bWMwOiBzZGhjaTogQUNtZCBzdGF0OiAweDAwMDAwMDAwIHwgU2xvdCBpbnQ6IDB4MDAwMDAwMDEK PiAgICAgWyAgIDE1LjU4MTk4Ml0gbW1jMDogc2RoY2k6IENhcHM6ICAgICAgMHg0NWVlNjQzMiB8 IENhcHNfMTogICAweDAwMDBhNTI1Cj4gICAgIFsgICAxNS41ODE5ODhdIG1tYzA6IHNkaGNpOiBD bWQ6ICAgICAgIDB4MDAwMDM0MWEgfCBNYXggY3VycjogMHgwMDA4MDAwOAo+ICAgICBbICAgMTUu NTgxOTk2XSBtbWMwOiBzZGhjaTogUmVzcFswXTogICAweDAwMDAwMDAwIHwgUmVzcFsxXTogIDB4 MDAwMDAwMDAKPiAgICAgWyAgIDE1LjU4MjAwMV0gbW1jMDogc2RoY2k6IFJlc3BbMl06ICAgMHgw MDAwMDAwMCB8IFJlc3BbM106ICAweDAwMDAwMDAwCj4gICAgIFsgICAxNS41ODIwMDVdIG1tYzA6 IHNkaGNpOiBIb3N0IGN0bDI6IDB4MDAwMDAwMDAKPiAgICAgWyAgIDE1LjU4MjAxMV0gbW1jMDog c2RoY2k6IEFETUEgRXJyOiAgMHgwMDAwMDAwMCB8IEFETUEgUHRyOiAweDAwMDAwMDAwCj4gICAg IFsgICAxNS41ODIwMTZdIG1tYzA6IHNkaGNpOiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+Cj4gVGhpcyBsYXN0IHBhcnQgZ2V0cyByZXBlYXRlZCBvdmVyIGFu ZCBvdmVyLCBhbmQgc3RvcmFnZSAoZXh0ZXJuYWwgU0QKPiBjYXJkKSBuZXZlciBjb21lcyB1cC4g SSBjYW4gc2hhcmUgZnVsbGVyIGxvZ3MgaWYgdGhhdCdzIGRlc2lyYWJsZS4gSSBjYW4KdGhlCmZ1 bGwgYm9vdGxvZz8KCj4gICAgIFsgICAgNS42MTczMDhdIGlycSAzNTogbm9ib2R5IGNhcmVkICh0 cnkgYm9vdGluZyB3aXRoIHRoZSAiaXJxcG9sbCIgb3B0aW9uKQo+ICAgICBbICAgIDUuNjE3MzM1 XSBDUFU6IDAgUElEOiAxMjcgQ29tbTogc3lzdGVtZC11ZGV2ZCBOb3QgdGFpbnRlZCA1LjE4LjAr ICMxCj4gICAgIFsgICAgNS42MTczNTBdIEhhcmR3YXJlIG5hbWU6IFJhc3BiZXJyeSBQaSBDb21w dXRlIE1vZHVsZSA0IFJldiAxLjAgKERUKQo+ICAgICBbICAgIDUuNjE3MzU4XSBDYWxsIHRyYWNl Ogo+ICAgICBbICAgIDUuNjE3MzYyXSAgZHVtcF9iYWNrdHJhY2UrMHhjMC8weDEzMAo+ICAgICBb ICAgIDUuNjE3Mzg2XSAgc2hvd19zdGFjaysweDI0LzB4NzAKPiAgICAgWyAgICA1LjYxNzM5Nl0g IGR1bXBfc3RhY2tfbHZsKzB4NjgvMHg4NAo+ICAgICBbICAgIDUuNjE3NDE1XSAgZHVtcF9zdGFj aysweDE4LzB4MzQKPiAgICAgWyAgICA1LjYxNzQyNl0gIF9fcmVwb3J0X2JhZF9pcnErMHg1NC8w eDE2Ywo+ICAgICBbICAgIDUuNjE3NDM2XSAgbm90ZV9pbnRlcnJ1cHQrMHgzMjQvMHg0MWMKPiAg ICAgWyAgICA1LjYxNzQ0NV0gIGhhbmRsZV9pcnFfZXZlbnQrMHhjMC8weDE4MAo+ICAgICBbICAg IDUuNjE3NDYwXSAgaGFuZGxlX2Zhc3Rlb2lfaXJxKzB4YzgvMHgxZmMKPiAgICAgWyAgICA1LjYx NzQ2OF0gIGdlbmVyaWNfaGFuZGxlX2RvbWFpbl9pcnErMHgzOC8weDUwCj4gICAgIFsgICAgNS42 MTc0ODFdICBnaWNfaGFuZGxlX2lycSsweDY4LzB4YTAKPiAgICAgWyAgICA1LjYxNzQ4OV0gIGNh bGxfb25faXJxX3N0YWNrKzB4MmMvMHg2MAo+ICAgICBbICAgIDUuNjE3NTAwXSAgZG9faW50ZXJy dXB0X2hhbmRsZXIrMHg4OC8weDkwCj4gICAgIFsgICAgNS42MTc1MTFdICBlbDBfaW50ZXJydXB0 KzB4NTgvMHgxMjQKPiAgICAgWyAgICA1LjYxNzUyNl0gIF9fZWwwX2lycV9oYW5kbGVyX2NvbW1v bisweDE4LzB4MmMKPiAgICAgWyAgICA1LjYxNzUzOF0gIGVsMHRfNjRfaXJxX2hhbmRsZXIrMHgx MC8weDIwCj4gICAgIFsgICAgNS42MTc1NDldICBlbDB0XzY0X2lycSsweDE4Yy8weDE5MAo+ICAg ICBbICAgIDUuNjE3NTU4XSBoYW5kbGVyczoKPiAgICAgWyAgICA1LjYxNzU2M10gWzwoX19fX3B0 cnZhbF9fX18pPl0gc2RoY2lfaXJxIFtzZGhjaV0gdGhyZWFkZWQgWzwoX19fX3B0cnZhbF9fX18p Pl0gc2RoY2lfdGhyZWFkX2lycSBbc2RoY2ldCj4gICAgIFsgICAgNS42MTc2MTNdIERpc2FibGlu ZyBJUlEgIzM1Cj4gICAgIOKApgo+ICAgICBbICAgMTUuNTgxODk0XSBtbWMwOiBUaW1lb3V0IHdh aXRpbmcgZm9yIGhhcmR3YXJlIGNtZCBpbnRlcnJ1cHQuCj4gICAgIFsgICAxNS41ODE5MTRdIG1t YzA6IHNkaGNpOiA9PT09PT09PT09PT0gU0RIQ0kgUkVHSVNURVIgRFVNUCA9PT09PT09PT09PQo+ ICAgICBbICAgMTUuNTgxOTIwXSBtbWMwOiBzZGhjaTogU3lzIGFkZHI6ICAweDAwMDAwMDAwIHwg VmVyc2lvbjogIDB4MDAwMDEwMDIKPiAgICAgWyAgIDE1LjU4MTkzMV0gbW1jMDogc2RoY2k6IEJs ayBzaXplOiAgMHgwMDAwMDAwMCB8IEJsayBjbnQ6ICAweDAwMDAwMDAwCj4gICAgIFsgICAxNS41 ODE5MzddIG1tYzA6IHNkaGNpOiBBcmd1bWVudDogIDB4MDAwMDBjMDAgfCBUcm4gbW9kZTogMHgw MDAwMDAwMAo+ICAgICBbICAgMTUuNTgxOTQ0XSBtbWMwOiBzZGhjaTogUHJlc2VudDogICAweDFm ZmYwMDAwIHwgSG9zdCBjdGw6IDB4MDAwMDAwMDEKPiAgICAgWyAgIDE1LjU4MTk1MV0gbW1jMDog c2RoY2k6IFBvd2VyOiAgICAgMHgwMDAwMDAwZiB8IEJsayBnYXA6ICAweDAwMDAwMDgwCj4gICAg IFsgICAxNS41ODE5NTddIG1tYzA6IHNkaGNpOiBXYWtlLXVwOiAgIDB4MDAwMDAwMDAgfCBDbG9j azogICAgMHgwMDAwN2QwNwo+ICAgICBbICAgMTUuNTgxOTY0XSBtbWMwOiBzZGhjaTogVGltZW91 dDogICAweDAwMDAwMDAwIHwgSW50IHN0YXQ6IDB4MDAwMTgwMDAKPiAgICAgWyAgIDE1LjU4MTk3 MV0gbW1jMDogc2RoY2k6IEludCBlbmFiOiAgMHgwMGZmMTAwMyB8IFNpZyBlbmFiOiAweDAwZmYx MDAzCj4gICAgIFsgICAxNS41ODE5NzZdIG1tYzA6IHNkaGNpOiBBQ21kIHN0YXQ6IDB4MDAwMDAw MDAgfCBTbG90IGludDogMHgwMDAwMDAwMQo+ICAgICBbICAgMTUuNTgxOTgyXSBtbWMwOiBzZGhj aTogQ2FwczogICAgICAweDQ1ZWU2NDMyIHwgQ2Fwc18xOiAgIDB4MDAwMGE1MjUKPiAgICAgWyAg IDE1LjU4MTk4OF0gbW1jMDogc2RoY2k6IENtZDogICAgICAgMHgwMDAwMzQxYSB8IE1heCBjdXJy OiAweDAwMDgwMDA4Cj4gICAgIFsgICAxNS41ODE5OTZdIG1tYzA6IHNkaGNpOiBSZXNwWzBdOiAg IDB4MDAwMDAwMDAgfCBSZXNwWzFdOiAgMHgwMDAwMDAwMAo+ICAgICBbICAgMTUuNTgyMDAxXSBt bWMwOiBzZGhjaTogUmVzcFsyXTogICAweDAwMDAwMDAwIHwgUmVzcFszXTogIDB4MDAwMDAwMDAK PiAgICAgWyAgIDE1LjU4MjAwNV0gbW1jMDogc2RoY2k6IEhvc3QgY3RsMjogMHgwMDAwMDAwMAo+ ICAgICBbICAgMTUuNTgyMDExXSBtbWMwOiBzZGhjaTogQURNQSBFcnI6ICAweDAwMDAwMDAwIHwg QURNQSBQdHI6IDB4MDAwMDAwMDAKPiAgICAgWyAgIDE1LjU4MjAxNl0gbW1jMDogc2RoY2k6ID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+IGFsc28gdGVzdCBi b290aW5nIHdpdGggaXJxcG9sbCBpZiB0aGF0J3MgZGVzaXJhYmxlLiBPciBhbnl0aGluZyBlbHNl IHRoYXQKPiBtaWdodCBoZWxwLgpJIGhhdmUgc2VlbiB0aGlzIGJlZm9yZSBhbmQgSSBkbyBub3Qg dGhpbmsgaXQgaXMgcmVsYXRlZCB0byBteSBWMgpjb21taXQuIE5vbmV0aGVsZXNzLCBsZXQgdXMK YXNzdW1lIHRoYXQgaXQgaXMgcmVsYXRlZCB1bnRpbCB3ZSBjYW4gcHJvdmUgb3RoZXJ3aXNlLgoK Pgo+Cj4gSSBkaWQgY2hlY2sgdGhhdCBhcHBseWluZyB0aGUgc2FtZSBwYXRjaCBvbiB0b3Agb2Yg dGhlIHY1LjE4IHRhZyBnaXZlcwo+IGdvb2QgcmVzdWx0cyAoY29sZCBib290cyBhbmQgcmVib290 cyBhcmUgZmluZSwgd2l0aCBvciB3aXRob3V0IGFuIGVtcHR5Cj4gUENJZSBzbG90LCBhcyB0aGF0 IHdhcyB0aGUgY2FzZSBkdXJpbmcgZWFybGllciB0ZXN0IHNlc3Npb25zKSwgc28gSSdkCj4gZ3Vl c3Mgc29tZXRoaW5nIGNoYW5nZWQgc2luY2UgdGhlbiwgYW5kIG1ha2VzIHJlYm9vdHMgbW9yZSBi cml0dGxlIHRoYW4KPiB0aGV5IHVzZWQgdG8gYmUuCk9rYXksIHRoYXQncyB3aHkgSSdkIGxpa2Ug dG8gc2VlIGlmIG15IHYxIHdvcmtzIGFuZCB0aGUgdjIgZG9lc24ndC4gIFRoYXQKd2lsbCB0ZWxs IG1lIGEgbG90LgoKS2luZCByZWdhcmRzLApKaW0gUXVpbmxhbgpCcm9hZGNvbSBTVEIKPgo+IEkg Y2FuIGFsc28gY2hlY2sgYXBwbHlpbmcgdGhlIHYxIHBhdGNoIG9uIHRvcCBvZiBtYXN0ZXIgYW5k IGNvbXBhcmUKPiByZXN1bHRzLCB0byBnaXZlIGEgZGlmZmVyZW50IHBlcnNwZWN0aXZlLgo+Cj4g QnV0IEknZCBhbHNvIGJlIGhhcHB5IHRvIGdldCBzb21lIGRpcmVjdGlvbnMgYXMgdG8gd2hpY2gg dGVzdChzKSB3b3VsZAo+IGJlIG1vc3QgYmVuZWZpY2lhbCwgd2hpY2ggd291bGQgaGVscCBtZSBj dXQgZG93biBvbiBjb21iaW5hdG9yaWNzLgo+Cj4KPiBDaGVlcnMsCj4gLS0KPiBDeXJpbCBCcnVs ZWJvaXMgKGtpYmlAZGViaWFuLm9yZykgICAgICAgICAgICA8aHR0cHM6Ly9kZWJhbWF4LmNvbS8+ Cj4gRC1JIHJlbGVhc2UgbWFuYWdlciAtLSBSZWxlYXNlIHRlYW0gbWVtYmVyIC0tIEZyZWVsYW5j ZSBDb25zdWx0YW50CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==