|
Loading...
|
linux-pm@lists.osdl.org
[Prev] Thread [Next] | [Prev] Date [Next]
Re: [linux-pm] [PATCH 4/5]PCIe native PME support Matthew Garrett Wed Aug 19 05:03:05 2009
On Wed, Aug 19, 2009 at 03:24:19PM +0800, Shaohua Li wrote:
> +static inline void npme_enable_pme(struct pci_dev *pdev, bool enable)
> +{
> + int pos;
> + u16 rtctl;
> +
> + pos = pci_find_capability(pdev, PCI_CAP_ID_EXP);
> +
> + pci_read_config_word(pdev, pos + PCI_EXP_RTCTL, &rtctl);
> + if (!enable)
> + rtctl &= ~PCI_EXP_RTCTL_PMEIE;
> + else
> + rtctl |= PCI_EXP_RTCTL_PMEIE;
> + pci_write_config_word(pdev, pos + PCI_EXP_RTCTL, rtctl);
> +}
This seems to duplicate the existing pci_pme_active() function?
> +static inline void npme_clear_pme(struct pci_dev *pdev)
> +{
> + int pos;
> + u32 rtsta;
> +
> + pos = pci_find_capability(pdev, PCI_CAP_ID_EXP);
> +
> + pci_read_config_dword(pdev, pos + PCI_EXP_RTSTA, &rtsta);
> + rtsta |= PCI_EXP_RTSTA_PME;
> + pci_write_config_dword(pdev, pos + PCI_EXP_RTSTA, rtsta);
> +}
Ditto.
> +static bool npme_pme_target(struct pci_dev *target)
> +{
> + bool ret = false;
> + if (target->dev.bus->pm && target->dev.bus->pm->wakeup_event)
> + ret = target->dev.bus->pm->wakeup_event(&target->dev);
> + return ret;
> +}
Is there any situation in which we wouldn't want to just perform a
runtime resume of the device here?
--
Matthew Garrett | [EMAIL PROTECTED]
_______________________________________________
linux-pm mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/linux-pm
- [linux-pm] [PATCH 4/5]PCIe native PME support Shaohua Li 2009/08/19
- Re: [linux-pm] [PATCH 4/5]PCIe native PME support Matthew Garrett 2009/08/19 <=
- Re: [linux-pm] [PATCH 4/5]PCIe native PME support Shaohua Li 2009/08/19
- Re: [linux-pm] [PATCH 4/5]PCIe native PME support Rafael J. Wysocki 2009/08/20