diff options
Diffstat (limited to 'Documentation/video4linux/cx2341x/fw-dma.txt')
-rw-r--r-- | Documentation/video4linux/cx2341x/fw-dma.txt | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Documentation/video4linux/cx2341x/fw-dma.txt b/Documentation/video4linux/cx2341x/fw-dma.txt index 8123e262d5b6..be52b6fd1e9a 100644 --- a/Documentation/video4linux/cx2341x/fw-dma.txt +++ b/Documentation/video4linux/cx2341x/fw-dma.txt | |||
@@ -22,6 +22,8 @@ urged to choose a smaller block size and learn the scatter-gather technique. | |||
22 | 22 | ||
23 | Mailbox #10 is reserved for DMA transfer information. | 23 | Mailbox #10 is reserved for DMA transfer information. |
24 | 24 | ||
25 | Note: the hardware expects little-endian data ('intel format'). | ||
26 | |||
25 | Flow | 27 | Flow |
26 | ==== | 28 | ==== |
27 | 29 | ||
@@ -64,7 +66,7 @@ addresses are the physical memory location of the target DMA buffer. | |||
64 | 66 | ||
65 | Each S-G array element is a struct of three 32-bit words. The first word is | 67 | Each S-G array element is a struct of three 32-bit words. The first word is |
66 | the source address, the second is the destination address. Both take up the | 68 | the source address, the second is the destination address. Both take up the |
67 | entire 32 bits. The lowest 16 bits of the third word is the transfer byte | 69 | entire 32 bits. The lowest 18 bits of the third word is the transfer byte |
68 | count. The high-bit of the third word is the "last" flag. The last-flag tells | 70 | count. The high-bit of the third word is the "last" flag. The last-flag tells |
69 | the card to raise the DMA_DONE interrupt. From hard personal experience, if | 71 | the card to raise the DMA_DONE interrupt. From hard personal experience, if |
70 | you forget to set this bit, the card will still "work" but the stream will | 72 | you forget to set this bit, the card will still "work" but the stream will |
@@ -78,8 +80,8 @@ Array Element: | |||
78 | 80 | ||
79 | - 32-bit Source Address | 81 | - 32-bit Source Address |
80 | - 32-bit Destination Address | 82 | - 32-bit Destination Address |
81 | - 16-bit reserved (high bit is the last flag) | 83 | - 14-bit reserved (high bit is the last flag) |
82 | - 16-bit byte count | 84 | - 18-bit byte count |
83 | 85 | ||
84 | DMA Transfer Status | 86 | DMA Transfer Status |
85 | =================== | 87 | =================== |
@@ -87,8 +89,8 @@ DMA Transfer Status | |||
87 | Register 0x0004 holds the DMA Transfer Status: | 89 | Register 0x0004 holds the DMA Transfer Status: |
88 | 90 | ||
89 | Bit | 91 | Bit |
90 | 4 Scatter-Gather array error | ||
91 | 3 DMA write error | ||
92 | 2 DMA read error | ||
93 | 1 write completed | ||
94 | 0 read completed | 92 | 0 read completed |
93 | 1 write completed | ||
94 | 2 DMA read error | ||
95 | 3 DMA write error | ||
96 | 4 Scatter-Gather array error | ||