diff options
Diffstat (limited to 'Documentation/video4linux/cx2341x')
-rw-r--r-- | Documentation/video4linux/cx2341x/fw-dma.txt | 16 | ||||
-rw-r--r-- | Documentation/video4linux/cx2341x/fw-encoder-api.txt | 10 | ||||
-rw-r--r-- | Documentation/video4linux/cx2341x/fw-memory.txt | 4 |
3 files changed, 18 insertions, 12 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 | ||
diff --git a/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/Documentation/video4linux/cx2341x/fw-encoder-api.txt index fe02bdb84598..e499cc07fe3d 100644 --- a/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/Documentation/video4linux/cx2341x/fw-encoder-api.txt | |||
@@ -498,12 +498,14 @@ Name CX2341X_ENC_GET_PREV_DMA_INFO_MB_9 | |||
498 | Enum 203/0xCB | 498 | Enum 203/0xCB |
499 | Description | 499 | Description |
500 | Returns information on the previous DMA transfer in conjunction with | 500 | Returns information on the previous DMA transfer in conjunction with |
501 | bit 27 of the interrupt mask. Uses mailbox 9. | 501 | bit 27 or 18 of the interrupt mask. Uses mailbox 9. |
502 | Result[0] | 502 | Result[0] |
503 | Status bits: | 503 | Status bits: |
504 | Bit 0 set indicates transfer complete | 504 | 0 read completed |
505 | Bit 2 set indicates transfer error | 505 | 1 write completed |
506 | Bit 4 set indicates linked list error | 506 | 2 DMA read error |
507 | 3 DMA write error | ||
508 | 4 Scatter-Gather array error | ||
507 | Result[1] | 509 | Result[1] |
508 | DMA type | 510 | DMA type |
509 | Result[2] | 511 | Result[2] |
diff --git a/Documentation/video4linux/cx2341x/fw-memory.txt b/Documentation/video4linux/cx2341x/fw-memory.txt index d445e457fc1b..9d736fe8de66 100644 --- a/Documentation/video4linux/cx2341x/fw-memory.txt +++ b/Documentation/video4linux/cx2341x/fw-memory.txt | |||
@@ -1,6 +1,8 @@ | |||
1 | This document describes the cx2341x memory map and documents some of the register | 1 | This document describes the cx2341x memory map and documents some of the register |
2 | space. | 2 | space. |
3 | 3 | ||
4 | Note: the memory long words are little-endian ('intel format'). | ||
5 | |||
4 | Warning! This information was figured out from searching through the memory and | 6 | Warning! This information was figured out from searching through the memory and |
5 | registers, this information may not be correct and is certainly not complete, and | 7 | registers, this information may not be correct and is certainly not complete, and |
6 | was not derived from anything more than searching through the memory space with | 8 | was not derived from anything more than searching through the memory space with |
@@ -67,7 +69,7 @@ DMA Registers 0x000-0xff: | |||
67 | 0x84 - first write linked list reg, for pci memory addr | 69 | 0x84 - first write linked list reg, for pci memory addr |
68 | 0x88 - first write linked list reg, for length of buffer in memory addr | 70 | 0x88 - first write linked list reg, for length of buffer in memory addr |
69 | (|0x80000000 or this for last link) | 71 | (|0x80000000 or this for last link) |
70 | 0x8c-0xcc - rest of write linked list reg, 8 sets of 3 total, DMA goes here | 72 | 0x8c-0xdc - rest of write linked list reg, 8 sets of 3 total, DMA goes here |
71 | from linked list addr in reg 0x0c, firmware must push through or | 73 | from linked list addr in reg 0x0c, firmware must push through or |
72 | something. | 74 | something. |
73 | 0xe0 - first (and only) read linked list reg, for pci memory addr | 75 | 0xe0 - first (and only) read linked list reg, for pci memory addr |