MCPcopy Create free account
hub / github.com/F-Stack/f-stack / of_get_address

Function of_get_address

dpdk/drivers/common/dpaax/dpaa_of.c:461–488  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

459}
460
461const uint32_t *
462of_get_address(const struct device_node *dev_node, size_t idx,
463 uint64_t *size, uint32_t *flags __rte_unused)
464{
465 const struct dt_dir *d;
466 const unsigned char *buf;
467 uint32_t na = of_n_addr_cells(dev_node);
468 uint32_t ns = of_n_size_cells(dev_node);
469
470 if (!dev_node)
471 d = &root_dir;
472 else
473 d = node2dir(dev_node);
474 if (!d->reg)
475 return NULL;
476 assert(d->reg->len % ((na + ns) * 4) == 0);
477 assert(d->reg->len / ((na + ns) * 4) > (unsigned int) idx);
478 buf = (const unsigned char *)&d->reg->buf[0];
479 buf += (na + ns) * idx * 4;
480 if (size)
481 for (*size = 0; ns > 0; ns--, na++)
482 *size = (*size << 32) +
483 (((uint32_t)buf[4 * na] << 24) |
484 ((uint32_t)buf[4 * na + 1] << 16) |
485 ((uint32_t)buf[4 * na + 2] << 8) |
486 (uint32_t)buf[4 * na + 3]);
487 return (const uint32_t *)buf;
488}
489
490uint64_t
491of_translate_address(const struct device_node *dev_node,

Callers 5

pmd_pfe_probeFunction · 0.85
fman_get_ip_revFunction · 0.85
fman_if_initFunction · 0.85
bman_init_ccsrFunction · 0.85
qman_global_initFunction · 0.85

Calls 3

of_n_addr_cellsFunction · 0.85
of_n_size_cellsFunction · 0.85
node2dirFunction · 0.85

Tested by

no test coverage detected