The existing definitions are ambiguous and possibly misleading. For DP0, 'flow-control' is only relevant for the BRA protocol and should not be confused with async modes explicitly not supported for DP0, add prefix to follow MIPI DisCo definition The use of 'device_interrupts' is also questionable. The MIPI SoundWire spec defines Slave-, DP0- and DPN-level implementation-defined interrupts. Using the 'device' prefix in the last two cases is misleading, not only is the term 'device' overloaded but these properties are only valid at the DP0 and DPn levels. Rename to follow the MIPI definitions, no need to be creative here.
Showing the changes to include/linux (1 of 4 files). Show all
Unified · Split
| @@ -206,10 +206,11 @@ enum sdw_clk_stop_mode { · 205 unmodified lines | |||
| 206 | * (inclusive) | 206 | * (inclusive) |
| 207 | * @num_words: number of wordlengths supported | 207 | * @num_words: number of wordlengths supported |
| 208 | * @words: wordlengths supported | 208 | * @words: wordlengths supported |
| 209 | * @flow_controlled: Slave implementation results in an OK_NotReady | 209 | * @BRA_flow_controlled: Slave implementation results in an OK_NotReady |
| 210 | * response | 210 | * response |
| 211 | * @simple_ch_prep_sm: If channel prepare sequence is required | 211 | * @simple_ch_prep_sm: If channel prepare sequence is required |
| 212 | * @device_interrupts: If implementation-defined interrupts are supported | 212 | * @imp_def_interrupts: If set, each bit corresponds to support for |
| 213 | * implementation-defined interrupts | ||
| 213 | * | 214 | * |
| 214 | * The wordlengths are specified by Spec as max, min AND number of | 215 | * The wordlengths are specified by Spec as max, min AND number of |
| 215 | * discrete values, implementation can define based on the wordlengths they | 216 | * discrete values, implementation can define based on the wordlengths they |
| @@ -220,9 +221,9 @@ struct sdw_dp0_prop { · 4 unmodified lines | |||
| 220 | u32 min_word; | 221 | u32 min_word; |
| 221 | u32 num_words; | 222 | u32 num_words; |
| 222 | u32 *words; | 223 | u32 *words; |
| 223 | bool flow_controlled; | 224 | bool BRA_flow_controlled; |
| 224 | bool simple_ch_prep_sm; | 225 | bool simple_ch_prep_sm; |
| 225 | bool device_interrupts; | 226 | bool imp_def_interrupts; |
| 226 | }; | 227 | }; |
| 227 | 228 | ||
| 228 | /** | 229 | /** |
| @@ -272,7 +273,7 @@ struct sdw_dpn_audio_mode { · 43 unmodified lines | |||
| 272 | * @simple_ch_prep_sm: If the port supports simplified channel prepare state | 273 | * @simple_ch_prep_sm: If the port supports simplified channel prepare state |
| 273 | * machine | 274 | * machine |
| 274 | * @ch_prep_timeout: Port-specific timeout value, in milliseconds | 275 | * @ch_prep_timeout: Port-specific timeout value, in milliseconds |
| 275 | * @device_interrupts: If set, each bit corresponds to support for | 276 | * @imp_def_interrupts: If set, each bit corresponds to support for |
| 276 | * implementation-defined interrupts | 277 | * implementation-defined interrupts |
| 277 | * @max_ch: Maximum channels supported | 278 | * @max_ch: Maximum channels supported |
| 278 | * @min_ch: Minimum channels supported | 279 | * @min_ch: Minimum channels supported |
| @@ -297,7 +298,7 @@ struct sdw_dpn_prop { · 18 unmodified lines | |||
| 297 | u32 max_grouping; | 298 | u32 max_grouping; |
| 298 | bool simple_ch_prep_sm; | 299 | bool simple_ch_prep_sm; |
| 299 | u32 ch_prep_timeout; | 300 | u32 ch_prep_timeout; |
| 300 | u32 device_interrupts; | 301 | u32 imp_def_interrupts; |
| 301 | u32 max_ch; | 302 | u32 max_ch; |
| 302 | u32 min_ch; | 303 | u32 min_ch; |
| 303 | u32 num_ch; | 304 | u32 num_ch; |