Hi,
My customer is developing some system with AM3517. Its system has a below funtions.
1) Capture of HDMI signal, and
2) Video out the capture signal to the monitor.
But customer has one isseu that screen is black out or freezed (system is not responded) when HDMI signal capturing.
This symptom occurs by the repetition of the start and the stop for saMmapLoopback approximately each 50-100 times.
Please see the below for system configuration.
* system hardware : customer original board. But it is made based on TI EVM of AM3517. Almost configuration is same. In addtion, customer implemented the TVP5146 pattern errata having TI EVM.
* software : kernel boot loader - based on AM45x-OMAP35x-PSP 04.02.00.07(SDK 5.02) with some porting for their board.
Also customer is using:
saUserPtrLoopback (some modification is added for 1280 * 720p HDMI capturing.)
saMmapLoopback
Also customer tried to do some test with different condition. Please see the below.
1) Capturing NTSC signal(YCbCr 720 x 480i) - saMmapLoopback software was used
System was running without system error while eight hours. But system had a symptom "system has no heap memory for DMA"by repetition of start and stop of saMmapLoopback. It was happend after 1000 repetition.
Customer had an error message "vpfe-capture vpfe-capture: dma_alloc_coherent size 692224 failed" So they increased DMA memory size on Linux kernel as the below.
/*
>> * Size of DMA-consistent memory region. Must be multiple of 2M,
>> * between 2MB and 14MB inclusive.
>> */
>> arch/arm/include/asm/memory.h
>> Before modification:
>> 84 #define CONSISTENT_DMA_SIZE SZ_2M
>> After modification:
>> 84 #define CONSISTENT_DMA_SIZE (SZ_2M + SZ_4M + SZ_8M)
After this modification, it is still same error. Customer concerns the cause of this error is flagment of memory.
2) Capturing HDMI signal(YCvCr 1280 x 720p) - It happens same error as the NTSC test. But the repetition is short. It is 50-100 times.
The error message "vpfe-capture vpfe-capture: dma_alloc_coherent size 1843200 failed" is appeared. And in addtion, black out, screen freeze also is appeared.
Also the below is the log file.
1) log file when saMmapLoopback is executed( Before DMA memory increasing)
ubuntu@ubuntu:~/av-examples-1.0/saMmapLoopback/Release$ ./saMmapLoopback
Capture: Current Input: Composite_video
Capture: Input changed to: Composite_video
Capture: Current standard: NTSC
Capture: Capable of streaming
Capture: Number of requested buffers = 3
[ 279.770141] vpfe-capture vpfe-capture: dma_alloc_coherent size 692224 failed
Cannot mmap = 1 buffer
2) log file when saMmapLoopback is executed( after DMA memory increasing)
ubuntu@ubuntu:~$ ./saMmapLoopback
Capture: Current Input: Composite
Capture: Input changed to: Composite
Capture: Current standard: NTSC
Capture: Capable of streaming
Capture: Number of requested buffers = 3
Capture: Init done successfully
Display: Opened Channel
Display: Capable of streaming
Display: Number of requested buffers = 3
Display: Init done successfully
Display: Stream on...
Capture: Stream on...
Display: Stream off!!
Capture: Stream off!!
Loopback Successful
Timing Analysis:
----------------
Before Time: 946686124 586700
After Time: 946686162 989135
Result Time: 38 402435
Calculated Frame Rate: 26 Fps
What is the wrong on customer board? Please advise me.
I appreciate your quick reply.
Best regards,
Michi