You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'topic/dummy' into for-linus
* topic/dummy: ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: dummy - Fake buffer allocations ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode
This commit is contained in:
@@ -513,6 +513,26 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
or input, but you may use this module for any application which
|
||||
requires a sound card (like RealPlayer).
|
||||
|
||||
pcm_devs - Number of PCM devices assigned to each card
|
||||
(default = 1, up to 4)
|
||||
pcm_substreams - Number of PCM substreams assigned to each PCM
|
||||
(default = 8, up to 16)
|
||||
hrtimer - Use hrtimer (=1, default) or system timer (=0)
|
||||
fake_buffer - Fake buffer allocations (default = 1)
|
||||
|
||||
When multiple PCM devices are created, snd-dummy gives different
|
||||
behavior to each PCM device:
|
||||
0 = interleaved with mmap support
|
||||
1 = non-interleaved with mmap support
|
||||
2 = interleaved without mmap
|
||||
3 = non-interleaved without mmap
|
||||
|
||||
As default, snd-dummy drivers doesn't allocate the real buffers
|
||||
but either ignores read/write or mmap a single dummy page to all
|
||||
buffer pages, in order to save the resouces. If your apps need
|
||||
the read/ written buffer data to be consistent, pass fake_buffer=0
|
||||
option.
|
||||
|
||||
The power-management is supported.
|
||||
|
||||
Module snd-echo3g
|
||||
|
||||
@@ -110,13 +110,13 @@ void snd_card_info_read_oss(struct snd_info_buffer *buffer);
|
||||
static inline void snd_card_info_read_oss(struct snd_info_buffer *buffer) {}
|
||||
#endif
|
||||
|
||||
int snd_iprintf(struct snd_info_buffer *buffer, char *fmt, ...) \
|
||||
int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...) \
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
int snd_info_init(void);
|
||||
int snd_info_done(void);
|
||||
|
||||
int snd_info_get_line(struct snd_info_buffer *buffer, char *line, int len);
|
||||
char *snd_info_get_str(char *dest, char *src, int len);
|
||||
const char *snd_info_get_str(char *dest, const char *src, int len);
|
||||
struct snd_info_entry *snd_info_create_module_entry(struct module *module,
|
||||
const char *name,
|
||||
struct snd_info_entry *parent);
|
||||
|
||||
@@ -988,4 +988,6 @@ static inline void snd_pcm_limit_isa_dma_size(int dma, size_t *max)
|
||||
|
||||
#define PCM_RUNTIME_CHECK(sub) snd_BUG_ON(!(sub) || !(sub)->runtime)
|
||||
|
||||
const char *snd_pcm_format_name(snd_pcm_format_t format);
|
||||
|
||||
#endif /* __SOUND_PCM_H */
|
||||
|
||||
+2
-2
@@ -106,7 +106,7 @@ static int resize_info_buffer(struct snd_info_buffer *buffer,
|
||||
*
|
||||
* Returns the size of output string.
|
||||
*/
|
||||
int snd_iprintf(struct snd_info_buffer *buffer, char *fmt,...)
|
||||
int snd_iprintf(struct snd_info_buffer *buffer, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
int len, res;
|
||||
@@ -725,7 +725,7 @@ EXPORT_SYMBOL(snd_info_get_line);
|
||||
* Returns the updated pointer of the original string so that
|
||||
* it can be used for the next call.
|
||||
*/
|
||||
char *snd_info_get_str(char *dest, char *src, int len)
|
||||
const char *snd_info_get_str(char *dest, const char *src, int len)
|
||||
{
|
||||
int c;
|
||||
|
||||
|
||||
@@ -1154,7 +1154,8 @@ static void snd_mixer_oss_proc_write(struct snd_info_entry *entry,
|
||||
struct snd_info_buffer *buffer)
|
||||
{
|
||||
struct snd_mixer_oss *mixer = entry->private_data;
|
||||
char line[128], str[32], idxstr[16], *cptr;
|
||||
char line[128], str[32], idxstr[16];
|
||||
const char *cptr;
|
||||
int ch, idx;
|
||||
struct snd_mixer_oss_assign_table *tbl;
|
||||
struct slot *slot;
|
||||
|
||||
@@ -2836,7 +2836,8 @@ static void snd_pcm_oss_proc_write(struct snd_info_entry *entry,
|
||||
struct snd_info_buffer *buffer)
|
||||
{
|
||||
struct snd_pcm_str *pstr = entry->private_data;
|
||||
char line[128], str[32], task_name[32], *ptr;
|
||||
char line[128], str[32], task_name[32];
|
||||
const char *ptr;
|
||||
int idx1;
|
||||
struct snd_pcm_oss_setup *setup, *setup1, template;
|
||||
|
||||
|
||||
+14
-12
@@ -162,18 +162,7 @@ static int snd_pcm_control_ioctl(struct snd_card *card,
|
||||
return -ENOIOCTLCMD;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SND_VERBOSE_PROCFS
|
||||
|
||||
#define STATE(v) [SNDRV_PCM_STATE_##v] = #v
|
||||
#define STREAM(v) [SNDRV_PCM_STREAM_##v] = #v
|
||||
#define READY(v) [SNDRV_PCM_READY_##v] = #v
|
||||
#define XRUN(v) [SNDRV_PCM_XRUN_##v] = #v
|
||||
#define SILENCE(v) [SNDRV_PCM_SILENCE_##v] = #v
|
||||
#define TSTAMP(v) [SNDRV_PCM_TSTAMP_##v] = #v
|
||||
#define ACCESS(v) [SNDRV_PCM_ACCESS_##v] = #v
|
||||
#define START(v) [SNDRV_PCM_START_##v] = #v
|
||||
#define FORMAT(v) [SNDRV_PCM_FORMAT_##v] = #v
|
||||
#define SUBFORMAT(v) [SNDRV_PCM_SUBFORMAT_##v] = #v
|
||||
|
||||
static char *snd_pcm_format_names[] = {
|
||||
FORMAT(S8),
|
||||
@@ -216,10 +205,23 @@ static char *snd_pcm_format_names[] = {
|
||||
FORMAT(U18_3BE),
|
||||
};
|
||||
|
||||
static const char *snd_pcm_format_name(snd_pcm_format_t format)
|
||||
const char *snd_pcm_format_name(snd_pcm_format_t format)
|
||||
{
|
||||
return snd_pcm_format_names[format];
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_pcm_format_name);
|
||||
|
||||
#ifdef CONFIG_SND_VERBOSE_PROCFS
|
||||
|
||||
#define STATE(v) [SNDRV_PCM_STATE_##v] = #v
|
||||
#define STREAM(v) [SNDRV_PCM_STREAM_##v] = #v
|
||||
#define READY(v) [SNDRV_PCM_READY_##v] = #v
|
||||
#define XRUN(v) [SNDRV_PCM_XRUN_##v] = #v
|
||||
#define SILENCE(v) [SNDRV_PCM_SILENCE_##v] = #v
|
||||
#define TSTAMP(v) [SNDRV_PCM_TSTAMP_##v] = #v
|
||||
#define ACCESS(v) [SNDRV_PCM_ACCESS_##v] = #v
|
||||
#define START(v) [SNDRV_PCM_START_##v] = #v
|
||||
#define SUBFORMAT(v) [SNDRV_PCM_SUBFORMAT_##v] = #v
|
||||
|
||||
static char *snd_pcm_stream_names[] = {
|
||||
STREAM(PLAYBACK),
|
||||
|
||||
+545
-171
File diff suppressed because it is too large
Load Diff
@@ -2124,8 +2124,8 @@ static void proc_dump_substream_formats(struct snd_usb_substream *subs, struct s
|
||||
fp = list_entry(p, struct audioformat, list);
|
||||
snd_iprintf(buffer, " Interface %d\n", fp->iface);
|
||||
snd_iprintf(buffer, " Altset %d\n", fp->altsetting);
|
||||
snd_iprintf(buffer, " Format: %#x (%d bits)\n",
|
||||
fp->format, snd_pcm_format_width(fp->format));
|
||||
snd_iprintf(buffer, " Format: %s\n",
|
||||
snd_pcm_format_name(fp->format));
|
||||
snd_iprintf(buffer, " Channels: %d\n", fp->channels);
|
||||
snd_iprintf(buffer, " Endpoint: %d %s (%s)\n",
|
||||
fp->endpoint & USB_ENDPOINT_NUMBER_MASK,
|
||||
|
||||
Reference in New Issue
Block a user