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

kernel test robot
2022-02-17T19:48:07Z

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@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