All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Guthro <benjamin.guthro@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ben Guthro <benjamin.guthro@citrix.com>,
	Bob Moore <robert.moore@intel.com>,
	xen-devel@lists.xen.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"Rafaell J . Wysocki" <rjw@sisk.pl>,
	linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/3] acpi: Call acpi_os_prepare_sleep hook in reduced hardware sleep path
Date: Wed, 26 Jun 2013 11:03:04 -0400	[thread overview]
Message-ID: <CAOvdn6V0TJRF6r_2=CETPsiqawMpKxos+rCn8+aQ+SqU2p1WiQ@mail.gmail.com> (raw)
In-Reply-To: <51CB19C602000078000E0D75@nat28.tlf.novell.com>

On Wed, Jun 26, 2013 at 10:41 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 26.06.13 at 16:06, Ben Guthro <benjamin.guthro@citrix.com> wrote:
>> In version 3.4 acpi_os_prepare_sleep() got introduced in parallel with
>> reduced hardware sleep support, and the two changes didn't get
>> synchronized: The new code doesn't call the hook function (if so
>> requested). Fix this, requiring a parameter to be added to the
>> hook function to distinguish "extended" from "legacy" sleep.
>>
>> Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> I think these are intended to reflect the flow of things, so
> should be reversed (also in the other patches).
>
>> --- a/drivers/acpi/acpica/hwesleep.c
>> +++ b/drivers/acpi/acpica/hwesleep.c
>> @@ -43,6 +43,7 @@
>>   */
>>
>>  #include <acpi/acpi.h>
>> +#include <linux/acpi.h>
>
> This also got complaints, so I'd be very surprised if they took it now.

I did see these complaints in the last version.
However, the file drivers/acpi/acpica/hwsleep.c contains this include,
and has since

commit 09f98a825a821f7a3f1b162f9ed023f37213a63b
Author: Tang Liang <liang.tang@oracle.com>
Date:   Fri Dec 9 10:05:54 2011 +0800

So since this is the extended sleep file, vs the standard one - I
don't see why such a restriction would be placed on the former, but
not the latter.

I would look for some guidance here from the ACPI guys, for how to handle this.

>
>>  #include "accommon.h"
>>
>>  #define _COMPONENT          ACPI_HARDWARE
>> @@ -128,6 +129,13 @@ acpi_status acpi_hw_extended_sleep(u8 sleep_state)
>>
>>       ACPI_FLUSH_CPU_CACHE();
>>
>> +     status = acpi_os_prepare_sleep(sleep_state, acpi_gbl_sleep_type_a,
>> +                                    acpi_gbl_sleep_type_b, true);
>
> Without using "bool", using "true" and "false" is wrong (should
> be TRUE and FALSE afaict).

Thanks, I overlooked that.
I'll fix it for the next version.

>
>> --- a/drivers/acpi/acpica/hwsleep.c
>> +++ b/drivers/acpi/acpica/hwsleep.c
>> @@ -153,7 +153,7 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state)
>>       ACPI_FLUSH_CPU_CACHE();
>>
>>       status = acpi_os_prepare_sleep(sleep_state, pm1a_control,
>> -                                    pm1b_control);
>> +                                    pm1b_control, false);
>
> Same here.
ack.

>
>>       if (ACPI_SKIP(status))
>>               return_ACPI_STATUS(AE_OK);
>>       if (ACPI_FAILURE(status))
>
> And the split point ought to be here - everything below doesn't
> modify ACPI CA code. Which in particular means that ...

OK.

>
>> --- a/include/linux/acpi.h
>> +++ b/include/linux/acpi.h
>> @@ -477,11 +477,11 @@ static inline bool acpi_driver_match_device(struct device *dev,
>>  #endif       /* !CONFIG_ACPI */
>>
>>  #ifdef CONFIG_ACPI
>> -void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state,
>> -                            u32 pm1a_ctrl,  u32 pm1b_ctrl));
>> +void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state, u32 val_a,
>> +                                        u32 val_b, u8 extended));
>>
>> -acpi_status acpi_os_prepare_sleep(u8 sleep_state,
>> -                               u32 pm1a_control, u32 pm1b_control);
>> +acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 val_a, u32 val_b,
>> +                               u8 extended);
>
> ... this needs to be moved elsewhere (under include/acpi/), but the
> two incarnations of acpi_os_set_prepare_sleep() should presumably
> remain here.

If my comment above about hwsleep.c holds, would this be necessary?

Thanks for the review.

Ben

