Lines Matching full:pio
9 #define pr_fmt(fmt) "LOGIC PIO: " fmt
27 * logic_pio_register_range - register logical PIO range for a host
107 * logic_pio_unregister_range - unregister a logical PIO range for a host
121 * find_io_range_by_fwnode - find logical PIO range for given FW node
122 * @fwnode: FW node handle associated with logical PIO range
144 /* Return a registered range given an input PIO token */
145 static struct logic_pio_hwaddr *find_io_range(unsigned long pio) in find_io_range() argument
151 if (in_range(pio, range->io_start, range->size)) { in find_io_range()
159 pr_err("PIO entry token 0x%lx invalid\n", pio); in find_io_range()
165 * logic_pio_to_hwaddr - translate logical PIO to HW address
166 * @pio: logical PIO value
170 * Translate the input logical PIO to the corresponding hardware address.
171 * The input PIO should be unique in the whole logical PIO space.
173 resource_size_t logic_pio_to_hwaddr(unsigned long pio) in logic_pio_to_hwaddr() argument
177 range = find_io_range(pio); in logic_pio_to_hwaddr()
179 return range->hw_start + pio - range->io_start; in logic_pio_to_hwaddr()
185 * logic_pio_trans_hwaddr - translate HW address to logical PIO
190 * Returns Logical PIO value if successful, ~0UL otherwise