Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 1 | // |
Jim Flynn | bbfe603 | 2020-07-20 16:57:44 +0100 | [diff] [blame] | 2 | // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. |
Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 3 | // SPDX-License-Identifier: MIT |
| 4 | // |
| 5 | |
| 6 | #pragma once |
| 7 | |
| 8 | #include "EncodeVersion.hpp" |
| 9 | |
Jim Flynn | bbfe603 | 2020-07-20 16:57:44 +0100 | [diff] [blame] | 10 | namespace arm |
Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 11 | { |
| 12 | |
Jim Flynn | bbfe603 | 2020-07-20 16:57:44 +0100 | [diff] [blame] | 13 | namespace pipe |
Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 14 | { |
| 15 | |
Jim Flynn | ed25e0e | 2019-10-18 13:21:43 +0100 | [diff] [blame] | 16 | class PacketKey final |
| 17 | { |
| 18 | public: |
| 19 | PacketKey(uint32_t familyId, uint32_t packetId) : m_FamilyId(familyId), m_PacketId(packetId) {} |
| 20 | |
| 21 | uint32_t GetFamilyId() { return m_FamilyId; } |
| 22 | uint32_t GetPacketId() { return m_PacketId; } |
| 23 | |
| 24 | bool operator< (const PacketKey& rhs) const; |
| 25 | bool operator> (const PacketKey& rhs) const; |
| 26 | bool operator<=(const PacketKey& rhs) const; |
| 27 | bool operator>=(const PacketKey& rhs) const; |
| 28 | bool operator==(const PacketKey& rhs) const; |
| 29 | bool operator!=(const PacketKey& rhs) const; |
| 30 | |
| 31 | private: |
| 32 | uint32_t m_FamilyId; |
| 33 | uint32_t m_PacketId; |
| 34 | }; |
| 35 | |
Keith Davis | 33ed221 | 2020-03-30 10:43:41 +0100 | [diff] [blame] | 36 | static const PacketKey ActivateTimeLinePacket(0 , 6); |
Finn Williams | 2ed809c | 2020-04-20 21:21:07 +0100 | [diff] [blame] | 37 | static const PacketKey DeactivateTimeLinePacket(0 , 7); |
Keith Davis | 33ed221 | 2020-03-30 10:43:41 +0100 | [diff] [blame] | 38 | |
Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 39 | class PacketVersionResolver final |
| 40 | { |
| 41 | public: |
| 42 | PacketVersionResolver() = default; |
| 43 | ~PacketVersionResolver() = default; |
| 44 | |
Jim Flynn | ed25e0e | 2019-10-18 13:21:43 +0100 | [diff] [blame] | 45 | Version ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const; |
Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 46 | }; |
| 47 | |
Jim Flynn | bbfe603 | 2020-07-20 16:57:44 +0100 | [diff] [blame] | 48 | } // namespace pipe |
Aron Virginas-Tar | e898db9 | 2019-08-22 12:56:34 +0100 | [diff] [blame] | 49 | |
Jim Flynn | bbfe603 | 2020-07-20 16:57:44 +0100 | [diff] [blame] | 50 | } // namespace arm |