OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-197
/
include
/
sound
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/17/2022 06:42:18 AM
rwxr-xr-x
📁
ac97
-
11/17/2022 06:42:23 AM
rwxr-xr-x
📄
ac97_codec.h
16.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
aci.h
2.4 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ad1816a.h
5.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ad1843.h
1.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
adau1373.h
699 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
aess.h
1.63 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ak4113.h
10.89 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ak4114.h
10.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ak4117.h
9.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ak4531_codec.h
3.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ak4641.h
622 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ak4xxx-adda.h
3.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
alc5623.h
536 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
asequencer.h
3.58 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asound.h
1.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asoundef.h
16.7 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
compress_driver.h
6.93 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
control.h
8.84 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
core.h
13.84 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
cs35l33.h
1.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs35l34.h
887 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs35l35.h
2.36 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs4231-regs.h
8.28 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs4271.h
1.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs42l52.h
738 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs42l56.h
1.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs42l73.h
507 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs8403.h
8.63 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cs8427.h
10.4 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da7213.h
1.15 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da7218.h
2.62 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da7219-aad.h
2.42 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da7219.h
1.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
da9055.h
914 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
designware_i2s.h
2.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
dmaengine_pcm.h
6.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
emu10k1.h
89.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
emu10k1_synth.h
1.35 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
emu8000.h
4.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
emu8000_reg.h
10.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
emux_legacy.h
5.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
emux_synth.h
7.46 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
es1688.h
3.53 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
gus.h
20.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hda_chmap.h
2.6 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hda_hwdep.h
1.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hda_i915.h
1.64 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hda_register.h
10 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hda_regmap.h
6.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hda_verbs.h
16.81 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hdaudio.h
18.39 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
hdaudio_ext.h
6.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hdmi-codec.h
2.42 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hwdep.h
2.56 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
i2c.h
3.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
info.h
7.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
initval.h
3.08 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
jack.h
3.75 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
l3.h
524 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
max9768.h
729 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
max98088.h
1.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
max98090.h
754 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
max98095.h
1.54 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
memalloc.h
4.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
minors.h
4.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mixer_oss.h
2.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mpu401.h
4.49 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
omap-hdmi-audio.h
1.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
omap-pcm.h
864 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
opl3.h
12.31 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
opl4.h
1.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pcm-indirect.h
5.7 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pcm.h
47.51 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pcm_drm_eld.h
183 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pcm_iec958.h
332 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pcm_oss.h
2.69 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pcm_params.h
9.03 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pt2258.h
1.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pxa2xx-lib.h
1.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
rawmidi.h
6.17 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
rt286.h
460 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt298.h
519 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5514.h
478 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5640.h
648 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5645.h
738 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5651.h
581 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5659.h
1003 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5660.h
724 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5663.h
622 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5665.h
907 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
rt5670.h
679 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
s3c24xx_uda134x.h
229 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sb.h
10.98 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sb16_csp.h
2.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_device.h
2.79 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_kernel.h
3.96 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_midi_emul.h
7.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_midi_event.h
2.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_oss.h
2.86 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_oss_legacy.h
1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seq_virmidi.h
2.73 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sh_dac_audio.h
587 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sh_fsi.h
847 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
simple_card.h
683 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
simple_card_utils.h
3.96 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
snd_wavefront.h
5.57 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soc-acpi-intel-match.h
1.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soc-acpi.h
3.6 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soc-dai.h
11.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soc-dapm.h
30.87 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
soc-dpcm.h
4.73 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soc-topology.h
5.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soc.h
63.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
soundfont.h
4.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
spear_dma.h
1003 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spear_spdif.h
1010 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sta32x.h
1.2 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sta350.h
1.65 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tas2552-plat.h
678 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tas5086.h
210 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tea6330t.h
1.14 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
timer.h
5.56 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlv.h
2.27 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlv320aic32x4.h
1.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlv320aic3x.h
1.88 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlv320dac33-plat.h
720 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tpa6130a2-plat.h
900 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
uda134x.h
597 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
uda1380.h
481 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
util_mem.h
2.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vx_core.h
15.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wavefront.h
18.76 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm0010.h
679 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm1250-ev1.h
656 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm2000.h
625 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm2200.h
1.46 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm5100.h
1.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8903.h
15.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8904.h
7.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8955.h
662 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8960.h
603 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8962.h
1.8 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8993.h
1.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm8996.h
1.4 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm9081.h
661 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wm9090.h
780 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wss.h
8.44 KB
01/28/2018 09:20:33 PM
rw-r--r--
Editing: compress_driver.h
Close
/* * compress_driver.h - compress offload driver definations * * Copyright (C) 2011 Intel Corporation * Authors: Vinod Koul <vinod.koul@linux.intel.com> * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * */ #ifndef __COMPRESS_DRIVER_H #define __COMPRESS_DRIVER_H #include <linux/types.h> #include <linux/sched.h> #include <sound/core.h> #include <sound/compress_offload.h> #include <sound/asound.h> #include <sound/pcm.h> struct snd_compr_ops; /** * struct snd_compr_runtime: runtime stream description * @state: stream state * @ops: pointer to DSP callbacks * @buffer: pointer to kernel buffer, valid only when not in mmap mode or * DSP doesn't implement copy * @buffer_size: size of the above buffer * @fragment_size: size of buffer fragment in bytes * @fragments: number of such fragments * @total_bytes_available: cumulative number of bytes made available in * the ring buffer * @total_bytes_transferred: cumulative bytes transferred by offload DSP * @sleep: poll sleep * @private_data: driver private data pointer */ struct snd_compr_runtime { snd_pcm_state_t state; struct snd_compr_ops *ops; void *buffer; u64 buffer_size; u32 fragment_size; u32 fragments; u64 total_bytes_available; u64 total_bytes_transferred; wait_queue_head_t sleep; void *private_data; }; /** * struct snd_compr_stream: compressed stream * @name: device name * @ops: pointer to DSP callbacks * @runtime: pointer to runtime structure * @device: device pointer * @error_work: delayed work used when closing the stream due to an error * @direction: stream direction, playback/recording * @metadata_set: metadata set flag, true when set * @next_track: has userspace signal next track transition, true when set * @partial_drain: undergoing partial_drain for stream, true when set * @private_data: pointer to DSP private data */ struct snd_compr_stream { const char *name; struct snd_compr_ops *ops; struct snd_compr_runtime *runtime; struct snd_compr *device; struct delayed_work error_work; enum snd_compr_direction direction; bool metadata_set; bool next_track; bool partial_drain; void *private_data; }; /** * struct snd_compr_ops: compressed path DSP operations * @open: Open the compressed stream * This callback is mandatory and shall keep dsp ready to receive the stream * parameter * @free: Close the compressed stream, mandatory * @set_params: Sets the compressed stream parameters, mandatory * This can be called in during stream creation only to set codec params * and the stream properties * @get_params: retrieve the codec parameters, mandatory * @set_metadata: Set the metadata values for a stream * @get_metadata: retrieves the requested metadata values from stream * @trigger: Trigger operations like start, pause, resume, drain, stop. * This callback is mandatory * @pointer: Retrieve current h/w pointer information. Mandatory * @copy: Copy the compressed data to/from userspace, Optional * Can't be implemented if DSP supports mmap * @mmap: DSP mmap method to mmap DSP memory * @ack: Ack for DSP when data is written to audio buffer, Optional * Not valid if copy is implemented * @get_caps: Retrieve DSP capabilities, mandatory * @get_codec_caps: Retrieve capabilities for a specific codec, mandatory */ struct snd_compr_ops { int (*open)(struct snd_compr_stream *stream); int (*free)(struct snd_compr_stream *stream); int (*set_params)(struct snd_compr_stream *stream, struct snd_compr_params *params); int (*get_params)(struct snd_compr_stream *stream, struct snd_codec *params); int (*set_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*get_metadata)(struct snd_compr_stream *stream, struct snd_compr_metadata *metadata); int (*trigger)(struct snd_compr_stream *stream, int cmd); int (*pointer)(struct snd_compr_stream *stream, struct snd_compr_tstamp *tstamp); int (*copy)(struct snd_compr_stream *stream, char __user *buf, size_t count); int (*mmap)(struct snd_compr_stream *stream, struct vm_area_struct *vma); int (*ack)(struct snd_compr_stream *stream, size_t bytes); int (*get_caps) (struct snd_compr_stream *stream, struct snd_compr_caps *caps); int (*get_codec_caps) (struct snd_compr_stream *stream, struct snd_compr_codec_caps *codec); }; /** * struct snd_compr: Compressed device * @name: DSP device name * @dev: associated device instance * @ops: pointer to DSP callbacks * @private_data: pointer to DSP pvt data * @card: sound card pointer * @direction: Playback or capture direction * @lock: device lock * @device: device id */ struct snd_compr { const char *name; struct device dev; struct snd_compr_ops *ops; void *private_data; struct snd_card *card; unsigned int direction; struct mutex lock; int device; #ifdef CONFIG_SND_VERBOSE_PROCFS /* private: */ char id[64]; struct snd_info_entry *proc_root; struct snd_info_entry *proc_info_entry; #endif }; /* compress device register APIs */ int snd_compress_register(struct snd_compr *device); int snd_compress_deregister(struct snd_compr *device); int snd_compress_new(struct snd_card *card, int device, int type, const char *id, struct snd_compr *compr); /* dsp driver callback apis * For playback: driver should call snd_compress_fragment_elapsed() to let the * framework know that a fragment has been consumed from the ring buffer * * For recording: we want to know when a frame is available or when * at least one frame is available so snd_compress_frame_elapsed() * callback should be called when a encodeded frame is available */ static inline void snd_compr_fragment_elapsed(struct snd_compr_stream *stream) { wake_up(&stream->runtime->sleep); } static inline void snd_compr_drain_notify(struct snd_compr_stream *stream) { if (snd_BUG_ON(!stream)) return; /* for partial_drain case we are back to running state on success */ if (stream->partial_drain) { stream->runtime->state = SNDRV_PCM_STATE_RUNNING; stream->partial_drain = false; /* clear this flag as well */ } else { stream->runtime->state = SNDRV_PCM_STATE_SETUP; } wake_up(&stream->runtime->sleep); } int snd_compr_stop_error(struct snd_compr_stream *stream, snd_pcm_state_t state); #endif