Re: [PATCH] ACPI / platform / LPSS: disable async suspend/resume of LPSS devices

From: Rafael J. Wysocki
Date: Mon Sep 22 2014 - 18:57:28 EST


On Monday, September 22, 2014 10:45:42 PM Fu, Zhonghui wrote:
>

[cut]

> >>>
> >>> This operation is reading data from Operation Region of one operand object in name space. I don't know the reason of hang at this point. Could you please give out some explanation about this?
> >> I don't know the exact reason why this particular read hangs, but this means
> >> that, perhaps, instead of disabling async suspend/resume for all LPSS devices
> >> altogether, perhaps we can serialize their acpi_dev_resume_early()?
> >>
> >> Rafael
> > Do you mean keeping other phases(prepare, suspend, suspend_late, suspend_noirq, resume_noirq, resume, complete) of suspend/resume asynchronous, and only serializing "resume_early" phase for all LPSS devices?
> >
> > Thanks,
> > Zhonghui
> Hi, Rafael
>
> Could you please confirm my understanding?

This is not what I meant.

Since we have a PM domain for the LPSS devices already, why don't we add an
internal lock to that PM domain and acquire it over executing either
acpi_dev_suspend_late() (during suspend) or acpi_dev_resume_early() (during
resume) for all of them?

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/