Lines Matching refs:na
22 #define OF_CHECK_ADDR_COUNT(na) ((na) > 0 && (na) <= OF_MAX_ADDR_CELLS)
23 #define OF_CHECK_COUNTS(na, ns) (OF_CHECK_ADDR_COUNT(na) && (ns) > 0)
27 static void of_dump_addr(const char *s, const __be32 *addr, int na)
30 while (na--)
35 static void of_dump_addr(const char *s, const __be32 *addr, int na) { }
46 int na, int ns, int pna);
47 int (*translate)(__be32 *addr, u64 offset, int na);
66 int na, int ns, int pna)
70 cp = of_read_number(range, na);
71 s = of_read_number(range + na + pna, ns);
72 da = of_read_number(addr, na);
81 static int of_bus_default_translate(__be32 *addr, u64 offset, int na)
83 u64 a = of_read_number(addr, na);
84 memset(addr, 0, na * 4);
86 if (na > 1)
87 addr[na - 2] = cpu_to_be32(a >> 32);
88 addr[na - 1] = cpu_to_be32(a & 0xffffffffu);
103 static u64 of_bus_default_flags_map(__be32 *addr, const __be32 *range, int na,
113 cp = of_read_number(range + 1, na - 1);
114 s = of_read_number(range + na + pna, ns);
115 da = of_read_number(addr + 1, na - 1);
124 static int of_bus_default_flags_translate(__be32 *addr, u64 offset, int na)
127 return of_bus_default_translate(addr + 1, offset, na - 1);
194 static u64 of_bus_pci_map(__be32 *addr, const __be32 *range, int na, int ns,
208 cp = of_read_number(range + 1, na - 1);
209 s = of_read_number(range + na + pna, ns);
210 da = of_read_number(addr + 1, na - 1);
219 static int of_bus_pci_translate(__be32 *addr, u64 offset, int na)
221 return of_bus_default_translate(addr + 1, offset, na - 1);
325 static u64 of_bus_isa_map(__be32 *addr, const __be32 *range, int na, int ns,
335 cp = of_read_number(range + 1, na - 1);
336 s = of_read_number(range + na + pna, ns);
337 da = of_read_number(addr + 1, na - 1);
346 static int of_bus_isa_translate(__be32 *addr, u64 offset, int na)
348 return of_bus_default_translate(addr + 1, offset, na - 1);
453 int na, int ns, int pna, const char *rprop)
486 offset = of_read_number(addr, na);
496 rone = na + pna + ns;
498 offset = bus->map(addr, ranges, na, ns, pna);
506 memcpy(addr, ranges + na, 4 * pna);
538 int na, ns, pna, pns;
554 bus->count_cells(dev, &na, &ns);
555 if (!OF_CHECK_COUNTS(na, ns)) {
559 memcpy(addr, in_addr, na * 4);
561 pr_debug("bus is %s (na=%d, ns=%d) on %pOF\n",
562 bus->name, na, ns, parent);
563 of_dump_addr("translating address:", addr, na);
577 result = of_read_number(addr, na);
587 result = of_read_number(addr + 1, na - 1);
602 pr_debug("parent bus is %s (na=%d, ns=%d) on %pOF\n",
606 if (of_translate_one(dev, bus, pbus, addr, na, ns, pna, rprop))
610 na = pna;
614 of_dump_addr("one level translation:", addr, na);
700 int na, ns;
706 na = of_bus_n_addr_cells(parent);
715 size = of_read_number(prop + na, ns);
723 return prop + na + ns;
734 int onesize, i, na, ns;
745 bus->count_cells(dev, &na, &ns);
747 if (!OF_CHECK_ADDR_COUNT(na))
756 onesize = na + ns;
763 *size = of_read_number(prop + na, ns);
803 parser->na = of_bus_n_addr_cells(node);
835 int na = parser->na;
837 int np = parser->pna + na + ns;
852 range->bus_addr = of_read_number(parser->range + busflag_na, na - busflag_na);
856 parser->range + na);
859 parser->range + na);
860 range->size = of_read_number(parser->range + parser->pna + na, ns);
870 bus_addr = of_read_number(parser->range + busflag_na, na - busflag_na);
873 parser->range + na);
876 parser->range + na);
877 size = of_read_number(parser->range + parser->pna + na, ns);