X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx2%2Fotx2_tm.c;h=ba615cebc2fbae8931a655812701746b8ed7307d;hb=983ab2b5d05c40a7b1a4da2200fd028e99796ee7;hp=12903ec1b8dcef8530355b70721371f56333395e;hpb=d1d823e7a8652b4df81ff4e0f47a38263618979c;p=dpdk.git diff --git a/drivers/net/octeontx2/otx2_tm.c b/drivers/net/octeontx2/otx2_tm.c index 12903ec1b8..ba615cebc2 100644 --- a/drivers/net/octeontx2/otx2_tm.c +++ b/drivers/net/octeontx2/otx2_tm.c @@ -410,6 +410,12 @@ populate_tm_registers(struct otx2_eth_dev *dev, *regval++ = shaper2regval(&cir) | 1; req->num_regs++; } + /* Configure TL4 to send to SDP channel instead of CGX/LBK */ + if (otx2_dev_is_sdp(dev)) { + *reg++ = NIX_AF_TL4X_SDP_LINK_CFG(schq); + *regval++ = BIT_ULL(12); + req->num_regs++; + } rc = send_tm_reqval(mbox, req); if (rc) @@ -465,9 +471,12 @@ populate_tm_registers(struct otx2_eth_dev *dev, else *regval++ = (strict_schedul_prio << 24) | rr_quantum; req->num_regs++; - *reg++ = NIX_AF_TL3_TL2X_LINKX_CFG(schq, nix_get_link(dev)); - *regval++ = BIT_ULL(12) | nix_get_relchan(dev); - req->num_regs++; + if (!otx2_dev_is_sdp(dev)) { + *reg++ = NIX_AF_TL3_TL2X_LINKX_CFG(schq, + nix_get_link(dev)); + *regval++ = BIT_ULL(12) | nix_get_relchan(dev); + req->num_regs++; + } if (pir.rate && pir.burst) { *reg++ = NIX_AF_TL2X_PIR(schq); *regval++ = shaper2regval(&pir) | 1; @@ -522,9 +531,6 @@ nix_tm_txsch_reg_config(struct otx2_eth_dev *dev) uint32_t lvl; int rc = 0; - if (nix_get_link(dev) == 13) - return -EPERM; - for (lvl = 0; lvl < (uint32_t)dev->otx2_tm_root_lvl + 1; lvl++) { TAILQ_FOREACH(tm_node, &dev->node_list, node) { if (tm_node->hw_lvl_id == lvl) {