Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

V4L/DVB (5119): Various cx2341x documentation updates/fixes.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

authored by

Hans Verkuil and committed by
Mauro Carvalho Chehab
a63ad325 5cc1dd8c

+18 -12
+9 -7
Documentation/video4linux/cx2341x/fw-dma.txt
··· 22 22 23 23 Mailbox #10 is reserved for DMA transfer information. 24 24 25 + Note: the hardware expects little-endian data ('intel format'). 26 + 25 27 Flow 26 28 ==== 27 29 ··· 66 64 67 65 Each S-G array element is a struct of three 32-bit words. The first word is 68 66 the source address, the second is the destination address. Both take up the 69 - entire 32 bits. The lowest 16 bits of the third word is the transfer byte 67 + entire 32 bits. The lowest 18 bits of the third word is the transfer byte 70 68 count. The high-bit of the third word is the "last" flag. The last-flag tells 71 69 the card to raise the DMA_DONE interrupt. From hard personal experience, if 72 70 you forget to set this bit, the card will still "work" but the stream will ··· 80 78 81 79 - 32-bit Source Address 82 80 - 32-bit Destination Address 83 - - 16-bit reserved (high bit is the last flag) 84 - - 16-bit byte count 81 + - 14-bit reserved (high bit is the last flag) 82 + - 18-bit byte count 85 83 86 84 DMA Transfer Status 87 85 =================== ··· 89 87 Register 0x0004 holds the DMA Transfer Status: 90 88 91 89 Bit 92 - 4 Scatter-Gather array error 93 - 3 DMA write error 94 - 2 DMA read error 95 - 1 write completed 96 90 0 read completed 91 + 1 write completed 92 + 2 DMA read error 93 + 3 DMA write error 94 + 4 Scatter-Gather array error
+6 -4
Documentation/video4linux/cx2341x/fw-encoder-api.txt
··· 498 498 Enum 203/0xCB 499 499 Description 500 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 502 Result[0] 503 503 Status bits: 504 - Bit 0 set indicates transfer complete 505 - Bit 2 set indicates transfer error 506 - Bit 4 set indicates linked list error 504 + 0 read completed 505 + 1 write completed 506 + 2 DMA read error 507 + 3 DMA write error 508 + 4 Scatter-Gather array error 507 509 Result[1] 508 510 DMA type 509 511 Result[2]
+3 -1
Documentation/video4linux/cx2341x/fw-memory.txt
··· 1 1 This document describes the cx2341x memory map and documents some of the register 2 2 space. 3 3 4 + Note: the memory long words are little-endian ('intel format'). 5 + 4 6 Warning! This information was figured out from searching through the memory and 5 7 registers, this information may not be correct and is certainly not complete, and 6 8 was not derived from anything more than searching through the memory space with ··· 69 67 0x84 - first write linked list reg, for pci memory addr 70 68 0x88 - first write linked list reg, for length of buffer in memory addr 71 69 (|0x80000000 or this for last link) 72 - 0x8c-0xcc - rest of write linked list reg, 8 sets of 3 total, DMA goes here 70 + 0x8c-0xdc - rest of write linked list reg, 8 sets of 3 total, DMA goes here 73 71 from linked list addr in reg 0x0c, firmware must push through or 74 72 something. 75 73 0xe0 - first (and only) read linked list reg, for pci memory addr