[PATCH 2/2] drm/xe: Ensure d3cold is only allowed in DGFX
Zanoni, Paulo R
paulo.r.zanoni at intel.com
Mon Jun 3 22:15:46 UTC 2024
On Mon, 2024-06-03 at 17:52 -0400, Rodrigo Vivi wrote:
> For our integrated parts, the GPU is part of the CPU package,
> hence removing the power at the root port is likely not possible.
>
> Let's add this extra layer of protection to ensure that we are
> really not seeing d3cold atempts into integrated devices.
I don't think this is the case.
It's been a while since I dealt with this, but as far as I remember you
can put integrated cards in D3 cold by writing 0x3 to PCI register
0xd4.
https://cdrdv2.intel.com/v1/dl/getcontent/703047 page 990 (printed as
960). On BSpec this is page 49664.
>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Anshuman Gupta <anshuman.gupta at intel.com>
> Cc: Francois Dugast <francois.dugast at intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_pm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
> index de3b5df65e48..1facb7dd8b66 100644
> --- a/drivers/gpu/drm/xe/xe_pm.c
> +++ b/drivers/gpu/drm/xe/xe_pm.c
> @@ -172,6 +172,9 @@ static bool xe_pm_pci_d3cold_capable(struct xe_device *xe)
> struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> struct pci_dev *root_pdev;
>
> + if (!IS_DGFX(xe))
> + return false;
> +
> root_pdev = pcie_find_root_port(pdev);
> if (!root_pdev)
> return false;
More information about the Intel-xe
mailing list