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-...@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 <l...@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-...@lists.01.org

Reply via email to