linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Subject: [PATCH 1/3] IB core: Allow specification of attr_id in PORT_PMA_ATTR macro
Date: Fri, 11 Dec 2015 12:25:33 -0600	[thread overview]
Message-ID: <20151211182543.135984387@linux.com> (raw)
In-Reply-To: 20151211182532.332343651@linux.com

[-- Attachment #1: 0001-IB-core-Allow-specification-of-attr_id-in-PORT_PMA_A.patch --]
[-- Type: text/plain, Size: 4620 bytes --]

This is necessary to support the extended attributes which involves
a different attribute id.

Signed-off-by: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
---
 drivers/infiniband/core/sysfs.c | 41 ++++++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index b1f37d4..1c8716f 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -39,6 +39,7 @@
 #include <linux/string.h>
 
 #include <rdma/ib_mad.h>
+#include <rdma/ib_pma.h>
 
 struct ib_port {
 	struct kobject         kobj;
@@ -65,6 +66,7 @@ struct port_table_attribute {
 	struct port_attribute	attr;
 	char			name[8];
 	int			index;
+	int			attr_id;
 };
 
 static ssize_t port_attr_show(struct kobject *kobj,
@@ -311,10 +313,11 @@ static ssize_t show_port_pkey(struct ib_port *p, struct port_attribute *attr,
 	return sprintf(buf, "0x%04x\n", pkey);
 }
 
-#define PORT_PMA_ATTR(_name, _counter, _width, _offset)			\
+#define PORT_PMA_ATTR(_name, _counter, _width, _offset, _attr_id)	\
 struct port_table_attribute port_pma_attr_##_name = {			\
 	.attr  = __ATTR(_name, S_IRUGO, show_pma_counter, NULL),	\
-	.index = (_offset) | ((_width) << 16) | ((_counter) << 24)	\
+	.index = (_offset) | ((_width) << 16) | ((_counter) << 24),	\
+	.attr_id = _attr_id ,						\
 }
 
 static ssize_t show_pma_counter(struct ib_port *p, struct port_attribute *attr,
@@ -344,7 +347,7 @@ static ssize_t show_pma_counter(struct ib_port *p, struct port_attribute *attr,
 	in_mad->mad_hdr.mgmt_class    = IB_MGMT_CLASS_PERF_MGMT;
 	in_mad->mad_hdr.class_version = 1;
 	in_mad->mad_hdr.method        = IB_MGMT_METHOD_GET;
-	in_mad->mad_hdr.attr_id       = cpu_to_be16(0x12); /* PortCounters */
+	in_mad->mad_hdr.attr_id       = tab_attr->attr_id;
 
 	in_mad->data[41] = p->port_num;	/* PortSelect field */
 
@@ -386,22 +389,22 @@ out:
 	return ret;
 }
 
-static PORT_PMA_ATTR(symbol_error		    ,  0, 16,  32);
-static PORT_PMA_ATTR(link_error_recovery	    ,  1,  8,  48);
-static PORT_PMA_ATTR(link_downed		    ,  2,  8,  56);
-static PORT_PMA_ATTR(port_rcv_errors		    ,  3, 16,  64);
-static PORT_PMA_ATTR(port_rcv_remote_physical_errors,  4, 16,  80);
-static PORT_PMA_ATTR(port_rcv_switch_relay_errors   ,  5, 16,  96);
-static PORT_PMA_ATTR(port_xmit_discards		    ,  6, 16, 112);
-static PORT_PMA_ATTR(port_xmit_constraint_errors    ,  7,  8, 128);
-static PORT_PMA_ATTR(port_rcv_constraint_errors	    ,  8,  8, 136);
-static PORT_PMA_ATTR(local_link_integrity_errors    ,  9,  4, 152);
-static PORT_PMA_ATTR(excessive_buffer_overrun_errors, 10,  4, 156);
-static PORT_PMA_ATTR(VL15_dropped		    , 11, 16, 176);
-static PORT_PMA_ATTR(port_xmit_data		    , 12, 32, 192);
-static PORT_PMA_ATTR(port_rcv_data		    , 13, 32, 224);
-static PORT_PMA_ATTR(port_xmit_packets		    , 14, 32, 256);
-static PORT_PMA_ATTR(port_rcv_packets		    , 15, 32, 288);
+static PORT_PMA_ATTR(symbol_error		    ,  0, 16,  32, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(link_error_recovery	    ,  1,  8,  48, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(link_downed		    ,  2,  8,  56, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_errors		    ,  3, 16,  64, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_remote_physical_errors,  4, 16,  80, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_switch_relay_errors   ,  5, 16,  96, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_discards		    ,  6, 16, 112, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_constraint_errors    ,  7,  8, 128, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_constraint_errors	    ,  8,  8, 136, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(local_link_integrity_errors    ,  9,  4, 152, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(excessive_buffer_overrun_errors, 10,  4, 156, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(VL15_dropped		    , 11, 16, 176, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_data		    , 12, 32, 192, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_data		    , 13, 32, 224, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_packets		    , 14, 32, 256, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_packets		    , 15, 32, 288, IB_PMA_PORT_COUNTERS);
 
 static struct attribute *pma_attrs[] = {
 	&port_pma_attr_symbol_error.attr.attr,
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-12-11 18:25 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-11 18:25 [PATCH 0/3] IB 64 bit counter support Christoph Lameter
2015-12-11 18:25 ` Christoph Lameter [this message]
     [not found]   ` <20151211182543.135984387-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-11 23:31     ` [PATCH 1/3] IB core: Allow specification of attr_id in PORT_PMA_ATTR macro ira.weiny
2015-12-11 18:25 ` [PATCH 2/3] IB core: Support 64 bit values in the port counters Christoph Lameter
     [not found]   ` <20151211182543.229518282-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-11 23:33     ` ira.weiny
2015-12-11 18:25 ` [PATCH 3/3] IB core: Display 64 bit counters from the extended set Christoph Lameter
     [not found]   ` <20151211182543.329283794-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-11 23:56     ` ira.weiny
     [not found]       ` <20151211235630.GG7855-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-12-12  0:00         ` Jason Gunthorpe
     [not found]           ` <20151212000047.GA9961-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-12  0:23             ` ira.weiny
     [not found]               ` <20151212002313.GH7855-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-12-12  0:47                 ` Jason Gunthorpe
     [not found]                   ` <20151212004715.GA10790-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-12  1:15                     ` ira.weiny
2015-12-14 16:29             ` Hal Rosenstock
     [not found]               ` <566EEE69.5080906-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-15 19:51                 ` Christoph Lameter
     [not found]                   ` <alpine.DEB.2.20.1512151351050.3509-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-15 19:55                     ` Jason Gunthorpe
     [not found]                       ` <20151215195554.GA28167-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-15 20:01                         ` Hal Rosenstock
     [not found]                           ` <5670717F.9090701-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-15 21:20                             ` Jason Gunthorpe
     [not found]                               ` <20151215212035.GD28167-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-15 21:42                                 ` Hal Rosenstock
     [not found]                                   ` <56708961.1040505-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-15 21:46                                     ` Doug Ledford
     [not found]                                       ` <56708A19.8030403-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-16 15:35                                         ` Christoph Lameter
2015-12-16 16:44                                         ` Doug Ledford
2015-12-16 16:22                                 ` Christoph Lameter
     [not found]                                   ` <alpine.DEB.2.20.1512161000150.17457-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-16 19:34                                     ` Christoph Lameter
     [not found]                                       ` <alpine.DEB.2.20.1512161332200.10147-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-17 17:44                                         ` Hal Rosenstock
     [not found]                                           ` <5672F47F.9060806-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-17 18:54                                             ` Christoph Lameter
     [not found]                                               ` <alpine.DEB.2.20.1512171252200.2954-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-17 19:14                                                 ` Hal Rosenstock
     [not found]                                                   ` <5673097D.8050906-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-17 19:21                                                     ` Christoph Lameter
     [not found]                                                       ` <alpine.DEB.2.20.1512171321110.8087-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-17 19:47                                                         ` Hal Rosenstock
2015-12-14 17:36         ` Devesh Sharma
2015-12-14 14:03     ` Matan Barak
     [not found]       ` <CAAKD3BAT36BGP+21y9oz1E4EuURFuwiAHi558ho8y+k3GEy4Ww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-14 14:55         ` Christoph Lameter
     [not found]           ` <alpine.DEB.2.20.1512140853510.25000-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-14 15:20             ` Matan Barak
     [not found]               ` <CAAKD3BC+DTMpza8WoshBS5SwzzWz-OMiR-KEegKAcrFYpCfqrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-14 16:06                 ` Christoph Lameter
     [not found]                   ` <alpine.DEB.2.20.1512141005010.25235-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-20 10:10                     ` Matan Barak
2015-12-20 10:37                       ` Hal Rosenstock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151211182543.135984387@linux.com \
    --to=cl-vytec60ixjuavxtiumwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).