alsa DMA 切入點
描述 DMA 的重點引數
snd_pcm_substream是pcm中間層的核心,絕大部分任務都是在substream中處理,尤其是他的ops(snd_pcm_ops)欄位,
許多user空間的應用程式通過alsa-lib對驅動程式的請求都是由該結構中的函式處理。
它的runtime欄位則指向snd_pcm_runtime結構,snd_pcm_runtime記錄這substream的一些重要的軟體和硬體執行環境和引數。
在音效卡的hw_params階段,snd_soc_platform_driver結構的ops->hw_params會被呼叫,在該回撥用,
通常會使用api:snd_pcm_set_runtime_buffer()把substream->dma_buffer的數值拷貝
到substream->runtime的相關欄位中(.dma_area, .dma_addr, .dma_bytes),
這樣以後就可以通過substream->runtime獲得這些地址和大小資訊了。
注意 snd_pcm_substream 也包含很多資訊
索引關鍵詞 runtime
runtime->hw 設定硬體引數
runtime->dma_addr 實體地址
runtime->dma_area 指標地址
runtime->dma_area size大小
dma_free_coherent(struct device *dev, size_t size, void *cpu_addr,
dma_addr_t dma_handle) 函式
可以的得出 dma_addr 是(handle 實體地址) dma_area 是地址(指標地址) dma_bytes 是size
申請這些資料一般是在 platform 中 hw_params 中設定,關於具體怎麼賦值的 索引 dma_area dma_addr
相關文章
- 解決 / 最佳化問題的切入點
- stm32 DMA2D知識點
- 微信小程式和App結合的切入點在哪?微信小程式APP
- 找準先進製造業發展切入點AU
- DMA-BUF
- 企業開展精益工作的切入點是什麼?
- ICU會是醫療AI走出邊緣的切入點嗎?AI
- 流式dma和一致性dma的區別
- CDGA|如何甄選企業數字化轉型的切入點?
- 觀點|敖立:智慧家居“智慧”不足閘道器將成運營商重要切入點
- MM32F0140 UART1 DMA Interrupt RX and TX (UART1 DMA中斷接收和DMA中斷髮送資料)
- 【工業網際網路】工業網際網路平臺建設,出發點、切入點及著力點;
- 2021年未修補漏洞利用為勒索軟體攻擊依賴主要切入點
- 微機原理之DMA總結
- Linux ALSA 系統架構及音效卡註冊檔案操作Linux架構
- 聊聊Dubbo(四):核心原始碼-切入Spring原始碼Spring
- stm32 spi DMA 傳輸完成後中斷中繼續開啟DMA傳輸的注意事項,無法持續通訊的問題注意點中繼
- DMA第三版程式碼
- Cache和DMA一致性
- DMA cache一致性二
- 關於Xilinx PCIE DMA的問答
- 從冰上運動切入,這家融合機器視覺的分析公司也想造就「點石成金」視覺
- STM32F103ZET6---DMA簡介
- 利用可信的IT供應鏈供應商作為切入點 黑客逐漸瞄準供應鏈攻擊黑客
- [原始碼解析] PyTorch 分散式 Autograd (4) ---- 如何切入引擎原始碼PyTorch分散式
- 兩種形式的dma 實現memory copy程式碼
- STM32使用DMA傳送串列埠資料串列埠
- STM32H723 ADC+DMA 誤差解決
- STM32串列埠DMA接收雙緩衝串列埠
- 設計模式——從介面的角度切入靜態工廠模式設計模式
- Windows驅動中的PCI, DMA, ISR, DPC, ScatterGater, MapRegsiter, CommonBuffer, ConfigSpaceWindows
- 市場聞之色變的DMA究竟是什麼
- STM32應用DMA——串列埠收發不定長資料串列埠
- 小程式 | 註釋級微信小程式demo,助你快速切入開發微信小程式
- 以Sid Meier切入,談談遊戲中的趣味選擇設計遊戲
- Arm64記憶體模型、記憶體型別、效能與DMA記憶體模型型別
- 程式設計師如何切入區塊鏈去中心化應用開發程式設計師區塊鏈中心化
- 動視暴雪放大招切入“吃雞圈”,長期潛力待觀察