Lines Matching +full:device +full:- +full:unique
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
17 #include <linux/device.h>
24 #define RIO_NO_HOPCOUNT -1
39 exists for the device ID) */
57 * 1-15 RapidIO memory regions
72 * A component tag value (stored in the component tag CSR) is used as device's
73 * unique identifier assigned during enumeration. Besides being used for
74 * identifying switches (which do not have device ID register), it also is used
79 #define RIO_CTAG_UDEVID 0x0001ffff /* Unique device identifier */
89 * struct rio_switch - RIO switch info
92 * @port_ok: Status of each port (one bit per port) - OK=1 or UNINIT=0
93 * @ops: pointer to switch-specific operations
95 * @nextdev: Array of per-port pointers to the next attached device
107 * struct rio_switch_ops - Per-switch operations
109 * @add_entry: Callback for switch-specific route add function
110 * @get_entry: Callback for switch-specific route get function
111 * @clr_table: Callback for switch-specific clear route table function
112 * @set_domain: Callback for switch-specific domain setting function
113 * @get_domain: Callback for switch-specific domain get function
114 * @em_init: Callback for switch-specific error management init function
115 * @em_handle: Callback for switch-specific error management handler function
118 * a particular RIO switch device.
144 * struct rio_dev - RIO device info
147 * @net: Network this device is a part of
149 * @did: Device ID
151 * @device_rev: Device revision
152 * @asm_did: Assembly device ID
161 * @phys_efptr: RIO device extended features pointer
162 * @phys_rmap: LP-Serial Register Map Type (1 or 2)
164 * @dma_mask: Mask of bits of RIO address this device implements
165 * @driver: Driver claiming this device
166 * @dev: Device model device
167 * @riores: RIO resources this device owns
168 * @pwcback: port-write callback function for this device
170 * @hopcount: Hopcount to this device
171 * @prev: Previous RIO device connected to the current one
172 * @state: device state
173 * @rswitch: struct rio_switch (if valid for this device)
178 struct rio_net *net; /* RIO net this device resides in */
196 struct rio_driver *driver; /* RIO driver claiming this device */
197 struct device dev; /* LDM device structure */
215 * struct rio_msg - RIO message event
225 * struct rio_dbell - RIO doorbell event
229 * @dev_id: Device specific pointer to pass on event
239 * struct rio_mport - RIO master port info
250 * @host_deviceid: Host device ID associated with this master port
252 * @id: Port ID, unique among all ports
253 * @index: Port index, unique among all port interfaces of the same type
256 * @phys_rmap: LP-Serial EFB Register Mapping type (1 or 2).
258 * @dev: device structure associated with an mport
260 * @dma: DMA device associated with mport
262 * @state: mport device state
263 * @pwe_refcnt: port-write enable ref counter to track enable/disable requests
276 int host_deviceid; /* Host device ID */
277 struct rio_ops *ops; /* low-level architecture-dependent routines */
278 unsigned char id; /* port ID, unique among all ports */
279 unsigned char index; /* port index, unique among all port
282 * 0 - Small size. 256 devices.
283 * 1 - Large size, 65536 devices.
288 struct device dev;
300 return atomic_read(&mport->state) == RIO_DEVICE_RUNNING; in rio_mport_is_running()
309 * struct rio_net - RIO network info
316 * @dev: Device object
318 * @release: enumerator-specific release callback
327 struct device dev;
357 * struct rio_mport_attr - RIO mport device attributes
358 * @flags: mport device capability flags
376 /* Low-level architecture-dependent routines */
379 * struct rio_ops - Low-level RIO configuration space operations
385 * @pwenable: Callback to enable/disable port-write message handling.
395 * @query_mport: Callback to query mport device attributes.
440 * struct rio_driver - RIO driver info
443 * @id_table: RIO device ids to be associated with this driver
444 * @probe: RIO device inserted
445 * @remove: RIO device removed
447 * @suspend: RIO device suspended
448 * @resume: RIO device awakened
449 * @enable_wake: RIO device enable wake event
452 * Provides info on a RIO device driver for insertion/removal and
484 * enum rio_write_type - RIO write transaction types used in DMA transfers
487 * write-with-response (NWRITE_R) data transfer operations.
496 RDW_LAST_NWRITE_R, /* last packet uses NWRITE_R, others - NWRITE */
501 u64 rio_addr; /* low 64-bits of 66-bit RapidIO address */
502 u8 rio_addr_u; /* upper 2-bits of 66-bit RapidIO address */
510 /* Remote device address (flat buffer) */
511 u64 rio_addr; /* low 64-bits of 66-bit RapidIO address */
512 u8 rio_addr_u; /* upper 2-bits of 66-bit RapidIO address */
523 * struct rio_scan - RIO enumeration and discovery operations
535 * struct rio_scan_node - list node to register RapidIO enumeration and
547 /* Architecture and hardware-specific functions */