Message ID | 20230825124135.4086628-2-stanislaw.gruszka@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | accel/ivpu: Update for -next 2023.08.25 | expand |
Hi Stanislaw, kernel test robot noticed the following build errors: [auto build test ERROR on drm-tip/drm-tip] [also build test ERROR on next-20230825] [cannot apply to drm-misc/drm-misc-next linus/master v6.5-rc7] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Stanislaw-Gruszka/accel-ivpu-Move-set-autosuspend-delay-to-HW-specific-code/20230825-204444 base: git://anongit.freedesktop.org/drm/drm-tip drm-tip patch link: https://lore.kernel.org/r/20230825124135.4086628-2-stanislaw.gruszka%40linux.intel.com patch subject: [PATCH 1/9] accel/ivpu: Move set autosuspend delay to HW specific code config: x86_64-randconfig-004-20230825 (https://download.01.org/0day-ci/archive/20230826/202308260057.5bVOUnNo-lkp@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce: (https://download.01.org/0day-ci/archive/20230826/202308260057.5bVOUnNo-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202308260057.5bVOUnNo-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from include/linux/device.h:15, from include/linux/pci.h:37, from drivers/accel/ivpu/ivpu_pm.c:8: drivers/accel/ivpu/ivpu_pm.c: In function 'ivpu_pm_init': >> drivers/accel/ivpu/ivpu_pm.c:303:66: error: 'struct dev_pm_info' has no member named 'autosuspend_delay' 303 | ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", dev->power.autosuspend_delay); | ^ include/linux/dev_printk.h:129:48: note: in definition of macro 'dev_printk' 129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ drivers/accel/ivpu/ivpu_drv.h:73:17: note: in expansion of macro 'dev_dbg' 73 | dev_dbg((vdev)->drm.dev, "[%s] " fmt, #type, ##args); \ | ^~~~~~~ drivers/accel/ivpu/ivpu_pm.c:303:9: note: in expansion of macro 'ivpu_dbg' 303 | ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", dev->power.autosuspend_delay); | ^~~~~~~~ vim +303 drivers/accel/ivpu/ivpu_pm.c 284 285 int ivpu_pm_init(struct ivpu_device *vdev) 286 { 287 struct device *dev = vdev->drm.dev; 288 struct ivpu_pm_info *pm = vdev->pm; 289 290 pm->vdev = vdev; 291 pm->suspend_reschedule_counter = PM_RESCHEDULE_LIMIT; 292 293 atomic_set(&pm->in_reset, 0); 294 INIT_WORK(&pm->recovery_work, ivpu_pm_recovery_work); 295 296 pm_runtime_use_autosuspend(dev); 297 298 if (ivpu_disable_recovery) 299 pm_runtime_set_autosuspend_delay(dev, -1); 300 else 301 pm_runtime_set_autosuspend_delay(dev, vdev->timeout.autosuspend); 302 > 303 ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", dev->power.autosuspend_delay); 304 305 return 0; 306 } 307
diff --git a/drivers/accel/ivpu/ivpu_drv.h b/drivers/accel/ivpu/ivpu_drv.h index 9e8c075fe9ef..44d857094bbc 100644 --- a/drivers/accel/ivpu/ivpu_drv.h +++ b/drivers/accel/ivpu/ivpu_drv.h @@ -117,6 +117,7 @@ struct ivpu_device { int jsm; int tdr; int reschedule_suspend; + int autosuspend; } timeout; }; diff --git a/drivers/accel/ivpu/ivpu_hw_37xx.c b/drivers/accel/ivpu/ivpu_hw_37xx.c index 9eae1c241bc0..1090c91e1ba3 100644 --- a/drivers/accel/ivpu/ivpu_hw_37xx.c +++ b/drivers/accel/ivpu/ivpu_hw_37xx.c @@ -113,11 +113,13 @@ static void ivpu_hw_timeouts_init(struct ivpu_device *vdev) vdev->timeout.jsm = 50000; vdev->timeout.tdr = 2000000; vdev->timeout.reschedule_suspend = 1000; + vdev->timeout.autosuspend = -1; } else { vdev->timeout.boot = 1000; vdev->timeout.jsm = 500; vdev->timeout.tdr = 2000; vdev->timeout.reschedule_suspend = 10; + vdev->timeout.autosuspend = 10; } } diff --git a/drivers/accel/ivpu/ivpu_hw_40xx.c b/drivers/accel/ivpu/ivpu_hw_40xx.c index 00c5dbbe6847..2c824358be31 100644 --- a/drivers/accel/ivpu/ivpu_hw_40xx.c +++ b/drivers/accel/ivpu/ivpu_hw_40xx.c @@ -135,16 +135,19 @@ static void ivpu_hw_timeouts_init(struct ivpu_device *vdev) vdev->timeout.jsm = 50000; vdev->timeout.tdr = 2000000; vdev->timeout.reschedule_suspend = 1000; + vdev->timeout.autosuspend = -1; } else if (ivpu_is_simics(vdev)) { vdev->timeout.boot = 50; vdev->timeout.jsm = 500; vdev->timeout.tdr = 10000; vdev->timeout.reschedule_suspend = 10; + vdev->timeout.autosuspend = -1; } else { vdev->timeout.boot = 1000; vdev->timeout.jsm = 500; vdev->timeout.tdr = 2000; vdev->timeout.reschedule_suspend = 10; + vdev->timeout.autosuspend = 10; } } diff --git a/drivers/accel/ivpu/ivpu_pm.c b/drivers/accel/ivpu/ivpu_pm.c index e6f27daf5560..b3a422305141 100644 --- a/drivers/accel/ivpu/ivpu_pm.c +++ b/drivers/accel/ivpu/ivpu_pm.c @@ -297,10 +297,10 @@ int ivpu_pm_init(struct ivpu_device *vdev) if (ivpu_disable_recovery) pm_runtime_set_autosuspend_delay(dev, -1); - else if (ivpu_is_silicon(vdev)) - pm_runtime_set_autosuspend_delay(dev, 100); else - pm_runtime_set_autosuspend_delay(dev, 60000); + pm_runtime_set_autosuspend_delay(dev, vdev->timeout.autosuspend); + + ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", dev->power.autosuspend_delay); return 0; }