]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/rdma/rdmavt_qp.h
IB/rdmavt: Setting of QP timeout can overflow jiffies computation
[karo-tx-linux.git] / include / rdma / rdmavt_qp.h
index be6472e5b06bd1ed1117e928e9b3d44748dfbfeb..d664d2e762808321d7b2aece6d3146b713b51631 100644 (file)
@@ -647,6 +647,20 @@ static inline u32 rvt_div_mtu(struct rvt_qp *qp, u32 len)
        return len >> qp->log_pmtu;
 }
 
+/**
+ * rvt_timeout_to_jiffies - Convert a ULP timeout input into jiffies
+ * @timeout - timeout input(0 - 31).
+ *
+ * Return a timeout value in jiffies.
+ */
+static inline unsigned long rvt_timeout_to_jiffies(u8 timeout)
+{
+       if (timeout > 31)
+               timeout = 31;
+
+       return usecs_to_jiffies(1U << timeout) * 4096UL / 1000UL;
+}
+
 extern const int  ib_rvt_state_ops[];
 
 struct rvt_dev_info;