Message ID | 1471948800-28641-2-git-send-email-sagar.a.kamble@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Sagar,
[auto build test WARNING on drm-intel/for-linux-next]
[cannot apply to v4.8-rc3 next-20160823]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Sagar-Arun-Kamble/Add-support-for-GuC-based-SLPC/20160823-204034
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x016-201634 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
drivers/gpu/drm/i915/intel_runtime_pm.c: In function 'intel_runtime_pm_enable':
>> drivers/gpu/drm/i915/intel_runtime_pm.c:2761:21: warning: unused variable 'dev' [-Wunused-variable]
struct drm_device *dev = &dev_priv->drm;
^~~
vim +/dev +2761 drivers/gpu/drm/i915/intel_runtime_pm.c
c49d13ee David Weinehall 2016-08-22 2745 pm_runtime_put_autosuspend(kdev);
9c065a7d Daniel Vetter 2014-09-30 2746 }
9c065a7d Daniel Vetter 2014-09-30 2747
e4e7684f Daniel Vetter 2014-09-30 2748 /**
e4e7684f Daniel Vetter 2014-09-30 2749 * intel_runtime_pm_enable - enable runtime pm
e4e7684f Daniel Vetter 2014-09-30 2750 * @dev_priv: i915 device instance
e4e7684f Daniel Vetter 2014-09-30 2751 *
e4e7684f Daniel Vetter 2014-09-30 2752 * This function enables runtime pm at the end of the driver load sequence.
e4e7684f Daniel Vetter 2014-09-30 2753 *
e4e7684f Daniel Vetter 2014-09-30 2754 * Note that this function does currently not enable runtime pm for the
e4e7684f Daniel Vetter 2014-09-30 2755 * subordinate display power domains. That is only done on the first modeset
e4e7684f Daniel Vetter 2014-09-30 2756 * using intel_display_set_init_power().
e4e7684f Daniel Vetter 2014-09-30 2757 */
f458ebbc Daniel Vetter 2014-09-30 2758 void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
9c065a7d Daniel Vetter 2014-09-30 2759 {
52a05c30 David Weinehall 2016-08-22 2760 struct pci_dev *pdev = dev_priv->drm.pdev;
91c8a326 Chris Wilson 2016-07-05 @2761 struct drm_device *dev = &dev_priv->drm;
52a05c30 David Weinehall 2016-08-22 2762 struct device *kdev = &pdev->dev;
9c065a7d Daniel Vetter 2014-09-30 2763
c49d13ee David Weinehall 2016-08-22 2764 pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */
c49d13ee David Weinehall 2016-08-22 2765 pm_runtime_mark_last_busy(kdev);
cbc68dc9 Imre Deak 2015-12-17 2766
25b181b4 Imre Deak 2015-12-17 2767 /*
25b181b4 Imre Deak 2015-12-17 2768 * Take a permanent reference to disable the RPM functionality and drop
25b181b4 Imre Deak 2015-12-17 2769 * it only when unloading the driver. Use the low level get/put helpers,
:::::: The code at line 2761 was first introduced by commit
:::::: 91c8a326a192117219d5b9b980244c3662e35404 drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm
:::::: TO: Chris Wilson <chris@chris-wilson.co.uk>
:::::: CC: Chris Wilson <chris@chris-wilson.co.uk>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Sagar,
[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v4.8-rc3 next-20160823]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Sagar-Arun-Kamble/Add-support-for-GuC-based-SLPC/20160823-204034
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x001-201634 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/intel_runtime_pm.c: In function 'intel_runtime_pm_enable':
>> drivers/gpu/drm/i915/intel_runtime_pm.c:2761:21: error: unused variable 'dev' [-Werror=unused-variable]
struct drm_device *dev = &dev_priv->drm;
^~~
cc1: all warnings being treated as errors
vim +/dev +2761 drivers/gpu/drm/i915/intel_runtime_pm.c
e4e7684f Daniel Vetter 2014-09-30 2755 * subordinate display power domains. That is only done on the first modeset
e4e7684f Daniel Vetter 2014-09-30 2756 * using intel_display_set_init_power().
e4e7684f Daniel Vetter 2014-09-30 2757 */
f458ebbc Daniel Vetter 2014-09-30 2758 void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
9c065a7d Daniel Vetter 2014-09-30 2759 {
52a05c30 David Weinehall 2016-08-22 2760 struct pci_dev *pdev = dev_priv->drm.pdev;
91c8a326 Chris Wilson 2016-07-05 @2761 struct drm_device *dev = &dev_priv->drm;
52a05c30 David Weinehall 2016-08-22 2762 struct device *kdev = &pdev->dev;
9c065a7d Daniel Vetter 2014-09-30 2763
c49d13ee David Weinehall 2016-08-22 2764 pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */
:::::: The code at line 2761 was first introduced by commit
:::::: 91c8a326a192117219d5b9b980244c3662e35404 drm/i915: Convert dev_priv->dev backpointers to dev_priv->drm
:::::: TO: Chris Wilson <chris@chris-wilson.co.uk>
:::::: CC: Chris Wilson <chris@chris-wilson.co.uk>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 5a7c0c2..53b5968 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -2293,10 +2293,18 @@ static int intel_runtime_suspend(struct device *kdev) struct drm_i915_private *dev_priv = to_i915(dev); int ret; - if (WARN_ON_ONCE(!(dev_priv->rps.enabled && intel_enable_rc6()))) + if (WARN_ON_ONCE(!intel_enable_rc6())) return -ENODEV; - if (WARN_ON_ONCE(!HAS_RUNTIME_PM(dev))) + /* + * Once RC6 and RPS enabling is separated for non-GEN9 platforms + * below check should be removed. + */ + if (!IS_GEN9(dev_priv)) + if (WARN_ON_ONCE(!dev_priv->rps.enabled)) + return -ENODEV; + + if (WARN_ON_ONCE(!HAS_RUNTIME_PM(dev_priv))) return -ENODEV; DRM_DEBUG_KMS("Suspending device\n"); @@ -2400,7 +2408,7 @@ static int intel_runtime_resume(struct device *kdev) struct drm_i915_private *dev_priv = to_i915(dev); int ret = 0; - if (WARN_ON_ONCE(!HAS_RUNTIME_PM(dev))) + if (WARN_ON_ONCE(!HAS_RUNTIME_PM(dev_priv))) return -ENODEV; DRM_DEBUG_KMS("Resuming device\n"); diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 5e3f170..9dad6df 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -5155,6 +5155,8 @@ static void gen9_disable_rc6(struct drm_i915_private *dev_priv) static void gen9_disable_rps(struct drm_i915_private *dev_priv) { I915_WRITE(GEN6_RP_CONTROL, 0); + + dev_priv->rps.enabled = false; } static void gen6_disable_rps(struct drm_i915_private *dev_priv) @@ -5162,11 +5164,15 @@ static void gen6_disable_rps(struct drm_i915_private *dev_priv) I915_WRITE(GEN6_RC_CONTROL, 0); I915_WRITE(GEN6_RPNSWREQ, 1 << 31); I915_WRITE(GEN6_RP_CONTROL, 0); + + dev_priv->rps.enabled = false; } static void cherryview_disable_rps(struct drm_i915_private *dev_priv) { I915_WRITE(GEN6_RC_CONTROL, 0); + + dev_priv->rps.enabled = false; } static void valleyview_disable_rps(struct drm_i915_private *dev_priv) @@ -5178,6 +5184,8 @@ static void valleyview_disable_rps(struct drm_i915_private *dev_priv) I915_WRITE(GEN6_RC_CONTROL, 0); intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); + + dev_priv->rps.enabled = false; } static void intel_print_rc6_info(struct drm_i915_private *dev_priv, u32 mode) @@ -5395,6 +5403,8 @@ static void gen9_enable_rps(struct drm_i915_private *dev_priv) reset_rps(dev_priv, gen6_set_rps); intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); + + dev_priv->rps.enabled = true; } static void gen9_enable_rc6(struct drm_i915_private *dev_priv) @@ -5538,6 +5548,8 @@ static void gen8_enable_rps(struct drm_i915_private *dev_priv) reset_rps(dev_priv, gen6_set_rps); intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); + + dev_priv->rps.enabled = true; } static void gen6_enable_rps(struct drm_i915_private *dev_priv) @@ -5634,6 +5646,8 @@ static void gen6_enable_rps(struct drm_i915_private *dev_priv) } intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); + + dev_priv->rps.enabled = true; } static void gen6_update_ring_freq(struct drm_i915_private *dev_priv) @@ -6108,6 +6122,8 @@ static void cherryview_enable_rps(struct drm_i915_private *dev_priv) reset_rps(dev_priv, valleyview_set_rps); intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); + + dev_priv->rps.enabled = true; } static void valleyview_enable_rps(struct drm_i915_private *dev_priv) @@ -6188,6 +6204,8 @@ static void valleyview_enable_rps(struct drm_i915_private *dev_priv) reset_rps(dev_priv, valleyview_set_rps); intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); + + dev_priv->rps.enabled = true; } static unsigned long intel_pxfreq(u32 vidfreq) @@ -6777,7 +6795,6 @@ void intel_disable_gt_powersave(struct drm_i915_private *dev_priv) ironlake_disable_drps(dev_priv); } - dev_priv->rps.enabled = false; mutex_unlock(&dev_priv->rps.hw_lock); } @@ -6821,7 +6838,6 @@ void intel_enable_gt_powersave(struct drm_i915_private *dev_priv) WARN_ON(dev_priv->rps.efficient_freq < dev_priv->rps.min_freq); WARN_ON(dev_priv->rps.efficient_freq > dev_priv->rps.max_freq); - dev_priv->rps.enabled = true; mutex_unlock(&dev_priv->rps.hw_lock); } diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c index 6c11168..9a7ff5e 100644 --- a/drivers/gpu/drm/i915/intel_runtime_pm.c +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -2770,7 +2770,7 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv) * so the driver's own RPM reference tracking asserts also work on * platforms without RPM support. */ - if (!HAS_RUNTIME_PM(dev)) { + if (!HAS_RUNTIME_PM(dev_priv)) { pm_runtime_dont_use_autosuspend(kdev); pm_runtime_get_sync(kdev); } else {