Lines Matching +full:stream +full:- +full:mode +full:- +full:support

1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
2 /* Copyright(c) 2015-17 Intel Corporation. */
75 * enum sdw_slave_status - Slave status
93 * @SDW_CLK_PRE_DEPREPARE: pre clock stop de-prepare
94 * @SDW_CLK_POST_DEPREPARE: post clock stop de-prepare
104 * enum sdw_command_response - Command response as defined by SDW spec
132 /* block packing mode enum */
139 * enum sdw_stream_type: data stream type
141 * @SDW_STREAM_PCM: PCM data stream
142 * @SDW_STREAM_PDM: PDM data stream
163 * enum sdw_port_data_mode: Data Port mode
165 * @SDW_PORT_DATA_MODE_NORMAL: Normal data mode where audio data is received
167 * @SDW_PORT_DATA_MODE_PRBS: Test mode which uses a PRBS generator to produce
169 * @SDW_PORT_DATA_MODE_STATIC_0: Simple test mode which uses static value of
171 * @SDW_PORT_DATA_MODE_STATIC_1: Simple test mode which uses static value of
190 * enum sdw_p15_behave - Slave Port 15 behaviour when the Master attempts a
201 * enum sdw_dpn_type - Data port types
216 * enum sdw_clk_stop_mode - Clock Stop modes
219 * @SDW_CLK_STOP_MODE1: Slave may have entered a deeper power-saving mode,
228 * struct sdw_dp0_prop - DP0 properties
238 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
239 * @imp_def_interrupts: If set, each bit corresponds to support for
240 * implementation-defined interrupts
244 * support
258 * struct sdw_dpn_audio_mode - Audio mode properties for DPn
271 * changed to a frequency supported by this mode or compatible modes
274 * Audio Mode to other Audio Modes
290 * struct sdw_dpn_prop - Data Port DPn properties
303 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
304 * @imp_def_interrupts: If set, each bit corresponds to support for
305 * implementation-defined interrupts
312 * @modes: SDW mode supported
315 * @block_pack_mode: Type of block port mode supported
346 * struct sdw_slave_prop - SoundWire Slave properties
348 * @wake_capable: Wake-up events are supported
349 * @test_mode_capable: If test mode is supported
350 * @clk_stop_mode1: Clock-Stop Mode 1 is supported
351 * @simple_clk_stop_capable: Simple clock mode is supported
352 * @clk_stop_timeout: Worst-case latency of the Clock Stop Prepare State
354 * @ch_prep_timeout: Worst-case latency of the Channel Prepare State Machine
357 * state machine (P=1 SCSP_SM) after exit from clock-stop mode1
361 * @bank_delay_support: Slave implements bank delay/bridge support registers
408 * struct sdw_master_prop - Master properties
410 * @clk_stop_modes: Bitmap, bit N set when clock-stop-modeN supported
423 * @hw_disabled: if true, the Master is not functional, typically due to pin-mux
474 * struct sdw_slave_id - Slave ID
497 * Helper macros to extract the MIPI-defined IDs
526 * struct sdw_slave_intr_status - Slave interrupt status
538 * sdw_reg_bank - SoundWire register banks
548 * struct sdw_prepare_ch: Prepare/De-prepare Data Port channel
552 * @prepare: Prepare (true) /de-prepare (false) channel
591 * @s_data_mode: NORMAL, STATIC or PRBS mode for all Slave ports
592 * @m_data_mode: NORMAL, STATIC or PRBS mode for all Master ports. The value
617 * @clk_stop: handle imp-def sequences before and after prepare and de-prepare
631 enum sdw_clk_stop_mode mode,
637 * struct sdw_slave - SoundWire Slave
649 * @dev_num_sticky: one-time static Device Number assigned by Bus
656 * @unattach_request: mask field to keep track why the Slave re-attached and
657 * was re-initialized. This is useful to deal with potential race conditions
694 * struct sdw_master_device - SoundWire 'Master Device' representation
738 * @flow_mode: Port Data flow mode
739 * @data_mode: Test modes or normal mode
741 * This is used to program the Data Port based on Data Port stream
768 * during a bank switch without any artifacts in audio stream.
823 * struct sdw_defer - SDW deffered message
835 * struct sdw_master_ops - Master driver ops
846 * @get_device_num: Callback for vendor-specific device_number allocation
847 * @put_device_num: Callback for vendor-specific device_number release
871 * struct sdw_bus - SoundWire bus
872 * @dev: Shortcut to &bus->md->dev to avoid changing the entire code.
874 * @controller_id: system-unique controller ID. If set to -1, the bus @id will be used.
876 * @id: bus system-wide unique id
887 * @vendor_specific_prop: pointer to non-standard properties
888 * @m_rt_list: List of Master instance of all stream(s) running on Bus. This
899 * @hw_sync_min_links: Number of links used by a stream above which
900 * hardware-based synchronization is required. This value is only
901 * meaningful if multi_link is set. If set to 1, hardware-based
902 * synchronization will be used even if a stream only uses a single
956 * sdw_stream_config: Master or Slave stream configuration
958 * @frame_rate: Audio frame rate of the stream, in Hz
959 * @ch_count: Channel count of the stream
962 * @type: Stream type PCM or PDM
973 * sdw_stream_state: Stream states
975 * @SDW_STREAM_ALLOCATED: New stream allocated.
976 * @SDW_STREAM_CONFIGURED: Stream configured
977 * @SDW_STREAM_PREPARED: Stream prepared
978 * @SDW_STREAM_ENABLED: Stream enabled
979 * @SDW_STREAM_DISABLED: Stream disabled
980 * @SDW_STREAM_DEPREPARED: Stream de-prepared
981 * @SDW_STREAM_RELEASED: Stream released
994 * sdw_stream_params: Stream parameters
1007 * sdw_stream_runtime: Runtime stream parameters
1009 * @name: SoundWire stream name
1010 * @params: Stream parameters
1011 * @state: Current state of the stream
1012 * @type: Stream type PCM or PDM
1013 * @master_list: List of Master runtime(s) in this stream.
1015 * for a stream
1016 * @m_rt_count: Count of Master runtime(s) in this stream
1028 void sdw_release_stream(struct sdw_stream_runtime *stream);
1036 struct sdw_stream_runtime *stream);
1038 struct sdw_stream_runtime *stream);
1040 int sdw_prepare_stream(struct sdw_stream_runtime *stream);
1041 int sdw_enable_stream(struct sdw_stream_runtime *stream);
1042 int sdw_disable_stream(struct sdw_stream_runtime *stream);
1043 int sdw_deprepare_stream(struct sdw_stream_runtime *stream);
1058 struct sdw_stream_runtime *stream);
1060 struct sdw_stream_runtime *stream);
1080 struct sdw_stream_runtime *stream) in sdw_stream_add_slave() argument
1083 return -EINVAL; in sdw_stream_add_slave()
1087 struct sdw_stream_runtime *stream) in sdw_stream_remove_slave() argument
1090 return -EINVAL; in sdw_stream_remove_slave()
1097 return -EINVAL; in sdw_read()
1103 return -EINVAL; in sdw_write()
1109 return -EINVAL; in sdw_write_no_pm()
1115 return -EINVAL; in sdw_read_no_pm()
1121 return -EINVAL; in sdw_nread()
1127 return -EINVAL; in sdw_nread_no_pm()
1133 return -EINVAL; in sdw_nwrite()
1139 return -EINVAL; in sdw_nwrite_no_pm()
1145 return -EINVAL; in sdw_update()
1151 return -EINVAL; in sdw_update_no_pm()