hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
kernel/net/smc/smc_ism.h
....@@ -10,15 +10,19 @@
1010 #define SMCD_ISM_H
1111
1212 #include <linux/uio.h>
13
+#include <linux/mutex.h>
1314
1415 #include "smc.h"
1516
1617 struct smcd_dev_list { /* List of SMCD devices */
1718 struct list_head list;
18
- spinlock_t lock; /* Protects list of devices */
19
+ struct mutex mutex; /* Protects list of devices */
1920 };
2021
21
-extern struct smcd_dev_list smcd_dev_list; /* list of smcd devices */
22
+extern struct smcd_dev_list smcd_dev_list; /* list of smcd devices */
23
+extern bool smc_ism_v2_capable; /* HW supports ISM V2 and thus
24
+ * System EID is defined
25
+ */
2226
2327 struct smc_ism_vlanid { /* VLAN id set on ISM device */
2428 struct list_head list;
....@@ -45,4 +49,8 @@
4549 int smc_ism_unregister_dmb(struct smcd_dev *dev, struct smc_buf_desc *dmb_desc);
4650 int smc_ism_write(struct smcd_dev *dev, const struct smc_ism_position *pos,
4751 void *data, size_t len);
52
+int smc_ism_signal_shutdown(struct smc_link_group *lgr);
53
+void smc_ism_get_system_eid(struct smcd_dev *dev, u8 **eid);
54
+u16 smc_ism_get_chid(struct smcd_dev *dev);
55
+void smc_ism_init(void);
4856 #endif