Lines Matching +full:controller +full:- +full:data
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2011-2017, The Linux Foundation
48 /* Data channel management messages */
91 * struct slim_framer - Represents SLIMbus framer.
92 * Every controller may have multiple framers. There is 1 active framer device
94 * Manager is responsible for framer hand-over.
111 * struct slim_msg_txn - Message to be sent by the controller.
120 * (relevant for message-codes involving read operation)
152 * enum slim_clk_state: SLIMbus controller's clock state used internally for
158 * @SLIM_CLK_PAUSED: SLIMbus controller clock has paused.
168 * @clk_state: Controller's clock state from enum slim_clk_state
170 * client tries to call SLIMbus transaction when controller is entering
172 * @m_reconf: This mutex is held until current reconfiguration (data channel
203 * and ACTIVATE_CHANNEL core commands. Ready for data transmission.
218 * @SLIM_CH_STATE_ACTIVE: SLIMbus channel is active and ready for data
232 * enum slim_ch_data_fmt: SLIMbus channel data Type identifiers according to
260 * struct slim_channel - SLIMbus channel, used for state machine
265 * @data_fmt: Data format of channel.
279 * struct slim_port - SLIMbus port
296 * @SLIM_PROTO_ISO: Isochronous Protocol, no flow control as data rate match
297 * channel rate flow control embedded in the data.
299 * data whose rate is equal to, or lower than the channel rate.
303 * @SLIM_PROTO_ASYNC_SMPLX: Asynchronous Protocol-Simplex
304 * @SLIM_PROTO_ASYNC_HALF_DUP: Asynchronous Protocol-Half-duplex
305 * @SLIM_PROTO_EXT_SMPLX: Extended Asynchronous Protocol-Simplex
306 * @SLIM_PROTO_EXT_HALF_DUP: Extended Asynchronous Protocol-Half-duplex
320 * struct slim_stream_runtime - SLIMbus stream runtime instance
326 * @rate: Data rate of samples *
328 * @ratem: rate multipler which is super frame rate/data rate
347 * struct slim_controller - Controls every instance of SLIMbus
350 * @id: Board-specific number identifier for this controller/bus
351 * @name: Name for this controller
352 * @min_cg: Minimum clock gear supported by this controller (default value: 1)
353 * @max_cg: Maximum clock gear supported by this controller (default value: 10)
356 * @a_framer: Active framer which is clocking the bus managed by this controller
357 * @lock: Mutex protecting controller data structures
361 * @sched: scheduler structure used by the controller
362 * @xfer_msg: Transfer a message on this controller (this can be a broadcast
363 * control/status message like data channel setup, or a unicast message
366 * address e_addr. Drivers implementing controller will be expected to
368 * @get_laddr: It is possible that controller needs to set fixed logical
369 * address table and get_laddr can be used in that case so that controller
372 * @wakeup: This function pointer implements controller-specific procedure
373 * to wake it up from clock-pause. Framework will call this to bring
374 * the controller out of clock pause.
375 * @enable_stream: This function pointer implements controller-specific procedure
377 * @disable_stream: This function pointer implements controller-specific procedure
383 * enumeration (report-present, report-absent) of a device.
385 * channels on the bus, message-bandwidth requests made by SLIMbus devices.
387 * the bus at (in steps of 'clock-gear', 1 through 10, each clock gear
389 * Manager is also responsible for entering (and exiting) low-power-mode
393 * previous framer being powered-on.
395 * Controller here performs duties of the manager device, and 'interface
397 * reporting information such as loss-of-synchronization, data
398 * slot-collision.