All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ACPI / PM: Dispatch EC GPE early on s2idle resume if LPS0 _DSM is used
@ 2018-05-16 12:10 Rafael J. Wysocki
  2018-05-16 12:12 ` [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe() Rafael J. Wysocki
  2018-05-16 12:13 ` [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake Rafael J. Wysocki
  0 siblings, 2 replies; 10+ messages in thread
From: Rafael J. Wysocki @ 2018-05-16 12:10 UTC (permalink / raw)
  To: Linux ACPI
  Cc: Zhang Rui, Linux PM, LKML, Erik Schmauss, Bob Moore, Wang, Wendy

Hi All,

The purpose of this series is to address a power button wakeup issue on
some platforms where EC events aren't looked for early enough after
wakeup from suspend-to-idle.

The first patch modifies acpi_ev_detect_gpe() to compute a gpe_event_info
if NULL is passed as its second argument and adds a wrapper around it that
is used in the second patch.

The second patch checks the EC GPE in-line after detecting an SCI wakeup
to avoid missing the wakeup event.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe()
  2018-05-16 12:10 [PATCH 0/2] ACPI / PM: Dispatch EC GPE early on s2idle resume if LPS0 _DSM is used Rafael J. Wysocki
@ 2018-05-16 12:12 ` Rafael J. Wysocki
  2018-05-16 19:18   ` Moore, Robert
  2018-05-16 12:13 ` [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake Rafael J. Wysocki
  1 sibling, 1 reply; 10+ messages in thread
From: Rafael J. Wysocki @ 2018-05-16 12:12 UTC (permalink / raw)
  To: Linux ACPI
  Cc: Zhang Rui, Linux PM, LKML, Erik Schmauss, Bob Moore, Wang, Wendy

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Introduce acpi_dispatch_gpe() as a wrapper around acpi_ev_detect_gpe()
for checking if the given GPE (as represented by a GPE device handle
and a GPE number) is currently active and dispatching it (if that's
the case) outside of interrupt context.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/acpi/acpica/evgpe.c   |    6 ++++++
 drivers/acpi/acpica/evxfgpe.c |   22 ++++++++++++++++++++++
 include/acpi/acpixf.h         |    1 +
 3 files changed, 29 insertions(+)

Index: linux-pm/drivers/acpi/acpica/evgpe.c
===================================================================
--- linux-pm.orig/drivers/acpi/acpica/evgpe.c
+++ linux-pm/drivers/acpi/acpica/evgpe.c
@@ -634,6 +634,12 @@ acpi_ev_detect_gpe(struct acpi_namespace
 
 	flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
 
+	if (!gpe_event_info) {
+		gpe_event_info = acpi_ev_get_gpe_event_info(gpe_device, gpe_number);
+		if (!gpe_event_info)
+			goto error_exit;
+	}
+
 	/* Get the info block for the entire GPE register */
 
 	gpe_register_info = gpe_event_info->register_info;
Index: linux-pm/drivers/acpi/acpica/evxfgpe.c
===================================================================
--- linux-pm.orig/drivers/acpi/acpica/evxfgpe.c
+++ linux-pm/drivers/acpi/acpica/evxfgpe.c
@@ -639,6 +639,28 @@ ACPI_EXPORT_SYMBOL(acpi_get_gpe_status)
 
 /*******************************************************************************
  *
+ * FUNCTION:    acpi_gispatch_gpe
+ *
+ * PARAMETERS:  gpe_device          - Parent GPE Device. NULL for GPE0/GPE1
+ *              gpe_number          - GPE level within the GPE block
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Detect and dispatch a General Purpose Event to either a function
+ *              (e.g. EC) or method (e.g. _Lxx/_Exx) handler.
+ *
+ ******************************************************************************/
+void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number)
+{
+	ACPI_FUNCTION_TRACE(acpi_dispatch_gpe);
+
+	acpi_ev_detect_gpe(gpe_device, NULL, gpe_number);
+}
+
+ACPI_EXPORT_SYMBOL(acpi_dispatch_gpe)
+
+/*******************************************************************************
+ *
  * FUNCTION:    acpi_finish_gpe
  *
  * PARAMETERS:  gpe_device          - Namespace node for the GPE Block
Index: linux-pm/include/acpi/acpixf.h
===================================================================
--- linux-pm.orig/include/acpi/acpixf.h
+++ linux-pm/include/acpi/acpixf.h
@@ -753,6 +753,7 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_sta
 						     u32 gpe_number,
 						     acpi_event_status
 						     *event_status))
+void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number);
 ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable_all_gpes(void))
 ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_runtime_gpes(void))
 ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_wakeup_gpes(void))

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  2018-05-16 12:10 [PATCH 0/2] ACPI / PM: Dispatch EC GPE early on s2idle resume if LPS0 _DSM is used Rafael J. Wysocki
  2018-05-16 12:12 ` [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe() Rafael J. Wysocki
@ 2018-05-16 12:13 ` Rafael J. Wysocki
  2018-05-18  6:10   ` kbuild test robot
  1 sibling, 1 reply; 10+ messages in thread
From: Rafael J. Wysocki @ 2018-05-16 12:13 UTC (permalink / raw)
  To: Linux ACPI
  Cc: Zhang Rui, Linux PM, LKML, Erik Schmauss, Bob Moore, Wang, Wendy

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

On platforms where the Low Power S0 Idle _DSM interface is used,
on wakeup from suspend-to-idle, when it is known that the ACPI SCI
has triggered while suspended, dispatch the EC GPE in order to catch
all EC events that may have triggered the wakeup before carrying out
the noirq phase of device resume.

That is needed to handle power button wakeup on some platforms where
the EC goes into a low-power mode during suspend-to-idle and while in
that mode it will discard events after a timeout.  If that timeout is
shorter than the time it takes to complete the noirq resume of
devices, looking for EC events after the latter is too late.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reported-by: Zhang Rui <rui.zhang@intel.com>
Tested-by: Wendy Wang <wendy.wang@intel.com>
---
 drivers/acpi/ec.c       |    6 ++++++
 drivers/acpi/internal.h |    1 +
 drivers/acpi/sleep.c    |    7 +++++++
 3 files changed, 14 insertions(+)

Index: linux-pm/drivers/acpi/ec.c
===================================================================
--- linux-pm.orig/drivers/acpi/ec.c
+++ linux-pm/drivers/acpi/ec.c
@@ -1034,6 +1034,12 @@ void acpi_ec_unblock_transactions(void)
 		acpi_ec_start(first_ec, true);
 }
 
+void acpi_ec_dispatch_gpe(void)
+{
+	if (first_ec)
+		acpi_dispatch_gpe(NULL, first_ec->gpe);
+}
+
 /* --------------------------------------------------------------------------
                                 Event Management
    -------------------------------------------------------------------------- */
Index: linux-pm/drivers/acpi/internal.h
===================================================================
--- linux-pm.orig/drivers/acpi/internal.h
+++ linux-pm/drivers/acpi/internal.h
@@ -188,6 +188,7 @@ int acpi_ec_ecdt_probe(void);
 int acpi_ec_dsdt_probe(void);
 void acpi_ec_block_transactions(void);
 void acpi_ec_unblock_transactions(void);
+void acpi_ec_dispatch_gpe(void);
 int acpi_ec_add_query_handler(struct acpi_ec *ec, u8 query_bit,
 			      acpi_handle handle, acpi_ec_query_func func,
 			      void *data);
Index: linux-pm/drivers/acpi/sleep.c
===================================================================
--- linux-pm.orig/drivers/acpi/sleep.c
+++ linux-pm/drivers/acpi/sleep.c
@@ -989,6 +989,13 @@ static void acpi_s2idle_wake(void)
 	    !irqd_is_wakeup_armed(irq_get_irq_data(acpi_sci_irq))) {
 		pm_system_cancel_wakeup();
 		s2idle_wakeup = true;
+		/*
+		 * On some platforms with the LPS0 _DSM device noirq resume
+		 * takes too much time for EC wakeup events to survive, so look
+		 * for them now.
+		 */
+		if (lps0_device_handle)
+			acpi_ec_dispatch_gpe();
 	}
 }
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe()
  2018-05-16 12:12 ` [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe() Rafael J. Wysocki
@ 2018-05-16 19:18   ` Moore, Robert
  2018-05-16 21:03     ` Rafael J. Wysocki
  0 siblings, 1 reply; 10+ messages in thread
From: Moore, Robert @ 2018-05-16 19:18 UTC (permalink / raw)
  To: Rafael J. Wysocki, Linux ACPI
  Cc: Zhang, Rui, Linux PM, LKML, Schmauss, Erik, Wang, Wendy

I'm not sure why this is necessary, please explain.

Is the implication here that some driver is going to poll on acpi_dispatch_gpe?

Bob


> -----Original Message-----
> From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
> Sent: Wednesday, May 16, 2018 5:12 AM
> To: Linux ACPI <linux-acpi@vger.kernel.org>
> Cc: Zhang, Rui <rui.zhang@intel.com>; Linux PM <linux-
> pm@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>; Schmauss, Erik
> <erik.schmauss@intel.com>; Moore, Robert <robert.moore@intel.com>; Wang,
> Wendy <wendy.wang@intel.com>
> Subject: [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe()
> 
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Introduce acpi_dispatch_gpe() as a wrapper around acpi_ev_detect_gpe()
> for checking if the given GPE (as represented by a GPE device handle and
> a GPE number) is currently active and dispatching it (if that's the
> case) outside of interrupt context.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  drivers/acpi/acpica/evgpe.c   |    6 ++++++
>  drivers/acpi/acpica/evxfgpe.c |   22 ++++++++++++++++++++++
>  include/acpi/acpixf.h         |    1 +
>  3 files changed, 29 insertions(+)
> 
> Index: linux-pm/drivers/acpi/acpica/evgpe.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/acpica/evgpe.c
> +++ linux-pm/drivers/acpi/acpica/evgpe.c
> @@ -634,6 +634,12 @@ acpi_ev_detect_gpe(struct acpi_namespace
> 
>  	flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
> 
> +	if (!gpe_event_info) {
> +		gpe_event_info = acpi_ev_get_gpe_event_info(gpe_device,
> gpe_number);
> +		if (!gpe_event_info)
> +			goto error_exit;
> +	}
> +
>  	/* Get the info block for the entire GPE register */
> 
>  	gpe_register_info = gpe_event_info->register_info;
> Index: linux-pm/drivers/acpi/acpica/evxfgpe.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/acpica/evxfgpe.c
> +++ linux-pm/drivers/acpi/acpica/evxfgpe.c
> @@ -639,6 +639,28 @@ ACPI_EXPORT_SYMBOL(acpi_get_gpe_status)
> 
> 
> /***********************************************************************
> ********
>   *
> + * FUNCTION:    acpi_gispatch_gpe
> + *
> + * PARAMETERS:  gpe_device          - Parent GPE Device. NULL for
> GPE0/GPE1
> + *              gpe_number          - GPE level within the GPE block
> + *
> + * RETURN:      None
> + *
> + * DESCRIPTION: Detect and dispatch a General Purpose Event to either a
> function
> + *              (e.g. EC) or method (e.g. _Lxx/_Exx) handler.
> + *
> +
> +***********************************************************************
> +*******/ void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number)
> +{
> +	ACPI_FUNCTION_TRACE(acpi_dispatch_gpe);
> +
> +	acpi_ev_detect_gpe(gpe_device, NULL, gpe_number); }
> +
> +ACPI_EXPORT_SYMBOL(acpi_dispatch_gpe)
> +
> +/**********************************************************************
> +*********
> + *
>   * FUNCTION:    acpi_finish_gpe
>   *
>   * PARAMETERS:  gpe_device          - Namespace node for the GPE Block
> Index: linux-pm/include/acpi/acpixf.h
> ===================================================================
> --- linux-pm.orig/include/acpi/acpixf.h
> +++ linux-pm/include/acpi/acpixf.h
> @@ -753,6 +753,7 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_sta
>  						     u32 gpe_number,
>  						     acpi_event_status
>  						     *event_status))
> +void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number);
>  ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
> acpi_disable_all_gpes(void))
> ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
> acpi_enable_all_runtime_gpes(void))
>  ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
> acpi_enable_all_wakeup_gpes(void))

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe()
  2018-05-16 19:18   ` Moore, Robert
