Re: [RFC 5/6] drm/xe/pm: D3Cold target state

kernel test robot
2025-02-24T21:15:08Z

Hi Anshuman,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on drm-xe/drm-xe-next]
[also build test ERROR on next-20250224]
[cannot apply to rafael-pm/linux-next rafael-pm/bleeding-edge pci/next pci/for-linus linus/master v6.14-rc4]
[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/Anshuman-Gupta/PCI-ACPI-Implement-PCI-FW-_DSM-method/20250225-005537
base: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link: https://lore.kernel.org/r/20250224164849.3746751-6-anshuman.gupta%40intel.com
patch subject: [RFC 5/6] drm/xe/pm: D3Cold target state
config: riscv-randconfig-001-20250225 (https://download.01.org/0day-ci/archive/20250225/202502250431.N9MpQ2rF-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250225/202502250431.N9MpQ2rF-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/202502250431.N9MpQ2rF-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/xe/xe_pm.c:888:38: error: call to undeclared function 'xe_display_connected'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
else if (xe->d3cold.vrsr_capable && xe_display_connected(xe))
^
drivers/gpu/drm/xe/xe_pm.c:888:38: note: did you mean 'xe_display_create'?
drivers/gpu/drm/xe/display/xe_display.h:51:19: note: 'xe_display_create' declared here
static inline int xe_display_create(struct xe_device *xe) { return 0; }
^
1 error generated.

vim +/xe_display_connected +888 drivers/gpu/drm/xe/xe_pm.c

856
857 /**
858 * xe_pm_d3cold_allowed_toggle - Check conditions to toggle d3cold.allowed
859 * @xe: xe device instance
860 *
861 * To be called during runtime_pm idle callback.
862 * Check for all the D3Cold conditions ahead of runtime suspend.
863 */
864 void xe_pm_d3cold_allowed_toggle(struct xe_device *xe)
865 {
866 struct ttm_resource_manager *man;
867 u32 total_vram_used_mb = 0;
868 u64 vram_used;
869 int i;
870
871 if (!xe->d3cold.capable) {
872 xe->d3cold.allowed = XE_D3HOT;
873 return;
874 }
875
876 for (i = XE_PL_VRAM0; i <= XE_PL_VRAM1; ++i) {
877 man = ttm_manager_type(&xe->ttm, i);
878 if (man) {
879 vram_used = ttm_resource_manager_usage(man);
880 total_vram_used_mb += DIV_ROUND_UP_ULL(vram_used, 1024 * 1024);
881 }
882 }
883
884 mutex_lock(&xe->d3cold.lock);
885
886 if (total_vram_used_mb < xe->d3cold.vram_threshold)
887 xe->d3cold.allowed = XE_D3COLD_OFF;
> 888 else if (xe->d3cold.vrsr_capable && xe_display_connected(xe))
889 xe->d3cold.allowed = XE_D3COLD_VRSR;
890 else
891 xe->d3cold.allowed = XE_D3HOT;
892
893 mutex_unlock(&xe->d3cold.lock);
894 }
895

--
0-DAY CI Kernel Test Service