mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-18 09:42:37 -05:00
ALSA: usb-audio: Save UAC sample size information
Within the UAC descriptor, there is information describing the size of a sample (bSubframeSize/bSubslotSize) and the number of relevant bits (bBitResolution). Currently, fmt_bits carries only the bit resolution, however, some offloading entities may also require the overall size of the sample. Save this information in a separate parameter, as depending on the UAC format type, the sample size can not easily be decoded from other existing parameters. Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20250409194804.3773260-11-quic_wcheng@quicinc.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2bde439265
commit
d893d5eaab
@@ -15,6 +15,7 @@ struct audioformat {
|
||||
unsigned int channels; /* # channels */
|
||||
unsigned int fmt_type; /* USB audio format type (1-3) */
|
||||
unsigned int fmt_bits; /* number of significant bits */
|
||||
unsigned int fmt_sz; /* overall audio sub frame/slot size */
|
||||
unsigned int frame_size; /* samples per frame for non-audio */
|
||||
unsigned char iface; /* interface number */
|
||||
unsigned char altsetting; /* corresponding alternate setting */
|
||||
|
||||
@@ -85,6 +85,7 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
|
||||
}
|
||||
|
||||
fp->fmt_bits = sample_width;
|
||||
fp->fmt_sz = sample_bytes;
|
||||
|
||||
if ((pcm_formats == 0) &&
|
||||
(format == 0 || format == BIT(UAC_FORMAT_TYPE_I_UNDEFINED))) {
|
||||
|
||||
Reference in New Issue
Block a user