diff mbox series

[4/4] xhci-pci: Allow host runtime PM as default also for Intel Ice Lake xHCI

Message ID 1573836603-10871-5-git-send-email-mathias.nyman@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series xhci features for usb-next | expand

Commit Message

Mathias Nyman Nov. 15, 2019, 4:50 p.m. UTC
From: Mika Westerberg <mika.westerberg@linux.intel.com>

Intel Ice Lake has two xHCI controllers one on PCH and the other as part
of the CPU itself. The latter is also part of the so called Type C
Subsystem (TCSS) sharing ACPI power resources with the PCIe root ports
and the Thunderbolt controllers. In order to put the whole TCSS block
into D3cold the xHCI needs to be runtime suspended as well when idle.

For this reason allow runtime PM as default for Ice Lake TCSS xHCI
controller.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-pci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Greg KH Nov. 16, 2019, 9:25 a.m. UTC | #1
On Fri, Nov 15, 2019 at 06:50:03PM +0200, Mathias Nyman wrote:
> From: Mika Westerberg <mika.westerberg@linux.intel.com>
> 
> Intel Ice Lake has two xHCI controllers one on PCH and the other as part
> of the CPU itself. The latter is also part of the so called Type C
> Subsystem (TCSS) sharing ACPI power resources with the PCIe root ports
> and the Thunderbolt controllers. In order to put the whole TCSS block
> into D3cold the xHCI needs to be runtime suspended as well when idle.
> 
> For this reason allow runtime PM as default for Ice Lake TCSS xHCI
> controller.
> 
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
> ---
>  drivers/usb/host/xhci-pci.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Can this also be queued up for the stable tree (or at least for 5.4.y?)

thanks,

greg k-h
Mathias Nyman Nov. 18, 2019, 9:15 a.m. UTC | #2
On 16.11.2019 11.25, Greg KH wrote:
> On Fri, Nov 15, 2019 at 06:50:03PM +0200, Mathias Nyman wrote:
>> From: Mika Westerberg <mika.westerberg@linux.intel.com>
>>
>> Intel Ice Lake has two xHCI controllers one on PCH and the other as part
>> of the CPU itself. The latter is also part of the so called Type C
>> Subsystem (TCSS) sharing ACPI power resources with the PCIe root ports
>> and the Thunderbolt controllers. In order to put the whole TCSS block
>> into D3cold the xHCI needs to be runtime suspended as well when idle.
>>
>> For this reason allow runtime PM as default for Ice Lake TCSS xHCI
>> controller.
>>
>> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
>> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
>> ---
>>   drivers/usb/host/xhci-pci.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> Can this also be queued up for the stable tree (or at least for 5.4.y?)
> 

Yes, please, 5.4.y
Ice Lake Thunderbolt support [1] was accepted to 5.4-rc1 so 5.4.y makes sense.
Patch is not that useful for older stable versions on its own.
  
[1] 3cdb9446a117 thunderbolt: Add support for Intel Ice Lake

-Mathias
Greg KH Nov. 18, 2019, 9:22 a.m. UTC | #3
On Mon, Nov 18, 2019 at 11:15:21AM +0200, Mathias Nyman wrote:
> On 16.11.2019 11.25, Greg KH wrote:
> > On Fri, Nov 15, 2019 at 06:50:03PM +0200, Mathias Nyman wrote:
> > > From: Mika Westerberg <mika.westerberg@linux.intel.com>
> > > 
> > > Intel Ice Lake has two xHCI controllers one on PCH and the other as part
> > > of the CPU itself. The latter is also part of the so called Type C
> > > Subsystem (TCSS) sharing ACPI power resources with the PCIe root ports
> > > and the Thunderbolt controllers. In order to put the whole TCSS block
> > > into D3cold the xHCI needs to be runtime suspended as well when idle.
> > > 
> > > For this reason allow runtime PM as default for Ice Lake TCSS xHCI
> > > controller.
> > > 
> > > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> > > Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
> > > ---
> > >   drivers/usb/host/xhci-pci.c | 4 +++-
> > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > Can this also be queued up for the stable tree (or at least for 5.4.y?)
> > 
> 
> Yes, please, 5.4.y
> Ice Lake Thunderbolt support [1] was accepted to 5.4-rc1 so 5.4.y makes sense.
> Patch is not that useful for older stable versions on its own.
> [1] 3cdb9446a117 thunderbolt: Add support for Intel Ice Lake

Ok, I'll try to remember it when it goes into Linus's tree.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 1e0236e90687..a0025d23b257 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -48,6 +48,7 @@ 
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI		0x15e9
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI		0x15ec
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI		0x15f0
+#define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI		0x8a13
 
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_4			0x43b9
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_3			0x43ba
@@ -212,7 +213,8 @@  static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 	     pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI ||
 	     pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI ||
 	     pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI ||
-	     pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI))
+	     pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI ||
+	     pdev->device == PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI))
 		xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
 
 	if (pdev->vendor == PCI_VENDOR_ID_ETRON &&