History

ALSA: doc: improved docs about quirk_flags in snd-usb-audio

Just briefly described about the option's change and its new usage.

Cryolitia PukNgae committed 1 year ago

Commit a767d351 parent 98b54271 file · +75 −33Browse files

Unified · Split

Documentation/sound/alsa-configuration.rst+75−33
@@ -2297,39 +2297,81 @@ skip_validation · 2296 unmodified lines
22972297 of the unit descriptor instead of a driver probe error, so that we
22982298 can check its details.
22992299 quirk_flags
2300− Contains the bit flags for various device specific workarounds.
2301− Applied to the corresponding card index.
2302−
2303− * bit 0: Skip reading sample rate for devices
2304− * bit 1: Create Media Controller API entries
2305− * bit 2: Allow alignment on audio sub-slot at transfer
2306− * bit 3: Add length specifier to transfers
2307− * bit 4: Start playback stream at first in implement feedback mode
2308− * bit 5: Skip clock selector setup
2309− * bit 6: Ignore errors from clock source search
2310− * bit 7: Indicates ITF-USB DSD based DACs
2311− * bit 8: Add a delay of 20ms at each control message handling
2312− * bit 9: Add a delay of 1-2ms at each control message handling
2313− * bit 10: Add a delay of 5-6ms at each control message handling
2314− * bit 11: Add a delay of 50ms at each interface setup
2315− * bit 12: Perform sample rate validations at probe
2316− * bit 13: Disable runtime PM autosuspend
2317− * bit 14: Ignore errors for mixer access
2318− * bit 15: Support generic DSD raw U32_BE format
2319− * bit 16: Set up the interface at first like UAC1
2320− * bit 17: Apply the generic implicit feedback sync mode
2321− * bit 18: Don't apply implicit feedback sync mode
2322− * bit 19: Don't closed interface during setting sample rate
2323− * bit 20: Force an interface reset whenever stopping & restarting
2324− a stream
2325− * bit 21: Do not set PCM rate (frequency) when only one rate is
2326− available for the given endpoint.
2327− * bit 22: Set the fixed resolution 16 for Mic Capture Volume
2328− * bit 23: Set the fixed resolution 384 for Mic Capture Volume
2329− * bit 24: Set minimum volume control value as mute for devices
2330− where the lowest playback value represents muted state instead
2331− of minimum audible volume
2332− * bit 25: Be similar to bit 24 but for capture streams
2300+ The option provides a refined and flexible control for applying quirk
2301+ flags. It allows to specify the quirk flags for each device, and can
2302+ be modified dynamically via sysfs.
2303+ The old usage accepts an array of integers, each of which applies quirk
2304+ flags on the device in the order of probing.
2305+ E.g., ``quirk_flags=0x01,0x02`` applies get_sample_rate to the first
2306+ device, and share_media_device to the second device.
2307+ The new usage accepts a string in the format of
2308+ ``VID1:PID1:FLAGS1;VID2:PID2:FLAGS2;...``, where ``VIDx`` and ``PIDx``
2309+ specify the device, and ``FLAGSx`` specify the flags to be applied.
2310+ ``VIDx`` and ``PIDx`` are 4-digit hexadecimal numbers, and can be
2311+ specified as ``*`` to match any value. ``FLAGSx`` can be a set of
2312+ flags given by name, separated by ``|``, or a hexadecimal number
2313+ representing the bit flags. The available flag names are listed below.
2314+ An exclamation mark can be prefixed to a flag name to negate the flag.
2315+ For example, ``1234:abcd:mixer_playback_min_mute|!ignore_ctl_error;*:*:0x01;``
2316+ applies the ``mixer_playback_min_mute`` flag and clears the
2317+ ``ignore_ctl_error`` flag for the device 1234:abcd, and applies the
2318+ ``skip_sample_rate`` flag for all devices.
2319+
2320+ * bit 0: ``get_sample_rate``
2321+ Skip reading sample rate for devices
2322+ * bit 1: ``share_media_device``
2323+ Create Media Controller API entries
2324+ * bit 2: ``align_transfer``
2325+ Allow alignment on audio sub-slot at transfer
2326+ * bit 3: ``tx_length``
2327+ Add length specifier to transfers
2328+ * bit 4: ``playback_first``
2329+ Start playback stream at first in implement feedback mode
2330+ * bit 5: ``skip_clock_selector``
2331+ Skip clock selector setup
2332+ * bit 6: ``ignore_clock_source``
2333+ Ignore errors from clock source search
2334+ * bit 7: ``itf_usb_dsd_dac``
2335+ Indicates ITF-USB DSD-based DACs
2336+ * bit 8: ``ctl_msg_delay``
2337+ Add a delay of 20ms at each control message handling
2338+ * bit 9: ``ctl_msg_delay_1m``
2339+ Add a delay of 1-2ms at each control message handling
2340+ * bit 10: ``ctl_msg_delay_5m``
2341+ Add a delay of 5-6ms at each control message handling
2342+ * bit 11: ``iface_delay``
2343+ Add a delay of 50ms at each interface setup
2344+ * bit 12: ``validate_rates``
2345+ Perform sample rate validations at probe
2346+ * bit 13: ``disable_autosuspend``
2347+ Disable runtime PM autosuspend
2348+ * bit 14: ``ignore_ctl_error``
2349+ Ignore errors for mixer access
2350+ * bit 15: ``dsd_raw``
2351+ Support generic DSD raw U32_BE format
2352+ * bit 16: ``set_iface_first``
2353+ Set up the interface at first like UAC1
2354+ * bit 17: ``generic_implicit_fb``
2355+ Apply the generic implicit feedback sync mode
2356+ * bit 18: ``skip_implicit_fb``
2357+ Don't apply implicit feedback sync mode
2358+ * bit 19: ``iface_skip_close``
2359+ Don't close interface during setting sample rate
2360+ * bit 20: ``force_iface_reset``
2361+ Force an interface reset whenever stopping & restarting a stream
2362+ * bit 21: ``fixed_rate``
2363+ Do not set PCM rate (frequency) when only one rate is available
2364+ for the given endpoint
2365+ * bit 22: ``mic_res_16``
2366+ Set the fixed resolution 16 for Mic Capture Volume
2367+ * bit 23: ``mic_res_384``
2368+ Set the fixed resolution 384 for Mic Capture Volume
2369+ * bit 24: ``mixer_playback_min_mute``
2370+ Set minimum volume control value as mute for devices where the
2371+ lowest playback value represents muted state instead of minimum
2372+ audible volume
2373+ * bit 25: ``mixer_capture_min_mute``
2374+ Similar to bit 24 but for capture streams
23332375
23342376 This module supports multiple devices, autoprobe and hotplugging.
23352377

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t