Message ID | 1471948800-28641-28-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: i386-defconfig (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 warnings (new ones prefixed by >>): drivers/gpu/drm/i915/intel_slpc.c: In function 'intel_slpc_enable': >> drivers/gpu/drm/i915/intel_slpc.c:299:15: warning: unused variable 'page' [-Wunused-variable] struct page *page; ^~~~ vim +/page +299 drivers/gpu/drm/i915/intel_slpc.c 283 284 void intel_slpc_suspend(struct drm_i915_private *dev_priv) 285 { 286 host2guc_slpc_shutdown(dev_priv); 287 dev_priv->guc.slpc.enabled = false; 288 } 289 290 void intel_slpc_disable(struct drm_i915_private *dev_priv) 291 { 292 host2guc_slpc_shutdown(dev_priv); 293 dev_priv->guc.slpc.enabled = false; 294 } 295 296 void intel_slpc_enable(struct drm_i915_private *dev_priv) 297 { 298 struct drm_i915_gem_object *obj; > 299 struct page *page; 300 void *pv = NULL; 301 struct slpc_shared_data data; 302 u64 val; 303 304 host2guc_slpc_reset(dev_priv); 305 dev_priv->guc.slpc.enabled = true; 306 307 /* Enable only GTPERF task, Disable others */ --- 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: x86_64-randconfig-x009-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 errors (new ones prefixed by >>): drivers/gpu/drm/i915/intel_slpc.c: In function 'intel_slpc_enable': >> drivers/gpu/drm/i915/intel_slpc.c:299:15: error: unused variable 'page' [-Werror=unused-variable] struct page *page; ^~~~ cc1: all warnings being treated as errors vim +/page +299 drivers/gpu/drm/i915/intel_slpc.c 293 dev_priv->guc.slpc.enabled = false; 294 } 295 296 void intel_slpc_enable(struct drm_i915_private *dev_priv) 297 { 298 struct drm_i915_gem_object *obj; > 299 struct page *page; 300 void *pv = NULL; 301 struct slpc_shared_data data; 302 u64 val; --- 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/intel_slpc.c b/drivers/gpu/drm/i915/intel_slpc.c index 0cde40e..a6a1021 100644 --- a/drivers/gpu/drm/i915/intel_slpc.c +++ b/drivers/gpu/drm/i915/intel_slpc.c @@ -295,6 +295,10 @@ void intel_slpc_disable(struct drm_i915_private *dev_priv) void intel_slpc_enable(struct drm_i915_private *dev_priv) { + struct drm_i915_gem_object *obj; + struct page *page; + void *pv = NULL; + struct slpc_shared_data data; u64 val; host2guc_slpc_reset(dev_priv); @@ -338,6 +342,25 @@ void intel_slpc_enable(struct drm_i915_private *dev_priv) intel_slpc_set_param(dev_priv, SLPC_PARAM_GLOBAL_ENABLE_BALANCER_IN_NON_GAMING_MODE, 0); + + obj = dev_priv->guc.slpc.vma->obj; + intel_slpc_query_task_state(dev_priv); + + pv = kmap_atomic(i915_gem_object_get_page(obj, 0)); + data = *(struct slpc_shared_data *) pv; + kunmap_atomic(pv); + + /* + * TODO: Define separate variables for slice and unslice + * frequencies for driver state variable. + */ + dev_priv->rps.max_freq_softlimit = + data.task_state_data.freq_unslice_max; + dev_priv->rps.min_freq_softlimit = + data.task_state_data.freq_unslice_min; + + dev_priv->rps.max_freq_softlimit *= GEN9_FREQ_SCALER; + dev_priv->rps.min_freq_softlimit *= GEN9_FREQ_SCALER; } void intel_slpc_reset(struct drm_i915_private *dev_priv)
v2: Removing checks for vma obj and kmap_atomic validity. (Chris) Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> --- drivers/gpu/drm/i915/intel_slpc.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)