Re: [RFC PATCH v2 10/11] powerpc: Support to replay PMIs

2016-08-01 Thread Nicholas Piggin
On Mon, 1 Aug 2016 15:52:28 +0530 Madhavan Srinivasan wrote: > On Monday 01 August 2016 02:21 PM, Benjamin Herrenschmidt wrote: > > On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote: > >> This will replay hardware_interrupt_common in the case we got a PMI > >>

Re: [RFC PATCH v2 10/11] powerpc: Support to replay PMIs

2016-08-01 Thread Madhavan Srinivasan
On Monday 01 August 2016 02:21 PM, Benjamin Herrenschmidt wrote: On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote: This will replay hardware_interrupt_common in the case we got a PMI interrupt but no EE. Should we just follow the normal pattern here, return 0xf00 for PMI, and replay

Re: [RFC PATCH v2 10/11] powerpc: Support to replay PMIs

2016-08-01 Thread Benjamin Herrenschmidt
On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote: > > +static inline unsigned long soft_irq_set_level(int value) > > +{ > > + unsigned long flags, zero; > > + > > + asm volatile( > > + "li %1,%3; lbz %0,%2(13); stb %1,%2(13)" > > + : "=r" (flags), "=" (zero)

Re: [RFC PATCH v2 10/11] powerpc: Support to replay PMIs

2016-08-01 Thread Benjamin Herrenschmidt
On Mon, 2016-08-01 at 18:07 +1000, Nicholas Piggin wrote: > This will replay hardware_interrupt_common in the case we got a PMI > interrupt but no EE. > > Should we just follow the normal pattern here, return 0xf00 for PMI, > and replay the same as the other cases? Agreed. Cheers, Ben.

Re: [RFC PATCH v2 10/11] powerpc: Support to replay PMIs

2016-08-01 Thread Nicholas Piggin
On Mon, 1 Aug 2016 00:36:28 +0530 Madhavan Srinivasan wrote: > Code to replay the Performance Monitoring Interrupts(PMI). > In the masked_interrupt handler, for PMIs we reset the MSR[EE] > and return. This is due the fact that PMIs are level triggered. > In the

[RFC PATCH v2 10/11] powerpc: Support to replay PMIs

2016-07-31 Thread Madhavan Srinivasan
Code to replay the Performance Monitoring Interrupts(PMI). In the masked_interrupt handler, for PMIs we reset the MSR[EE] and return. This is due the fact that PMIs are level triggered. In the __check_irq_replay(), we enabled the MSR[EE] which will fire the interrupt for us. Patch also adds a new