Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Hi,
we are trying to transmit avb traffic with GMAC. The design is that GMAC interrupts are routed to both IPU and MPU, avb talker is implemented on IPU with sysbios, non-avb traffic is implemented on MPU with linux. CPDMA channel 7 is kept for avb traffic, priority of avb traffic is 2. CPDMA channel 0 is kept for non-avb traffic, priority of non-avb traffic is 2. CPPI TX buffer descriptors's TO_PORT filed is set so that avb packets could be sent directly to port 1. we disable all other channels' tx interrupts in WR_C0_TX_EN except channel 7. In channel 7, two avb packets is transmitted every 1.333ms by sysbios. In MPU, based on avb 1.333ms interrupts, channel 0's tx handler is called.
The above is our design framework, however, it is found that traffic could not be much on MPU side even avb register is configured according to RM. The following is our configuration:
#pri2-->switch 3, prio 0--->switch 2
devmem2 0x48484118 w 0x302
devmem2 0x48484218 w 0x302
#port 1 , priority 3 queque as shaping queue
devmem2 0x48484010 w 0x40000
#channel 7 is rate limited and tate limited mode
devmem2 0x48484210 w 0x88240c0
#P1 send percent 10%
devmem2 0x48484228 w 0xa0a00
#channel 7 is rate limited
devmem2 0x48484820 w 0x8001
#priority 2 rate
devmem2 0x48484838 w 0x10009
with the configuration, when we increase bandwidth to 60Mbps in MPU side with iperf, in IPU side, the 1.333ms avb traffic interval is not stable, which will affect listener to lock. we add print log to check the time diff of avb packets submitted to channel queue and tx interrupt. It is observed that at some time the gap would be very large. some samples are given as below. In my opinion, avb traffic should be promised to transmitted at first, we disable all other channels' tx interrupt except avb channel, so the interval between packets submitted and tx interrupt should be stable. I'm not sure if my avb configuration is right or when cpmda starts to select channel 0 to fetch packet, it could not switch to channel 7 until all packets on channel 0 is completed. Could anyone give some advice?
5400, 8250, 5400, 6900, 5850, 6750, 5550, 8400, 5700, 6600, 5700, 6900, 5400, 7050, 5250, 619200, 159300, 6750, 5100, 6900