Texas Instruments TMS320C645X Musical Instrument Amplifier User Manual


 
www.ti.com
SRIOFunctionalDescription
2.3.7CongestionControl
TheRapidIOFlowControlspecificationisreferencedinTable1.Thissectiondescribestherequirements
andimplementationofcongestioncontrolwithintheperipheral.
Theperipheralisnotifiedofswitchfabriccongestionthroughtype7RapidIOpackets.Thepacketsare
referredtoasCongestionControlPackets(CCPs).Thepurposeofthesepacketsistoturnoff(Xoff),or
turnon(Xon)specificflowsdefinedbyDESTIDandPRIORITYofoutgoingpackets.CCPsaresentatthe
highestpriorityinanattempttoaddressfabriccongestionasquicklyaspossible.CCPsdonothavea
responsepacketandtheydonothaveguaranteeddelivery.
WhentheperipheralreceivesanXoffCCP,theperipheralmustblockoutgoingLSUandCPPIpackets
thataredestinedforthatflow.WhentheperipheralreceivesanXon,theflowmaybeenabled.Since
CCPsmayarrivefromdifferentswitcheswithinthefabric,itispossibletoreceivemultipleXoffCCPsfor
thesameflow.Forthisreason,theperipheralmustmaintainatableandcountofXoffCCPsforeachflow.
Forexample,iftwoXoffCCPsarereceivedforagivenflow,twoXonCCPsmustbereceivedbeforethe
flowisenabled.
SinceCCPsdonothaveguaranteeddeliveryandcanbedroppedbythefabric,animplicitmethodof
enablinganXoff’dflowmustexist.Asimpletimeoutmethodisused.Additionally,flowcontrolcheckscan
beenabledordisabledthroughtheTransmitSourceFlowControlMasks.ReceivedCCPsarenotpassed
throughtheDMAbusinterface.
2.3.7.1DetailedDescription
Toavoidlargeandcomplextablemanagement,abasicschemeisimplementedforRIOcongestion
management.Theprimarygoalistoavoidlargeparallelsearchesofacentralizedcongestedroutetable
foreachoutgoingpacketrequest.Thecongestedroutetablerequirementsandsubsequentsearches
wouldbeoverwhelmingifeachpossibleDESTIDandPRIORITYcombinationhaditsownentry.To
implementamorebasicscheme,thefollowingassumptionshavebeenmade:
Asmallnumberofflowsconstitutethemajorityoftraffic,andtheseflowsaremostlikelytocause
congestion
HOLblockingisundesired,butallowableforTXCPPIqueues
FlowcontrolwillbebasedonDESTIDonly,regardlessofPRIORITY
Thecongestedroutetableisthereforemorestaticinnature.Insteadofdynamicallyupdatingatablewith
eachCCP’sflowinformationasitarrives,asmallfinite-entrytableissetupandconfiguredbysoftwareto
reflectthemorecriticalflowsitisusing.Onlytheseflowshaveadiscretetableentry.A16entrytable
reflects15criticalflows,leavingthesixteenthentryforgeneralotherflows,whicharecategorized
together.Figure27showstheMMRtableentriesthatareprogrammablebytheCPUthroughthe
configurationbus.A3-bithardwarecounterisimplementedfortableentries0through14,tomaintaina
countofXoffCCPsforthatflow.TheotherflowstableentrycountsXoffCCPsforallflowsotherthanthe
discreteentries.Thecounterforthistableentryis5-bit.Alloutgoingflowswithnon-zeroXoffcountsare
disabled.ThecountervalueisdecrementedforeachcorrespondingXonCCPthatisreceived,butit
shouldnotdecrementbelowzero.Additionally,ahardwaretimerisneededforeachtableentrytoturnon
flowsthatmayhavebeenabandonedbylostXonCCPs.Thetimervalueneedstobeanorderof
magnitudelargerthanthe32bPortResponseTime-outCSRvalue.Forthisreason,eachtransmission
sourcewilladd2bitstoits4-bitresponsetime-outcounterdescribedinSection2.3.3.3and
Section2.3.4.2.Theadditional2bitscountthreetimecoderevolutionsandprovideanimplicitXontimer
equalto3XtheResponsetime-outcountervalue.
60SerialRapidIO(SRIO)SPRU976March2006
SubmitDocumentationFeedback