Subject: Re: cxl: Update process element after allocating interrupts

From: Michael Ellerman <[email-masked]>
Date: Tue, 21 Jun 2016 10:40:53 +1000 (AEST)

On Mon, 2016-23-05 at 16:14:05 UTC, Ian Munsie wrote:
> From: Ian Munsie <[email-masked]>
> 
> In the kernel API, it is possible to attempt to allocate AFU interrupts
> after already starting a context. Since the process element structure
> used by the hardware is only filled out at the time the context is
> started, it will not be updated with the interrupt numbers that have
> just been allocated and therefore AFU interrupts will not work unless
> they were allocated prior to starting the context.
> 
> This can present some difficulties as each CAPI enabled PCI device in
> the kernel API has a default context, which may need to be started very
> early to enable translations, potentially before interrupts can easily
> be set up.
> 
> This patch makes the API more flexible to allow interrupts to be
> allocated after a context has already been started and takes care of
> updating the PE structure used by the hardware and notifying it to
> discard any cached copy it may have.
> 
> The update is currently performed via a terminate/remove/add sequence.
> This is necessary on some hardware such as the XSL that does not
> properly support the update LLCMD.
> 
> Note that this is only supported on powernv at present - attempting to
> perform this ordering on PowerVM will raise a warning.
> 
> Signed-off-by: Ian Munsie <[email-masked]>
> Reviewed-by: Frederic Barrat <[email-masked]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/292841b09648ce7aee5df16ab7

cheers