>
> Jan
>
>>  #ifdef CONFIG_X86
>>  void arch_reserve_mem_area(acpi_physical_address addr, size_t size);
>>  #else
>> @@ -491,7 +491,7 @@ static inline void arch_reserve_mem_area(acpi_physical_address addr,
>>  }
>>  #endif /* CONFIG_X86 */
>>  #else
>> -#define acpi_os_set_prepare_sleep(func, pm1a_ctrl, pm1b_ctrl) do { } while (0)
>> +#define acpi_os_set_prepare_sleep(func, val_a, val_b, ext) do { } while (0)
>>  #endif
>>
>>  #if defined(CONFIG_ACPI) && defined(CONFIG_PM_RUNTIME)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  reply	other threads:[~2013-06-26 15:03 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-26 14:06 [PATCH v3 0/3] Xen/ACPI: support sleep state entering on hardware reduced systems Ben Guthro
2013-06-26 14:06 ` Ben Guthro
2013-06-26 14:06 ` [PATCH v3 1/3] acpi: Call acpi_os_prepare_sleep hook in reduced hardware sleep path Ben Guthro
2013-06-26 14:06   ` Ben Guthro
2013-06-26 14:41   ` Jan Beulich
2013-06-26 14:41   ` Jan Beulich
2013-06-26 14:41     ` Jan Beulich
2013-06-26 15:03     ` Ben Guthro [this message]
2013-06-26 15:45       ` Jan Beulich
2013-06-26 15:45         ` Jan Beulich
2013-06-26 18:59         ` Rafael J. Wysocki
2013-06-26 18:59         ` Rafael J. Wysocki
2013-06-26 15:45       ` Jan Beulich
2013-06-26 15:03     ` Ben Guthro
2013-07-02  6:19   ` Zheng, Lv
2013-07-02 11:42     ` Ben Guthro
2013-07-24  6:24       ` Zheng, Lv
2013-07-24  6:24       ` Zheng, Lv
2013-07-24 12:01         ` Ben Guthro
2013-07-24 13:18           ` Moore, Robert
2013-07-24 13:18           ` Moore, Robert
2013-07-24 13:23             ` Ben Guthro
2013-07-24 13:23             ` Ben Guthro
2013-07-24 14:38               ` Moore, Robert
2013-07-24 14:38               ` Moore, Robert
2013-07-24 15:14                 ` Ben Guthro
2013-07-24 15:14                 ` Ben Guthro
2013-07-24 16:32                   ` Konrad Rzeszutek Wilk
2013-07-25  1:28                     ` Zheng, Lv
2013-07-25  1:28                     ` Zheng, Lv
2013-07-25  1:37                       ` Ben Guthro
2013-07-25  1:54                         ` Zheng, Lv
2013-07-25  1:54                         ` Zheng, Lv
2013-07-25  1:54                           ` Zheng, Lv
2013-07-25 12:04                           ` Konrad Rzeszutek Wilk
2013-07-25 12:04                             ` Konrad Rzeszutek Wilk
2013-07-26  2:51                             ` Zheng, Lv
2013-07-26  2:51                               ` Zheng, Lv
2013-07-26 18:03                               ` konrad wilk
2013-07-26 18:03                               ` konrad wilk
2013-07-29  2:22                                 ` Zheng, Lv
2013-07-29  2:22                                 ` Zheng, Lv
2013-07-26  2:51                             ` Zheng, Lv
2013-07-25 12:04                           ` Konrad Rzeszutek Wilk
2013-07-24 16:32                   ` Konrad Rzeszutek Wilk
2013-07-25  1:01                 ` Zheng, Lv
2013-07-25  1:19                   ` Ben Guthro
2013-07-25  1:19                   ` Ben Guthro
2013-07-25  1:01                 ` Zheng, Lv
2013-07-24 12:01         ` Ben Guthro
2013-07-02 11:42     ` Ben Guthro
2013-07-02  6:19   ` Zheng, Lv
2013-06-26 14:06 ` Ben Guthro
2013-06-26 14:06 ` [PATCH v3 2/3] x86/tboot: Fail extended mode reduced hardware sleep Ben Guthro
2013-06-26 14:06   ` Ben Guthro
2013-06-26 14:44   ` Jan Beulich
2013-06-26 14:44     ` Jan Beulich
2013-06-26 14:55     ` Ben Guthro
2013-06-26 14:55     ` Ben Guthro
2013-06-26 15:47       ` Jan Beulich
2013-06-26 15:47         ` Jan Beulich
2013-06-26 15:47       ` Jan Beulich
2013-06-26 14:44   ` Jan Beulich
2013-06-26 14:06 ` Ben Guthro
2013-06-26 14:06 ` [PATCH v3 3/3] xen/acpi: notify xen when reduced hardware sleep is available Ben Guthro
2013-06-26 14:06 ` Ben Guthro
2013-06-26 14:06   ` Ben Guthro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOvdn6V0TJRF6r_2=CETPsiqawMpKxos+rCn8+aQ+SqU2p1WiQ@mail.gmail.com' \
    --to=benjamin.guthro@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=robert.moore@intel.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.