[Skiboot] [PATCH] hw/npu2: Merge reset functions
Alistair Popple
alistair at popple.id.au
Tue Mar 26 13:15:05 AEDT 2019
On Monday, 25 March 2019 11:12:49 AM AEDT Frederic Barrat wrote:
> Le 22/03/2019 à 22:15, Reza Arbab a écrit :
> > On Fri, Mar 22, 2019 at 04:45:23PM +1100, Oliver O'Halloran wrote:
> >> static int64_t npu2_freset(struct pci_slot *slot __unused)
> >> {
> >> - return OPAL_SUCCESS;
> >> + return npu2_reset("Freset");
> >> }
> >
> > IIRC, there actually is a reason npu2_freset() doesn't do anything.
> >
> > Alistair, do you recall?
>
> I'm certainly not trying to fill-in for Alistair ;-) but freset is
> called when the PCI slots are init when skiboot starts, typically to
> kick-in link training. Except for nvlink. So here we'd be resetting the
> NTL instead of doing nothing. Any chance it could have consequences?
I don't recall there being any reason why freset doesn't do anything other
than it doesn't need to do anything.
The NVLink resets were originally used for resetting the NVLink HW to a POR
state so the driver could retrain links, etc. in the case of a GPU reset. For
coherent memory we required some work arounds to fence the NVLink as well once
the link was brought down. Calling this from freset() shouldn't cause any
issues during skiboot start, although I am not sure what the argument for
doing it is either as unlike PCIe (and perhaps CAPI?) we can't do nvlink
training from Skiboot.
- Alistair
> Fred
More information about the Skiboot
mailing list