[PATCH 1/6] powerpc/pseries: Define common functions for RTAS sequence HCALLs
kernel test robot
lkp at intel.com
Sun Jan 5 13:53:24 AEDT 2025
Hi Haren,
kernel test robot noticed the following build warnings:
[auto build test WARNING on powerpc/next]
[also build test WARNING on powerpc/fixes linus/master v6.13-rc5 next-20241220]
[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/Haren-Myneni/powerpc-pseries-Define-common-functions-for-RTAS-sequence-HCALLs/20250105-045010
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
patch link: https://lore.kernel.org/r/20250104204652.388720-2-haren%40linux.ibm.com
patch subject: [PATCH 1/6] powerpc/pseries: Define common functions for RTAS sequence HCALLs
config: powerpc64-randconfig-002-20250105 (https://download.01.org/0day-ci/archive/20250105/202501051055.oZDoR4fH-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 096551537b2a747a3387726ca618ceeb3950e9bc)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250105/202501051055.oZDoR4fH-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/202501051055.oZDoR4fH-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/powerpc/platforms/pseries/papr-vpd.c:141: warning: Function parameter or struct member 'param' not described in 'vpd_sequence_begin'
>> arch/powerpc/platforms/pseries/papr-vpd.c:141: warning: Excess function parameter 'loc_code' description in 'vpd_sequence_begin'
vim +141 arch/powerpc/platforms/pseries/papr-vpd.c
514f6ff4369a30 Nathan Lynch 2023-12-12 121
514f6ff4369a30 Nathan Lynch 2023-12-12 122 /*
514f6ff4369a30 Nathan Lynch 2023-12-12 123 * Internal VPD sequence APIs. A VPD sequence is a series of calls to
514f6ff4369a30 Nathan Lynch 2023-12-12 124 * ibm,get-vpd for a given location code. The sequence ends when an
514f6ff4369a30 Nathan Lynch 2023-12-12 125 * error is encountered or all VPD for the location code has been
514f6ff4369a30 Nathan Lynch 2023-12-12 126 * returned.
514f6ff4369a30 Nathan Lynch 2023-12-12 127 */
514f6ff4369a30 Nathan Lynch 2023-12-12 128
514f6ff4369a30 Nathan Lynch 2023-12-12 129 /**
514f6ff4369a30 Nathan Lynch 2023-12-12 130 * vpd_sequence_begin() - Begin a VPD retrieval sequence.
514f6ff4369a30 Nathan Lynch 2023-12-12 131 * @seq: Uninitialized sequence state.
514f6ff4369a30 Nathan Lynch 2023-12-12 132 * @loc_code: Location code that defines the scope of the VPD to return.
514f6ff4369a30 Nathan Lynch 2023-12-12 133 *
514f6ff4369a30 Nathan Lynch 2023-12-12 134 * Initializes @seq with the resources necessary to carry out a VPD
514f6ff4369a30 Nathan Lynch 2023-12-12 135 * sequence. Callers must pass @seq to vpd_sequence_end() regardless
514f6ff4369a30 Nathan Lynch 2023-12-12 136 * of whether the sequence succeeds.
514f6ff4369a30 Nathan Lynch 2023-12-12 137 *
514f6ff4369a30 Nathan Lynch 2023-12-12 138 * Context: May sleep.
514f6ff4369a30 Nathan Lynch 2023-12-12 139 */
5d8b0014124124 Haren Myneni 2025-01-04 140 static void vpd_sequence_begin(struct papr_rtas_sequence *seq, void *param)
514f6ff4369a30 Nathan Lynch 2023-12-12 @141 {
5d8b0014124124 Haren Myneni 2025-01-04 142 struct rtas_ibm_get_vpd_params *vpd_params;
514f6ff4369a30 Nathan Lynch 2023-12-12 143 /*
514f6ff4369a30 Nathan Lynch 2023-12-12 144 * Use a static data structure for the location code passed to
514f6ff4369a30 Nathan Lynch 2023-12-12 145 * RTAS to ensure it's in the RMA and avoid a separate work
514f6ff4369a30 Nathan Lynch 2023-12-12 146 * area allocation. Guarded by the function lock.
514f6ff4369a30 Nathan Lynch 2023-12-12 147 */
514f6ff4369a30 Nathan Lynch 2023-12-12 148 static struct papr_location_code static_loc_code;
514f6ff4369a30 Nathan Lynch 2023-12-12 149
514f6ff4369a30 Nathan Lynch 2023-12-12 150 /*
514f6ff4369a30 Nathan Lynch 2023-12-12 151 * We could allocate the work area before acquiring the
514f6ff4369a30 Nathan Lynch 2023-12-12 152 * function lock, but that would allow concurrent requests to
514f6ff4369a30 Nathan Lynch 2023-12-12 153 * exhaust the limited work area pool for no benefit. So
514f6ff4369a30 Nathan Lynch 2023-12-12 154 * allocate the work area under the lock.
514f6ff4369a30 Nathan Lynch 2023-12-12 155 */
514f6ff4369a30 Nathan Lynch 2023-12-12 156 mutex_lock(&rtas_ibm_get_vpd_lock);
5d8b0014124124 Haren Myneni 2025-01-04 157 static_loc_code = *(struct papr_location_code *)param;
5d8b0014124124 Haren Myneni 2025-01-04 158 vpd_params = (struct rtas_ibm_get_vpd_params *)seq->params;
5d8b0014124124 Haren Myneni 2025-01-04 159 vpd_params->work_area = rtas_work_area_alloc(SZ_4K);
5d8b0014124124 Haren Myneni 2025-01-04 160 vpd_params->loc_code = &static_loc_code;
5d8b0014124124 Haren Myneni 2025-01-04 161 vpd_params->sequence = 1;
5d8b0014124124 Haren Myneni 2025-01-04 162 vpd_params->status = 0;
514f6ff4369a30 Nathan Lynch 2023-12-12 163 }
514f6ff4369a30 Nathan Lynch 2023-12-12 164
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Linuxppc-dev
mailing list