Hi ARM,
In AMBA CHI_C2C spec, flow control credit is independent for different message class, but dose not distinguish message type(Short long)
So does it mean than 1 credit is represent for a corespoding C2C message not care message type? (ReqL/S, DataS/L, Resp/Resp2 consume both 1 corespoding credit?)
The credit base flow control is work for preventing C2C RX buffer from overflow. So does it mean one Short/Long type message、Resp/Resp2 consume the same C2C RX buffer space?
Best Regards.
Hello Jinyu,
Your understanding is correct that crediting in C2C is essentially done per protocol message class, rather than per specific message type. And so there is a degree of abstraction from the packing into granules.
Coming to your specific examples:
ReqS/ReqL - Both message types require 1 REQ credit. Note that the amount of RX storage space that this will translate to depends on a number of on-chip payload and opcode/flow properties.
DataS/DataL - Both message types require 1 DAT credit, similarly to above.
Resp/Resp2 - One RSP credit is required for each *protocol* response. Therefore, Resp C2C message type (MsgType=0b0100) requires 1 RSP credit and Resp2 C2C message type (MsgType=0b0101) requires 2 RSP credits (because it contains two protocol responses.
Hope this helps.
Simone