[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