aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/video4linux
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/video4linux')
-rw-r--r--Documentation/video4linux/cx2341x/fw-dma.txt16
-rw-r--r--Documentation/video4linux/cx2341x/fw-encoder-api.txt10
-rw-r--r--Documentation/video4linux/cx2341x/fw-memory.txt4
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
23Mailbox #10 is reserved for DMA transfer information. 23Mailbox #10 is reserved for DMA transfer information.
24 24
25Note: the hardware expects little-endian data ('intel format').
26
25Flow 27Flow
26==== 28====
27 29
@@ -64,7 +66,7 @@ addresses are the physical memory location of the target DMA buffer.
64 66
65Each S-G array element is a struct of three 32-bit words. The first word is 67Each S-G array element is a struct of three 32-bit words. The first word is
66the source address, the second is the destination address. Both take up the 68the source address, the second is the destination address. Both take up the
67entire 32 bits. The lowest 16 bits of the third word is the transfer byte 69entire 32 bits. The lowest 18 bits of the third word is the transfer byte
68count. The high-bit of the third word is the "last" flag. The last-flag tells 70count. The high-bit of the third word is the "last" flag. The last-flag tells
69the card to raise the DMA_DONE interrupt. From hard personal experience, if 71the card to raise the DMA_DONE interrupt. From hard personal experience, if
70you forget to set this bit, the card will still "work" but the stream will 72you 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
84DMA Transfer Status 86DMA Transfer Status
85=================== 87===================
@@ -87,8 +89,8 @@ DMA Transfer Status
87Register 0x0004 holds the DMA Transfer Status: 89Register 0x0004 holds the DMA Transfer Status:
88 90
89Bit 91Bit
904 Scatter-Gather array error
913 DMA write error
922 DMA read error
931 write completed
940 read completed 920 read completed
931 write completed
942 DMA read error
953 DMA write error
964 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
498Enum 203/0xCB 498Enum 203/0xCB
499Description 499Description
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.
502Result[0] 502Result[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
507Result[1] 509Result[1]
508 DMA type 510 DMA type
509Result[2] 511Result[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 @@
1This document describes the cx2341x memory map and documents some of the register 1This document describes the cx2341x memory map and documents some of the register
2space. 2space.
3 3
4Note: the memory long words are little-endian ('intel format').
5
4Warning! This information was figured out from searching through the memory and 6Warning! This information was figured out from searching through the memory and
5registers, this information may not be correct and is certainly not complete, and 7registers, this information may not be correct and is certainly not complete, and
6was not derived from anything more than searching through the memory space with 8was 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