[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