[PATCH] pmdomain: rockchip: Check if smcc could be handled by TA

kernel test robot lkp at intel.com
Wed Feb 19 22:04:30 PST 2025


Hi Shawn,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20250218]
[cannot apply to v6.14-rc3 v6.14-rc2 v6.14-rc1 linus/master v6.14-rc3]
[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/Shawn-Lin/pmdomain-rockchip-Check-if-smcc-could-be-handled-by-TA/20250219-122924
base:   next-20250218
patch link:    https://lore.kernel.org/r/1739926689-151827-1-git-send-email-shawn.lin%40rock-chips.com
patch subject: [PATCH] pmdomain: rockchip: Check if smcc could be handled by TA
config: i386-buildonly-randconfig-001-20250220 (https://download.01.org/0day-ci/archive/20250220/202502201601.rQYwZmA8-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250220/202502201601.rQYwZmA8-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502201601.rQYwZmA8-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: drivers/pmdomain/rockchip/pm-domains.o: in function `rockchip_do_pmu_set_power_domain':
>> drivers/pmdomain/rockchip/pm-domains.c:575: undefined reference to `arm_smccc_1_1_get_conduit'


vim +575 drivers/pmdomain/rockchip/pm-domains.c

   537	
   538	static void rockchip_do_pmu_set_power_domain(struct rockchip_pm_domain *pd,
   539						     bool on)
   540	{
   541		struct rockchip_pmu *pmu = pd->pmu;
   542		struct generic_pm_domain *genpd = &pd->genpd;
   543		u32 pd_pwr_offset = pd->info->pwr_offset;
   544		bool is_on, is_mem_on = false;
   545		struct arm_smccc_res res;
   546	
   547		if (pd->info->pwr_mask == 0)
   548			return;
   549	
   550		if (on && pd->info->mem_status_mask)
   551			is_mem_on = rockchip_pmu_domain_is_mem_on(pd);
   552	
   553		if (pd->info->pwr_w_mask)
   554			regmap_write(pmu->regmap, pmu->info->pwr_offset + pd_pwr_offset,
   555				     on ? pd->info->pwr_w_mask :
   556				     (pd->info->pwr_mask | pd->info->pwr_w_mask));
   557		else
   558			regmap_update_bits(pmu->regmap, pmu->info->pwr_offset + pd_pwr_offset,
   559					   pd->info->pwr_mask, on ? 0 : -1U);
   560	
   561		wmb();
   562	
   563		if (is_mem_on && rockchip_pmu_domain_mem_reset(pd))
   564			return;
   565	
   566		if (readx_poll_timeout_atomic(rockchip_pmu_domain_is_on, pd, is_on,
   567					      is_on == on, 0, 10000)) {
   568			dev_err(pmu->dev,
   569				"failed to set domain '%s', val=%d\n",
   570				genpd->name, is_on);
   571			return;
   572		}
   573	
   574		/* Inform firmware to keep this pd on or off */
 > 575		if (arm_smccc_1_1_get_conduit() != SMCCC_CONDUIT_NONE)
   576			arm_smccc_smc(ROCKCHIP_SIP_SUSPEND_MODE, ROCKCHIP_SLEEP_PD_CONFIG,
   577					pmu->info->pwr_offset + pd_pwr_offset,
   578					pd->info->pwr_mask, on, 0, 0, 0, &res);
   579	}
   580	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the Linux-rockchip mailing list