Here we propose this patch series to add support in PCI endpoint driver to wake up host from D3 states. As endpoint cannot send any data/MSI when the D-state is in D3cold or D3hot. Endpoint needs to bring the device back to D0 to send any kind of data. For this endpoint needs to send inband PME the device is in D3 state or toggle wake when the device is D3 cold and vaux is not supplied. As EPF doestn't know the D-state of the PCI, added a notify op whenever device state changes. Based on the D-state the EPF driver decides to wake host either by toggling wake or by sending PME. When the MHI state is in M3 MHI driver will wakeup the host using the wakeup op. Changes from v2: - Addressed review comments made by mani. Changes from v1: - Moved from RFC patch to regular patch - Inclueded EPF patch and added a new op patch to notify D-state change *** BLURB HERE *** Krishna chaitanya chundru (9): PCI: endpoint: Add dstate change notifier support PCI: qcom-ep: Add support for D-state change notification PCI: qcom-ep: Update the D-state log PCI: epf-mhi: Add support for handling D-state notify from EPC PCI: endpoint: Add wakeup host API to EPC core pci: dwc: Add wakeup host op to pci_epc_ops PCI: qcom-ep: Add wake up host op to dw_pcie_ep_ops PCI: epf-mhi: Add wakeup host op bus: mhi: ep: wake up host is the MHI state is in M3 Documentation/PCI/endpoint/pci-endpoint.rst | 11 +++++ drivers/bus/mhi/ep/main.c | 28 ++++++++++++ drivers/pci/controller/dwc/pcie-designware-ep.c | 12 +++++ drivers/pci/controller/dwc/pcie-designware.h | 3 ++ drivers/pci/controller/dwc/pcie-qcom-ep.c | 36 ++++++++++++++- drivers/pci/endpoint/functions/pci-epf-mhi.c | 28 ++++++++++++ drivers/pci/endpoint/pci-epc-core.c | 58 +++++++++++++++++++++++++ include/linux/mhi_ep.h | 4 ++ include/linux/pci-epc.h | 12 +++++ include/linux/pci-epf.h | 1 + 10 files changed, 192 insertions(+), 1 deletion(-) -- 2.7.4