All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Robert R. Howell" <RHowell@uwyo.edu>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>,
	Kai-Heng Feng <kai.heng.feng@canonical.com>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Robert R. Howell" <RHowell@uwyo.edu>
Subject: Re: [PATCH] ACPI / LPSS: Don't skip late system PM ops for hibernate on BYT/CHT
Date: Thu, 25 Apr 2019 16:38:34 +0000	[thread overview]
Message-ID: <beab21cb-9f89-b934-e0a4-2fd85c69f4e6@uwyo.edu> (raw)
In-Reply-To: <CAJZ5v0jJEovXXiqs-tzPC7FsGjGL+qxfXCxbTrQZqAxSCv1oyQ@mail.gmail.com>

On 4/24/19 1:20 AM, Rafael J. Wysocki wrote:

> On Tue, Apr 23, 2019 at 10:03 PM Robert R. Howell <RHowell@uwyo.edu> wrote:
>>
>> On 4/23/19 2:07 AM, Rafael J. Wysocki wrote:
>>>
>>> On Sat, Apr 20, 2019 at 12:44 AM Robert R. Howell <RHowell@uwyo.edu> wrote:
>>>>
>>>> On 4/18/19 5:42 AM, Hans de Goede wrote:
>>>>
>>>>>> On 4/8/19 2:16 AM, Hans de Goede wrote:>
>>>>>>>
>>>>>>> Hmm, interesting so you have hibernation working on a T100TA
>>>>>>> (with 5.0 + 02e45646d53b reverted), right ?
>>>>>>>
>>>>
>>>>
>>>> I've managed to find a way around the i2c_designware timeout issues
>>>> on the T100TA's.  The key is to NOT set DPM_FLAG_SMART_SUSPEND,
>>>> which was added in the 02e45646d53b commit.
>>>>
>>>> To test that I've started with a 5.1-rc5 kernel, applied your recent patch
>>>> to acpi_lpss.c, then apply the following patch of mine, removing
>>>> DPM_FLAG_SMART_SUSPEND.  (For the T100 hardware I need to apply some
>>>> other patches as well but those are not related to the i2c-designware or
>>>> acpi issues addressed here.)
>>>>
>>>> On a resume from hibernation I still see one error:
>>>>   "i2c_designware 80860F41:00: Error i2c_dw_xfer called while suspended"
>>>> but I no longer get the i2c_designware timeouts, and audio does now work
>>>> after the resume.
>>>>
>>>> Removing DPM_FLAG_SMART_SUSPEND may not be what you want for other
>>>> hardware, but perhaps this will give you a clue as to what is going
>>>> wrong with hibernate/resume on the T100TA's.
>>>
>>> What if you drop DPM_FLAG_LEAVE_SUSPENDED alone instead?
>>>
>>
>> I did try dropping just DPM_FLAG_LEAVE_SUSPENDED, dropping just
>> DPM_FLAG_SMART_SUSPEND, and dropping both flags.  When I just drop
>> DPM_FLAG_LEAVE_SUSPENDED I still get the i2c_designware timeouts
>> after the resume.  If I drop just DPM_FLAG_SMART_SUSPEND or drop both,
>> then the timeouts go away.
> 
> OK, thanks!
> 
> Is non-hibernation system suspend affected too?

I just ran some tests on a T100TA, using the 5.1-rc5 code with Hans' patch applied 
but without any changes to i2c-designware-platdrv.c, so the 
DPM_FLAG_SMART_PREPARE, DPM_FLAG_SMART_SUSPEND, and DPM_FLAG_LEAVE_SUSPENDED flags 
are all set.  

Suspend does work OK, and after resume I do NOT get any of the crippling 
i2c_designware timeout errors which cause sound to fail after hibernate.  I DO see one 
  "i2c_designware 80860F41:00: Error i2c_dw_xfer call while suspended"
error on resume, just as I do on hibernate.  I've attached a portion of dmesg below.
The "asus_wmi:  Unknown key 79 pressed" error is a glitch which occurs 
intermittently on these machines, but doesn't seem related to the other issues.  
I had one test run when it was absent but the rest of the messages were the 
same -- but then kept getting that unknown key error on all my later tries.

