aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cxgbi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/cxgbi')
-rw-r--r--drivers/scsi/cxgbi/cxgb3i/cxgb3i.c20
-rw-r--r--drivers/scsi/cxgbi/cxgb4i/cxgb4i.c20
-rw-r--r--drivers/scsi/cxgbi/libcxgbi.c56
-rw-r--r--drivers/scsi/cxgbi/libcxgbi.h1
4 files changed, 59 insertions, 38 deletions
diff --git a/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c b/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
index 1242c7c04a01..000294a9df80 100644
--- a/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
+++ b/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
@@ -105,25 +105,7 @@ static struct iscsi_transport cxgb3i_iscsi_transport = {
105 .caps = CAP_RECOVERY_L0 | CAP_MULTI_R2T | CAP_HDRDGST 105 .caps = CAP_RECOVERY_L0 | CAP_MULTI_R2T | CAP_HDRDGST
106 | CAP_DATADGST | CAP_DIGEST_OFFLOAD | 106 | CAP_DATADGST | CAP_DIGEST_OFFLOAD |
107 CAP_PADDING_OFFLOAD | CAP_TEXT_NEGO, 107 CAP_PADDING_OFFLOAD | CAP_TEXT_NEGO,
108 .param_mask = ISCSI_MAX_RECV_DLENGTH | ISCSI_MAX_XMIT_DLENGTH | 108 .attr_is_visible = cxgbi_attr_is_visible,
109 ISCSI_HDRDGST_EN | ISCSI_DATADGST_EN |
110 ISCSI_INITIAL_R2T_EN | ISCSI_MAX_R2T |
111 ISCSI_IMM_DATA_EN | ISCSI_FIRST_BURST |
112 ISCSI_MAX_BURST | ISCSI_PDU_INORDER_EN |
113 ISCSI_DATASEQ_INORDER_EN | ISCSI_ERL |
114 ISCSI_CONN_PORT | ISCSI_CONN_ADDRESS |
115 ISCSI_EXP_STATSN | ISCSI_PERSISTENT_PORT |
116 ISCSI_PERSISTENT_ADDRESS |
117 ISCSI_TARGET_NAME | ISCSI_TPGT |
118 ISCSI_USERNAME | ISCSI_PASSWORD |
119 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN |
120 ISCSI_FAST_ABORT | ISCSI_ABORT_TMO |
121 ISCSI_LU_RESET_TMO | ISCSI_TGT_RESET_TMO |
122 ISCSI_PING_TMO | ISCSI_RECV_TMO |
123 ISCSI_IFACE_NAME | ISCSI_INITIATOR_NAME,
124 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS |
125 ISCSI_HOST_INITIATOR_NAME |
126 ISCSI_HOST_NETDEV_NAME,
127 .get_host_param = cxgbi_get_host_param, 109 .get_host_param = cxgbi_get_host_param,
128 .set_host_param = cxgbi_set_host_param, 110 .set_host_param = cxgbi_set_host_param,
129 /* session management */ 111 /* session management */
diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
index 31c79bde6976..ac7a9b1e3e23 100644
--- a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
+++ b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
@@ -106,25 +106,7 @@ static struct iscsi_transport cxgb4i_iscsi_transport = {
106 .caps = CAP_RECOVERY_L0 | CAP_MULTI_R2T | CAP_HDRDGST | 106 .caps = CAP_RECOVERY_L0 | CAP_MULTI_R2T | CAP_HDRDGST |
107 CAP_DATADGST | CAP_DIGEST_OFFLOAD | 107 CAP_DATADGST | CAP_DIGEST_OFFLOAD |
108 CAP_PADDING_OFFLOAD | CAP_TEXT_NEGO, 108 CAP_PADDING_OFFLOAD | CAP_TEXT_NEGO,
109 .param_mask = ISCSI_MAX_RECV_DLENGTH | ISCSI_MAX_XMIT_DLENGTH | 109 .attr_is_visible = cxgbi_attr_is_visible,
110 ISCSI_HDRDGST_EN | ISCSI_DATADGST_EN |
111 ISCSI_INITIAL_R2T_EN | ISCSI_MAX_R2T |
112 ISCSI_IMM_DATA_EN | ISCSI_FIRST_BURST |
113 ISCSI_MAX_BURST | ISCSI_PDU_INORDER_EN |
114 ISCSI_DATASEQ_INORDER_EN | ISCSI_ERL |
115 ISCSI_CONN_PORT | ISCSI_CONN_ADDRESS |
116 ISCSI_EXP_STATSN | ISCSI_PERSISTENT_PORT |
117 ISCSI_PERSISTENT_ADDRESS |
118 ISCSI_TARGET_NAME | ISCSI_TPGT |
119 ISCSI_USERNAME | ISCSI_PASSWORD |
120 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN |
121 ISCSI_FAST_ABORT | ISCSI_ABORT_TMO |
122 ISCSI_LU_RESET_TMO | ISCSI_TGT_RESET_TMO |
123 ISCSI_PING_TMO | ISCSI_RECV_TMO |
124 ISCSI_IFACE_NAME | ISCSI_INITIATOR_NAME,
125 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS |
126 ISCSI_HOST_INITIATOR_NAME |
127 ISCSI_HOST_NETDEV_NAME,
128 .get_host_param = cxgbi_get_host_param, 110 .get_host_param = cxgbi_get_host_param,
129 .set_host_param = cxgbi_set_host_param, 111 .set_host_param = cxgbi_set_host_param,
130 /* session management */ 112 /* session management */
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c
index 1c1329bc77c7..c363a4b260fd 100644
--- a/drivers/scsi/cxgbi/libcxgbi.c
+++ b/drivers/scsi/cxgbi/libcxgbi.c
@@ -2568,6 +2568,62 @@ void cxgbi_iscsi_cleanup(struct iscsi_transport *itp,
2568} 2568}
2569EXPORT_SYMBOL_GPL(cxgbi_iscsi_cleanup); 2569EXPORT_SYMBOL_GPL(cxgbi_iscsi_cleanup);
2570 2570
2571mode_t cxgbi_attr_is_visible(int param_type, int param)
2572{
2573 switch (param_type) {
2574 case ISCSI_HOST_PARAM:
2575 switch (param) {
2576 case ISCSI_HOST_PARAM_NETDEV_NAME:
2577 case ISCSI_HOST_PARAM_HWADDRESS:
2578 case ISCSI_HOST_PARAM_IPADDRESS:
2579 case ISCSI_HOST_PARAM_INITIATOR_NAME:
2580 return S_IRUGO;
2581 default:
2582 return 0;
2583 }
2584 case ISCSI_PARAM:
2585 switch (param) {
2586 case ISCSI_PARAM_MAX_RECV_DLENGTH:
2587 case ISCSI_PARAM_MAX_XMIT_DLENGTH:
2588 case ISCSI_PARAM_HDRDGST_EN:
2589 case ISCSI_PARAM_DATADGST_EN:
2590 case ISCSI_PARAM_CONN_ADDRESS:
2591 case ISCSI_PARAM_CONN_PORT:
2592 case ISCSI_PARAM_EXP_STATSN:
2593 case ISCSI_PARAM_PERSISTENT_ADDRESS:
2594 case ISCSI_PARAM_PERSISTENT_PORT:
2595 case ISCSI_PARAM_PING_TMO:
2596 case ISCSI_PARAM_RECV_TMO:
2597 case ISCSI_PARAM_INITIAL_R2T_EN:
2598 case ISCSI_PARAM_MAX_R2T:
2599 case ISCSI_PARAM_IMM_DATA_EN:
2600 case ISCSI_PARAM_FIRST_BURST:
2601 case ISCSI_PARAM_MAX_BURST:
2602 case ISCSI_PARAM_PDU_INORDER_EN:
2603 case ISCSI_PARAM_DATASEQ_INORDER_EN:
2604 case ISCSI_PARAM_ERL:
2605 case ISCSI_PARAM_TARGET_NAME:
2606 case ISCSI_PARAM_TPGT:
2607 case ISCSI_PARAM_USERNAME:
2608 case ISCSI_PARAM_PASSWORD:
2609 case ISCSI_PARAM_USERNAME_IN:
2610 case ISCSI_PARAM_PASSWORD_IN:
2611 case ISCSI_PARAM_FAST_ABORT:
2612 case ISCSI_PARAM_ABORT_TMO:
2613 case ISCSI_PARAM_LU_RESET_TMO:
2614 case ISCSI_PARAM_TGT_RESET_TMO:
2615 case ISCSI_PARAM_IFACE_NAME:
2616 case ISCSI_PARAM_INITIATOR_NAME:
2617 return S_IRUGO;
2618 default:
2619 return 0;
2620 }
2621 }
2622
2623 return 0;
2624}
2625EXPORT_SYMBOL_GPL(cxgbi_attr_is_visible);
2626
2571static int __init libcxgbi_init_module(void) 2627static int __init libcxgbi_init_module(void)
2572{ 2628{
2573 sw_tag_idx_bits = (__ilog2_u32(ISCSI_ITT_MASK)) + 1; 2629 sw_tag_idx_bits = (__ilog2_u32(ISCSI_ITT_MASK)) + 1;
diff --git a/drivers/scsi/cxgbi/libcxgbi.h b/drivers/scsi/cxgbi/libcxgbi.h
index 3a25b1187c10..20c88279c7a6 100644
--- a/drivers/scsi/cxgbi/libcxgbi.h
+++ b/drivers/scsi/cxgbi/libcxgbi.h
@@ -709,6 +709,7 @@ int cxgbi_conn_xmit_pdu(struct iscsi_task *);
709 709
710void cxgbi_cleanup_task(struct iscsi_task *task); 710void cxgbi_cleanup_task(struct iscsi_task *task);
711 711
712mode_t cxgbi_attr_is_visible(int param_type, int param);
712void cxgbi_get_conn_stats(struct iscsi_cls_conn *, struct iscsi_stats *); 713void cxgbi_get_conn_stats(struct iscsi_cls_conn *, struct iscsi_stats *);
713int cxgbi_set_conn_param(struct iscsi_cls_conn *, 714int cxgbi_set_conn_param(struct iscsi_cls_conn *,
714 enum iscsi_param, char *, int); 715 enum iscsi_param, char *, int);