[Intel-gfx] [PATCH v5 6/7] drm/i915/gt: Create per-tile RPS sysfs interfaces

kernel test robot lkp at intel.com
Thu Feb 17 19:47:12 UTC 2022


Hi Andi,

I love your patch! Yet something to improve:

[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next drm-exynos/exynos-drm-next drm/drm-next tegra-drm/drm/tegra/for-next airlied/drm-next v5.17-rc4 next-20220217]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Andi-Shyti/Introduce-multitile-support/20220217-224547
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220218/202202180224.l042viYj-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/f1802e7224006bf4801fe56193bf5eb223a3f4d0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Andi-Shyti/Introduce-multitile-support/20220217-224547
        git checkout f1802e7224006bf4801fe56193bf5eb223a3f4d0
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c: In function 'act_freq_mhz_show':
>> drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c:250:20: error: implicit declaration of function 'sysfs_gt_attribute_r_func' [-Werror=implicit-function-declaration]
     250 |  s64 actual_freq = sysfs_gt_attribute_r_func(dev, attr,
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c: In function 'boost_freq_mhz_store':
>> drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c:318:9: error: implicit declaration of function 'sysfs_gt_attribute_w_func' [-Werror=implicit-function-declaration]
     318 |  return sysfs_gt_attribute_w_func(dev, attr,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/sysfs_gt_attribute_r_func +250 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c

   246	
   247	static ssize_t act_freq_mhz_show(struct device *dev,
   248					 struct device_attribute *attr, char *buff)
   249	{
 > 250		s64 actual_freq = sysfs_gt_attribute_r_func(dev, attr,
   251							    __act_freq_mhz_show);
   252	
   253		return sysfs_emit(buff, "%u\n", (u32) actual_freq);
   254	}
   255	
   256	static s64 __cur_freq_mhz_show(struct intel_gt *gt)
   257	{
   258		return intel_rps_get_requested_frequency(&gt->rps);
   259	}
   260	
   261	static ssize_t cur_freq_mhz_show(struct device *dev,
   262					 struct device_attribute *attr, char *buff)
   263	{
   264		s64 cur_freq = sysfs_gt_attribute_r_func(dev, attr,
   265							 __cur_freq_mhz_show);
   266	
   267		return sysfs_emit(buff, "%u\n", (u32) cur_freq);
   268	}
   269	
   270	static s64 __boost_freq_mhz_show(struct intel_gt *gt)
   271	{
   272		return intel_rps_get_boost_frequency(&gt->rps);
   273	}
   274	
   275	static ssize_t boost_freq_mhz_show(struct device *dev,
   276					   struct device_attribute *attr,
   277					   char *buff)
   278	{
   279		s64 boost_freq = sysfs_gt_attribute_r_func(dev, attr,
   280							   __boost_freq_mhz_show);
   281	
   282		return sysfs_emit(buff, "%u\n", (u32) boost_freq);
   283	}
   284	
   285	static int __boost_freq_mhz_store(struct intel_gt *gt, u32 val)
   286	{
   287		struct intel_rps *rps = &gt->rps;
   288		bool boost = false;
   289	
   290		/* Validate against (static) hardware limits */
   291		val = intel_freq_opcode(rps, val);
   292		if (val < rps->min_freq || val > rps->max_freq)
   293			return -EINVAL;
   294	
   295		mutex_lock(&rps->lock);
   296		if (val != rps->boost_freq) {
   297			rps->boost_freq = val;
   298			boost = atomic_read(&rps->num_waiters);
   299		}
   300		mutex_unlock(&rps->lock);
   301		if (boost)
   302			schedule_work(&rps->work);
   303	
   304		return 0;
   305	}
   306	
   307	static ssize_t boost_freq_mhz_store(struct device *dev,
   308					    struct device_attribute *attr,
   309					    const char *buff, size_t count)
   310	{
   311		ssize_t ret;
   312		u32 val;
   313	
   314		ret = kstrtou32(buff, 0, &val);
   315		if (ret)
   316			return ret;
   317	
 > 318		return sysfs_gt_attribute_w_func(dev, attr,
   319						 __boost_freq_mhz_store, val) ?: count;
   320	}
   321	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org


More information about the dri-devel mailing list