Texas Instruments TMS320TCI648x Network Card User Manual


 
www.ti.com
SRIOFunctionalDescription
Figure18.MailboxtoQueueMappingRegisterPair
MailboxtoQueueMappingRegisterLn(RXU_MAP_Ln)
3130292423222116
LETTER_MASKMAILBOX_MASKLETTERMAILBOX
R/W-11R/W-111111R/W-00R/W-000000
150
SOURCEID
R/W-0000h
MailboxtoQueueMappingRegisterHn(RXU_MAP_Hn)
31
Reserved
R-0
1098765210
SEGMENT
ReservedTTReservedQUEUE_IDPROMISCUOUS
MAPPING
R-0R/W-01R-00R/W-0000R/W-0R/W-0
LEGEND:R/W=Read/Write;R=Readonly;-n=Valueafterreset
ThepacketmanagermaintainstheRXDMAstateoffreeanduseddatabufferswithinthememoryspace.
Itdirectsthedatatospecificaddresseswithinthememoryandmaintainsandupdatesthebuffer
descriptorqueues.ThereisasinglebufferdescriptorperRapidIOmessage.Forexample,singlesegment
messageshaveonebufferdescriptor,asdomulti-segmentmessageswithupto4K-bytepayloads.
TherecanbemultipleRXbufferdescriptorqueuespercore.Itissuggestedthatonequeuebededicated
tosinglesegmentmessagesandadditionalqueuesbededicatedtomulti-segmentmessages.Each
multi-segmentmessagequeuecansupportonlyoneincomingmessageatatime.Dependingonthe
application,itmaybenecessarytosupportmultiplesimultaneoussegmentationandreassembly(SAR)
operationspercore.Inthiscase,abufferdescriptorqueueisallocatedforeachdesiredsimultaneous
message.Theperipheralsupportsatotalof16assignableRXqueuesandtheirassociatedRXDMAstate
registers.Eachofthequeuescanbeassignedtosingleormulti-segmentmessages.
Table16andTable17describetheRXDMAStateRegisters.
Table16.RXDMAStateHeadDescriptorPointer(HDP)(AddressOffset600h–63Ch)
BitNameDescription
31–0RXQueueHeadRXQueueHeadDescriptorPointer:Thisfieldisthememoryaddressforthefirstbufferdescriptor
DescriptorPointerinthechannelreceivequeue.ThisfieldiswrittenbytheDSPcoretoinitiatequeuereceive
operationsandiszeroedbytheportwhenallfreebuffershavebeenused.Anerrorcondition
resultsiftheDSPcorewritesthisfieldwhenthecurrentfieldvalueisnonzero.Theaddressmust
be32-bitwordaligned.
Table17.RXDMAStateCompletionPointer(CP)(AddressOffset680h–6BCh)
BitNameDescription
31–0RXQueueRXQueueCompletionPointer:Thisfieldisthememoryaddressforthereceivequeuecompletion
CompletionPointerpointer.ThisregisteriswrittenbytheDSPcorewiththebufferdescriptoraddressforthelastbuffer
processedbytheDSPcoreduringinterruptprocessing.Theportusesthevaluewrittento
determineiftheinterruptshouldbedeasserted.
Ifamulti-segmentbufferdescriptorqueueisnotcurrentlyfree,andanRXportreceivesanother
multi-segmentmessagethatisdestinedforthatqueue,theRXCPPIsendsaRETRYRESPONSEpacket
(type13)tothesender,indicatingthataninternalbufferingproblemexists.Ifamulti-segmentbuffer
descriptorqueueisbusyandthereisanotherincomingmulti-segmentmessagewiththesame
SOURCEID,MAILBOX,andLETTER,anERRORresponseissent.ThisusuallyindicatesthataTX
programmingerrorhasoccurred,whereduplicatesegmentsorsegmentsoutsidetheMSGLENweresent.
Uponsuccessfulreceptionofanymessagesegment,theRXCPPIisresponsibleforsendingaDONE
responsetothesender.
46SerialRapidIO(SRIO)SPRUE13ASeptember2006
SubmitDocumentationFeedback