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:
1 förälder
98b0652917
incheckning
75c654cfea
3 files changed
+58
No files matched your search
@@ -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);
|
||||
}
|
||||
@@ -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__
|
||||
Reference in new issue
Block a user