@@ -85,17 +85,12 @@ AUBCommandStreamReceiverHw<GfxFamily>::~AUBCommandStreamReceiverHw() {
8585}
8686
8787template <typename GfxFamily>
88- const AubMemDump::LrcaHelper &AUBCommandStreamReceiverHw<GfxFamily>::getCsTraits(EngineType engineType ) {
89- return *AUBFamilyMapper<GfxFamily>::csTraits[engineType ];
88+ const AubMemDump::LrcaHelper &AUBCommandStreamReceiverHw<GfxFamily>::getCsTraits(EngineInstanceT engineInstance ) {
89+ return *AUBFamilyMapper<GfxFamily>::csTraits[engineInstance. type ];
9090}
9191
9292template <typename GfxFamily>
93- void AUBCommandStreamReceiverHw<GfxFamily>::setCsTraits(EngineType engineType, const AubMemDump::LrcaHelper *lrca) {
94- AUBFamilyMapper<GfxFamily>::csTraits[engineType] = lrca;
95- }
96-
97- template <typename GfxFamily>
98- size_t AUBCommandStreamReceiverHw<GfxFamily>::getEngineInstance(EngineType engineType) {
93+ size_t AUBCommandStreamReceiverHw<GfxFamily>::getEngineIndex(EngineType engineType) {
9994 constexpr auto numAllEngines = arrayCount (allEngineInstances);
10095 constexpr auto findBegin = allEngineInstances;
10196 constexpr auto findEnd = findBegin + numAllEngines;
@@ -113,8 +108,8 @@ void AUBCommandStreamReceiverHw<GfxFamily>::initGlobalMMIO() {
113108}
114109
115110template <typename GfxFamily>
116- void AUBCommandStreamReceiverHw<GfxFamily>::initEngineMMIO(EngineType engineType ) {
117- auto mmioList = AUBFamilyMapper<GfxFamily>::perEngineMMIO[engineType ];
111+ void AUBCommandStreamReceiverHw<GfxFamily>::initEngineMMIO(EngineInstanceT engineInstance ) {
112+ auto mmioList = AUBFamilyMapper<GfxFamily>::perEngineMMIO[engineInstance. type ];
118113
119114 DEBUG_BREAK_IF (!mmioList);
120115 for (auto &mmioPair : *mmioList) {
@@ -176,13 +171,13 @@ const std::string &AUBCommandStreamReceiverHw<GfxFamily>::getFileName() {
176171}
177172
178173template <typename GfxFamily>
179- void AUBCommandStreamReceiverHw<GfxFamily>::initializeEngine(size_t engineInstance ) {
180- auto engineType = allEngineInstances[engineInstance]. type ;
181- auto mmioBase = getCsTraits (engineType ).mmioBase ;
182- auto &engineInfo = engineInfoTable[engineInstance ];
174+ void AUBCommandStreamReceiverHw<GfxFamily>::initializeEngine(size_t engineIndex ) {
175+ auto engineInstance = allEngineInstances[engineIndex] ;
176+ auto mmioBase = getCsTraits (engineInstance ).mmioBase ;
177+ auto &engineInfo = engineInfoTable[engineIndex ];
183178
184179 initGlobalMMIO ();
185- initEngineMMIO (engineType );
180+ initEngineMMIO (engineInstance );
186181
187182 // Global HW Status Page
188183 {
@@ -207,7 +202,7 @@ void AUBCommandStreamReceiverHw<GfxFamily>::initializeEngine(size_t engineInstan
207202 }
208203
209204 // Allocate the LRCA
210- auto csTraits = getCsTraits (engineType );
205+ auto csTraits = getCsTraits (engineInstance );
211206 const size_t sizeLRCA = csTraits.sizeLRCA ;
212207 const size_t alignLRCA = csTraits.alignLRCA ;
213208 auto pLRCABase = alignedMalloc (sizeLRCA, alignLRCA);
@@ -315,13 +310,14 @@ FlushStamp AUBCommandStreamReceiverHw<GfxFamily>::flush(BatchBuffer &batchBuffer
315310 }
316311
317312 auto streamLocked = stream->lockStream ();
318- auto engineInstance = getEngineInstance (engineType);
319- engineType = allEngineInstances[engineInstance].type ;
320- uint32_t mmioBase = getCsTraits (engineType).mmioBase ;
321- auto &engineInfo = engineInfoTable[engineInstance];
313+ auto engineIndex = getEngineIndex (engineType);
314+ auto engineInstance = allEngineInstances[engineIndex];
315+ engineType = engineInstance.type ;
316+ uint32_t mmioBase = getCsTraits (engineInstance).mmioBase ;
317+ auto &engineInfo = engineInfoTable[engineIndex];
322318
323319 if (!engineInfo.pLRCA ) {
324- initializeEngine (engineInstance );
320+ initializeEngine (engineIndex );
325321 DEBUG_BREAK_IF (!engineInfo.pLRCA );
326322 }
327323
@@ -478,7 +474,7 @@ FlushStamp AUBCommandStreamReceiverHw<GfxFamily>::flush(BatchBuffer &batchBuffer
478474 physLRCA + 0x101c ,
479475 &engineInfo.tailRingBuffer ,
480476 sizeof (engineInfo.tailRingBuffer ),
481- this ->getAddressSpace (getCsTraits (engineType ).aubHintLRCA ));
477+ this ->getAddressSpace (getCsTraits (engineInstance ).aubHintLRCA ));
482478
483479 DEBUG_BREAK_IF (engineInfo.tailRingBuffer >= engineInfo.sizeRingBuffer );
484480 }
@@ -499,10 +495,10 @@ FlushStamp AUBCommandStreamReceiverHw<GfxFamily>::flush(BatchBuffer &batchBuffer
499495 contextDescriptor.sData .LogicalRingCtxAddress = ggttLRCA / 4096 ;
500496 contextDescriptor.sData .ContextID = 0 ;
501497
502- submitLRCA (engineType , contextDescriptor);
498+ submitLRCA (engineInstance , contextDescriptor);
503499 }
504500
505- pollForCompletion (engineType );
501+ pollForCompletion (engineInstance );
506502 if (this ->standalone ) {
507503 *this ->tagAddress = this ->peekLatestSentTaskCount ();
508504 }
@@ -559,19 +555,19 @@ bool AUBCommandStreamReceiverHw<GfxFamily>::addPatchInfoComments() {
559555}
560556
561557template <typename GfxFamily>
562- void AUBCommandStreamReceiverHw<GfxFamily>::submitLRCA(EngineType engineType , const typename AUBCommandStreamReceiverHw<GfxFamily>::MiContextDescriptorReg &contextDescriptor) {
563- auto mmioBase = getCsTraits (engineType ).mmioBase ;
558+ void AUBCommandStreamReceiverHw<GfxFamily>::submitLRCA(EngineInstanceT engineInstance , const typename AUBCommandStreamReceiverHw<GfxFamily>::MiContextDescriptorReg &contextDescriptor) {
559+ auto mmioBase = getCsTraits (engineInstance ).mmioBase ;
564560 stream->writeMMIO (mmioBase + 0x2230 , 0 );
565561 stream->writeMMIO (mmioBase + 0x2230 , 0 );
566562 stream->writeMMIO (mmioBase + 0x2230 , contextDescriptor.ulData [1 ]);
567563 stream->writeMMIO (mmioBase + 0x2230 , contextDescriptor.ulData [0 ]);
568564}
569565
570566template <typename GfxFamily>
571- void AUBCommandStreamReceiverHw<GfxFamily>::pollForCompletion(EngineType engineType ) {
567+ void AUBCommandStreamReceiverHw<GfxFamily>::pollForCompletion(EngineInstanceT engineInstance ) {
572568 typedef typename AubMemDump::CmdServicesMemTraceRegisterPoll CmdServicesMemTraceRegisterPoll;
573569
574- auto mmioBase = getCsTraits (engineType ).mmioBase ;
570+ auto mmioBase = getCsTraits (engineInstance ).mmioBase ;
575571 bool pollNotEqual = false ;
576572 this ->stream ->registerPoll (
577573 mmioBase + 0x2234 , // EXECLIST_STATUS
0 commit comments