Skip to content

Commit a92db70

Browse files
committed
[cru] Reset internal bar0 counters on dma start
1 parent 86c2483 commit a92db70

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/Cru/CruBar.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,13 @@ void CruBar::resetCard()
179179
writeRegister(Cru::Registers::RESET_CONTROL.index, 0x1);
180180
}
181181

182+
/// Resets internal counters
183+
void CruBar::resetInternalCounters()
184+
{
185+
// clear internal superpage size index counter array
186+
std::fill(mSuperpageSizeIndexCounter, mSuperpageSizeIndexCounter + Cru::MAX_LINKS, 0);
187+
}
188+
182189
/// Injects a single error into the generated data stream
183190
void CruBar::dataGeneratorInjectError()
184191
{

src/Cru/CruBar.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ class CruBar final : public BarInterfaceBase
7676

7777
static FirmwareFeatures convertToFirmwareFeatures(uint32_t reg);
7878

79+
void resetInternalCounters();
7980
void setWrapperCount();
8081
void configure() override;
8182
void reconfigure() override;

src/Cru/CruDmaChannel.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ void CruDmaChannel::resetCru()
201201
std::this_thread::sleep_for(100ms);
202202
getBar()->resetCard();
203203
std::this_thread::sleep_for(100ms);
204+
getBar()->resetInternalCounters();
204205
}
205206

206207
auto CruDmaChannel::getNextLinkIndex() -> LinkIndex

0 commit comments

Comments
 (0)