All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gupta, Anshuman" <anshuman.gupta@intel.com>
To: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>,
	"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
	"Ma, Aaron" <aaron.ma@canonical.com>,
	"Wang, Lidong" <lidong.wang@intel.com>
Subject: Re: [Intel-gfx] [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle
Date: Thu, 17 Aug 2023 16:07:22 +0000	[thread overview]
Message-ID: <CY5PR11MB6211A9E8D3949FC5258183BE951AA@CY5PR11MB6211.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CY8PR11MB71341DBE139DE3F6F7B84639E61AA@CY8PR11MB7134.namprd11.prod.outlook.com>

Thanks for review and Testing.
CI Full run failure was unrelated to this patch.
Pushed to drm-intel-next
Regards,
Anshuman Gupta. 

> -----Original Message-----
> From: Yu, Jianshui <jianshui.yu@intel.com>
> Sent: Thursday, August 17, 2023 8:09 PM
> To: Gupta, Anshuman <anshuman.gupta@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: Nilawar, Badal <badal.nilawar@intel.com>; Tauro, Riana
> <riana.tauro@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; Wang,
> Lidong <lidong.wang@intel.com>; stable@vger.kernel.org
> Subject: RE: [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle
> 
> Tested-By: Jianshui Yu <Jianshui.yu@intel.com>
> 
> -----Original Message-----
> From: Gupta, Anshuman <anshuman.gupta@intel.com>
> Sent: Wednesday, August 16, 2023 8:52 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Nilawar, Badal <badal.nilawar@intel.com>; Tauro, Riana
> <riana.tauro@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; Yu, Jianshui
> <jianshui.yu@intel.com>; Wang, Lidong <lidong.wang@intel.com>; Gupta,
> Anshuman <anshuman.gupta@intel.com>; stable@vger.kernel.org
> Subject: [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle
> 
> System wide suspend already has support for lmem save/restore during
> suspend therefore enabling d3cold for s2idle and keepng it disable for
> runtime PM.(Refer below commit for d3cold runtime PM disable
> justification) 'commit 66eb93e71a7a ("drm/i915/dgfx: Keep PCI autosuspend
> control 'on' by default on all dGPU")'
> 
> It will reduce the DG2 Card power consumption to ~0 Watt for s2idle power
> KPI.
> 
> v2:
> - Added "Cc: stable@vger.kernel.org".
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8755
> Cc: stable@vger.kernel.org
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_driver.c | 33 ++++++++++++++++--------------
>  1 file changed, 18 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_driver.c
> b/drivers/gpu/drm/i915/i915_driver.c
> index b870c0df081a..ec4d26b3c17c 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -443,7 +443,6 @@ static int i915_pcode_init(struct drm_i915_private
> *i915)  static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)  {
>  	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> -	struct pci_dev *root_pdev;
>  	int ret;
> 
>  	if (i915_inject_probe_failure(dev_priv))
> @@ -557,15 +556,6 @@ static int i915_driver_hw_probe(struct
> drm_i915_private *dev_priv)
> 
>  	intel_bw_init_hw(dev_priv);
> 
> -	/*
> -	 * FIXME: Temporary hammer to avoid freezing the machine on our
> DGFX
> -	 * This should be totally removed when we handle the pci states
> properly
> -	 * on runtime PM and on s2idle cases.
> -	 */
> -	root_pdev = pcie_find_root_port(pdev);
> -	if (root_pdev)
> -		pci_d3cold_disable(root_pdev);
> -
>  	return 0;
> 
>  err_opregion:
> @@ -591,7 +581,6 @@ static int i915_driver_hw_probe(struct
> drm_i915_private *dev_priv)  static void i915_driver_hw_remove(struct
> drm_i915_private *dev_priv)  {
>  	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> -	struct pci_dev *root_pdev;
> 
>  	i915_perf_fini(dev_priv);
> 
> @@ -599,10 +588,6 @@ static void i915_driver_hw_remove(struct
> drm_i915_private *dev_priv)
> 
>  	if (pdev->msi_enabled)
>  		pci_disable_msi(pdev);
> -
> -	root_pdev = pcie_find_root_port(pdev);
> -	if (root_pdev)
> -		pci_d3cold_enable(root_pdev);
>  }
> 
>  /**
> @@ -1519,6 +1504,8 @@ static int intel_runtime_suspend(struct device
> *kdev)  {
>  	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>  	struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
> +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> +	struct pci_dev *root_pdev;
>  	struct intel_gt *gt;
>  	int ret, i;
> 
> @@ -1570,6 +1557,15 @@ static int intel_runtime_suspend(struct device
> *kdev)
>  		drm_err(&dev_priv->drm,
>  			"Unclaimed access detected prior to suspending\n");
> 
> +	/*
> +	 * FIXME: Temporary hammer to avoid freezing the machine on our
> DGFX
> +	 * This should be totally removed when we handle the pci states
> properly
> +	 * on runtime PM.
> +	 */
> +	root_pdev = pcie_find_root_port(pdev);
> +	if (root_pdev)
> +		pci_d3cold_disable(root_pdev);
> +
>  	rpm->suspended = true;
> 
>  	/*
> @@ -1608,6 +1604,8 @@ static int intel_runtime_resume(struct device
> *kdev)  {
>  	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>  	struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
> +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> +	struct pci_dev *root_pdev;
>  	struct intel_gt *gt;
>  	int ret, i;
> 
> @@ -1621,6 +1619,11 @@ static int intel_runtime_resume(struct device
> *kdev)
> 
>  	intel_opregion_notify_adapter(dev_priv, PCI_D0);
>  	rpm->suspended = false;
> +
> +	root_pdev = pcie_find_root_port(pdev);
> +	if (root_pdev)
> +		pci_d3cold_enable(root_pdev);
> +
>  	if (intel_uncore_unclaimed_mmio(&dev_priv->uncore))
>  		drm_dbg(&dev_priv->drm,
>  			"Unclaimed access during suspend, bios?\n");
> --
> 2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: "Gupta, Anshuman" <anshuman.gupta@intel.com>
To: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Cc: "Nilawar, Badal" <badal.nilawar@intel.com>,
	"Tauro, Riana" <riana.tauro@intel.com>,
	"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
	"Wang, Lidong" <lidong.wang@intel.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>,
	"Ma, Aaron" <aaron.ma@canonical.com>
Subject: RE: [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle
Date: Thu, 17 Aug 2023 16:07:22 +0000	[thread overview]
Message-ID: <CY5PR11MB6211A9E8D3949FC5258183BE951AA@CY5PR11MB6211.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CY8PR11MB71341DBE139DE3F6F7B84639E61AA@CY8PR11MB7134.namprd11.prod.outlook.com>

Thanks for review and Testing.
CI Full run failure was unrelated to this patch.
Pushed to drm-intel-next
Regards,
Anshuman Gupta. 

> -----Original Message-----
> From: Yu, Jianshui <jianshui.yu@intel.com>
> Sent: Thursday, August 17, 2023 8:09 PM
> To: Gupta, Anshuman <anshuman.gupta@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: Nilawar, Badal <badal.nilawar@intel.com>; Tauro, Riana
> <riana.tauro@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; Wang,
> Lidong <lidong.wang@intel.com>; stable@vger.kernel.org
> Subject: RE: [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle
> 
> Tested-By: Jianshui Yu <Jianshui.yu@intel.com>
> 
> -----Original Message-----
> From: Gupta, Anshuman <anshuman.gupta@intel.com>
> Sent: Wednesday, August 16, 2023 8:52 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Nilawar, Badal <badal.nilawar@intel.com>; Tauro, Riana
> <riana.tauro@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; Yu, Jianshui
> <jianshui.yu@intel.com>; Wang, Lidong <lidong.wang@intel.com>; Gupta,
> Anshuman <anshuman.gupta@intel.com>; stable@vger.kernel.org
> Subject: [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle
> 
> System wide suspend already has support for lmem save/restore during
> suspend therefore enabling d3cold for s2idle and keepng it disable for
> runtime PM.(Refer below commit for d3cold runtime PM disable
> justification) 'commit 66eb93e71a7a ("drm/i915/dgfx: Keep PCI autosuspend
> control 'on' by default on all dGPU")'
> 
> It will reduce the DG2 Card power consumption to ~0 Watt for s2idle power
> KPI.
> 
> v2:
> - Added "Cc: stable@vger.kernel.org".
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8755
> Cc: stable@vger.kernel.org
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_driver.c | 33 ++++++++++++++++--------------
>  1 file changed, 18 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_driver.c
> b/drivers/gpu/drm/i915/i915_driver.c
> index b870c0df081a..ec4d26b3c17c 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -443,7 +443,6 @@ static int i915_pcode_init(struct drm_i915_private
> *i915)  static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)  {
>  	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> -	struct pci_dev *root_pdev;
>  	int ret;
> 
>  	if (i915_inject_probe_failure(dev_priv))
> @@ -557,15 +556,6 @@ static int i915_driver_hw_probe(struct
> drm_i915_private *dev_priv)
> 
>  	intel_bw_init_hw(dev_priv);
> 
> -	/*
> -	 * FIXME: Temporary hammer to avoid freezing the machine on our
> DGFX
> -	 * This should be totally removed when we handle the pci states
> properly
> -	 * on runtime PM and on s2idle cases.
> -	 */
> -	root_pdev = pcie_find_root_port(pdev);
> -	if (root_pdev)
> -		pci_d3cold_disable(root_pdev);
> -
>  	return 0;
> 
>  err_opregion:
> @@ -591,7 +581,6 @@ static int i915_driver_hw_probe(struct
> drm_i915_private *dev_priv)  static void i915_driver_hw_remove(struct
> drm_i915_private *dev_priv)  {
>  	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> -	struct pci_dev *root_pdev;
> 
>  	i915_perf_fini(dev_priv);
> 
> @@ -599,10 +588,6 @@ static void i915_driver_hw_remove(struct
> drm_i915_private *dev_priv)
> 
>  	if (pdev->msi_enabled)
>  		pci_disable_msi(pdev);
> -
> -	root_pdev = pcie_find_root_port(pdev);
> -	if (root_pdev)
> -		pci_d3cold_enable(root_pdev);
>  }
> 
>  /**
> @@ -1519,6 +1504,8 @@ static int intel_runtime_suspend(struct device
> *kdev)  {
>  	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>  	struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
> +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> +	struct pci_dev *root_pdev;
>  	struct intel_gt *gt;
>  	int ret, i;
> 
> @@ -1570,6 +1557,15 @@ static int intel_runtime_suspend(struct device
> *kdev)
>  		drm_err(&dev_priv->drm,
>  			"Unclaimed access detected prior to suspending\n");
> 
> +	/*
> +	 * FIXME: Temporary hammer to avoid freezing the machine on our
> DGFX
> +	 * This should be totally removed when we handle the pci states
> properly
> +	 * on runtime PM.
> +	 */
> +	root_pdev = pcie_find_root_port(pdev);
> +	if (root_pdev)
> +		pci_d3cold_disable(root_pdev);
> +
>  	rpm->suspended = true;
> 
>  	/*
> @@ -1608,6 +1604,8 @@ static int intel_runtime_resume(struct device
> *kdev)  {
>  	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>  	struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
> +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> +	struct pci_dev *root_pdev;
>  	struct intel_gt *gt;
>  	int ret, i;
> 
> @@ -1621,6 +1619,11 @@ static int intel_runtime_resume(struct device
> *kdev)
> 
>  	intel_opregion_notify_adapter(dev_priv, PCI_D0);
>  	rpm->suspended = false;
> +
> +	root_pdev = pcie_find_root_port(pdev);
> +	if (root_pdev)
> +		pci_d3cold_enable(root_pdev);
> +
>  	if (intel_uncore_unclaimed_mmio(&dev_priv->uncore))
>  		drm_dbg(&dev_priv->drm,
>  			"Unclaimed access during suspend, bios?\n");
> --
> 2.25.1


  reply	other threads:[~2023-08-17 16:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-16 12:52 [Intel-gfx] [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle Anshuman Gupta
2023-08-16 12:52 ` Anshuman Gupta
2023-08-16 14:42 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dgfx: Enable d3cold at s2idle (rev2) Patchwork
2023-08-16 14:42 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-08-16 15:02 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-16 21:03 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2023-08-17 13:10 ` [Intel-gfx] [PATCH v2] drm/i915/dgfx: Enable d3cold at s2idle Aaron Ma
2023-08-17 13:10   ` Aaron Ma
2023-08-17 14:39 ` Yu, Jianshui
2023-08-17 14:39   ` Yu, Jianshui
2023-08-17 16:07   ` Gupta, Anshuman [this message]
2023-08-17 16:07     ` Gupta, Anshuman
2023-08-18  0:36 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/dgfx: Enable d3cold at s2idle (rev3) Patchwork

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=CY5PR11MB6211A9E8D3949FC5258183BE951AA@CY5PR11MB6211.namprd11.prod.outlook.com \
    --to=anshuman.gupta@intel.com \
    --cc=aaron.ma@canonical.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=lidong.wang@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=stable@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.