RapidIO 子系統 mport 驅動,用於 IDT Tsi721 PCI Express-to-SRIO 橋接。¶
1. 概述¶
此驅動程式實現了所有當前定義的 RapidIO mport 回撥函式。 它支援維護讀取和寫入操作、入站和出站 RapidIO 門鈴、入站維護埠寫入和 RapidIO 訊息傳遞。
為了生成 SRIO 維護事務,此驅動程式使用 Tsi721 DMA 通道之一。 此機制提供了對更大範圍的跳數和目標 ID 的訪問,而無需更改出站視窗轉換。
RapidIO 訊息傳遞支援為每個郵箱使用專用訊息傳遞通道。 對於入站訊息,此驅動程式使用目標 ID 匹配將訊息轉發到相應的訊息佇列。 訊息傳遞迴調的實現與 RIONET 驅動程式(基於 RapidIO 訊息傳遞服務的乙太網)完全相容。
模組引數
- ‘dbg_level’
此引數允許控制此裝置驅動程式生成的除錯資訊量。 此引數由一組位掩碼形成,這些位掩碼對應於特定的功能塊。 有關掩碼定義,請參見 ‘drivers/rapidio/devices/tsi721.h’。可以動態更改此引數。 使用 CONFIG_RAPIDIO_DEBUG=y 在頂層啟用除錯輸出。
- ‘dma_desc_per_channel’
此引數定義為每個註冊的 Tsi721 DMA 通道分配的硬體緩衝區描述符的數量。 它的預設值為 128。
- ‘dma_txqueue_sz’
DMA 事務佇列大小。 定義每個 DMA 通道可以接受的掛起事務請求的數量。 預設值為 16。
- ‘dma_sel’
DMA 通道選擇掩碼。 定義將向 DmaEngine 核心註冊哪些硬體 DMA 通道 (0 ... 6) 的位掩碼。 如果將位設定為 1,則將註冊相應的 DMA 通道。 此裝置驅動程式將不使用此掩碼未選擇的 DMA 通道。 預設值為 0x7f(使用所有通道)。
- ‘pcie_mrrs’
覆蓋 PCIe 最大讀取請求大小 (MRRS) 的值。 此引數提供了一種覆蓋在 PCIe 配置過程中設定的 MRRS 值的能力。 Tsi721 支援高達 4096B 的讀取請求大小。 此引數的值必須按照 PCIe 規範的定義進行設定:0 = 128B,1 = 256B,2 = 512B,3 = 1024B,4 = 2048B 和 5 = 4096B。 預設值為 '-1' (= 保留平臺設定)。
- ‘mbox_sel’
RIO 訊息傳遞 MBOX 選擇掩碼。 這是一個位掩碼,定義了此裝置驅動程式管理的哪些訊息傳遞 MBOX。 掩碼位 0 - 3 對應於 MBOX0 - MBOX3。 如果將相應的位設定為“1”,則 MBOX 受驅動程式控制。 預設值為 0x0f (= 全部)。
2. 已知問題¶
無。
3. DMA 引擎支援¶
Tsi721 mport 驅動程式支援本地系統記憶體和遠端 RapidIO 裝置之間的資料傳輸。 此功能根據通用 Linux 核心 DMA 引擎框架定義的 SLAVE 模式 API 實現。
根據系統要求,可以透過設定 CONFIG_RAPIDIO_DMA_ENGINE 選項來包含/排除 RapidIO DMA 操作。 Tsi721 miniport 驅動程式使用八個可用 BDMA 通道中的七個來支援 DMA 資料傳輸。 一個 BDMA 通道保留用於生成維護讀/寫請求。
如果 Tsi721 mport 驅動程式已構建幷包含 RAPIDIO_DMA_ENGINE 支援,則此驅動程式將接受 DMA 特定的模組引數
- “dma_desc_per_channel”
定義 Tsi721 的每個 BDMA 通道使用的硬體緩衝區描述符的數量(預設情況下為 128)。
版本歷史
1.1.0
DMA 操作經過重新設計,以支援大於硬體緩衝區描述符環的資料散佈/收集列表。
1.0.0
初始驅動程式釋出。
5. 許可證¶
版權所有 (c) 2011 Integrated Device Technology, Inc. 保留所有權利。
本程式是自由軟體;您可以根據自由軟體基金會發布的 GNU 通用公共許可證的條款重新發布或修改它;無論是許可證的第 2 版,還是(由您選擇)任何更高版本。
釋出本程式是為了希望它有用,但不作任何擔保;甚至沒有對適銷性或特定用途適用性的暗示擔保。 有關更多詳細資訊,請參見 GNU 通用公共許可證。
您應該已收到 GNU 通用公共許可證的副本以及本程式; 如果沒有,請寫信給 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA。