From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gavin Shan Subject: Re: [PATCH v7 39/50] powerpc/powernv: Fundamental reset in pnv_pci_reset_secondary_bus() Date: Fri, 13 Nov 2015 11:20:15 +1100 Message-ID: <20151113002015.GA21341@gwshan> References: <1446642770-4681-1-git-send-email-gwshan@linux.vnet.ibm.com> <1446642770-4681-40-git-send-email-gwshan@linux.vnet.ibm.com> <87fv0azrpe.fsf@gamma.ozlabs.ibm.com> Reply-To: Gavin Shan Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <87fv0azrpe.fsf@gamma.ozlabs.ibm.com> Sender: linux-pci-owner@vger.kernel.org To: Daniel Axtens Cc: Gavin Shan , linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, benh@kernel.crashing.org, mpe@ellerman.id.au, aik@ozlabs.ru, bhelgaas@google.com, grant.likely@linaro.org, robherring2@gmail.com, panto@antoniou-consulting.com, frowand.list@gmail.com List-Id: devicetree@vger.kernel.org On Fri, Nov 13, 2015 at 11:08:29AM +1100, Daniel Axtens wrote: >Gavin Shan writes: > >> void pnv_pci_reset_secondary_bus(struct pci_dev *dev) >> { >> - pnv_eeh_bridge_reset(dev, EEH_RESET_HOT); >> + int option, freset = 0; >> + >> + if (dev->subordinate) >> + pci_walk_bus(dev->subordinate, >> + pnv_pci_dev_reset_type, &freset); >> + >> + option = freset ? EEH_RESET_FUNDAMENTAL : EEH_RESET_HOT; >> + pnv_eeh_bridge_reset(dev, option); > >According to the skiboot sources, fundamental reset isn't supported on >p5ioc2. As far as I can tell from your corresponding skiboot patches, >this is still the case after they are applied. Do we need a fallback to >EEH_RESET_HOT in this case? Otherwise there will be no reset performed >at all. > >Likewise, if the FUNDAMENTAL reset fails for any reason, should we fall >back to a HOT reset? > P5IOC2 won't export any PCI slots. So kernel won't issue fundamental reset to PCI buses on P5IOC2. We had the failback: hot reset is picked if fundamental reset can't be supported on the target PCI bus. In case fundamental reset fails, we shouldn't go ahead try hot reset. Thanks, Gavin >Regards, >Daniel