From d24edd52e1c2ade286801544eb575e1116502a4e Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 4 Aug 2020 12:01:28 +0200 Subject: [PATCH] m3: optimizing 1g and 10g digitizing by setting number of packets depending on 10/1g, dr and #counters --- .../mythen3DetectorServer/slsDetectorFunctionList.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c index 3f7bc8c1f..f606611ad 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -1060,15 +1060,13 @@ void setumberOfDeserializers(int val, int tgEnable) { } void updateNumberOfPackets() { - const uint32_t addr = PKT_FRAG_REG; const int ncounters = __builtin_popcount(getCounterMask()); - const int dr = setDynamicRange(-1); const int tgEnable = enableTenGigabitEthernet(-1); - const int imageSize = calculateDataBytes(); int packetsPerFrame = 0; // 10g if (tgEnable) { + const int dr = setDynamicRange(-1); packetsPerFrame = 1; if (dr == 32 && ncounters > 1) { packetsPerFrame = 2; @@ -1080,12 +1078,13 @@ void updateNumberOfPackets() { if (ncounters == 3) { dataSize = 768; } - packetsPerFrame = imageSize / dataSize; + packetsPerFrame = calculateDataBytes() / dataSize; } // bus_w() LOG(logINFO, ("Number of Packets/Frame: %d for %s\n", packetsPerFrame, (tgEnable ? "10g" : "1g"))); + const uint32_t addr = PKT_FRAG_REG; if (tgEnable) { bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_NUM_PACKETS_MSK); bus_w(addr, bus_r(addr) |