Texas Instruments TMS320TCI648x Network Card User Manual


 
www.ti.com
SRIOFunctionalDescription
Table21.TXBufferDescriptorFieldDefinitions(continued)
FieldDescription
ssizeRIOstandardmessagepayloadsize.Indicateshowthehardwareshouldsegmentthe
outgoingmessagebyspecifyingthemaximumnumberofdouble-wordsperpacket.If
themessageisamulti-segmentmessage,thisfieldremainsthesameforalloutgoing
segments.Allsegmentsofthemessage,exceptforthelastsegment,havepayloads
equaltothissize.Thelastmessagesegmentmaybeequalorlessthanthissize.
Maximummessagesizefora16segmentmessageisshownbelow.
Message_length/16mustbelessthanorequaltoSsize,ifnot,themessageisnotsent
andCC101bisset.WrittenbytheDSPcore.
0000b-1000b:Reserved
1001b:1Double-wordpayload(Supportsuptoa128-bytemessage)
1010b:2Double-wordpayload(Supportsuptoa256-bytemessage)
1011b:4Double-wordpayload(Supportsuptoa512-bytemessage)
1100b:8Double-wordpayload(Supportsuptoa1024-bytemessage)
1101b:16Double-wordpayload(Supportsuptoa2048-bytemessage)
1110b:32Double-wordpayload(Supportsuptoa4096-bytemessage)
1111b:Reserved
mailboxDestinationMailbox:Specifiesthemailboxtowhichthemessagewillbesent.Written
bytheDSPcore.
000000b:Mailbox0
000001b:Mailbox1
...
000100b:Mailbox4
...
111111b:Mailbox63
Formulti-segmentmessages,onlythe2LSBsofthismailboxfieldarevalid.Hardware
willignorethe4MSBsofthisfieldiftheoutgoingmessageismulti-segment.
Oncetheportcontrolsthebufferdescriptor,theDEST_IDfieldcanbequeriedtodetermineflowcontrol.If
thetransactionhasbeenflowcontrolled,theDMAbusREADrequestispostponedsothattheTXbuffer
spaceisnotwasted.Becausebufferdescriptorscannotbereorderedinthelinklist,ifthetransactionat
theheadofthebufferdescriptorqueueisflowcontrolled,head-of-line(HOL)blockingwilloccuronthat
queue.Whenthisoccurs,alltransactionslocatedinthatqueuearestalled.Tocountertheeffectsand
reduceback-upofmoreTXpackets,multiplequeuesareavailable.Theperipheralsupportsatotalof16
assignableTXqueuesandtheirassociatedTXDMAstateregisters.Thetransmissionorderbetween
queuesisbasedonaprogrammableweightedround-robinschemeatthemessagelevel.The
programmablecontrolregistersareshowninFigure23.Thisschemeallowsconfigurabilityofthequeue
transmissionorder,aswellastheweightofeachqueuewithintheroundrobin.
TheTXstatemachinebeginsbyprocessingthecurrentTX_Queue_Map(n).Itwillattempttoprocessthe
queueandnumberofbufferdescriptorsfromthatqueueprogrammedinthismappingentry.Thenitwill
movetoTX_Queue_Map(n+1),followedbyTX_Queue_Map(n+2)andsoforth.Itisimportanttonotethat
thismappingorderisfixedinacircularpattern.Eachmappercanpointtoanyqueueandmultiple
mapperscanpointtoasinglequeue.Ifamapperpointstoaninactivequeue,theperipheralrecognizes
thisandmovestothenextmapper.Inorderforanactivequeuetotransmitpackets,atleastonemapper
mustbepointingtothatqueue.Thedefaultsettingsdictateanequallyweightedround-robinthatstartson
queue0andincrementsbyoneuntilreachingqueue15.
Theround-robinschemedoesnotprovideprecisecontrolovertheorderofdatasentoutofthedevice.
TheorderingofthemessagesprovidedbytheentriesintheWeightedRoundRobinProgramming
Registersisnotanabsoluteguaranteeoftheactualtransmissionorderorreceiveorderofthemessages.
Forexample,takeacasewheretherearetwoactivequeuesandtheTX_Queue_Mapregistersaresetup
tocontinuouslysend2messagesfromQueue0,followedby1messagefromQueue1.Ifthefirst
messagefromQueue0attemptstoreuseamailbox/lettercombinationalreadyinuse(Content
AddressableMemory(CAM)violation),orfailstogainoutboundcreditduetobuffercongestionatagiven
priority,thenthestatemachinewillre-evaluatetheTX_Queue_Maptodecideonthenextstep.Sincethe
54SerialRapidIO(SRIO)SPRUE13ASeptember2006
SubmitDocumentationFeedback