Hi Pratyush Many thanks for quick replying
> -----Original Message----- > From: Pratyush Anand [mailto:[email protected]] > Sent: 07 April 2016 07:59 > To: Gabriele Paoloni > Cc: Jisheng Zhang; [email protected]; [email protected]; linux- > [email protected]; [email protected]; linux-arm- > [email protected] > Subject: Re: [PATCH v2] PCI: designware: move remaining rc setup code > to dw_pcie_setup_rc() > > Hi Gab, > > Thanks for bringing it. > > > On Wed, Apr 6, 2016 at 8:20 PM, Gabriele Paoloni > <[email protected]> wrote: > > Hi, sorry to be late on this > > > >> -----Original Message----- > >> From: [email protected] [mailto:linux-kernel- > >> [email protected]] On Behalf Of Jisheng Zhang > >> Sent: 16 March 2016 11:41 > >> To: [email protected]; [email protected]; > [email protected] > >> Cc: [email protected]; [email protected]; linux- > arm- > >> [email protected]; Jisheng Zhang > >> Subject: [PATCH v2] PCI: designware: move remaining rc setup code to > >> dw_pcie_setup_rc() > >> > >> dw_pcie_setup_rc(), as its name indicates, setups the RC. But > current > >> dw_pcie_host_init() also contains some necessary rc setup code. > >> > >> Another reason: the host may lost power during suspend to ram, the > RC > >> need to be re-setup after resume. The rc can't be correctly resumed > >> without the rc setup code in dw_pcie_host_init(). > >> > >> So this patch moves the code to dw_pcie_setup_rc() to address the > above > >> two issues. After this patch, each pcie designware driver users > could > >> call dw_pcie_setup_rc() to re-setup rc when resume back. > > > > I think this patch breaks the Hisilicon driver... > > > > Our driver performs linkup setup in UEFI therefore we do not call > > dw_pcie_setup_rc(), we only call dw_pcie_host_init(). > > > > Maybe better to group the part of code to be moved in as separate > > function... > > > > Thanks and sorry for late reply. > > > > I am just wondering, should n't then what ever we do in > dw_pcie_setup_rc() be done in your boot loader and not just link up. Currently the HiSilicon driver does not call dw_pcie_setup_rc() at all; so everything is done in dw_pcie_setup_rc() is done in bootloader. I guess your question is if we can execute in bootloader the part of code the this patch has moved to in "dw_pcie_setup_rc()". I think the problem here is that even if it was possible we would break backward compatibility with previous bootloaders... Thanks Gab > > ~Pratyush

