Lines Matching refs:circularQ

228   mpiICQueue_t *circularQ,  in mpiMsgFreeGet()  argument
234 agsaRoot_t *agRoot=circularQ->agRoot; in mpiMsgFreeGet()
239 SA_ASSERT(NULL != circularQ, "circularQ cannot be null"); in mpiMsgFreeGet()
241 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue is 0"); in mpiMsgFreeGet()
244 if(messageSize > circularQ->elementSize) in mpiMsgFreeGet()
246 …eGet: Message Size (%d) is larger than Q element size (%d)\n",messageSize,circularQ->elementSize)); in mpiMsgFreeGet()
251 OSSA_READ_LE_32(circularQ->agRoot, &circularQ->consumerIdx, circularQ->ciPointer, 0); in mpiMsgFreeGet()
256 if (((circularQ->producerIdx + bcCount) % circularQ->numElements) == circularQ->consumerIdx) in mpiMsgFreeGet()
259 …smTrace(hpDBG_VERY_LOUD,"Za", (((circularQ->producerIdx & 0xFFF) << 16) | (circularQ->consumerIdx… in mpiMsgFreeGet()
262 …SA_DBG1(("mpiMsgFreeGet: %d + %d == %d AGSA_RC_BUSY\n",circularQ->producerIdx,bcCount,circularQ->c… in mpiMsgFreeGet()
267 …smTrace(hpDBG_VERY_LOUD,"Zb", (((circularQ->producerIdx & 0xFFF) << 16) | (circularQ->consumerIdx… in mpiMsgFreeGet()
272 offset = circularQ->producerIdx * circularQ->elementSize; in mpiMsgFreeGet()
274 circularQ->producerIdx = (circularQ->producerIdx + bcCount) % circularQ->numElements; in mpiMsgFreeGet()
277 msgHeader = (mpiMsgHeader_t*) (((bit8 *)(circularQ->memoryRegion.virtPtr)) + offset); in mpiMsgFreeGet()
292 GLOBAL bit32 mpiMsgFreeGetOQ(mpiOCQueue_t *circularQ, bit16 messageSize, void** messagePtr) in mpiMsgFreeGetOQ() argument
299 SA_ASSERT(NULL != circularQ, "circularQ cannot be null"); in mpiMsgFreeGetOQ()
301 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue is 0"); in mpiMsgFreeGetOQ()
304 if(messageSize > circularQ->elementSize) in mpiMsgFreeGetOQ()
316 if (((circularQ->producerIdx + bcCount) % circularQ->numElements) == circularQ->consumerIdx) in mpiMsgFreeGetOQ()
323 offset = circularQ->producerIdx * circularQ->elementSize; in mpiMsgFreeGetOQ()
325 circularQ->producerIdx = (circularQ->producerIdx + bcCount) % circularQ->numElements; in mpiMsgFreeGetOQ()
328 msgHeader = (mpiMsgHeader_t*) (((bit8 *)(circularQ->memoryRegion.virtPtr)) + offset); in mpiMsgFreeGetOQ()
361 mpiICQueue_t *circularQ, in mpiMsgPrepare() argument
375 SA_ASSERT(NULL != circularQ, "circularQ argument cannot be null"); in mpiMsgPrepare()
377 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue" in mpiMsgPrepare()
388 if (circularQ->priority) in mpiMsgPrepare()
401 ossaCachePreFlush(circularQ->agRoot, in mpiMsgPrepare()
402 (void *)circularQ->memoryRegion.appHandle, in mpiMsgPrepare()
403 (void *)msgHeader, circularQ->elementSize * bc); in mpiMsgPrepare()
404 OSSA_WRITE_LE_32(circularQ->agRoot, msgHeader, OSSA_OFFSET_OF(mpiMsgHeader_t, in mpiMsgPrepare()
407 ossaCacheFlush(circularQ->agRoot, (void *)circularQ->memoryRegion.appHandle, in mpiMsgPrepare()
408 (void *)msgHeader, circularQ->elementSize * bc); in mpiMsgPrepare()
410 MPI_DEBUG_TRACE( circularQ->qNumber, in mpiMsgPrepare()
411 ((circularQ->producerIdx << 16 ) | circularQ->consumerIdx), in mpiMsgPrepare()
414 circularQ->elementSize); in mpiMsgPrepare()
416 ossaLogIomb(circularQ->agRoot, in mpiMsgPrepare()
417 circularQ->qNumber, in mpiMsgPrepare()
420 circularQ->elementSize); in mpiMsgPrepare()
426 mpiICQueue_t *circularQ, in mpiMsgProduce() argument
436 ret = mpiMsgPrepare(circularQ, messagePtr, category, opCode, responseQueue, in mpiMsgProduce()
441 ossaHwRegWriteExt(circularQ->agRoot, in mpiMsgProduce()
442 circularQ->PIPCIBar, in mpiMsgProduce()
443 circularQ->PIPCIOffset, in mpiMsgProduce()
444 circularQ->producerIdx); in mpiMsgProduce()
449 GLOBAL void mpiIBQMsgSend(mpiICQueue_t *circularQ) in mpiIBQMsgSend() argument
451 ossaHwRegWriteExt(circularQ->agRoot, in mpiIBQMsgSend()
452 circularQ->PIPCIBar, in mpiIBQMsgSend()
453 circularQ->PIPCIOffset, in mpiIBQMsgSend()
454 circularQ->producerIdx); in mpiIBQMsgSend()
461 mpiICQueue_t *circularQ, in mpiMsgProduce() argument
488 agsaRoot_t *agRoot=circularQ->agRoot; in mpiMsgProduce()
498 SA_ASSERT(NULL != circularQ, "circularQ argument cannot be null"); in mpiMsgProduce()
500 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue is 0"); in mpiMsgProduce()
513 if (circularQ->priority) in mpiMsgProduce()
529 …ossaCachePreFlush(circularQ->agRoot, (void *)circularQ->memoryRegion.appHandle, (void *)msgHeader,… in mpiMsgProduce()
530 OSSA_WRITE_LE_32(circularQ->agRoot, msgHeader, OSSA_OFFSET_OF(mpiMsgHeader_t, Header), Header); in mpiMsgProduce()
532 …ossaCacheFlush(circularQ->agRoot, (void *)circularQ->memoryRegion.appHandle, (void *)msgHeader, ci… in mpiMsgProduce()
534 MPI_DEBUG_TRACE( circularQ->qNumber, in mpiMsgProduce()
535 ((circularQ->producerIdx << 16 ) | circularQ->consumerIdx), in mpiMsgProduce()
538 circularQ->elementSize); in mpiMsgProduce()
540 ossaLogIomb(circularQ->agRoot, in mpiMsgProduce()
541 circularQ->qNumber, in mpiMsgProduce()
544 circularQ->elementSize); in mpiMsgProduce()
547 MPI_IBQ_IOMB_LOG(circularQ->qNumber, (void *)msgHeader, circularQ->elementSize); in mpiMsgProduce()
551 smTrace(hpDBG_IOMB,"M1",circularQ->qNumber); in mpiMsgProduce()
553 for (i=0; i<((bit32)bc*(circularQ->elementSize/4)); i++) in mpiMsgProduce()
566 if (circularQ->BunchStarts_QPending == 0) in mpiMsgProduce()
569 circularQ->BunchStarts_QPendingTick = saRoot->timeTick; in mpiMsgProduce()
572 circularQ->BunchStarts_QPending++; in mpiMsgProduce()
578 …1(("mpiMsgProduce: BunchStarts - QPending %d, Q-%d\n", circularQ->BunchStarts_QPending, circularQ-… in mpiMsgProduce()
585 circularQ->BunchStarts_QPending = 0; in mpiMsgProduce()
587 ossaHwRegWriteExt(circularQ->agRoot, in mpiMsgProduce()
588 circularQ->PIPCIBar, in mpiMsgProduce()
589 circularQ->PIPCIOffset, in mpiMsgProduce()
590 circularQ->producerIdx); in mpiMsgProduce()
602 mpiICQueue_t *circularQ; in mpiMsgProduceBunch() local
607 circularQ= &saRoot->inboundQueue[inq]; in mpiMsgProduceBunch()
611 if (circularQ->BunchStarts_QPending && in mpiMsgProduceBunch()
612 ((circularQ->BunchStarts_QPending >= saRoot->BunchStarts_Threshold) || in mpiMsgProduceBunch()
613 … ((saRoot->timeTick - circularQ->BunchStarts_QPendingTick) >= saRoot->BunchStarts_TimeoutTicks)) in mpiMsgProduceBunch()
616 if(circularQ->qNumber != inq) in mpiMsgProduceBunch()
618 SA_DBG1(("mpiMsgProduceBunch:circularQ->qNumber(%d) != inq(%d)\n",circularQ->qNumber, inq)); in mpiMsgProduceBunch()
621 SA_DBG1(("mpiMsgProduceBunch: IQ=%d, PI=%d\n", inq, circularQ->producerIdx)); in mpiMsgProduceBunch()
622 …SA_DBG1(("mpiMsgProduceBunch: Qpending=%d, TotPending=%d\n", circularQ->BunchStarts_QPending, saRo… in mpiMsgProduceBunch()
624 ossaHwRegWriteExt(circularQ->agRoot, in mpiMsgProduceBunch()
625 circularQ->PIPCIBar, in mpiMsgProduceBunch()
626 circularQ->PIPCIOffset, in mpiMsgProduceBunch()
627 circularQ->producerIdx); in mpiMsgProduceBunch()
630 saRoot->BunchStarts_Pending -= circularQ->BunchStarts_QPending; in mpiMsgProduceBunch()
633 circularQ->BunchStarts_QPending = 0; in mpiMsgProduceBunch()
634 circularQ->BunchStarts_QPendingTick = saRoot->timeTick; in mpiMsgProduceBunch()
660 mpiOCQueue_t *circularQ, in mpiMsgConsume() argument
670 SA_ASSERT(NULL != circularQ, "circularQ argument cannot be null"); in mpiMsgConsume()
675 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue is 0"); in mpiMsgConsume()
680 if(circularQ->producerIdx != circularQ->consumerIdx) in mpiMsgConsume()
683 …msgHeader = (mpiMsgHeader_t*) ((bit8 *)(circularQ->memoryRegion.virtPtr) + circularQ->consumerIdx … in mpiMsgConsume()
689 …ossaCacheInvalidate(circularQ->agRoot, (void *)circularQ->memoryRegion.appHandle, (void *)msgHeade… in mpiMsgConsume()
693 OSSA_READ_LE_32(circularQ->agRoot, &msgHeader_tmp, msgHeader, 0); in mpiMsgConsume()
702 …SA_DBG1(("mpiMsgConsume: CI=%d PI=%d msgHeader=%p\n", circularQ->consumerIdx, circularQ->producerI… in mpiMsgConsume()
703 circularQ->consumerIdx = (circularQ->consumerIdx + 1) % circularQ->numElements; in mpiMsgConsume()
705 ossaHwRegWriteExt(circularQ->agRoot, in mpiMsgConsume()
706 circularQ->CIPCIBar, in mpiMsgConsume()
707 circularQ->CIPCIOffset, in mpiMsgConsume()
708 circularQ->consumerIdx); in mpiMsgConsume()
715 …SA_ASSERT(circularQ->consumerIdx <= circularQ->numElements, "Multi-buffer messages cannot wrap aro… in mpiMsgConsume()
729 …ossaCacheInvalidate(circularQ->agRoot, (void *)circularQ->memoryRegion.appHandle, (void *)msgHeade… in mpiMsgConsume()
732 …SA_DBG3(("mpiMsgConsume: CI=%d PI=%d msgHeader=%p\n", circularQ->consumerIdx, circularQ->producerI… in mpiMsgConsume()
733 MPI_OBQ_IOMB_LOG(circularQ->qNumber, (void *)msgHeader, circularQ->elementSize); in mpiMsgConsume()
741circularQ->consumerIdx = (circularQ->consumerIdx + ((msgHeader_tmp >> SHIFT24) & BC_MASK)) % circu… in mpiMsgConsume()
746 …OSSA_WRITE_LE_32(circularQ->agRoot, msgHeader, OSSA_OFFSET_OF(mpiMsgHeader_t, Header), msgHeader_t… in mpiMsgConsume()
749 ossaHwRegWriteExt(circularQ->agRoot, in mpiMsgConsume()
750 circularQ->CIPCIBar, in mpiMsgConsume()
751 circularQ->CIPCIOffset, in mpiMsgConsume()
752 circularQ->consumerIdx); in mpiMsgConsume()
754 OSSA_READ_LE_32(circularQ->agRoot, &circularQ->producerIdx, circularQ->piPointer, 0); in mpiMsgConsume()
762 agsaRoot_t *agRoot=circularQ->agRoot; in mpiMsgConsume()
763 …mpiMsgConsume: V bit not set, PI=%d CI=%d msgHeader=%p\n", circularQ->producerIdx, circularQ->con… in mpiMsgConsume()
764 … SA_DBG1(("mpiMsgConsume: V bit not set, 0x%08X Q=%d \n", msgHeader_tmp, circularQ->qNumber)); in mpiMsgConsume()
766 MPI_DEBUG_TRACE(MPI_DEBUG_TRACE_QNUM_ERROR + circularQ->qNumber, in mpiMsgConsume()
767 ((circularQ->producerIdx << 16 ) | circularQ->consumerIdx), in mpiMsgConsume()
770 circularQ->elementSize); in mpiMsgConsume()
772 circularQ->consumerIdx = circularQ->consumerIdx % circularQ->numElements; in mpiMsgConsume()
773 circularQ->consumerIdx ++; in mpiMsgConsume()
774 …OSSA_WRITE_LE_32(circularQ->agRoot, msgHeader, OSSA_OFFSET_OF(mpiMsgHeader_t, Header), msgHeader_t… in mpiMsgConsume()
776 circularQ->CIPCIBar, in mpiMsgConsume()
777 circularQ->CIPCIOffset, in mpiMsgConsume()
778 circularQ->consumerIdx); in mpiMsgConsume()
779 MPI_OBQ_IOMB_LOG(circularQ->qNumber, (void *)msgHeader, circularQ->elementSize); in mpiMsgConsume()
781 …V bit is not set!!!!! HW CI=%d\n", ossaHwRegReadExt(circularQ->agRoot, circularQ->CIPCIBar, circul… in mpiMsgConsume()
789 OSSA_READ_LE_32(circularQ->agRoot, &circularQ->producerIdx, circularQ->piPointer, 0); in mpiMsgConsume()
791 …} while(circularQ->producerIdx != circularQ->consumerIdx); /* while we don't have any more not-yet… in mpiMsgConsume()
817 mpiOCQueue_t *circularQ, in mpiMsgFreeSet() argument
825 SA_ASSERT(NULL != circularQ, "circularQ argument cannot be null"); in mpiMsgFreeSet()
827 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue is 0"); in mpiMsgFreeSet()
832 …if ( ((mpiMsgHeader_t*)((bit8*)circularQ->memoryRegion.virtPtr + circularQ->consumerIdx * circular… in mpiMsgFreeSet()
835 …sgFreeSet: Wrong CI, Q %d ConsumeIdx = %d msgHeader 0x%08x\n",circularQ->qNumber, circularQ->consu… in mpiMsgFreeSet()
836 …p\n", msgHeader,((mpiMsgHeader_t*)((bit8*)circularQ->memoryRegion.virtPtr + circularQ->consumerIdx… in mpiMsgFreeSet()
842 OSSA_READ_LE_32(circularQ->agRoot, &circularQ->producerIdx, circularQ->piPointer, 0); in mpiMsgFreeSet()
844 SA_DBG3(("mpiMsgFreeSet: ProducerIdx = %d\n", circularQ->producerIdx)); in mpiMsgFreeSet()
851 circularQ->consumerIdx = (circularQ->consumerIdx + bc) % circularQ->numElements; in mpiMsgFreeSet()
856 …SA_ASSERT(circularQ->consumerIdx <= circularQ->numElements, "Multi-buffer messages cannot wrap arr… in mpiMsgFreeSet()
863 ossaHwRegWriteExt(circularQ->agRoot, in mpiMsgFreeSet()
864 circularQ->CIPCIBar, in mpiMsgFreeSet()
865 circularQ->CIPCIOffset, in mpiMsgFreeSet()
866 circularQ->consumerIdx); in mpiMsgFreeSet()
869 OSSA_READ_LE_32(circularQ->agRoot, &circularQ->producerIdx, circularQ->piPointer, 0); in mpiMsgFreeSet()
872 SA_DBG5(("mpiMsgFreeSet: CI=%d PI=%d\n", circularQ->consumerIdx, circularQ->producerIdx)); in mpiMsgFreeSet()
909 mpiOCQueue_t *circularQ, in mpiMsgProduceOQ() argument
923 SA_ASSERT(NULL != circularQ, "circularQ argument cannot be null"); in mpiMsgProduceOQ()
925 SA_ASSERT(0 != circularQ->numElements, "The number of elements in this queue" in mpiMsgProduceOQ()
938 …msgHeader %p opcode %d pi/ci %d / %d\n", msgHeader, opCode, circularQ->producerIdx, circularQ->con… in mpiMsgProduceOQ()
941 if (circularQ->priority) in mpiMsgProduceOQ()
956 OSSA_WRITE_LE_32(circularQ->agRoot, msgHeader, OSSA_OFFSET_OF(mpiMsgHeader_t, in mpiMsgProduceOQ()
963 MPI_DEBUG_TRACE( circularQ->qNumber, in mpiMsgProduceOQ()
964 ((circularQ->producerIdx << 16 ) | circularQ->consumerIdx), in mpiMsgProduceOQ()
967 circularQ->elementSize); in mpiMsgProduceOQ()
969 ossaLogIomb(circularQ->agRoot, in mpiMsgProduceOQ()
970 circularQ->qNumber, in mpiMsgProduceOQ()
973 circularQ->elementSize); in mpiMsgProduceOQ()