Messages in this thread | | | Date | Mon, 18 Jul 2022 17:40:33 -0500 | From | Bjorn Helgaas <> | Subject | Re: [PATCH v2 2/6] PCI: brcmstb: Split brcm_pcie_setup() into two funcs |
| |
On Mon, Jul 18, 2022 at 01:14:25PM -0500, Bjorn Helgaas wrote: > ...
> So I think brcm_pcie_setup() does initialization that doesn't depend > on the link or any downstream devices, and brcm_pcie_start_link() does > things that depend on the link being up. Right? > > If so, "start_link" might be a slight misnomer since AFAICT > brcm_pcie_start_link() doesn't do anything to initiate link-up except > maybe deasserting fundamental reset. Some drivers start the LTSSM or > explicitly enable link training, but brcm_pcie_start_link() doesn't > seem to do anything like that. > > brcm_pcie_start_link() still does brcm_pcie_set_outbound_win(). Does > that really depend on the link being up? If that only affects the > Root Port, maybe it could be done before link-up?
What about the /* PCIe->SCB endian mode for BAR */ thing? Does that depend on the link being up?
And the "Refclk from RC should be gated with CLKREQ#" part? Does that depend on the link being up?
It seems obvious that brcm_pcie_set_ssc() and reading the negotiated link speed and width depend on the link being up.
| |