Lines Matching full:pio
8 #define pr_fmt(fmt) "LOGIC PIO: " fmt
26 * logic_pio_register_range - register logical PIO range for a host
102 * logic_pio_unregister_range - unregister a logical PIO range for a host
116 * find_io_range_by_fwnode - find logical PIO range for given FW node
117 * @fwnode: FW node handle associated with logical PIO range
139 /* Return a registered range given an input PIO token */
140 static struct logic_pio_hwaddr *find_io_range(unsigned long pio) in find_io_range() argument
146 if (in_range(pio, range->io_start, range->size)) { in find_io_range()
154 pr_err("PIO entry token 0x%lx invalid\n", pio); in find_io_range()
160 * logic_pio_to_hwaddr - translate logical PIO to HW address
161 * @pio: logical PIO value
165 * Translate the input logical PIO to the corresponding hardware address.
166 * The input PIO should be unique in the whole logical PIO space.
168 resource_size_t logic_pio_to_hwaddr(unsigned long pio) in logic_pio_to_hwaddr() argument
172 range = find_io_range(pio); in logic_pio_to_hwaddr()
174 return range->hw_start + pio - range->io_start; in logic_pio_to_hwaddr()
180 * logic_pio_trans_hwaddr - translate HW address to logical PIO
185 * Returns Logical PIO value if successful, ~0UL otherwise