blob: 25d92b0c5d0902ad50c84ddac1153501a84dd125 [file] [log] [blame]
Aron Virginas-Tare898db92019-08-22 12:56:34 +01001//
Jim Flynnbbfe6032020-07-20 16:57:44 +01002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
Aron Virginas-Tare898db92019-08-22 12:56:34 +01003// SPDX-License-Identifier: MIT
4//
5
Jim Flynnbbfe6032020-07-20 16:57:44 +01006#include <common/include/PacketVersionResolver.hpp>
Aron Virginas-Tare898db92019-08-22 12:56:34 +01007
Jim Flynnbbfe6032020-07-20 16:57:44 +01008namespace arm
Aron Virginas-Tare898db92019-08-22 12:56:34 +01009{
10
Jim Flynnbbfe6032020-07-20 16:57:44 +010011namespace pipe
Aron Virginas-Tare898db92019-08-22 12:56:34 +010012{
13
Jim Flynned25e0e2019-10-18 13:21:43 +010014bool PacketKey::operator<(const PacketKey& rhs) const
15{
16 bool result = true;
17 if (m_FamilyId == rhs.m_FamilyId)
18 {
19 result = m_PacketId < rhs.m_PacketId;
20 }
21 else if (m_FamilyId > rhs.m_FamilyId)
22 {
23 result = false;
24 }
25 return result;
26}
27
28bool PacketKey::operator>(const PacketKey& rhs) const
29{
30 return rhs < *this;
31}
32
33bool PacketKey::operator<=(const PacketKey& rhs) const
34{
35 return !(*this > rhs);
36}
37
38bool PacketKey::operator>=(const PacketKey& rhs) const
39{
40 return !(*this < rhs);
41}
42
43bool PacketKey::operator==(const PacketKey& rhs) const
44{
45 return m_FamilyId == rhs.m_FamilyId && m_PacketId == rhs.m_PacketId;
46}
47
48bool PacketKey::operator!=(const PacketKey& rhs) const
49{
50 return !(*this == rhs);
51}
52
53Version PacketVersionResolver::ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const
Aron Virginas-Tare898db92019-08-22 12:56:34 +010054{
Keith Davis33ed2212020-03-30 10:43:41 +010055 const PacketKey packetKey(familyId, packetId);
56
57 if( packetKey == ActivateTimeLinePacket )
58 {
59 return Version(1, 1, 0);
60 }
Finn Williams2ed809c2020-04-20 21:21:07 +010061 if( packetKey == DeactivateTimeLinePacket )
Keith Davis33ed2212020-03-30 10:43:41 +010062 {
63 return Version(1, 1, 0);
64 }
65
Aron Virginas-Tare898db92019-08-22 12:56:34 +010066 return Version(1, 0, 0);
67}
68
Jim Flynnbbfe6032020-07-20 16:57:44 +010069} // namespace pipe
Aron Virginas-Tare898db92019-08-22 12:56:34 +010070
Jim Flynnbbfe6032020-07-20 16:57:44 +010071} // namespace arm