From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Qipeng Zha <qipeng.zha@intel.com>, Qi Zheng <qi.zheng@intel.com>,
Dave Airlie <airlied@gmail.com>,
Mathias Nyman <mathias.nyman@intel.com>,
linux-pci@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH v2 2/4] PCI: Move PCIe ports to D3 during suspend
Date: Mon, 11 Apr 2016 11:47:50 +0300 [thread overview]
Message-ID: <20160411084750.GA1727@lahna.fi.intel.com> (raw)
In-Reply-To: <20160408150723.GA29919@kroah.com>
On Fri, Apr 08, 2016 at 08:07:23AM -0700, Greg Kroah-Hartman wrote:
> On Fri, Apr 08, 2016 at 01:36:28PM +0300, Mika Westerberg wrote:
> > diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> > index f0640b7a1c42..aafc1b093bc8 100644
> > --- a/drivers/usb/host/xhci-pci.c
> > +++ b/drivers/usb/host/xhci-pci.c
> > @@ -379,7 +379,7 @@ static int xhci_pci_suspend(struct usb_hcd *hcd, bool do_wakeup)
> > * need to have the registers polled during D3, so avoid D3cold.
> > */
> > if (xhci->quirks & XHCI_COMP_MODE_QUIRK)
> > - pdev->no_d3cold = true;
> > + pci_enable_d3cold(pdev, false);
> >
> > if (xhci->quirks & XHCI_PME_STUCK_QUIRK)
> > xhci_pme_quirk(hcd);
> > diff --git a/include/linux/pci.h b/include/linux/pci.h
> > index 004b8133417d..d8801587b4ca 100644
> > --- a/include/linux/pci.h
> > +++ b/include/linux/pci.h
> > @@ -296,6 +296,7 @@ struct pci_dev {
> > unsigned int d2_support:1; /* Low power state D2 is supported */
> > unsigned int no_d1d2:1; /* D1 and D2 are forbidden */
> > unsigned int no_d3cold:1; /* D3cold is forbidden */
> > + unsigned int bridge_d3:1; /* Allow D3 for bridge */
> > unsigned int d3cold_allowed:1; /* D3cold is allowed by user */
> > unsigned int mmio_always_on:1; /* disallow turning off io/mem
> > decoding during bar sizing */
> > @@ -1085,6 +1086,7 @@ int pci_back_from_sleep(struct pci_dev *dev);
> > bool pci_dev_run_wake(struct pci_dev *dev);
> > bool pci_check_pme_status(struct pci_dev *dev);
> > void pci_pme_wakeup_bus(struct pci_bus *bus);
> > +void pci_enable_d3cold(struct pci_dev *dev, bool enable);
>
> That's an ackward api, as is seen in the above use in the xhci driver
> (enable false?)
>
> Why not just make 2 functions:
> pci_dc3cold_enable(struct pci_dev *dev)
> pci_dc3cold_disable(struct pci_dev *dev)
> which makes it obvious what is going on.
>
> Whenever you add a bool to a function, it requires the developer to go
> look up the implementation to see what it means and how to use it, to
> check if the usage is correct. Just make it obvious in the name itself
> so everyone knows exactly what is going on.
>
> Same thing goes for pci_bridge_pm_update(), even with the documentation
> I'm not quite sure what the bool flag is for. Please split this into
> two calls as well.
Will, do. Thanks for the excellent explanation :)
next prev parent reply other threads:[~2016-04-11 8:47 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-08 10:36 [PATCH v2 0/4] PCI: Add support for suspending (including runtime) of PCIe ports Mika Westerberg
2016-04-08 10:36 ` [PATCH v2 1/4] PCI: No need to set d3cold_allowed to " Mika Westerberg
2016-04-08 10:36 ` [PATCH v2 2/4] PCI: Move PCIe ports to D3 during suspend Mika Westerberg
2016-04-08 15:07 ` Greg Kroah-Hartman
2016-04-11 8:47 ` Mika Westerberg [this message]
2016-04-11 3:36 ` Zheng, Qi
2016-04-11 8:56 ` Mika Westerberg
2016-04-11 13:38 ` Rafael J. Wysocki
2016-04-12 6:51 ` Mika Westerberg
2016-04-12 17:45 ` Lukas Wunner
2016-04-13 8:34 ` Mika Westerberg
2016-04-08 10:36 ` [PATCH v2 3/4] ACPI / hotplug / PCI: Runtime resume bridge before rescan Mika Westerberg
2016-04-08 10:36 ` [PATCH v2 4/4] PCI: Add runtime PM support for PCIe ports Mika Westerberg
2016-04-12 17:52 ` Lukas Wunner
2016-04-13 8:33 ` Mika Westerberg
2016-04-13 9:08 ` Andreas Noever
2016-04-13 9:16 ` Mika Westerberg
2016-04-18 14:38 ` Lukas Wunner
2016-04-19 12:31 ` Mika Westerberg
2016-04-20 19:22 ` Lukas Wunner
2016-04-20 20:23 ` Rafael J. Wysocki
2016-04-21 13:12 ` Mika Westerberg
2016-04-21 19:19 ` Rafael J. Wysocki
2016-04-21 23:25 ` Andreas Noever
2016-04-22 0:26 ` Rafael J. Wysocki
2016-04-22 9:10 ` Mika Westerberg
2016-04-22 12:37 ` Rafael J. Wysocki
2016-04-21 13:10 ` Mika Westerberg
2016-04-24 16:13 ` Lukas Wunner
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=20160411084750.GA1727@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=airlied@gmail.com \
--cc=bhelgaas@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=qi.zheng@intel.com \
--cc=qipeng.zha@intel.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).