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

Function fman_get_ip_rev

dpdk/drivers/bus/dpaa/base/fman/fman.c:56–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54}
55
56static int
57fman_get_ip_rev(const struct device_node *fman_node)
58{
59 const uint32_t *fman_addr;
60 uint64_t phys_addr;
61 uint64_t regs_size;
62 uint32_t ip_rev_1;
63 int _errno;
64
65 fman_addr = of_get_address(fman_node, 0, &regs_size, NULL);
66 if (!fman_addr) {
67 pr_err("of_get_address cannot return fman address\n");
68 return -EINVAL;
69 }
70 phys_addr = of_translate_address(fman_node, fman_addr);
71 if (!phys_addr) {
72 pr_err("of_translate_address failed\n");
73 return -EINVAL;
74 }
75 fman_ccsr_map = mmap(NULL, regs_size, PROT_READ | PROT_WRITE,
76 MAP_SHARED, fman_ccsr_map_fd, phys_addr);
77 if (fman_ccsr_map == MAP_FAILED) {
78 pr_err("Can not map FMan ccsr base");
79 return -EINVAL;
80 }
81
82 ip_rev_1 = in_be32(fman_ccsr_map + FMAN_IP_REV_1);
83 fman_ip_rev = (ip_rev_1 & FMAN_IP_REV_1_MAJOR_MASK) >>
84 FMAN_IP_REV_1_MAJOR_SHIFT;
85
86 _errno = munmap(fman_ccsr_map, regs_size);
87 if (_errno)
88 pr_err("munmap() of FMan ccsr failed");
89
90 return 0;
91}
92
93static int
94fman_get_mac_index(uint64_t regs_addr_host, uint8_t *mac_idx)

Callers 1

fman_if_initFunction · 0.85

Calls 3

of_get_addressFunction · 0.85
of_translate_addressFunction · 0.85
in_be32Function · 0.85

Tested by

no test coverage detected