linux-4.4.1/snd_pcm_preallocate_pages_for_all()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#z89598bf]
#backlinks
*説明 [#tea1ea5d]
-パス: [[linux-4.4.1/sound/core/pcm_memory.c]]
-FIXME: これは何?
--指定した PCM デバイスのすべての substream のために、バ...
**引数 [#u4e3d3b9]
-struct snd_pcm *pcm
--PCM デバイス
--[[linux-4.4.1/snd_pcm]]
-int type
--バッファのタイプ
--SNDRV_DMA_TYPE_CONTINUOUS
--SNDRV_DMA_TYPE_DEV
--など
-void *data
--type によって何を渡せば良いか変わる
--SNDRV_DMA_TYPE_CONTINUOUS なら GFP_XXXX
--SNDRV_DMA_TYPE_DEV なら struct device *
--[[linux-4.4.1/device]]
-size_t size
--バッファサイズ
-size_t max
--最大バッファサイズ、何に使われているのか良くわからない…
**返り値 [#a32a8ffb]
-int
--0 なら成功、負のエラー値なら失敗。
**参考 [#aeed1c47]
*実装 [#o097deb7]
/**
* snd_pcm_lib_preallocate_pages_for_all - pre-allocatio...
* @pcm: the pcm instance
* @type: DMA type (SNDRV_DMA_TYPE_*)
* @data: DMA type dependent data
* @size: the requested pre-allocation size in bytes
* @max: the max. allowed pre-allocation size
*
* Do pre-allocation to all substreams of the given pcm ...
* specified DMA type.
*
* Return: Zero if successful, or a negative error code ...
*/
int snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm...
int type, void *data,
size_t size, size_t max)
{
struct snd_pcm_substream *substream;
int stream, err;
-[[linux-4.4.1/snd_pcm_substream]]
for (stream = 0; stream < 2; stream++)
for (substream = pcm->streams[stream].substream; subst...
-substream は playback と capture の 2つ
-pcm->streams は struct snd_pcm_str 型
--substream はデバイスによって存在したり、存在しなかった...
--null じゃなければ存在していることになるようだ
--[[linux-4.4.1/snd_pcm_str]]
if ((err = snd_pcm_lib_preallocate_pages(substream, t...
return err;
-substream に対してバッファを確保する
--[[linux-4.4.1/snd_pcm_lib_preallocate_pages()]]
return 0;
}
EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages_for_all);
-ライセンスに関係なくシンボルを公開する
--[[linux-4.4.1/EXPORT_SYMBOL()]]
*コメント [#yf3a7162]
終了行:
*参照元 [#z89598bf]
#backlinks
*説明 [#tea1ea5d]
-パス: [[linux-4.4.1/sound/core/pcm_memory.c]]
-FIXME: これは何?
--指定した PCM デバイスのすべての substream のために、バ...
**引数 [#u4e3d3b9]
-struct snd_pcm *pcm
--PCM デバイス
--[[linux-4.4.1/snd_pcm]]
-int type
--バッファのタイプ
--SNDRV_DMA_TYPE_CONTINUOUS
--SNDRV_DMA_TYPE_DEV
--など
-void *data
--type によって何を渡せば良いか変わる
--SNDRV_DMA_TYPE_CONTINUOUS なら GFP_XXXX
--SNDRV_DMA_TYPE_DEV なら struct device *
--[[linux-4.4.1/device]]
-size_t size
--バッファサイズ
-size_t max
--最大バッファサイズ、何に使われているのか良くわからない…
**返り値 [#a32a8ffb]
-int
--0 なら成功、負のエラー値なら失敗。
**参考 [#aeed1c47]
*実装 [#o097deb7]
/**
* snd_pcm_lib_preallocate_pages_for_all - pre-allocatio...
* @pcm: the pcm instance
* @type: DMA type (SNDRV_DMA_TYPE_*)
* @data: DMA type dependent data
* @size: the requested pre-allocation size in bytes
* @max: the max. allowed pre-allocation size
*
* Do pre-allocation to all substreams of the given pcm ...
* specified DMA type.
*
* Return: Zero if successful, or a negative error code ...
*/
int snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm...
int type, void *data,
size_t size, size_t max)
{
struct snd_pcm_substream *substream;
int stream, err;
-[[linux-4.4.1/snd_pcm_substream]]
for (stream = 0; stream < 2; stream++)
for (substream = pcm->streams[stream].substream; subst...
-substream は playback と capture の 2つ
-pcm->streams は struct snd_pcm_str 型
--substream はデバイスによって存在したり、存在しなかった...
--null じゃなければ存在していることになるようだ
--[[linux-4.4.1/snd_pcm_str]]
if ((err = snd_pcm_lib_preallocate_pages(substream, t...
return err;
-substream に対してバッファを確保する
--[[linux-4.4.1/snd_pcm_lib_preallocate_pages()]]
return 0;
}
EXPORT_SYMBOL(snd_pcm_lib_preallocate_pages_for_all);
-ライセンスに関係なくシンボルを公開する
--[[linux-4.4.1/EXPORT_SYMBOL()]]
*コメント [#yf3a7162]
ページ名: