@@ -226,31 +226,63 @@ extern bool snd_usb_skip_validation;
226226 * Similar to QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE, but for capture streams
227227 */
228228
229- #define QUIRK_FLAG_GET_SAMPLE_RATE (1U << 0)
230- #define QUIRK_FLAG_SHARE_MEDIA_DEVICE (1U << 1)
231- #define QUIRK_FLAG_ALIGN_TRANSFER (1U << 2)
232- #define QUIRK_FLAG_TX_LENGTH (1U << 3)
233- #define QUIRK_FLAG_PLAYBACK_FIRST (1U << 4)
234- #define QUIRK_FLAG_SKIP_CLOCK_SELECTOR (1U << 5)
235- #define QUIRK_FLAG_IGNORE_CLOCK_SOURCE (1U << 6)
236- #define QUIRK_FLAG_ITF_USB_DSD_DAC (1U << 7)
237- #define QUIRK_FLAG_CTL_MSG_DELAY (1U << 8)
238- #define QUIRK_FLAG_CTL_MSG_DELAY_1M (1U << 9)
239- #define QUIRK_FLAG_CTL_MSG_DELAY_5M (1U << 10)
240- #define QUIRK_FLAG_IFACE_DELAY (1U << 11)
241- #define QUIRK_FLAG_VALIDATE_RATES (1U << 12)
242- #define QUIRK_FLAG_DISABLE_AUTOSUSPEND (1U << 13)
243- #define QUIRK_FLAG_IGNORE_CTL_ERROR (1U << 14)
244- #define QUIRK_FLAG_DSD_RAW (1U << 15)
245- #define QUIRK_FLAG_SET_IFACE_FIRST (1U << 16)
246- #define QUIRK_FLAG_GENERIC_IMPLICIT_FB (1U << 17)
247- #define QUIRK_FLAG_SKIP_IMPLICIT_FB (1U << 18)
248- #define QUIRK_FLAG_IFACE_SKIP_CLOSE (1U << 19)
249- #define QUIRK_FLAG_FORCE_IFACE_RESET (1U << 20)
250- #define QUIRK_FLAG_FIXED_RATE (1U << 21)
251- #define QUIRK_FLAG_MIC_RES_16 (1U << 22)
252- #define QUIRK_FLAG_MIC_RES_384 (1U << 23)
253- #define QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE (1U << 24)
254- #define QUIRK_FLAG_MIXER_CAPTURE_MIN_MUTE (1U << 25)
229+ enum {
230+ QUIRK_TYPE_GET_SAMPLE_RATE = 0 ,
231+ QUIRK_TYPE_SHARE_MEDIA_DEVICE = 1 ,
232+ QUIRK_TYPE_ALIGN_TRANSFER = 2 ,
233+ QUIRK_TYPE_TX_LENGTH = 3 ,
234+ QUIRK_TYPE_PLAYBACK_FIRST = 4 ,
235+ QUIRK_TYPE_SKIP_CLOCK_SELECTOR = 5 ,
236+ QUIRK_TYPE_IGNORE_CLOCK_SOURCE = 6 ,
237+ QUIRK_TYPE_ITF_USB_DSD_DAC = 7 ,
238+ QUIRK_TYPE_CTL_MSG_DELAY = 8 ,
239+ QUIRK_TYPE_CTL_MSG_DELAY_1M = 9 ,
240+ QUIRK_TYPE_CTL_MSG_DELAY_5M = 10 ,
241+ QUIRK_TYPE_IFACE_DELAY = 11 ,
242+ QUIRK_TYPE_VALIDATE_RATES = 12 ,
243+ QUIRK_TYPE_DISABLE_AUTOSUSPEND = 13 ,
244+ QUIRK_TYPE_IGNORE_CTL_ERROR = 14 ,
245+ QUIRK_TYPE_DSD_RAW = 15 ,
246+ QUIRK_TYPE_SET_IFACE_FIRST = 16 ,
247+ QUIRK_TYPE_GENERIC_IMPLICIT_FB = 17 ,
248+ QUIRK_TYPE_SKIP_IMPLICIT_FB = 18 ,
249+ QUIRK_TYPE_IFACE_SKIP_CLOSE = 19 ,
250+ QUIRK_TYPE_FORCE_IFACE_RESET = 20 ,
251+ QUIRK_TYPE_FIXED_RATE = 21 ,
252+ QUIRK_TYPE_MIC_RES_16 = 22 ,
253+ QUIRK_TYPE_MIC_RES_384 = 23 ,
254+ QUIRK_TYPE_MIXER_PLAYBACK_MIN_MUTE = 24 ,
255+ QUIRK_TYPE_MIXER_CAPTURE_MIN_MUTE = 25 ,
256+ /* Please also edit snd_usb_audio_quirk_flag_names */
257+ };
258+
259+ #define QUIRK_FLAG (x ) BIT_U32(QUIRK_TYPE_ ## x)
260+
261+ #define QUIRK_FLAG_GET_SAMPLE_RATE QUIRK_FLAG(GET_SAMPLE_RATE)
262+ #define QUIRK_FLAG_SHARE_MEDIA_DEVICE QUIRK_FLAG(SHARE_MEDIA_DEVICE)
263+ #define QUIRK_FLAG_ALIGN_TRANSFER QUIRK_FLAG(ALIGN_TRANSFER)
264+ #define QUIRK_FLAG_TX_LENGTH QUIRK_FLAG(TX_LENGTH)
265+ #define QUIRK_FLAG_PLAYBACK_FIRST QUIRK_FLAG(PLAYBACK_FIRST)
266+ #define QUIRK_FLAG_SKIP_CLOCK_SELECTOR QUIRK_FLAG(SKIP_CLOCK_SELECTOR)
267+ #define QUIRK_FLAG_IGNORE_CLOCK_SOURCE QUIRK_FLAG(IGNORE_CLOCK_SOURCE)
268+ #define QUIRK_FLAG_ITF_USB_DSD_DAC QUIRK_FLAG(ITF_USB_DSD_DAC)
269+ #define QUIRK_FLAG_CTL_MSG_DELAY QUIRK_FLAG(CTL_MSG_DELAY)
270+ #define QUIRK_FLAG_CTL_MSG_DELAY_1M QUIRK_FLAG(CTL_MSG_DELAY_1M)
271+ #define QUIRK_FLAG_CTL_MSG_DELAY_5M QUIRK_FLAG(CTL_MSG_DELAY_5M)
272+ #define QUIRK_FLAG_IFACE_DELAY QUIRK_FLAG(IFACE_DELAY)
273+ #define QUIRK_FLAG_VALIDATE_RATES QUIRK_FLAG(VALIDATE_RATES)
274+ #define QUIRK_FLAG_DISABLE_AUTOSUSPEND QUIRK_FLAG(DISABLE_AUTOSUSPEND)
275+ #define QUIRK_FLAG_IGNORE_CTL_ERROR QUIRK_FLAG(IGNORE_CTL_ERROR)
276+ #define QUIRK_FLAG_DSD_RAW QUIRK_FLAG(DSD_RAW)
277+ #define QUIRK_FLAG_SET_IFACE_FIRST QUIRK_FLAG(SET_IFACE_FIRST)
278+ #define QUIRK_FLAG_GENERIC_IMPLICIT_FB QUIRK_FLAG(GENERIC_IMPLICIT_FB)
279+ #define QUIRK_FLAG_SKIP_IMPLICIT_FB QUIRK_FLAG(SKIP_IMPLICIT_FB)
280+ #define QUIRK_FLAG_IFACE_SKIP_CLOSE QUIRK_FLAG(IFACE_SKIP_CLOSE)
281+ #define QUIRK_FLAG_FORCE_IFACE_RESET QUIRK_FLAG(FORCE_IFACE_RESET)
282+ #define QUIRK_FLAG_FIXED_RATE QUIRK_FLAG(FIXED_RATE)
283+ #define QUIRK_FLAG_MIC_RES_16 QUIRK_FLAG(MIC_RES_16)
284+ #define QUIRK_FLAG_MIC_RES_384 QUIRK_FLAG(MIC_RES_384)
285+ #define QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE QUIRK_FLAG(MIXER_PLAYBACK_MIN_MUTE)
286+ #define QUIRK_FLAG_MIXER_CAPTURE_MIN_MUTE QUIRK_FLAG(MIXER_CAPTURE_MIN_MUTE)
255287
256288#endif /* __USBAUDIO_H */
0 commit comments