1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2019 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include "PeriodicCounterSelectionResponseHandler.hpp" 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker #include <common/include/CommonProfilingUtils.hpp> 9*89c4ff92SAndroid Build Coastguard Worker 10*89c4ff92SAndroid Build Coastguard Worker #include <iostream> 11*89c4ff92SAndroid Build Coastguard Worker 12*89c4ff92SAndroid Build Coastguard Worker namespace armnn 13*89c4ff92SAndroid Build Coastguard Worker { 14*89c4ff92SAndroid Build Coastguard Worker 15*89c4ff92SAndroid Build Coastguard Worker namespace gatordmock 16*89c4ff92SAndroid Build Coastguard Worker { 17*89c4ff92SAndroid Build Coastguard Worker operator ()(const arm::pipe::Packet & packet)18*89c4ff92SAndroid Build Coastguard Workervoid PeriodicCounterSelectionResponseHandler::operator()(const arm::pipe::Packet& packet) 19*89c4ff92SAndroid Build Coastguard Worker { 20*89c4ff92SAndroid Build Coastguard Worker if (!m_QuietOperation) // Are we supposed to print to stdout? 21*89c4ff92SAndroid Build Coastguard Worker { 22*89c4ff92SAndroid Build Coastguard Worker uint32_t period = arm::pipe::ReadUint32(reinterpret_cast<const unsigned char*>(packet.GetData()), 0); 23*89c4ff92SAndroid Build Coastguard Worker uint32_t numCounters = 0; 24*89c4ff92SAndroid Build Coastguard Worker // First check if there are any counters mentioned. 25*89c4ff92SAndroid Build Coastguard Worker if(packet.GetLength() > 4) 26*89c4ff92SAndroid Build Coastguard Worker { 27*89c4ff92SAndroid Build Coastguard Worker // Length will be 4 bytes for the period and then a list of 16 bit UIDS. 28*89c4ff92SAndroid Build Coastguard Worker numCounters = ((packet.GetLength() - 4) / 2); 29*89c4ff92SAndroid Build Coastguard Worker } 30*89c4ff92SAndroid Build Coastguard Worker std::cout << "PeriodicCounterSelectionResponse: Collection interval = " << std::dec << period << "uSec" 31*89c4ff92SAndroid Build Coastguard Worker << " Num counters activated = " << numCounters << std::endl; 32*89c4ff92SAndroid Build Coastguard Worker } 33*89c4ff92SAndroid Build Coastguard Worker } 34*89c4ff92SAndroid Build Coastguard Worker 35*89c4ff92SAndroid Build Coastguard Worker } // namespace gatordmock 36*89c4ff92SAndroid Build Coastguard Worker 37*89c4ff92SAndroid Build Coastguard Worker } // namespace armnn