This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM57x: VPDMA internal memory size for List storage

Champs,

AM57x TRM states that VPDMA engine has internal memory for storing descriptors' List that is being processed. Is it possible to know the size of this memory/how many descriptors can fit there at a time?

thanks,

Michael

  • Hi Michael,

    I will ask the factory team to comment.
  • Hi Michael,

    The list size is stored in the LIST_SIZE field of the VIP_LIST_ATTR register. LIST_SIZE field is a 16-bit value that gives the number of 128 bit words in the new list of descriptors.
  • Hi Biser,

    Yes, the LIST_SIZE defines the overall size of the list. What I am referring to is internal VPDMA memory that stores portion (or all ) of the list of descriptors that is currently being processed. The whole list can be very big and is stored in DDR. VPDMA schedules DMA transfers to bring descriptors from DDR to its own internal memory. It is the size of this memory that I would like to know.

    Thanks,
    --Michael
  • More questions from customer:
    1) Can you provide some insight into the depth of the internal buffering for frame data in the VPDMA (assuming a frame width of 2112 bytes) so that we can figure out how many flush lines we need to ensure that we “push through” image data into the DDR. We plan on using a strategy of pausing capture in the middle of a frame, so we need to be able to flush the data out of the VPDMA with additional lines rather than using the vsync to force the flush.
    2) Is there a maximum frame length for the video port? We plan on using a frame width of 2112 (and 2880 in 200dpi mode), but we are not sure how big we can set the frame length to. The way we see it, the longer the frame the better, because it would reduce the number of descriptors needing to be set up. Can you think of any reason not to use the maximum frame length?
  • Michael,
    I checked with apps team and they are checking more deeply with the IP designer and will come back to you soon....
  • rogerio said:
    1) Can you provide some insight into the depth of the internal buffering for frame data in the VPDMA (assuming a frame width of 2112 bytes) so that we can figure out how many flush lines we need to ensure that we “push through” image data into the DDR. We plan on using a strategy of pausing capture in the middle of a frame, so we need to be able to flush the data out of the VPDMA with additional lines rather than using the vsync to force the flush.

    No flushing is needed. VPDMA will keep writing to the DDR irrespective of pixel data coming to the VIP/parser. 

    rogerio said:
    2) Is there a maximum frame length for the video port? We plan on using a frame width of 2112 (and 2880 in 200dpi mode), but we are not sure how big we can set the frame length to. The way we see it, the longer the frame the better, because it would reduce the number of descriptors needing to be set up. Can you think of any reason not to use the maximum frame length?

    No restriction on the frame length for the video port from VIP IP side.  Only frame width has restriction on 8K bytes (and not pixels). Refer to the TRM. Software driver (linux/RTOS) may have internal restrictions on frame height that need to be looked from the individual driver perspective. VIP linux driver has max height restriction of 1536 lines.  

  • Manisha, closing it....thanks so much