[PATCH v6 11/16] firmware: arm_sdei: Add support for CPU and system power states

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Sun Jan 14 04:20:37 PST 2018


On Sat, Jan 13, 2018 at 12:00:31PM +0000, Catalin Marinas wrote:
> On Mon, Jan 08, 2018 at 05:22:26PM +0000, Lorenzo Pieralisi wrote:
> > On Mon, Jan 08, 2018 at 03:38:13PM +0000, James Morse wrote:
> > 
> > [...]
> > 
> > > +/* When entering idle, mask/unmask events for this cpu */
> > 
> > Just mentioning (since I know you know), this notifier is called also
> > through syscore_ops so it is not just idle (CPUidle or Suspend-to-idle).
> > 
> > > +static int sdei_pm_notifier(struct notifier_block *nb, unsigned long action,
> > > +			    void *data)
> > > +{
> > > +	int rv;
> > > +
> > > +	switch (action) {
> > > +	case CPU_PM_ENTER:
> > > +		rv = sdei_mask_local_cpu();
> > > +		break;
> > > +	case CPU_PM_EXIT:
> > > +		rv = sdei_unmask_local_cpu();
> > 
> > You should handle CPU_PM_ENTER_FAILED here for correctness,
> > in case the notifier chain fails.
> 
> So, just to confirm, the CPU_PM_ENTER_FAILED case goes together with
> CPU_PM_EXIT so that we unmask the SDE again for the CPU.

Yes, that's correct (I do not think that's a problem with current
mainline but that ought to be handled correctly anyway).

Lorenzo



More information about the linux-arm-kernel mailing list