[Skiboot] [RFC PATCH 17/23] hw/phb4: Move link tracing into poll_link()
Frederic Barrat
fbarrat at linux.ibm.com
Thu Aug 1 05:28:25 AEST 2019
Le 03/04/2019 à 11:09, Oliver O'Halloran a écrit :
> Currently when we bring the link up we'll stay in the and the link
> training trace is enabled we stay in the FRESET_ASSERT_DELAY state until
> the link is trained.
Something is not quite right in that sentence.
Fred
> Although this is not wrong, it does mean that we don't get a link training
> trace in the HRESET case and it's additional PHB4 specific behavior
> in the FRESET path. We want to move to a generic FRESET function that
> correctly deals with power-controlled slots, so this patch moves the
> link trace into the poll_link() function to handle the HRESET case
> and make the FRESET path more generic.
>
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
> ---
> hw/phb4.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/hw/phb4.c b/hw/phb4.c
> index c63e916da0b7..3a6b05b4a5a6 100644
> --- a/hw/phb4.c
> +++ b/hw/phb4.c
> @@ -2789,8 +2789,11 @@ static int64_t phb4_poll_link(struct pci_slot *slot)
> PHBDBG(p, "LINK: Start polling\n");
> slot->retries = PHB4_LINK_ELECTRICAL_RETRIES;
> pci_slot_set_state(slot, PHB4_SLOT_LINK_WAIT_ELECTRICAL);
> - /* Polling early here has no chance of a false positive */
> - return pci_slot_set_sm_timeout(slot, msecs_to_tb(1));
> +
> + if (pci_tracing)
> + phb4_training_trace(p);
> +
> + /* fallthrough */
> case PHB4_SLOT_LINK_WAIT_ELECTRICAL:
> /*
> * Wait for the link electrical connection to be
> @@ -3049,8 +3052,6 @@ static int64_t phb4_freset(struct pci_slot *slot)
> PHBDBG(p, "FRESET: Deassert\n");
> phb4_assert_perst(slot, false);
>
> - phb4_training_trace(p);
> -
> pci_slot_set_state(slot, PHB4_SLOT_LINK_START);
> return slot->ops.poll_link(slot);
> default:
>
More information about the Skiboot
mailing list