IB/srp: Get rid of "Target has req_lim 0" messages
[firefly-linux-kernel-4.4.55.git] / drivers / infiniband / ulp / srp / ib_srp.h
index 5ecda4ad8906bace194b1c20fb5d0795d1107b6c..ad45e4856e1cf67f167bd2c44146dbf27a7668bc 100644 (file)
@@ -56,7 +56,7 @@ enum {
        SRP_DLID_REDIRECT       = 2,
 
        SRP_MAX_LUN             = 512,
-       SRP_MAX_IU_LEN          = 256,
+       SRP_DEF_SG_TABLESIZE    = 12,
 
        SRP_RQ_SHIFT            = 6,
        SRP_RQ_SIZE             = 1 << SRP_RQ_SHIFT,
@@ -71,9 +71,6 @@ enum {
 };
 
 #define SRP_OP_RECV            (1 << 31)
-#define SRP_MAX_INDIRECT       ((SRP_MAX_IU_LEN -                      \
-                                 sizeof (struct srp_cmd) -             \
-                                 sizeof (struct srp_indirect_buf)) / 16)
 
 enum srp_target_state {
        SRP_TARGET_LIVE,
@@ -99,7 +96,7 @@ struct srp_host {
        u8                      port;
        struct class_device     class_dev;
        struct list_head        target_list;
-       struct mutex            target_mutex;
+       spinlock_t              target_lock;
        struct completion       released;
        struct list_head        list;
 };
@@ -141,6 +138,8 @@ struct srp_target_port {
        int                     max_ti_iu_len;
        s32                     req_lim;
 
+       int                     zero_req_lim;
+
        unsigned                rx_head;
        struct srp_iu          *rx_ring[SRP_RQ_SIZE];