xref: /aosp_15_r20/external/armnn/profiling/common/src/PacketVersionResolver.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 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 <common/include/PacketVersionResolver.hpp>
7*89c4ff92SAndroid Build Coastguard Worker 
8*89c4ff92SAndroid Build Coastguard Worker namespace arm
9*89c4ff92SAndroid Build Coastguard Worker {
10*89c4ff92SAndroid Build Coastguard Worker 
11*89c4ff92SAndroid Build Coastguard Worker namespace pipe
12*89c4ff92SAndroid Build Coastguard Worker {
13*89c4ff92SAndroid Build Coastguard Worker 
operator <(const PacketKey & rhs) const14*89c4ff92SAndroid Build Coastguard Worker bool PacketKey::operator<(const PacketKey& rhs) const
15*89c4ff92SAndroid Build Coastguard Worker {
16*89c4ff92SAndroid Build Coastguard Worker     bool result = true;
17*89c4ff92SAndroid Build Coastguard Worker     if (m_FamilyId == rhs.m_FamilyId)
18*89c4ff92SAndroid Build Coastguard Worker     {
19*89c4ff92SAndroid Build Coastguard Worker             result = m_PacketId < rhs.m_PacketId;
20*89c4ff92SAndroid Build Coastguard Worker     }
21*89c4ff92SAndroid Build Coastguard Worker     else if (m_FamilyId > rhs.m_FamilyId)
22*89c4ff92SAndroid Build Coastguard Worker     {
23*89c4ff92SAndroid Build Coastguard Worker         result = false;
24*89c4ff92SAndroid Build Coastguard Worker     }
25*89c4ff92SAndroid Build Coastguard Worker     return result;
26*89c4ff92SAndroid Build Coastguard Worker }
27*89c4ff92SAndroid Build Coastguard Worker 
operator >(const PacketKey & rhs) const28*89c4ff92SAndroid Build Coastguard Worker bool PacketKey::operator>(const PacketKey& rhs) const
29*89c4ff92SAndroid Build Coastguard Worker {
30*89c4ff92SAndroid Build Coastguard Worker     return rhs < *this;
31*89c4ff92SAndroid Build Coastguard Worker }
32*89c4ff92SAndroid Build Coastguard Worker 
operator <=(const PacketKey & rhs) const33*89c4ff92SAndroid Build Coastguard Worker bool PacketKey::operator<=(const PacketKey& rhs) const
34*89c4ff92SAndroid Build Coastguard Worker {
35*89c4ff92SAndroid Build Coastguard Worker     return !(*this > rhs);
36*89c4ff92SAndroid Build Coastguard Worker }
37*89c4ff92SAndroid Build Coastguard Worker 
operator >=(const PacketKey & rhs) const38*89c4ff92SAndroid Build Coastguard Worker bool PacketKey::operator>=(const PacketKey& rhs) const
39*89c4ff92SAndroid Build Coastguard Worker {
40*89c4ff92SAndroid Build Coastguard Worker     return !(*this < rhs);
41*89c4ff92SAndroid Build Coastguard Worker }
42*89c4ff92SAndroid Build Coastguard Worker 
operator ==(const PacketKey & rhs) const43*89c4ff92SAndroid Build Coastguard Worker bool PacketKey::operator==(const PacketKey& rhs) const
44*89c4ff92SAndroid Build Coastguard Worker {
45*89c4ff92SAndroid Build Coastguard Worker     return m_FamilyId == rhs.m_FamilyId && m_PacketId == rhs.m_PacketId;
46*89c4ff92SAndroid Build Coastguard Worker }
47*89c4ff92SAndroid Build Coastguard Worker 
operator !=(const PacketKey & rhs) const48*89c4ff92SAndroid Build Coastguard Worker bool PacketKey::operator!=(const PacketKey& rhs) const
49*89c4ff92SAndroid Build Coastguard Worker {
50*89c4ff92SAndroid Build Coastguard Worker     return !(*this == rhs);
51*89c4ff92SAndroid Build Coastguard Worker }
52*89c4ff92SAndroid Build Coastguard Worker 
ResolvePacketVersion(uint32_t familyId,uint32_t packetId) const53*89c4ff92SAndroid Build Coastguard Worker Version PacketVersionResolver::ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const
54*89c4ff92SAndroid Build Coastguard Worker {
55*89c4ff92SAndroid Build Coastguard Worker     const PacketKey packetKey(familyId, packetId);
56*89c4ff92SAndroid Build Coastguard Worker 
57*89c4ff92SAndroid Build Coastguard Worker     if( packetKey == ActivateTimeLinePacket )
58*89c4ff92SAndroid Build Coastguard Worker     {
59*89c4ff92SAndroid Build Coastguard Worker         return Version(1, 1, 0);
60*89c4ff92SAndroid Build Coastguard Worker     }
61*89c4ff92SAndroid Build Coastguard Worker     if( packetKey == DeactivateTimeLinePacket )
62*89c4ff92SAndroid Build Coastguard Worker     {
63*89c4ff92SAndroid Build Coastguard Worker         return Version(1, 1, 0);
64*89c4ff92SAndroid Build Coastguard Worker     }
65*89c4ff92SAndroid Build Coastguard Worker 
66*89c4ff92SAndroid Build Coastguard Worker     return Version(1, 0, 0);
67*89c4ff92SAndroid Build Coastguard Worker }
68*89c4ff92SAndroid Build Coastguard Worker 
69*89c4ff92SAndroid Build Coastguard Worker } // namespace pipe
70*89c4ff92SAndroid Build Coastguard Worker 
71*89c4ff92SAndroid Build Coastguard Worker } // namespace arm
72