* [android-common:mirror-chromeos-5.10-arcvm 0/4] drivers/remoteproc/remoteproc_core.c:193: warning: Function parameter or member 'is_iomem' not described in 'rproc_da_to_va'
@ 2025-12-19 21:25 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-19 21:25 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common mirror-chromeos-5.10-arcvm
head: 500d05631d89314552da084e17819640507698bf
commit: 0cf9435352d4caac1aa224ddfac371ba40a62ea4 [0/4] BACKPORT: FROMGIT: remoteproc: add is_iomem to da_to_va
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20251220/202512200545.pHT2yPkw-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251220/202512200545.pHT2yPkw-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/202512200545.pHT2yPkw-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/remoteproc/remoteproc_core.c:193: warning: Function parameter or member 'is_iomem' not described in 'rproc_da_to_va'
vim +193 drivers/remoteproc/remoteproc_core.c
eb30596eae947ce Loic Pallardy 2018-07-27 162
a01f7cd657c9594 Suman Anna 2015-05-22 163 /**
a01f7cd657c9594 Suman Anna 2015-05-22 164 * rproc_da_to_va() - lookup the kernel virtual address for a remoteproc address
a01f7cd657c9594 Suman Anna 2015-05-22 165 * @rproc: handle of a remote processor
a01f7cd657c9594 Suman Anna 2015-05-22 166 * @da: remoteproc device address to translate
a01f7cd657c9594 Suman Anna 2015-05-22 167 * @len: length of the memory region @da is pointing to
a01f7cd657c9594 Suman Anna 2015-05-22 168 *
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 169 * Some remote processors will ask us to allocate them physically contiguous
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 170 * memory regions (which we call "carveouts"), and map them to specific
a01f7cd657c9594 Suman Anna 2015-05-22 171 * device addresses (which are hardcoded in the firmware). They may also have
a01f7cd657c9594 Suman Anna 2015-05-22 172 * dedicated memory regions internal to the processors, and use them either
a01f7cd657c9594 Suman Anna 2015-05-22 173 * exclusively or alongside carveouts.
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 174 *
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 175 * They may then ask us to copy objects into specific device addresses (e.g.
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 176 * code/data sections) or expose us certain symbols in other device address
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 177 * (e.g. their trace buffer).
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 178 *
a01f7cd657c9594 Suman Anna 2015-05-22 179 * This function is a helper function with which we can go over the allocated
a01f7cd657c9594 Suman Anna 2015-05-22 180 * carveouts and translate specific device addresses to kernel virtual addresses
a01f7cd657c9594 Suman Anna 2015-05-22 181 * so we can access the referenced memory. This function also allows to perform
a01f7cd657c9594 Suman Anna 2015-05-22 182 * translations on the internal remoteproc memory regions through a platform
a01f7cd657c9594 Suman Anna 2015-05-22 183 * implementation specific da_to_va ops, if present.
a01f7cd657c9594 Suman Anna 2015-05-22 184 *
a01f7cd657c9594 Suman Anna 2015-05-22 185 * The function returns a valid kernel address on success or NULL on failure.
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 186 *
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 187 * Note: phys_to_virt(iommu_iova_to_phys(rproc->domain, da)) will work too,
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 188 * but only on kernel direct mapped RAM memory. Instead, we're just using
a01f7cd657c9594 Suman Anna 2015-05-22 189 * here the output of the DMA API for the carveouts, which should be more
a01f7cd657c9594 Suman Anna 2015-05-22 190 * correct.
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 191 */
0cf9435352d4caa Peng Fan 2021-03-06 192 void *rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem)
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 @193 {
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 194 struct rproc_mem_entry *carveout;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 195 void *ptr = NULL;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 196
a01f7cd657c9594 Suman Anna 2015-05-22 197 if (rproc->ops->da_to_va) {
0cf9435352d4caa Peng Fan 2021-03-06 198 ptr = rproc->ops->da_to_va(rproc, da, len, is_iomem);
a01f7cd657c9594 Suman Anna 2015-05-22 199 if (ptr)
a01f7cd657c9594 Suman Anna 2015-05-22 200 goto out;
a01f7cd657c9594 Suman Anna 2015-05-22 201 }
a01f7cd657c9594 Suman Anna 2015-05-22 202
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 203 list_for_each_entry(carveout, &rproc->carveouts, node) {
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 204 int offset = da - carveout->da;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 205
74457c40f97a981 Loic Pallardy 2019-01-10 206 /* Verify that carveout is allocated */
74457c40f97a981 Loic Pallardy 2019-01-10 207 if (!carveout->va)
74457c40f97a981 Loic Pallardy 2019-01-10 208 continue;
74457c40f97a981 Loic Pallardy 2019-01-10 209
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 210 /* try next carveout if da is too small */
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 211 if (offset < 0)
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 212 continue;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 213
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 214 /* try next carveout if da is too large */
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 215 if (offset + len > carveout->len)
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 216 continue;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 217
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 218 ptr = carveout->va + offset;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 219
0cf9435352d4caa Peng Fan 2021-03-06 220 if (is_iomem)
0cf9435352d4caa Peng Fan 2021-03-06 221 *is_iomem = carveout->is_iomem;
0cf9435352d4caa Peng Fan 2021-03-06 222
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 223 break;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 224 }
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 225
a01f7cd657c9594 Suman Anna 2015-05-22 226 out:
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 227 return ptr;
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 228 }
4afc89d66c60a37 Sjur Brændeland 2012-06-19 229 EXPORT_SYMBOL(rproc_da_to_va);
400e64df6b237eb Ohad Ben-Cohen 2011-10-20 230
:::::: The code at line 193 was first introduced by commit
:::::: 400e64df6b237eb36b127efd72000a2794f9eec1 remoteproc: add framework for controlling remote processors
:::::: TO: Ohad Ben-Cohen <ohad@wizery.com>
:::::: CC: Ohad Ben-Cohen <ohad@wizery.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-12-19 21:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-19 21:25 [android-common:mirror-chromeos-5.10-arcvm 0/4] drivers/remoteproc/remoteproc_core.c:193: warning: Function parameter or member 'is_iomem' not described in 'rproc_da_to_va' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.