Lines Matching refs:eromptr

154 static u32 bcma_erom_get_ent(struct bcma_bus *bus, u32 __iomem **eromptr)  in bcma_erom_get_ent()  argument
156 u32 ent = readl(*eromptr); in bcma_erom_get_ent()
157 (*eromptr)++; in bcma_erom_get_ent()
161 static void bcma_erom_push_ent(u32 __iomem **eromptr) in bcma_erom_push_ent() argument
163 (*eromptr)--; in bcma_erom_push_ent()
166 static s32 bcma_erom_get_ci(struct bcma_bus *bus, u32 __iomem **eromptr) in bcma_erom_get_ci() argument
168 u32 ent = bcma_erom_get_ent(bus, eromptr); in bcma_erom_get_ci()
176 static bool bcma_erom_is_end(struct bcma_bus *bus, u32 __iomem **eromptr) in bcma_erom_is_end() argument
178 u32 ent = bcma_erom_get_ent(bus, eromptr); in bcma_erom_is_end()
179 bcma_erom_push_ent(eromptr); in bcma_erom_is_end()
183 static bool bcma_erom_is_bridge(struct bcma_bus *bus, u32 __iomem **eromptr) in bcma_erom_is_bridge() argument
185 u32 ent = bcma_erom_get_ent(bus, eromptr); in bcma_erom_is_bridge()
186 bcma_erom_push_ent(eromptr); in bcma_erom_is_bridge()
192 static void bcma_erom_skip_component(struct bcma_bus *bus, u32 __iomem **eromptr) in bcma_erom_skip_component() argument
196 ent = bcma_erom_get_ent(bus, eromptr); in bcma_erom_skip_component()
203 bcma_erom_push_ent(eromptr); in bcma_erom_skip_component()
206 static s32 bcma_erom_get_mst_port(struct bcma_bus *bus, u32 __iomem **eromptr) in bcma_erom_get_mst_port() argument
208 u32 ent = bcma_erom_get_ent(bus, eromptr); in bcma_erom_get_mst_port()
216 static u32 bcma_erom_get_addr_desc(struct bcma_bus *bus, u32 __iomem **eromptr, in bcma_erom_get_addr_desc() argument
222 u32 ent = bcma_erom_get_ent(bus, eromptr); in bcma_erom_get_addr_desc()
227 bcma_erom_push_ent(eromptr); in bcma_erom_get_addr_desc()
233 addrh = bcma_erom_get_ent(bus, eromptr); in bcma_erom_get_addr_desc()
238 size = bcma_erom_get_ent(bus, eromptr); in bcma_erom_get_addr_desc()
241 sizeh = bcma_erom_get_ent(bus, eromptr); in bcma_erom_get_addr_desc()
274 static int bcma_get_next_core(struct bcma_bus *bus, u32 __iomem **eromptr, in bcma_get_next_core() argument
284 cia = bcma_erom_get_ci(bus, eromptr); in bcma_get_next_core()
286 bcma_erom_push_ent(eromptr); in bcma_get_next_core()
287 if (bcma_erom_is_end(bus, eromptr)) in bcma_get_next_core()
291 cib = bcma_erom_get_ci(bus, eromptr); in bcma_get_next_core()
308 bcma_erom_skip_component(bus, eromptr); in bcma_get_next_core()
321 bcma_erom_skip_component(bus, eromptr); in bcma_get_next_core()
326 if (bcma_erom_is_bridge(bus, eromptr)) { in bcma_get_next_core()
327 bcma_erom_skip_component(bus, eromptr); in bcma_get_next_core()
332 bcma_erom_skip_component(bus, eromptr); in bcma_get_next_core()
342 bcma_erom_skip_component(bus, eromptr); in bcma_get_next_core()
348 s32 mst_port_d = bcma_erom_get_mst_port(bus, eromptr); in bcma_get_next_core()
356 tmp = bcma_erom_get_addr_desc(bus, eromptr, SCAN_ADDR_TYPE_SLAVE, 0); in bcma_get_next_core()
359 tmp = bcma_erom_get_addr_desc(bus, eromptr, in bcma_get_next_core()
374 tmp = bcma_erom_get_addr_desc(bus, eromptr, in bcma_get_next_core()
391 tmp = bcma_erom_get_addr_desc(bus, eromptr, in bcma_get_next_core()
409 tmp = bcma_erom_get_addr_desc(bus, eromptr, in bcma_get_next_core()
460 u32 __iomem *eromptr, *eromend; in bcma_bus_scan() local
470 eromptr = ioremap_nocache(erombase, BCMA_CORE_SIZE); in bcma_bus_scan()
471 if (!eromptr) in bcma_bus_scan()
474 eromptr = bus->mmio; in bcma_bus_scan()
477 eromend = eromptr + BCMA_CORE_SIZE / sizeof(u32); in bcma_bus_scan()
481 while (eromptr < eromend) { in bcma_bus_scan()
491 err = bcma_get_next_core(bus, &eromptr, NULL, core_num, core); in bcma_bus_scan()
522 iounmap(eromptr); in bcma_bus_scan()