m3: optimizing 1g and 10g digitizing by setting number of packets depending on 10/1g, dr and #counters

This commit is contained in:
maliakal_d 2020-08-04 12:01:28 +02:00
parent 7b1ede32b1
commit d24edd52e1

View File

@ -1060,15 +1060,13 @@ void setumberOfDeserializers(int val, int tgEnable) {
} }
void updateNumberOfPackets() { void updateNumberOfPackets() {
const uint32_t addr = PKT_FRAG_REG;
const int ncounters = __builtin_popcount(getCounterMask()); const int ncounters = __builtin_popcount(getCounterMask());
const int dr = setDynamicRange(-1);
const int tgEnable = enableTenGigabitEthernet(-1); const int tgEnable = enableTenGigabitEthernet(-1);
const int imageSize = calculateDataBytes();
int packetsPerFrame = 0; int packetsPerFrame = 0;
// 10g // 10g
if (tgEnable) { if (tgEnable) {
const int dr = setDynamicRange(-1);
packetsPerFrame = 1; packetsPerFrame = 1;
if (dr == 32 && ncounters > 1) { if (dr == 32 && ncounters > 1) {
packetsPerFrame = 2; packetsPerFrame = 2;
@ -1080,12 +1078,13 @@ void updateNumberOfPackets() {
if (ncounters == 3) { if (ncounters == 3) {
dataSize = 768; dataSize = 768;
} }
packetsPerFrame = imageSize / dataSize; packetsPerFrame = calculateDataBytes() / dataSize;
} }
// bus_w() // bus_w()
LOG(logINFO, ("Number of Packets/Frame: %d for %s\n", packetsPerFrame, LOG(logINFO, ("Number of Packets/Frame: %d for %s\n", packetsPerFrame,
(tgEnable ? "10g" : "1g"))); (tgEnable ? "10g" : "1g")));
const uint32_t addr = PKT_FRAG_REG;
if (tgEnable) { if (tgEnable) {
bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_NUM_PACKETS_MSK); bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_NUM_PACKETS_MSK);
bus_w(addr, bus_r(addr) | bus_w(addr, bus_r(addr) |