Thread (11 messages) 11 messages, 3 authors, 2015-09-28

RE: [PATCH][RFC] ACPI / PM: Fix incorrect wakeup irq setting before suspend-to-idle

From: "Chen, Yu C" <yu.c.chen@intel.com>
Date: 2015-09-26 14:37:26
Also in: lkml

Hi, Rafael,
-----Original Message-----
From: linux-pm-owner@vger.kernel.org [mailto:linux-pm-
owner@vger.kernel.org] On Behalf Of Rafael J. Wysocki
Sent: Friday, September 25, 2015 9:57 PM
To: Chen, Yu C
Cc: Wysocki, Rafael J; jiang.liu@linux.intel.com; Zhang, Rui; Brown, Len; linux-
kernel@vger.kernel.org; linux-pm@vger.kernel.org
Subject: Re: [PATCH][RFC] ACPI / PM: Fix incorrect wakeup irq setting before
suspend-to-idle

On Friday, September 25, 2015 06:42:41 AM Chen, Yu C wrote:
quoted
Hi,Rafael, thanks a lot for your review, will resend v2 version.
quoted
-----Original Message-----
From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
Sent: Friday, September 25, 2015 9:24 AM
To: Chen, Yu C
Cc: Wysocki, Rafael J; jiang.liu@linux.intel.com; Zhang, Rui; Brown,
Len; linux- kernel@vger.kernel.org; linux-pm@vger.kernel.org
Subject: Re: [PATCH][RFC] ACPI / PM: Fix incorrect wakeup irq
setting before suspend-to-idle

On Monday, August 10, 2015 10:11:26 AM Chen Yu wrote:
quoted
+#ifdef CONFIG_SUSPEND
+	set_wake_irq_freeze(irq);
+#endif
Alternatively, you can define an empty static inline stub of
set_wake_irq_freeze() for CONFIG_SUSPEND and avoid using IS_ENABLED()
even.

But I'd rather define a global acpi_irq variable, store irq in it and access it
directly from acpi_freeze_prepare().  And it doesn't have to depend on
CONFIG_SUSPEND as it is just the IRQ number actually used by ACPI.
OK, I've convert it to a global variable acpi_inuse_irq.
BTW, I wonder if there are other places using acpi_gbl_FADT.sci_interrupt
directly which they shouldn't do?
I searched the code and found there are two other potential misuse of 
acpi_gbl_FADT.sci_interrupt, they are in acpi_os_remove_interrupt_handler
and acpi_os_wait_events_complete, so I sent out a version 2 patch
for them.
quoted
Oh, do you mean the naming for this variable is un-suitable? OK, I'll
change it to acpi_freeze_wake_irq
No.  What I mean is that in theory there may be multiple ACPI interrupts.

But you need not care about this case because of the

	if (gsi != acpi_gbl_FADT.sci_interrupt)
		return AE_BAD_PARAMETER;
check in acpi_os_install_interrupt_handler().
OK, thanks!

Best Regards,
Yu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help