Lines Matching +full:pio +full:- +full:mode

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 1992-1997, 2000-2003 Silicon Graphics, Inc.
6 * Support functions for the HUB ASIC - mostly PIO mapping related.
22 * hub_pio_map - establish a HUB PIO mapping
24 * @hub: hub to perform PIO mapping on
25 * @widget: widget ID to perform PIO mapping for
27 * @size: size of the PIO mapping
35 /* use small-window mapping if possible */ in hub_pio_map()
40 printk(KERN_WARNING "PIO mapping at hub %d widget %d addr 0x%lx" in hub_pio_map()
46 xtalk_addr &= ~(BWIN_SIZE-1); in hub_pio_map()
48 if (test_and_set_bit(i, hub_data(nasid)->h_bigwin_used)) in hub_pio_map()
52 * The code below does a PIO write to setup an ITTE entry. in hub_pio_map()
57 * attempt a PIO prematurely. in hub_pio_map()
60 * received by the hub and can be used by future PIO reads/ in hub_pio_map()
63 * For these two reasons, we PIO read back the ITTE entry in hub_pio_map()
72 printk(KERN_WARNING "unable to establish PIO mapping for at" in hub_pio_map()
82 * Put a PRB into fire-and-forget mode if conveyor isn't set. Otherwise,
83 * put it into conveyor belt mode with the specified number of credits.
104 * Enable or disable fire-and-forget mode. in hub_setup_prb()
109 * Set the appropriate number of PIO credits for the widget. in hub_setup_prb()
120 * hub_set_piomode - set pio mode for a given hub
124 * Put the hub into either "PIO conveyor belt" mode or "fire-and-forget" mode.
128 * XXX - This code should really check what kind of widget we're talking
132 * XXX - There is a bug in the crossbow that link reset PIOs do not
134 * leave widget 0 (xbow) in fire-and-forget mode at all times. This
135 * only affects pio's to xbow registers, which should be rare.
161 * XXX - Here's where we should take the widget type into in hub_set_piomode()
171 * hub_pio_init - PIO-related hub initialization
180 bitmap_zero(hub_data(nasid)->h_bigwin_used, HUB_NUM_BIG_WINDOW); in hub_pio_init()