mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 06:15:38 +07:00
e92b9d449d
There are only two requests for uac2, it may not be enough at high loading system which usb interrupt handler can't be serviced on time, then the data will be lost since it is isoc transfer for audio. In this patch, we introduce a parameter for the number for usb request, and the user can override it if current number for request is not enough for his/her use case. Besides, update this parameter for legacy audio gadget and documentation. Signed-off-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
45 lines
915 B
C
45 lines
915 B
C
/*
|
|
* u_uac2.h
|
|
*
|
|
* Utility definitions for UAC2 function
|
|
*
|
|
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*
|
|
* Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef U_UAC2_H
|
|
#define U_UAC2_H
|
|
|
|
#include <linux/usb/composite.h>
|
|
|
|
#define UAC2_DEF_PCHMASK 0x3
|
|
#define UAC2_DEF_PSRATE 48000
|
|
#define UAC2_DEF_PSSIZE 2
|
|
#define UAC2_DEF_CCHMASK 0x3
|
|
#define UAC2_DEF_CSRATE 64000
|
|
#define UAC2_DEF_CSSIZE 2
|
|
#define UAC2_DEF_REQ_NUM 2
|
|
|
|
struct f_uac2_opts {
|
|
struct usb_function_instance func_inst;
|
|
int p_chmask;
|
|
int p_srate;
|
|
int p_ssize;
|
|
int c_chmask;
|
|
int c_srate;
|
|
int c_ssize;
|
|
int req_number;
|
|
bool bound;
|
|
|
|
struct mutex lock;
|
|
int refcnt;
|
|
};
|
|
|
|
#endif
|