@ 2018-05-16 21:03     ` Rafael J. Wysocki
  0 siblings, 0 replies; 10+ messages in thread
From: Rafael J. Wysocki @ 2018-05-16 21:03 UTC (permalink / raw)
  To: Moore, Robert
  Cc: Rafael J. Wysocki, Linux ACPI, Zhang, Rui, Linux PM, LKML,
	Schmauss, Erik, Wang, Wendy

On Wed, May 16, 2018 at 9:18 PM, Moore, Robert <robert.moore@intel.com> wrote:
> I'm not sure why this is necessary, please explain.
>
> Is the implication here that some driver is going to poll on acpi_dispatch_gpe?

Not a driver, but the core part of resume from suspend-to-idle and it
needs to call it for the EC GPE specifically to avoid missing events
that will be discarded on some platforms if the EC is not poked at
within specific time since when the GPE status changed.

IOW, the use case is in patch [2/2]. :-)

I do realize, however, that you may not want this upstream as it is
strictly Linux-specific and will probably stay this way forever
(suspend-to-idle is a Linux concept and I'm not aware of any OSes
doing it).

>> -----Original Message-----
>> From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
>> Sent: Wednesday, May 16, 2018 5:12 AM
>> To: Linux ACPI <linux-acpi@vger.kernel.org>
>> Cc: Zhang, Rui <rui.zhang@intel.com>; Linux PM <linux-
>> pm@vger.kernel.org>; LKML <linux-kernel@vger.kernel.org>; Schmauss, Erik
>> <erik.schmauss@intel.com>; Moore, Robert <robert.moore@intel.com>; Wang,
>> Wendy <wendy.wang@intel.com>
>> Subject: [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe()
>>
>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>
>> Introduce acpi_dispatch_gpe() as a wrapper around acpi_ev_detect_gpe()
>> for checking if the given GPE (as represented by a GPE device handle and
>> a GPE number) is currently active and dispatching it (if that's the
>> case) outside of interrupt context.
>>
>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> ---
>>  drivers/acpi/acpica/evgpe.c   |    6 ++++++
>>  drivers/acpi/acpica/evxfgpe.c |   22 ++++++++++++++++++++++
>>  include/acpi/acpixf.h         |    1 +
>>  3 files changed, 29 insertions(+)
>>
>> Index: linux-pm/drivers/acpi/acpica/evgpe.c
>> ===================================================================
>> --- linux-pm.orig/drivers/acpi/acpica/evgpe.c
>> +++ linux-pm/drivers/acpi/acpica/evgpe.c
>> @@ -634,6 +634,12 @@ acpi_ev_detect_gpe(struct acpi_namespace
>>
>>       flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
>>
>> +     if (!gpe_event_info) {
>> +             gpe_event_info = acpi_ev_get_gpe_event_info(gpe_device,
>> gpe_number);
>> +             if (!gpe_event_info)
>> +                     goto error_exit;
>> +     }
>> +
>>       /* Get the info block for the entire GPE register */
>>
>>       gpe_register_info = gpe_event_info->register_info;
>> Index: linux-pm/drivers/acpi/acpica/evxfgpe.c
>> ===================================================================
>> --- linux-pm.orig/drivers/acpi/acpica/evxfgpe.c
>> +++ linux-pm/drivers/acpi/acpica/evxfgpe.c
>> @@ -639,6 +639,28 @@ ACPI_EXPORT_SYMBOL(acpi_get_gpe_status)
>>
>>
>> /***********************************************************************
>> ********
>>   *
>> + * FUNCTION:    acpi_gispatch_gpe
>> + *
>> + * PARAMETERS:  gpe_device          - Parent GPE Device. NULL for
>> GPE0/GPE1
>> + *              gpe_number          - GPE level within the GPE block
>> + *
>> + * RETURN:      None
>> + *
>> + * DESCRIPTION: Detect and dispatch a General Purpose Event to either a
>> function
>> + *              (e.g. EC) or method (e.g. _Lxx/_Exx) handler.
>> + *
>> +
>> +***********************************************************************
>> +*******/ void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number)
>> +{
>> +     ACPI_FUNCTION_TRACE(acpi_dispatch_gpe);
>> +
>> +     acpi_ev_detect_gpe(gpe_device, NULL, gpe_number); }
>> +
>> +ACPI_EXPORT_SYMBOL(acpi_dispatch_gpe)
>> +
>> +/**********************************************************************
>> +*********
>> + *
>>   * FUNCTION:    acpi_finish_gpe
>>   *
>>   * PARAMETERS:  gpe_device          - Namespace node for the GPE Block
>> Index: linux-pm/include/acpi/acpixf.h
>> ===================================================================
>> --- linux-pm.orig/include/acpi/acpixf.h
>> +++ linux-pm/include/acpi/acpixf.h
>> @@ -753,6 +753,7 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_sta
>>                                                    u32 gpe_number,
>>                                                    acpi_event_status
>>                                                    *event_status))
>> +void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number);
>>  ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
>> acpi_disable_all_gpes(void))
>> ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
>> acpi_enable_all_runtime_gpes(void))
>>  ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
>> acpi_enable_all_wakeup_gpes(void))
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  2018-05-16 12:13 ` [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake Rafael J. Wysocki
@ 2018-05-18  6:10   ` kbuild test robot
  2018-05-25  6:49     ` Ulf Hansson
  0 siblings, 1 reply; 10+ messages in thread
From: kbuild test robot @ 2018-05-18  6:10 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: kbuild-all, Linux ACPI, Zhang Rui, Linux PM, LKML, Erik Schmauss,
	Bob Moore, Wang, Wendy

[-- Attachment #1: Type: text/plain, Size: 1254 bytes --]

Hi Rafael,

I love your patch! Yet something to improve:

[auto build test ERROR on pm/linux-next]
[also build test ERROR on v4.17-rc5]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/ACPI-PM-Dispatch-EC-GPE-early-on-s2idle-resume-if-LPS0-_DSM-is-used/20180518-070817
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   drivers/acpi/ec.o: In function `acpi_ec_dispatch_gpe':
>> ec.c:(.text+0x239c): undefined reference to `acpi_dispatch_gpe'
   ec.c:(.text+0x239c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `acpi_dispatch_gpe'

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37441 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  2018-05-18  6:10   ` kbuild test robot
@ 2018-05-25  6:49     ` Ulf Hansson
  2018-05-25  8:08       ` Rafael J. Wysocki
  0 siblings, 1 reply; 10+ messages in thread
From: Ulf Hansson @ 2018-05-25  6:49 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: kbuild-all, Linux ACPI, Zhang Rui, Linux PM, LKML, Erik Schmauss,
	Bob Moore, Wang, Wendy, kbuild test robot

Rafael,

On 18 May 2018 at 08:10, kbuild test robot <lkp@intel.com> wrote:
> Hi Rafael,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on pm/linux-next]
> [also build test ERROR on v4.17-rc5]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url:    https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/ACPI-PM-Dispatch-EC-GPE-early-on-s2idle-resume-if-LPS0-_DSM-is-used/20180518-070817
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> config: arm64-defconfig (attached as .config)
> compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         make.cross ARCH=arm64
>
> All errors (new ones prefixed by >>):
>
>    drivers/acpi/ec.o: In function `acpi_ec_dispatch_gpe':
>>> ec.c:(.text+0x239c): undefined reference to `acpi_dispatch_gpe'
>    ec.c:(.text+0x239c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `acpi_dispatch_gpe'
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

This breaks arm64 builds, would you mind to drop the offending patch
from your linux-next branch?

In case you haven't got time to check, I think the problem is caused
by CONFIG_ACPI_REDUCED_HARDWARE_ONLY being set for arm64 builds. I can
try to fix the problem, if you are busy and want help with it?

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  2018-05-25  6:49     ` Ulf Hansson
@ 2018-05-25  8:08       ` Rafael J. Wysocki
  2018-05-25  8:48         ` Rafael J. Wysocki
  0 siblings, 1 reply; 10+ messages in thread
From: Rafael J. Wysocki @ 2018-05-25  8:08 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Rafael J. Wysocki, kbuild-all, Linux ACPI, Zhang Rui, Linux PM,
	LKML, Erik Schmauss, Bob Moore, Wang, Wendy, kbuild test robot

On Fri, May 25, 2018 at 8:49 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
> Rafael,
>
> On 18 May 2018 at 08:10, kbuild test robot <lkp@intel.com> wrote:
>> Hi Rafael,
>>
>> I love your patch! Yet something to improve:
>>
>> [auto build test ERROR on pm/linux-next]
>> [also build test ERROR on v4.17-rc5]
>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>
>> url:    https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/ACPI-PM-Dispatch-EC-GPE-early-on-s2idle-resume-if-LPS0-_DSM-is-used/20180518-070817
>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
>> config: arm64-defconfig (attached as .config)
>> compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
>> reproduce:
>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>         chmod +x ~/bin/make.cross
>>         # save the attached .config to linux build tree
>>         make.cross ARCH=arm64
>>
>> All errors (new ones prefixed by >>):
>>
>>    drivers/acpi/ec.o: In function `acpi_ec_dispatch_gpe':
>>>> ec.c:(.text+0x239c): undefined reference to `acpi_dispatch_gpe'
>>    ec.c:(.text+0x239c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `acpi_dispatch_gpe'
>>
>> ---
>> 0-DAY kernel test infrastructure                Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>
> This breaks arm64 builds, would you mind to drop the offending patch
> from your linux-next branch?

Not really, but I can fix it.

> In case you haven't got time to check, I think the problem is caused
> by CONFIG_ACPI_REDUCED_HARDWARE_ONLY being set for arm64 builds. I can
> try to fix the problem, if you are busy and want help with it?

I'll have a look.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  2018-05-25  8:08       ` Rafael J. Wysocki
@ 2018-05-25  8:48         ` Rafael J. Wysocki
  2018-05-25  9:24           ` Ulf Hansson
  0 siblings, 1 reply; 10+ messages in thread
From: Rafael J. Wysocki @ 2018-05-25  8:48 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Ulf Hansson, Rafael J. Wysocki, kbuild-all, Linux ACPI,
	Zhang Rui, Linux PM, LKML, Erik Schmauss, Bob Moore, Wang, Wendy,
	kbuild test robot

On Fri, May 25, 2018 at 10:08 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
> On Fri, May 25, 2018 at 8:49 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>> Rafael,
>>
>> On 18 May 2018 at 08:10, kbuild test robot <lkp@intel.com> wrote:
>>> Hi Rafael,
>>>
>>> I love your patch! Yet something to improve:
>>>
>>> [auto build test ERROR on pm/linux-next]
>>> [also build test ERROR on v4.17-rc5]
>>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>>
>>> url:    https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/ACPI-PM-Dispatch-EC-GPE-early-on-s2idle-resume-if-LPS0-_DSM-is-used/20180518-070817
>>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
>>> config: arm64-defconfig (attached as .config)
>>> compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
>>> reproduce:
>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>         chmod +x ~/bin/make.cross
>>>         # save the attached .config to linux build tree
>>>         make.cross ARCH=arm64
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>>    drivers/acpi/ec.o: In function `acpi_ec_dispatch_gpe':
>>>>> ec.c:(.text+0x239c): undefined reference to `acpi_dispatch_gpe'
>>>    ec.c:(.text+0x239c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `acpi_dispatch_gpe'
>>>
>>> ---
>>> 0-DAY kernel test infrastructure                Open Source Technology Center
>>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>>
>> This breaks arm64 builds, would you mind to drop the offending patch
>> from your linux-next branch?
>
> Not really, but I can fix it.

Should be fixed now, sorry for the breakage.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  2018-05-25  8:48         ` Rafael J. Wysocki
@ 2018-05-25  9:24           ` Ulf Hansson
  0 siblings, 0 replies; 10+ messages in thread
From: Ulf Hansson @ 2018-05-25  9:24 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Rafael J. Wysocki, kbuild-all, Linux ACPI, Zhang Rui, Linux PM,
	LKML, Erik Schmauss, Bob Moore, Wang, Wendy, kbuild test robot

On 25 May 2018 at 10:48, Rafael J. Wysocki <rafael@kernel.org> wrote:
> On Fri, May 25, 2018 at 10:08 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>> On Fri, May 25, 2018 at 8:49 AM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>> Rafael,
>>>
>>> On 18 May 2018 at 08:10, kbuild test robot <lkp@intel.com> wrote:
>>>> Hi Rafael,
>>>>
>>>> I love your patch! Yet something to improve:
>>>>
>>>> [auto build test ERROR on pm/linux-next]
>>>> [also build test ERROR on v4.17-rc5]
>>>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>>>
>>>> url:    https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/ACPI-PM-Dispatch-EC-GPE-early-on-s2idle-resume-if-LPS0-_DSM-is-used/20180518-070817
>>>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
>>>> config: arm64-defconfig (attached as .config)
>>>> compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
>>>> reproduce:
>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>         chmod +x ~/bin/make.cross
>>>>         # save the attached .config to linux build tree
>>>>         make.cross ARCH=arm64
>>>>
>>>> All errors (new ones prefixed by >>):
>>>>
>>>>    drivers/acpi/ec.o: In function `acpi_ec_dispatch_gpe':
>>>>>> ec.c:(.text+0x239c): undefined reference to `acpi_dispatch_gpe'
>>>>    ec.c:(.text+0x239c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `acpi_dispatch_gpe'
>>>>
>>>> ---
>>>> 0-DAY kernel test infrastructure                Open Source Technology Center
>>>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>>>
>>> This breaks arm64 builds, would you mind to drop the offending patch
>>> from your linux-next branch?
>>
>> Not really, but I can fix it.
>
> Should be fixed now, sorry for the breakage.

Thanks, yes it builds fine now!

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-05-25  9:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-16 12:10 [PATCH 0/2] ACPI / PM: Dispatch EC GPE early on s2idle resume if LPS0 _DSM is used Rafael J. Wysocki
2018-05-16 12:12 ` [PATCH 1/2] ACPICA: Introduce acpi_dispatch_gpe() Rafael J. Wysocki
2018-05-16 19:18   ` Moore, Robert
2018-05-16 21:03     ` Rafael J. Wysocki
2018-05-16 12:13 ` [PATCH 2/2] ACPI: EC: Dispatch the EC GPE directly on s2idle wake Rafael J. Wysocki
2018-05-18  6:10   ` kbuild test robot
2018-05-25  6:49     ` Ulf Hansson
2018-05-25  8:08       ` Rafael J. Wysocki
2018-05-25  8:48         ` Rafael J. Wysocki
2018-05-25  9:24           ` Ulf Hansson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.