kfdtest: Allow user to modify packet size for SDMA write packets

This is primarily used for debug and negative testing for SDMA queue
reset and shouldn't be used for normal run cases.
이 커밋은 다음에 포함됨:
Jonathan Kim
2025-01-30 13:39:52 -05:00
커밋한 사람 Kim, Jonathan
부모 9e57ce48e8
커밋 d047708317
2개의 변경된 파일과 8개의 추가작업 그리고 5개의 파일을 삭제
+5 -3
파일 보기
@@ -32,10 +32,11 @@
*/
#define SDMA_COUNT(c) (m_FamilyId < FAMILY_AI ? (c) : (c)-1)
SDMAWriteDataPacket::SDMAWriteDataPacket(unsigned int familyId, void* destAddr, unsigned int data):
SDMAWriteDataPacket::SDMAWriteDataPacket(unsigned int familyId, void* destAddr, unsigned int data,
unsigned int packetSizeOffset):
packetData(NULL) {
m_FamilyId = familyId;
InitPacket(destAddr, 1, &data);
InitPacket(destAddr, 1, &data, packetSizeOffset);
}
SDMAWriteDataPacket::SDMAWriteDataPacket(unsigned int familyId, void* destAddr, unsigned int ndw,
@@ -46,9 +47,10 @@ SDMAWriteDataPacket::SDMAWriteDataPacket(unsigned int familyId, void* destAddr,
}
void SDMAWriteDataPacket::InitPacket(void* destAddr, unsigned int ndw,
void *data) {
void *data, unsigned int packetSizeOffset) {
packetSize = sizeof(SDMA_PKT_WRITE_UNTILED) +
(ndw - 1) * sizeof(unsigned int);
packetSize -= packetSizeOffset;
packetData = reinterpret_cast<SDMA_PKT_WRITE_UNTILED *>(AllocPacket());
packetData->HEADER_UNION.op = SDMA_OP_WRITE;
+3 -2
파일 보기
@@ -39,7 +39,8 @@ class SDMAPacket : public BasePacket {
class SDMAWriteDataPacket : public SDMAPacket {
public:
// This contructor will also init the packet, no need for additional calls
SDMAWriteDataPacket(unsigned int familyId, void* destAddr, unsigned int data);
SDMAWriteDataPacket(unsigned int familyId, void* destAddr, unsigned int data,
unsigned int packSizeOffset = 0);
SDMAWriteDataPacket(unsigned int familyId, void* destAddr, unsigned int ndw, void *data);
virtual ~SDMAWriteDataPacket(void) {}
@@ -47,7 +48,7 @@ class SDMAWriteDataPacket : public SDMAPacket {
// @returns Pointer to the packet
virtual const void *GetPacket() const { return packetData; }
// @breif Initialise the packet
void InitPacket(void* destAddr, unsigned int ndw, void *data);
void InitPacket(void* destAddr, unsigned int ndw, void *data, unsigned int packetSizeOffset = 0);
// @returns Packet size in bytes
virtual unsigned int SizeInBytes() const { return packetSize; }