Lines Matching +full:controller +full:- +full:data

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34 * 0 - quiet, only emit warnings
35 * 1 - noisy, emit major function points and things done
36 * 2 - extremely noisy, emit trace items in loops, etc.
47 * Regardless of the actual capacity of the controller, we will allocate space
49 * 128k maximum transfer assuming 4k page size and non-optimal alignment), but
61 * Structure describing a System Drive as attached to the controller.
80 * Per-command control structure.
86 struct mlx_softc *mc_sc; /* controller that owns us */
91 u_int32_t mc_sgphys; /* physical address of s/g array in controller space */
96 #define MLX_CMD_PRIORITY (1<<2) /* high-priority command */
98 void *mc_data; /* data buffer */
100 bus_dmamap_t mc_dmamap; /* DMA map for data */
101 u_int32_t mc_dataphys; /* data buffer base address controller space */
104 void *mc_private; /* submitter-private data or wait channel */
109 * Per-controller structure.
120 bus_dma_tag_t mlx_buffer_dmat;/* data buffer DMA tag */
124 /* scatter/gather lists and their controller-visible mappings */
130 /* controller limits and features */
132 int mlx_feature; /* controller features/quirks */
135 /* controller queues and arrays */
144 /* controller status */
150 #define MLX_STATE_SHUTDOWN (1<<1) /* controller is shut down */
152 #define MLX_STATE_SUSPEND (1<<3) /* controller is suspended */
171 /* interface-specific accessor functions */
185 #define MLX_IO_LOCK(sc) mtx_lock(&(sc)->mlx_io_lock)
186 #define MLX_IO_UNLOCK(sc) mtx_unlock(&(sc)->mlx_io_lock)
187 #define MLX_IO_ASSERT_LOCKED(sc) mtx_assert(&(sc)->mlx_io_lock, MA_OWNED)
188 #define MLX_CONFIG_LOCK(sc) sx_xlock(&(sc)->mlx_config_lock)
189 #define MLX_CONFIG_UNLOCK(sc) sx_xunlock(&(sc)->mlx_config_lock)
190 #define MLX_CONFIG_ASSERT_LOCKED(sc) sx_assert(&(sc)->mlx_config_lock, SA_XLOCKED)
198 extern void mlx_intr(void *data);