Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1431886
| Path | csiph.com!aioe.org!gothmog.csi.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | sunil.kovvuri@gmail.com |
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 2/2] net: thunderx: Fix TL4 configuration for secondary Qsets |
| Date | Mon, 27 Jun 2016 12:10:01 +0200 |
| Message-ID | <rOBEl-7gi-7@gated-at.bofh.it> (permalink) |
| References | <rOBEl-7gi-9@gated-at.bofh.it> |
| X-Original-To | netdev@vger.kernel.org |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=S153XjNpmPhqiJYyK2LqwisG1XYGFR2nHSqP+t8zR+I=; b=cj8VKt6jV5qF6pk0VqQHg6CJLggNaP1qRFZUD4kLvFa7y1V1IbE/o/wFAbyVWK8TBK /MUxygOkDQlnDoR+pSgF92NLbmRhz6rM5f09YdCx8tJ7pRpj658ge+53epWqFWVrcnR+ 9Ix8rHOvKLZz/xHUHJ7m4zqmtj02Tvzn0evk2p3kDjwsPl6wAfC0m4bWzyVi3NJFn80M wNqRCLAMLHQKzVMP/vzYmL0rVWlUmpV3OOBYQGBxKU2cMdrCNlYAEU/7A2FKFQyFXvge 1aspgLY7ikrOFCNln+UY89KX4Ms19hRua7308YI9ZfXqx4KDDpDgs767+HGLKvr9/JC5 LNqg== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=S153XjNpmPhqiJYyK2LqwisG1XYGFR2nHSqP+t8zR+I=; b=gpaMHJhPGYTOFmPdqu4k2127EbAby4Td1hk4B80UuokHB8HMAQMuOsDbxo6iulSonN VfXZbkb8SRVuJMUl1S84Stdhu+dMBhzJYOXp3xemryWHCarxco3kwDyf0tootuOm548G DdarQjQne5r+wm3UrqRYWc6H7SGfPD+yaxLzbdTu+8jnPriPUqT8bLri5IzKHdr43Sm1 SynO/bnVBw4XVVuY7gW/kvxW6wBTJ1JGveTv9NyhdFbNdob6EukKju9hsYSZqsmltSmN CaysUJ1mJVwJTT37K8tDuZLBrmm2to9uu8NbbNmhwGWHTr8tWGVpUi0GbpJhlUgmBKWx tGQA== |
| X-Gm-Message-State | ALyK8tKRrmj8JpqJPQeGQJRc/hRQnNRKHV9YfCv1N+gDNuTqLZps3QG9XDCtm7TgI3zBKw== |
| X-Received | by 10.66.54.35 with SMTP id g3mr32988018pap.30.1467021648090; Mon, 27 Jun 2016 03:00:48 -0700 (PDT) |
| X-Mailer | git-send-email 2.7.4 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 51 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, robert.richter@caviumnetworks.com, Naveen.Reddy@cavium.com, Sunil Goutham <sgoutham@cavium.com> |
| X-Original-Date | Mon, 27 Jun 2016 15:30:03 +0530 |
| X-Original-Message-ID | <1467021603-26226-3-git-send-email-sunil.kovvuri@gmail.com> |
| X-Original-References | <1467021603-26226-1-git-send-email-sunil.kovvuri@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1431886 |
Show key headers only | View raw
From: Sunil Goutham <sgoutham@cavium.com>
TL4 calculation for a given SQ of secondary Qsets is incorrect
and goes out of bounds and also for some SQ's TL4 chosen will
transmit data via a different BGX interface and not same as
primary Qset's interface.
This patch fixes this issue.
Signed-off-by: Sunil Goutham <sgoutham@cavium.com>
---
drivers/net/ethernet/cavium/thunder/nic_main.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/cavium/thunder/nic_main.c b/drivers/net/ethernet/cavium/thunder/nic_main.c
index 95f17f8..16ed203 100644
--- a/drivers/net/ethernet/cavium/thunder/nic_main.c
+++ b/drivers/net/ethernet/cavium/thunder/nic_main.c
@@ -499,6 +499,7 @@ static void nic_tx_channel_cfg(struct nicpf *nic, u8 vnic,
u32 rr_quantum;
u8 sq_idx = sq->sq_num;
u8 pqs_vnic;
+ int svf;
if (sq->sqs_mode)
pqs_vnic = nic->pqs_vf[vnic];
@@ -511,10 +512,19 @@ static void nic_tx_channel_cfg(struct nicpf *nic, u8 vnic,
/* 24 bytes for FCS, IPG and preamble */
rr_quantum = ((NIC_HW_MAX_FRS + 24) / 4);
- tl4 = (lmac * NIC_TL4_PER_LMAC) + (bgx * NIC_TL4_PER_BGX);
+ if (!sq->sqs_mode) {
+ tl4 = (lmac * NIC_TL4_PER_LMAC) + (bgx * NIC_TL4_PER_BGX);
+ } else {
+ for (svf = 0; svf < MAX_SQS_PER_VF; svf++) {
+ if (nic->vf_sqs[pqs_vnic][svf] == vnic)
+ break;
+ }
+ tl4 = (MAX_LMAC_PER_BGX * NIC_TL4_PER_LMAC);
+ tl4 += (lmac * NIC_TL4_PER_LMAC * MAX_SQS_PER_VF);
+ tl4 += (svf * NIC_TL4_PER_LMAC);
+ tl4 += (bgx * NIC_TL4_PER_BGX);
+ }
tl4 += sq_idx;
- if (sq->sqs_mode)
- tl4 += vnic * 8;
tl3 = tl4 / (NIC_MAX_TL4 / NIC_MAX_TL3);
nic_reg_write(nic, NIC_PF_QSET_0_127_SQ_0_7_CFG2 |
--
2.7.4
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH v2 2/2] net: thunderx: Fix TL4 configuration for secondary Qsets sunil.kovvuri@gmail.com - 2016-06-27 12:10 +0200
csiph-web