kfdtest: Add SDMANopPacket class

The class is very useful for triaging complex SDMA issues.

Change-Id: Ib5de729f7fc62f41e894ef98d3967e7e1745d454
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
This commit is contained in:
Yong Zhao authored and Yong Zhao committed 2019-10-22 13:41:44 -04:00
1 förälder 98b0652917
incheckning 75c654cfea
3 files changed
+58

No files matched your search

+13
Visa fil
@@ -246,3 +246,16 @@ void SDMATimePacket::InitPacket(void *destaddr) {
packetData.ADDR_LO_UNION.DW_1_DATA, /*dst_addr_31_0*/
packetData.ADDR_HI_UNION.DW_2_DATA); /*dst_addr_63_32*/
}
SDMANopPacket::SDMANopPacket(unsigned int count) {
packetSize = count;
packetData = reinterpret_cast<SDMA_PKT_NOP *>(calloc(count, sizeof(unsigned int)));
packetData->HEADER_UNION.op = SDMA_OP_NOP;
packetData->HEADER_UNION.sub_op = 0;
packetData->HEADER_UNION.count = count - 1;
}
SDMANopPacket::~SDMANopPacket() {
free(packetData);
}
+15
Visa fil
@@ -158,5 +158,20 @@ class SDMATimePacket : public SDMAPacket {
SDMA_PKT_TIMESTAMP packetData;
};
class SDMANopPacket : public SDMAPacket {
public:
SDMANopPacket(unsigned int count = 1);
virtual ~SDMANopPacket(void);
// @returns Pointer to the packet
virtual const void *GetPacket() const { return packetData; }
// @returns Packet size in bytes
virtual unsigned int SizeInBytes() const { return packetSize; }
private:
SDMA_PKT_NOP *packetData;
unsigned int packetSize;
};
#endif // __KFD_SDMA_PACKET__H__