diff mbox series

[v2] PCI: Disable D3cold support on Intel XMM7360

Message ID 20210329052339.20882-1-kai.heng.feng@canonical.com
State New
Headers show
Series [v2] PCI: Disable D3cold support on Intel XMM7360 | expand

Commit Message

Kai-Heng Feng March 29, 2021, 5:23 a.m. UTC
On some platforms, the root port for Intel XMM7360 WWAN supports D3cold.
When the root port is put to D3cold by system suspend or runtime
suspend, attempt to systems resume or runtime resume will freeze the
laptop for a while, then it automatically shuts down.

The root cause is unclear for now, as the Intel XMM7360 doesn't have a
driver yet.

So disable D3cold for XMM7360 as a workaround, until proper device
driver is in place.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212419
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
v2:
 - Add comment.

 drivers/pci/quirks.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Kai-Heng Feng April 12, 2021, 8:18 a.m. UTC | #1
On Mon, Mar 29, 2021 at 1:23 PM Kai-Heng Feng
<kai.heng.feng@canonical.com> wrote:
>
> On some platforms, the root port for Intel XMM7360 WWAN supports D3cold.
> When the root port is put to D3cold by system suspend or runtime
> suspend, attempt to systems resume or runtime resume will freeze the
> laptop for a while, then it automatically shuts down.
>
> The root cause is unclear for now, as the Intel XMM7360 doesn't have a
> driver yet.
>
> So disable D3cold for XMM7360 as a workaround, until proper device
> driver is in place.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212419
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

A gentle ping...

> ---
> v2:
>  - Add comment.
>
>  drivers/pci/quirks.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 653660e3ba9e..c48b0b4a4164 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -5612,3 +5612,16 @@ static void apex_pci_fixup_class(struct pci_dev *pdev)
>  }
>  DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
>                                PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
> +
> +/*
> + * Device [8086:7360]
> + * When it resumes from D3cold, system freeze and shutdown happens.
> + * Currently there's no driver for XMM7360, so add it as a PCI quirk.
> + * https://bugzilla.kernel.org/show_bug.cgi?id=212419
> + */
> +static void pci_fixup_no_d3cold(struct pci_dev *pdev)
> +{
> +       pci_info(pdev, "disable D3cold\n");
> +       pci_d3cold_disable(pdev);
> +}
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x7360, pci_fixup_no_d3cold);
> --
> 2.30.2
>
Kai-Heng Feng April 19, 2021, 9:12 a.m. UTC | #2
On Mon, Apr 12, 2021 at 4:18 PM Kai-Heng Feng
<kai.heng.feng@canonical.com> wrote:
>
> On Mon, Mar 29, 2021 at 1:23 PM Kai-Heng Feng
> <kai.heng.feng@canonical.com> wrote:
> >
> > On some platforms, the root port for Intel XMM7360 WWAN supports D3cold.
> > When the root port is put to D3cold by system suspend or runtime
> > suspend, attempt to systems resume or runtime resume will freeze the
> > laptop for a while, then it automatically shuts down.
> >
> > The root cause is unclear for now, as the Intel XMM7360 doesn't have a
> > driver yet.
> >
> > So disable D3cold for XMM7360 as a workaround, until proper device
> > driver is in place.
> >
> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212419
> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>
> A gentle ping...

Ok, I think I found the root cause:
https://lore.kernel.org/lkml/20210419090750.1272562-1-kai.heng.feng@canonical.com/

So we can ignore this patch.


Kai-Heng

>
> > ---
> > v2:
> >  - Add comment.
> >
> >  drivers/pci/quirks.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> >
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index 653660e3ba9e..c48b0b4a4164 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -5612,3 +5612,16 @@ static void apex_pci_fixup_class(struct pci_dev *pdev)
> >  }
> >  DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
> >                                PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
> > +
> > +/*
> > + * Device [8086:7360]
> > + * When it resumes from D3cold, system freeze and shutdown happens.
> > + * Currently there's no driver for XMM7360, so add it as a PCI quirk.
> > + * https://bugzilla.kernel.org/show_bug.cgi?id=212419
> > + */
> > +static void pci_fixup_no_d3cold(struct pci_dev *pdev)
> > +{
> > +       pci_info(pdev, "disable D3cold\n");
> > +       pci_d3cold_disable(pdev);
> > +}
> > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x7360, pci_fixup_no_d3cold);
> > --
> > 2.30.2
> >
diff mbox series

Patch

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 653660e3ba9e..c48b0b4a4164 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5612,3 +5612,16 @@  static void apex_pci_fixup_class(struct pci_dev *pdev)
 }
 DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
 			       PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
+
+/*
+ * Device [8086:7360]
+ * When it resumes from D3cold, system freeze and shutdown happens.
+ * Currently there's no driver for XMM7360, so add it as a PCI quirk.
+ * https://bugzilla.kernel.org/show_bug.cgi?id=212419
+ */
+static void pci_fixup_no_d3cold(struct pci_dev *pdev)
+{
+	pci_info(pdev, "disable D3cold\n");
+	pci_d3cold_disable(pdev);
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x7360, pci_fixup_no_d3cold);