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.
Αυτή η υποβολή περιλαμβάνεται σε:
υποβλήθηκε από
Kim, Jonathan
γονέας
9e57ce48e8
υποβολή
d047708317
@@ -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;
|
||||
|
||||
@@ -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; }
|
||||
|
||||
|
||||
Αναφορά σε νέο ζήτημα
Block a user