summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/pnet.h
diff options
context:
space:
mode:
authorUrsula Braun <ubraun@linux.ibm.com>2018-05-22 13:42:57 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-05-30 12:18:03 +0300
commitb6ef86e962247b9875aa243ba15f258399b67de6 (patch)
treeb1361c5b880d8ee14d6ad09ad83b4a71087acab4 /arch/s390/include/asm/pnet.h
parent1bcdb5354aee2c0abcd13d912be35ae39a4144b6 (diff)
downloadlinux-b6ef86e962247b9875aa243ba15f258399b67de6.tar.xz
s390/net: add pnetid support
s390 hardware supports the definition of a so-call Physical NETwork IDentifier (short PNETID) per network device port. These PNETIDS can be used to identify network devices that are attached to the same physical network (broadcast domain). This patch provides the interface to extract the PNETID of a port of a device attached to the ccw-bus or pci-bus. Parts of this patch are based on an initial implementation by Thomas Richter. Signed-off-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/pnet.h')
-rw-r--r--arch/s390/include/asm/pnet.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/s390/include/asm/pnet.h b/arch/s390/include/asm/pnet.h
new file mode 100644
index 000000000000..6e278584f8f1
--- /dev/null
+++ b/arch/s390/include/asm/pnet.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * IBM System z PNET ID Support
+ *
+ * Copyright IBM Corp. 2018
+ */
+
+#ifndef _ASM_S390_PNET_H
+#define _ASM_S390_PNET_H
+
+#include <linux/device.h>
+#include <linux/types.h>
+
+#define PNETIDS_LEN 64 /* Total utility string length in bytes
+ * to cover up to 4 PNETIDs of 16 bytes
+ * for up to 4 device ports
+ */
+#define MAX_PNETID_LEN 16 /* Max.length of a single port PNETID */
+#define MAX_PNETID_PORTS (PNETIDS_LEN / MAX_PNETID_LEN)
+ /* Max. # of ports with a PNETID */
+
+int pnet_id_by_dev_port(struct device *dev, unsigned short port, u8 *pnetid);
+#endif /* _ASM_S390_PNET_H */