linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Lukas Wunner <lukas@wunner.de>
Cc: Mario Limonciello <mario.limonciello@amd.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>,
	"open list:THUNDERBOLT DRIVER" <linux-usb@vger.kernel.org>,
	"open list:RADEON and AMDGPU DRM DRIVERS" 
	<amd-gfx@lists.freedesktop.org>,
	"open list:DRM DRIVERS" <dri-devel@lists.freedesktop.org>,
	"open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS" 
	<nouveau@lists.freedesktop.org>,
	Andreas Noever <andreas.noever@gmail.com>,
	Michael Jamet <michael.jamet@intel.com>,
	Yehezkel Bernat <YehezkelShB@gmail.com>,
	Alexander.Deucher@amd.com, Hans de Goede <hdegoede@redhat.com>
Subject: Re: [PATCH v3 03/12] PCI: Move check for old Apple Thunderbolt controllers into a quirk
Date: Mon, 14 Feb 2022 09:23:22 +0200	[thread overview]
Message-ID: <YgoDauh7rd18OvrM@lahna> (raw)
In-Reply-To: <20220213091920.GA15535@wunner.de>

Hi Lukas,

On Sun, Feb 13, 2022 at 10:19:20AM +0100, Lukas Wunner wrote:
> On Fri, Feb 11, 2022 at 01:32:41PM -0600, Mario Limonciello wrote:
> > `pci_bridge_d3_possible` currently checks explicitly for a Thunderbolt
> > controller to indicate that D3 is possible.  As this is used solely
> > for older Apple systems, move it into a quirk that enumerates across
> > all Intel TBT controllers.
> 
> I'm not so sure if it is only needed on Apple systems.
> 
> 
> > @@ -2954,10 +2960,6 @@ bool pci_bridge_d3_possible(struct pci_dev *bridge)
> >  		if (pci_bridge_d3_force)
> >  			return true;
> >  
> > -		/* Even the oldest 2010 Thunderbolt controller supports D3. */
> > -		if (bridge->is_thunderbolt)
> > -			return true;
> > -
> >  		/* Platform might know better if the bridge supports D3 */
> >  		if (platform_pci_bridge_d3(bridge))
> >  			return true;
> 
> The fact that Thunderbolt PCIe ports support D3 is a property of those
> devices.  It's not a property of the platform or a quirk of a particular
> vendor.

It is in fact platform specific. For instance the non-Apple systems
without "HotPlugSupportInD3" property have not been wired to support
entering/exiting D3 runtime so putting these ports into D3 may actually
lead into problems as we are in non-validated territory.

> Hence in my view the current location of the check (pci_bridge_d3_possible())
> makes sense wheras the location you're moving it to does not.
> 
> 
> > +/* Apple machines as old as 2010 can do D3 with Thunderbolt controllers, but don't specify
> > + * it in the ACPI tables
> > + */
> 
> Apple started shipping Thunderbolt in 2011.
> Intel brought the first chips to market in 2010.
> 
> The date is meaningful at the code's current location in
> pci_bridge_d3_possible() because a few lines further down
> there's a 2015 BIOS cut-off date.
> 
> Microsoft came up with an ACPI property that BIOS vendors may set
> so that Windows knows it may put a Thunderbolt controller into D3cold.
> I'm not even sure if that property was ever officially adopted by the
> ACPI spec or if it's just a Microsoft-defined "standard".

AFAIK It was invented by Intel Windows folks but Microsoft "documented"
it. We use the same property in ChromeOS (and therefore Linux) too so it
can be thought of as "de facto" way of declaring such port. 

  parent reply	other threads:[~2022-02-14  7:23 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11 19:32 [PATCH v3 00/12] Overhaul `is_thunderbolt` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 01/12] thunderbolt: move definition of PCI_CLASS_SERIAL_USB_USB4 Mario Limonciello
2022-02-11 21:02   ` Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 02/12] PCI: Move `is_thunderbolt` check for lack of command completed to a quirk Mario Limonciello
2022-02-11 21:20   ` Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 03/12] PCI: Move check for old Apple Thunderbolt controllers into " Mario Limonciello
2022-02-11 21:35   ` Bjorn Helgaas
2022-02-11 22:06     ` Limonciello, Mario
2022-02-14  7:15       ` Mika Westerberg
2022-02-13  9:19   ` Lukas Wunner
2022-02-13  9:21     ` Lukas Wunner
2022-02-14  7:23     ` Mika Westerberg [this message]
2022-02-11 19:32 ` [PATCH v3 04/12] PCI: Drop the `is_thunderbolt` attribute from PCI core Mario Limonciello
2022-02-13  8:20   ` Lukas Wunner
2022-02-13 17:26     ` Limonciello, Mario
2022-02-14  7:27       ` Mika Westerberg
2022-02-11 19:32 ` [PATCH v3 05/12] PCI: Detect root port of internal USB4 devices by `usb4-host-interface` Mario Limonciello
2022-02-11 21:45   ` Bjorn Helgaas
2022-02-14  7:34     ` Mika Westerberg
2022-02-14  8:52       ` Lukas Wunner
2022-02-14 10:56         ` Mika Westerberg
2022-02-14 11:08           ` Mika Westerberg
2022-02-14 11:11           ` Mika Westerberg
2022-02-17 20:40           ` Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 06/12] PCI: Explicitly mark USB4 NHI devices as removable Mario Limonciello
2022-02-11 21:58   ` Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 07/12] PCI: Set ports for discrete USB4 controllers appropriately Mario Limonciello
2022-02-11 22:10   ` Bjorn Helgaas
2022-02-11 19:32 ` [PATCH v3 08/12] drm/amd: drop the use of `pci_is_thunderbolt_attached` Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 09/12] drm/nouveau: " Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 10/12] drm/radeon: " Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 11/12] platform/x86: amd-gmux: " Mario Limonciello
2022-02-11 19:32 ` [PATCH v3 12/12] PCI: drop `pci_is_thunderbolt_attached` Mario Limonciello

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=YgoDauh7rd18OvrM@lahna \
    --to=mika.westerberg@linux.intel.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=YehezkelShB@gmail.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=andreas.noever@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hdegoede@redhat.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=mario.limonciello@amd.com \
    --cc=michael.jamet@intel.com \
    --cc=nouveau@lists.freedesktop.org \
    /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).