Texas Instruments TMS320TCI648x Network Card User Manual


 
www.ti.com
Descriptor
Descriptor
Buffer
Buffer
Port TXDMA
state
TXqueueheaddescriptor
pointer
2.3.5Maintenance
2.3.6DoorbellOperation
SRIOFunctionalDescription
Figure25.TXBufferDescriptors
StartMessagePassing
SRIO_REGS->Queue0_RXDMA_HDP=(int)RX_DESCP0_0;
SRIO_REGS->Queue0_TXDMA_HDP=(int)TX_DESCP0_0;
Thetype8MAINTENANCEpacketformataccessestheRapidIOcapabilityregisters(CARs),command
andstatusregisters(CSRs),anddatastructures.Unlikeotherrequestformats,thetype8packetformat
servesasboththerequestandtheresponseformatformaintenanceoperations.Type8packetscontain
noaddressesandonlycontaindatapayloadsforwriterequestsandreadresponses.Allconfiguration
registerreadaccessesareword(4-byte)accesses.Allconfigurationregisterwriteaccessesarealsoword
(4-byte)accesses.
Thewrsizefieldspecifiesthemaximumsizeofthedatapayloadformultipledouble-wordtransactions.
Thedatapayloadmaynotexceedthatsizebutmaybesmallerifdesired.Boththemaintenancereadand
themaintenancewriterequestgeneratetheappropriatemaintenanceresponse.
Themaintenanceport-writeoperationisawriteoperationthatdoesnothaveguaranteeddeliveryand
doesnothaveanassociatedresponse.Thismaintenanceoperationisusefulforsendingmessagessuch
aserrorindicatorsorstatusinformationfromadevicethatdoesnotcontainanendpoint,suchasaswitch.
Thedatapayloadistypicallyplacedinaqueueinthetargetedendpointandaninterruptistypically
generatedtoalocalprocessor.Aport-writerequesttoaqueuethatisfullorbusyservicinganother
requestmaybediscarded.
SRIO_REGS->LSU1_REG0=CSL_FMK(SRIO_LSU1_REG0_RAPIDIO_ADDRESS_MSB,0);
SRIO_REGS->LSU1_REG1=CSL_FMK(SRIO_LSU1_REG1_ADDRESS_LSB_CONFIG_OFFSET,(int)car_csr);
SRIO_REGS->LSU1_REG2=CSL_FMK(SRIO_LSU1_REG2_DSP_ADDRESS,(int)&xmtBuff[0]);
SRIO_REGS->LSU1_REG3=CSL_FMK(SRIO_LSU1_REG3_BYTE_COUNT,byte_count);
SRIO_REGS->LSU1_REG4=CSL_FMK(SRIO_LSU1_REG4_OUTPORTID,0)|
CSL_FMK(SRIO_LSU1_REG4_PRIORITY,0)|
CSL_FMK(SRIO_LSU1_REG4_XAMSB,0)|//noextendedaddress
CSL_FMK(SRIO_LSU1_REG4_ID_SIZE,1)|
CSL_FMK(SRIO_LSU1_REG4_DESTID,0xBEEF)|
CSL_FMK(SRIO_LSU1_REG4_INTERRUPT_REQ,0);
SRIO_REGS->LSU1_REG5=CSL_FMK(SRIO_LSU1_REG5_DRBLL_INFO,0x0000)|
CSL_FMK(SRIO_LSU1_REG5_HOP_COUNT,0x03)|
CSL_FMK(SRIO_LSU1_REG5_PACKET_TYPE,type);//type=REQ_MAINT_RD
ThedoorbelloperationisshowninFigure26.ItconsistsoftheDOORBELLandRESPONSEtransactions
(typicallyaDONEresponse),anditisusedbyaprocessingelementtosendaveryshortmessageto
anotherprocessingelementthroughtheinterconnectfabric.TheDOORBELLtransactioncontainstheinfo
fieldtoholdinformationanddoesnothaveadatapayload.Thisfieldissoftware-definedandcanbeused
SPRUE13ASeptember2006SerialRapidIO(SRIO)63
SubmitDocumentationFeedback