summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'fw/v0/pacfgcmn.p')
-rw-r--r--fw/v0/pacfgcmn.p63
1 files changed, 61 insertions, 2 deletions
diff --git a/fw/v0/pacfgcmn.p b/fw/v0/pacfgcmn.p
index d913fbb..2966da8 100644
--- a/fw/v0/pacfgcmn.p
+++ b/fw/v0/pacfgcmn.p
@@ -274,6 +274,24 @@ f_cfgReply:
274 274
275l_cfgReply0: 275l_cfgReply0:
276 276
277l_cfgReply0_queue_bounce:
278 // Check for Queue Bounce operation
279l_cfgReply0_queue_bounce_ddr:
280 qbbc l_cfgReply0_queue_bounce_msmc, s_paCmd1.replyQueue.t_pa_forward_queue_bounce_ddr
281 clr s_paCmd1.replyQueue.t_pa_forward_queue_bounce_ddr
282 sbco s_paCmd1.replyQueue, cCdeOutPkt, OFFSET(s_pktDescr.swinfo1) + 2, 2
283 lbco s_paCmd1.replyQueue, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG, 2
284 jmp l_cfgReply0_queue_bounce_end
285
286l_cfgReply0_queue_bounce_msmc:
287 qbbc l_cfgReply0_queue_bounce_end, s_paCmd1.replyQueue.t_pa_forward_queue_bounce_msmc
288 clr s_paCmd1.replyQueue.t_pa_forward_queue_bounce_msmc
289 sbco s_paCmd1.replyQueue, cCdeOutPkt, OFFSET(s_pktDescr.swinfo1) + 2, 2
290 lbco s_paCmd1.replyQueue, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG+2, 2
291 // pass through
292
293l_cfgReply0_queue_bounce_end:
294
277 mov s_cdeCmdPkt.psInfoSize, 0 295 mov s_cdeCmdPkt.psInfoSize, 0
278 mov s_cdeCmdPkt.threadId, s_paCmd1.replyDest 296 mov s_cdeCmdPkt.threadId, s_paCmd1.replyDest
279 mov s_cdeCmdPkt.destQueue, s_paCmd1.replyQueue 297 mov s_cdeCmdPkt.destQueue, s_paCmd1.replyQueue
@@ -341,7 +359,7 @@ l_cfgReply1:
341// * R17: | pktCtrl 359// * R17: | pktCtrl
342// * R18: | pktCtrl (MacPaddingCfg) 360// * R18: | pktCtrl (MacPaddingCfg)
343// * R19: | Events BitMap 361// * R19: | Events BitMap
344// * R20: | 362// * R20: | queueBounce
345// * R21: | 363// * R21: |
346// * R22: | 364// * R22: |
347// * R23: | Packet context - pktScope 365// * R23: | Packet context - pktScope
@@ -380,7 +398,7 @@ l_paComConfigPa0:
380 xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd) 398 xout XID_CDECTRL, s_cdeCmdWd, SIZE(s_cdeCmdWd)
381 399
382 // Input configurations for command set, usr stats, queue divert, and packet control 400 // Input configurations for command set, usr stats, queue divert, and packet control
383 xin XID_CDEDATA, s_paComCmdSetCfg, SIZE(s_paComCmdSetCfg) + SIZE(s_paComUsrStats) + SIZE(s_paComQueueDivert) + SIZE(s_paComPktCtrl) 401 xin XID_CDEDATA, s_paComCmdSetCfg, SIZE(s_paComCmdSetCfg) + SIZE(s_paComUsrStats) + SIZE(s_paComQueueDivert) + SIZE(s_paComPktCtrl)+ SIZE(s_paComQueueBounce)
384 402
385 403
386 qbbc l_paComConfigPa1, s_paCmdCfgA.validFlag.t_paCmdConfigValidMaxCount 404 qbbc l_paComConfigPa1, s_paCmdCfgA.validFlag.t_paCmdConfigValidMaxCount
@@ -548,6 +566,11 @@ l_paComConfigPa6_mbox45_post:
548 sbbo r1, r2, FIRMWARE_CMD_PKT_CTRL_CFG_OFFSET, 4 566 sbbo r1, r2, FIRMWARE_CMD_PKT_CTRL_CFG_OFFSET, 4
549 567
550l_paComConfigPa7: 568l_paComConfigPa7:
569 qbbc l_paComConfigPa8, s_paCmdCfgA.validFlag.t_paCmdConfigValidQueueBounce
570 // Configure queue bounce
571 sbco s_paComQueueBounce, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG, SIZE(s_paComQueueBounce)
572
573l_paComConfigPa8:
551 jmp f_cfgReply 574 jmp f_cfgReply
552 575
553 .leave cdeScope 576 .leave cdeScope
@@ -2006,6 +2029,24 @@ l_paMultiFwd5:
2006 sbco s_paSr0.swInfo0, cCdeOutPkt, OFFSET(s_pktDescr.swinfo0), SIZE(s_pktDescr.swinfo0) 2029 sbco s_paSr0.swInfo0, cCdeOutPkt, OFFSET(s_pktDescr.swinfo0), SIZE(s_pktDescr.swinfo0)
2007 2030
2008l_paMultiFwd6: 2031l_paMultiFwd6:
2032l_paMultiFwd6_queue_bounce:
2033 // Check for Queue Bounce operation
2034l_paMultiFwd6_queue_bounce_ddr:
2035 qbbc l_paMultiFwd6_queue_bounce_msmc, s_paSr0.queue.t_pa_forward_queue_bounce_ddr
2036 clr s_paSr0.queue.t_pa_forward_queue_bounce_ddr
2037 sbco s_paSr0.queue, cCdeOutPkt, OFFSET(s_pktDescr.swinfo1) + 2, 2
2038 lbco s_paSr0.queue, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG, 2
2039 jmp l_paMultiFwd6_queue_bounce_end
2040
2041l_paMultiFwd6_queue_bounce_msmc:
2042 qbbc l_paMultiFwd6_queue_bounce_end, s_paSr0.queue.t_pa_forward_queue_bounce_msmc
2043 clr s_paSr0.queue.t_pa_forward_queue_bounce_msmc
2044 sbco s_paSr0.queue, cCdeOutPkt, OFFSET(s_pktDescr.swinfo1) + 2, 2
2045 lbco s_paSr0.queue, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG+2, 2
2046 // pass through
2047
2048l_paMultiFwd6_queue_bounce_end:
2049
2009 zero &s_cdeCmdPkt, SIZE(s_cdeCmdPkt) 2050 zero &s_cdeCmdPkt, SIZE(s_cdeCmdPkt)
2010 mov s_cdeCmdPkt.optionsFlag, CDE_FLG_SET_THREADID | CDE_FLG_SET_FLOWID | CDE_FLG_SET_PSINFO | CDE_FLG_SET_DESTQUEUE 2051 mov s_cdeCmdPkt.optionsFlag, CDE_FLG_SET_THREADID | CDE_FLG_SET_FLOWID | CDE_FLG_SET_PSINFO | CDE_FLG_SET_DESTQUEUE
2011 mov s_cdeCmdPkt.operation, CDE_CMD_PACKET_COPY 2052 mov s_cdeCmdPkt.operation, CDE_CMD_PACKET_COPY
@@ -2251,6 +2292,24 @@ l_curPktForward1_dscp_priority:
2251 mov r2.b2, PA_DEST_CDMA 2292 mov r2.b2, PA_DEST_CDMA
2252l_curPktForward1_no_priority: 2293l_curPktForward1_no_priority:
2253 2294
2295l_curPktForward1_queue_bounce:
2296 // Check for Queue Bounce operation
2297l_curPktForward1_queue_bounce_ddr:
2298 qbbc l_curPktForward1_queue_bounce_msmc, s_curFwd.queue.t_pa_forward_queue_bounce_ddr
2299 clr s_curFwd.queue.t_pa_forward_queue_bounce_ddr
2300 sbco s_curFwd.queue, cCdeOutPkt, OFFSET(s_pktDescr.swinfo1) + 2, 2
2301 lbco s_curFwd.queue, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG, 2
2302 jmp l_curPktForward1_queue_bounce_end
2303
2304l_curPktForward1_queue_bounce_msmc:
2305 qbbc l_curPktForward1_queue_bounce_end, s_curFwd.queue.t_pa_forward_queue_bounce_msmc
2306 clr s_curFwd.queue.t_pa_forward_queue_bounce_msmc
2307 sbco s_curFwd.queue, cCdeOutPkt, OFFSET(s_pktDescr.swinfo1) + 2, 2
2308 lbco s_curFwd.queue, PAMEM_CONST_CUSTOM, OFFSET_QUEUE_BOUNCE_CFG+2, 2
2309 // pass through
2310
2311l_curPktForward1_queue_bounce_end:
2312
2254 // Check whether command set is enabled, which precedes the multi-route option 2313 // Check whether command set is enabled, which precedes the multi-route option
2255 qbeq l_curPktForward8, s_curFwdRxCmdHdr.cmd, PA_RX_CMD_CMDSET 2314 qbeq l_curPktForward8, s_curFwdRxCmdHdr.cmd, PA_RX_CMD_CMDSET
2256 qbeq l_curPktForward8, s_curFwdRxCmdHdr.cmd, PA_RX_CMD_CMDSET_USR_STATS 2315 qbeq l_curPktForward8, s_curFwdRxCmdHdr.cmd, PA_RX_CMD_CMDSET_USR_STATS