Lines Matching +full:port +full:- +full:number

1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
2 /* Copyright(c) 2015-17 Intel Corporation. */
27 /* SDW Broadcast Device Number */
30 /* SDW Enumeration Device Number */
37 /* SDW Master Device Number, not supported yet */
72 * flow modes for SDW port. These can be isochronous, tx controlled,
80 /* sample packaging for block. It can be per port or per channel */
85 * enum sdw_slave_status - Slave status
103 * @SDW_CLK_PRE_DEPREPARE: pre clock stop de-prepare
104 * @SDW_CLK_POST_DEPREPARE: post clock stop de-prepare
114 * enum sdw_command_response - Command response as defined by SDW spec
164 * @SDW_DATA_DIR_RX: Data into Port
165 * @SDW_DATA_DIR_TX: Data out of Port
173 * enum sdw_port_data_mode: Data Port mode
183 * owned by this Port
200 * enum sdw_p15_behave - Slave Port 15 behaviour when the Master attempts a
211 * enum sdw_dpn_type - Data port types
212 * @SDW_DPN_FULL: Full Data Port is supported
213 * @SDW_DPN_SIMPLE: Simplified Data Port as defined in spec.
216 * @SDW_DPN_REDUCED: Reduced Data Port as defined in spec.
226 * enum sdw_clk_stop_mode - Clock Stop modes
229 * @SDW_CLK_STOP_MODE1: Slave may have entered a deeper power-saving mode,
238 * struct sdw_dp0_prop - DP0 properties
240 * @max_word: Maximum number of bits in a Payload Channel Sample, 1 to 64
242 * @min_word: Minimum number of bits in a Payload Channel Sample, 1 to 64
244 * @num_words: number of wordlengths supported
245 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
250 * implementation-defined interrupts
254 * The wordlengths are specified by Spec as max, min AND number of
272 * struct sdw_dpn_prop - Data Port DPn properties
273 * @num: port number
274 * @max_word: Maximum number of bits in a Payload Channel Sample, 1 to 64
276 * @min_word: Minimum number of bits in a Payload Channel Sample, 1 to 64
278 * @num_words: Number of discrete supported wordlengths
280 * @type: Data port type. Full, Simplified or Reduced
281 * @max_grouping: Maximum number of samples that can be grouped together for
282 * a full data port
283 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
285 * implementation-defined interrupts
288 * @num_channels: Number of discrete channels supported
289 * @num_ch_combinations: Number of channel combinations supported
295 * @max_async_buffer: Number of samples that this port can buffer in
298 * @block_pack_mode: Type of block port mode supported
300 * @simple_ch_prep_sm: If the port supports simplified channel prepare state
330 * struct sdw_slave_prop - SoundWire Slave properties
331 * @dp0_prop: Data Port 0 properties
332 * @src_dpn_prop: Source Data Port N properties
333 * @sink_dpn_prop: Sink Data Port N properties
335 * @wake_capable: Wake-up events are supported
337 * @clk_stop_mode1: Clock-Stop Mode 1 is supported
339 * @clk_stop_timeout: Worst-case latency of the Clock Stop Prepare State
341 * @ch_prep_timeout: Worst-case latency of the Channel Prepare State Machine
344 * state machine (P=1 SCSP_SM) after exit from clock-stop mode1
353 * @master_count: Number of Masters present on this Slave
399 * struct sdw_master_prop - Master properties
404 * @clk_stop_modes: Bitmap, bit N set when clock-stop-modeN supported
406 * @num_clk_gears: Number of clock gears supported
407 * @num_clk_freq: Number of clock frequencies supported, in Hz
409 * @default_row: Number of rows
410 * @default_col: Number of columns
412 * @err_threshold: Number of times that software may retry sending a single
415 * @hw_disabled: if true, the Master is not functional, typically due to pin-mux
438 * In a number of platforms bus clashes are reported after a hardware
466 * struct sdw_slave_id - Slave ID
489 * Helper macros to extract the MIPI-defined IDs
518 * struct sdw_slave_intr_status - Slave interrupt status
520 * @control_port: control port status
521 * @port: data port status
526 u8 port[15]; member
530 * sdw_reg_bank - SoundWire register banks
540 * struct sdw_prepare_ch: Prepare/De-prepare Data Port channel
542 * @num: Port number
544 * @prepare: Prepare (true) /de-prepare (false) channel
558 * enum sdw_port_prep_ops: Prepare operations for Data Port
560 * @SDW_OPS_PORT_PRE_PREP: Pre prepare operation for the Port
561 * @SDW_OPS_PORT_PRE_DEPREP: Pre deprepare operation for the Port
562 * @SDW_OPS_PORT_POST_PREP: Post prepare operation for the Port
563 * @SDW_OPS_PORT_POST_DEPREP: Post deprepare operation for the Port
608 * @port_prep: Prepare the port with parameters
609 * @clk_stop: handle imp-def sequences before and after prepare and de-prepare
628 * struct sdw_slave - SoundWire Slave
631 * @irq: IRQ number
637 * @port_ready: Port ready completion flag for each Slave port
638 * @m_port_map: static Master port map for each Slave port
639 * @dev_num: Current Device Number, values can be 0 or dev_num_sticky
640 * @dev_num_sticky: one-time static Device Number assigned by Bus
647 * @unattach_request: mask field to keep track why the Slave re-attached and
648 * was re-initialized. This is useful to deal with potential race conditions
687 * struct sdw_master_device - SoundWire 'Master Device' representation
726 * struct sdw_port_params: Data Port parameters
728 * @num: Port number
729 * @bps: Word length of the Port
730 * @flow_mode: Port Data flow mode
733 * This is used to program the Data Port based on Data Port stream
744 * struct sdw_transport_params: Data Port Transport Parameters
746 * @blk_grp_ctrl_valid: Port implements block group control
747 * @num: Port number
754 * @blk_pkg_mode: Block per channel or block per port
755 * @lane_ctrl: Data lane Port uses for Data transfer. Currently only single
758 * This is used to program the Data Port based on Data Port transport
776 * struct sdw_enable_ch: Enable/disable Data Port channel
778 * @num: Port number
792 * @dpn_set_port_params: Set the Port parameters for the Master Port.
795 * Port. Mandatory callback
796 * @dpn_port_prep: Port prepare operations for the Master Data Port.
797 * @dpn_port_enable_ch: Enable the channels of Master Port.
814 * struct sdw_defer - SDW deferred message
826 * struct sdw_master_ops - Master driver ops
837 * @get_device_num: Callback for vendor-specific device_number allocation
838 * @put_device_num: Callback for vendor-specific device_number release
865 * sdw_port_config: Master or Slave Port configuration
867 * @num: Port number
868 * @ch_mask: channels mask for port
880 * @bps: Number of bits per audio sample
900 * @SDW_STREAM_DEPREPARED: Stream de-prepared
917 * @ch_count: Number of channels
948 * struct sdw_bus - SoundWire bus
949 * @dev: Shortcut to &bus->md->dev to avoid changing the entire code.
958 * transport and port parameters
961 * @stream_refcount: number of streams currently using this bus
963 * @port_ops: Master port callback ops
965 * @vendor_specific_prop: pointer to non-standard properties
966 * @hw_sync_min_links: Number of links used by a stream above which
967 * hardware-based synchronization is required. This value is only
968 * meaningful if multi_link is set. If set to 1, hardware-based
971 * @controller_id: system-unique controller ID. If set to -1, the bus @id will be used.
972 * @link_id: Link id number, can be 0 to N, unique for each Controller
973 * @id: bus system-wide unique id
976 * Bit set implies used number, bit clear implies unused number.
1079 return -EINVAL; in sdw_stream_add_slave()
1086 return -EINVAL; in sdw_stream_remove_slave()
1093 return -EINVAL; in sdw_read()
1099 return -EINVAL; in sdw_write()
1105 return -EINVAL; in sdw_write_no_pm()
1111 return -EINVAL; in sdw_read_no_pm()
1117 return -EINVAL; in sdw_nread()
1123 return -EINVAL; in sdw_nread_no_pm()
1129 return -EINVAL; in sdw_nwrite()
1135 return -EINVAL; in sdw_nwrite_no_pm()
1141 return -EINVAL; in sdw_update()
1147 return -EINVAL; in sdw_update_no_pm()