Lines Matching +full:out +full:- +full:of +full:- +full:window

1 /*-
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
11 * notice, this list of conditions and the following disclaimer in the
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
41 * ntb_link_event() - notify driver context of a change in link status
50 * ntb_db_event() - notify driver context of a doorbell event
54 * Notify the driver context of a doorbell event. If hardware supports
59 * doorbell bits need service, and ntb_db_vector_mask() to determine which of
65 * ntb_port_number() - get the local port number
75 * ntb_port_count() - get the number of peer device ports
80 * Return: the number of peer ports
85 * ntb_peer_port_number() - get the peer port by given index
97 * ntb_peer_port_idx() - get the peer device port index by given port
110 * ntb_link_is_up() - get the current ntb link state
112 * @speed: OUT - The link speed expressed as PCIe generation number
113 * @width: OUT - The link width expressed as the number of PCIe lanes
120 * ntb_link_enable() - enable the link on the secondary side of the ntb
123 * @max_width: The maximum link width expressed as the number of PCIe lanes[0]
125 * Enable the link on the secondary side of the ntb. This can only be done
126 * from the primary side of the ntb in primary or b2b topology. The ntb device
138 * ntb_link_disable() - disable the link on the secondary side of the ntb
141 * Disable the link on the secondary side of the ntb. This can only be done
142 * from the primary side of the ntb in primary or b2b topology. The ntb device
152 * get enable status of the link on the secondary side of the ntb
157 * ntb_set_ctx() - associate a driver context with an ntb device
171 * ntb_set_ctx() - get a driver context associated with an ntb device
180 * ntb_clear_ctx() - disassociate any driver context from an ntb device
189 * ntb_mw_count() - Get the number of memory windows available for KPI
197 * ntb_mw_get_range() - get the range of a memory window
199 * @idx: Memory window number
200 * @base: OUT - the base address for mapping the memory window
201 * @size: OUT - the size for mapping the memory window
202 * @align: OUT - the base alignment for translating the memory window
203 * @align_size: OUT - the size alignment for translating the memory window
205 * Get the range of a memory window. NULL may be given for any output
207 * mapping the memory window, to access the peer memory. The alignment and
208 * size may be used for translating the memory window, for the peer to access
218 * ntb_mw_set_trans() - set the translation of a memory window
220 * @idx: Memory window number
222 * @size: The size of the local memory to expose to the peer
224 * Set the translation of a memory window. The peer may access local memory
225 * through the window starting at the address, up to the size. The address
229 * 32-bit BARs).
237 * ntb_mw_clear_trans() - clear the translation of a memory window
239 * @idx: Memory window number
241 * Clear the translation of a memory window. The peer may no longer access
242 * local memory through the window.
249 * ntb_mw_get_wc - Get the write-combine status of a memory window
252 * idx is an invalid memory window).
259 * ntb_mw_set_wc - Set the write-combine status of a memory window
265 * mapping of the BAR; otherwise an error number (e.g. if idx is an invalid
266 * memory window, or if changing the caching attribute fails).
271 * ntb_spad_count() - get the total scratch regs usable
277 * RETURNS: total number of scratch pad registers available
282 * ntb_spad_clear() - zero local scratch registers
290 * ntb_spad_write() - write to the secondary scratchpad register
295 * This function allows writing of a 32bit value to the indexed scratchpad
303 * ntb_spad_read() - read from the primary scratchpad register
308 * This function allows reading of the 32bit scratchpad register on
316 * ntb_peer_spad_write() - write to the secondary scratchpad register
321 * This function allows writing of a 32bit value to the indexed scratchpad
329 * ntb_peer_spad_read() - read from the primary scratchpad register
334 * This function allows reading of the 32bit scratchpad register on
342 * ntb_db_valid_mask() - get a mask of doorbell bits supported by the ntb
345 * Hardware may support different number or arrangement of doorbell bits.
347 * Return: A mask of doorbell bits supported by the ntb.
352 * ntb_db_vector_count() - get the number of doorbell interrupt vectors
355 * Hardware may support different number of interrupt vectors.
357 * Return: The number of doorbell interrupt vectors.
362 * ntb_db_vector_mask() - get a mask of doorbell bits serviced by a vector
366 * Each interrupt vector may have a different number or arrangement of bits.
368 * Return: A mask of doorbell bits serviced by a vector.
373 * ntb_peer_db_addr() - address and size of the peer doorbell register
375 * @db_addr: OUT - The address of the peer doorbell register.
376 * @db_size: OUT - The number of bytes to write the peer doorbell register.
378 * Return the address of the peer doorbell register. This may be used, for
380 * The drivers may wish to ring the peer doorbell at the completion of memory
381 * copy operations. For efficiency, and to simplify ordering of operations
388 * Note that writing the peer doorbell via a memory window will *not* generate
394 * ntb_db_clear() - clear bits in the local doorbell register
406 * ntb_db_clear_mask() - clear bits in the local doorbell mask
422 * ntb_db_read() - read the local doorbell register
432 * ntb_db_set_mask() - set bits in the local doorbell mask
445 * ntb_peer_db_set() - Set the doorbell on the secondary/external side
449 * This function allows triggering of a doorbell on the secondary/external