I did notice the "2sidle" in the following rather than "shallow" or "deep".  A
cat of /sys/power/state shows "freeze mem disk" but a
cat of /sys/power/mem_sleep" shows only "[s2idle] so it looks like shallow and deep 
are not enabled for this system.  I did check the input power (or really current) 
as it went into suspend and the micro-usb power input drops from about 
0.5 amps to 0.05 amps.  But clearly a lot of devices are still active, as movement 
of a bluetooth mouse (the MX Anywhere 2) will wake it from suspend.  That presumably is 
why suspend doesn't trigger the same i2c_designware problems as hibernate.

Let me know if I can do any other tests.

Bob Howell

----DMESG OUTPUT ON SUSPEND------------------
[   71.791495] NET: Registered protocol family 38
[   73.150736] input: MX Anywhere 2 Keyboard as /devices/virtual/misc/uhid/0005:046D:B013.0005/input/input24
[   73.156612] input: MX Anywhere 2 Mouse as /devices/virtual/misc/uhid/0005:046D:B013.0005/input/input25
[   73.159504] hid-generic 0005:046D:B013.0005: input,hidraw4: BLUETOOTH HID v0.07 Keyboard [MX Anywhere 2] on 74:D0:2B:DF:77:E9
[  102.719170] asus_wmi: Unknown key 79 pressed
[  102.897214] asus_wmi: Unknown key 79 pressed
[  104.298409] PM: suspend entry (s2idle)
[  104.298414] PM: Syncing filesystems ... done.
[  105.410883] Freezing user space processes ... (elapsed 0.002 seconds) done.
[  105.413556] OOM killer disabled.
[  105.413558] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  123.353720] i2c_designware 80860F41:00: Error i2c_dw_xfer call while suspended
[  123.635028] ACPI: button: The lid device is not compliant to SW_LID.
[  124.086421] OOM killer enabled.
[  124.086491] Restarting tasks ... done.
[  124.120647] PM: suspend exit
[  124.939566] asus_wmi: Unknown key 79 pressed

  reply	other threads:[~2019-04-25 16:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-03  5:43 [PATCH] ACPI / LPSS: Don't skip late system PM ops for hibernate on BYT/CHT Kai-Heng Feng
2019-04-03  8:33 ` Jarkko Nikula
2019-04-03  8:54 ` Hans de Goede
2019-04-07 20:58   ` Robert R. Howell
2019-04-08  3:44     ` Kai Heng Feng
2019-04-11 19:50       ` Robert R. Howell
2019-04-08  8:16     ` Hans de Goede
2019-04-11 19:50       ` Robert R. Howell
2019-04-18 11:42         ` Hans de Goede
2019-04-19 22:44           ` Robert R. Howell
2019-04-23  8:07             ` Rafael J. Wysocki
2019-04-23 20:03               ` Robert R. Howell
2019-04-24  7:20                 ` Rafael J. Wysocki
2019-04-25 16:38                   ` Robert R. Howell [this message]
2019-04-30 14:39                     ` Hans de Goede
2019-05-09  4:24                       ` Robert R. Howell
2019-05-09  8:50                         ` Hans de Goede
2019-05-09 18:09                           ` Robert R. Howell
2019-05-13  8:41                             ` Hans de Goede
2019-05-16 16:34                               ` Robert R. Howell
2019-05-14 10:10                             ` Hans de Goede
2019-05-16 11:11                     ` Rafael J. Wysocki
2019-05-16 16:35                       ` Robert R. Howell
2019-05-16 22:42                         ` Rafael J. Wysocki
2019-05-25  5:31                       ` Robert R. Howell
2019-06-24 10:24                         ` Rafael J. Wysocki
2019-06-24 10:51                           ` Hans de Goede
2019-06-24 23:14                             ` Rafael J. Wysocki
2019-06-26 18:43                           ` Robert R. Howell

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=beab21cb-9f89-b934-e0a4-2fd85c69f4e6@uwyo.edu \
    --to=rhowell@uwyo.edu \
    --cc=hdegoede@redhat.com \
    --cc=kai.heng.feng@canonical.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    /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.