Lines Matching +full:ctrl +full:- +full:b

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2011-2017, The Linux Foundation
38 #define SLIM_HEADER_GET_MT(b) ((b >> SLIM_MSG_MT_SHIFT) & SLIM_MSG_MT_MASK) argument
39 #define SLIM_HEADER_GET_RL(b) ((b >> SLIM_MSG_RL_SHIFT) & SLIM_MSG_RL_MASK) argument
40 #define SLIM_HEADER_GET_MC(b) ((b >> SLIM_MSG_MC_SHIFT) & SLIM_MSG_MC_MASK) argument
41 #define SLIM_HEADER_GET_DT(b) ((b >> SLIM_MSG_DT_SHIFT) & SLIM_MSG_DT_MASK) argument
91 * struct slim_framer - Represents SLIMbus framer.
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)
260 * struct slim_channel - SLIMbus channel, used for state machine
279 * struct slim_port - SLIMbus port
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
347 * struct slim_controller - Controls every instance of SLIMbus
350 * @id: Board-specific number identifier for this controller/bus
372 * @wakeup: This function pointer implements controller-specific procedure
373 * to wake it up from clock-pause. Framework will call this to bring
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.
397 * reporting information such as loss-of-synchronization, data
398 * slot-collision.
414 int (*xfer_msg)(struct slim_controller *ctrl,
416 int (*set_laddr)(struct slim_controller *ctrl,
418 int (*get_laddr)(struct slim_controller *ctrl,
422 int (*wakeup)(struct slim_controller *ctrl);
425 int slim_device_report_present(struct slim_controller *ctrl,
428 int slim_register_controller(struct slim_controller *ctrl);
429 int slim_unregister_controller(struct slim_controller *ctrl);
430 void slim_msg_response(struct slim_controller *ctrl, u8 *reply, u8 tid, u8 l);
431 int slim_do_transfer(struct slim_controller *ctrl, struct slim_msg_txn *txn);
432 int slim_ctrl_clk_pause(struct slim_controller *ctrl, bool wakeup, u8 restart);
433 int slim_alloc_txn_tid(struct slim_controller *ctrl, struct slim_msg_txn *txn);
434 void slim_free_txn_tid(struct slim_controller *ctrl, struct slim_msg_txn *txn);