tree 26b71818fdbb3ee71e0d047398ba92688a17ce95
parent 0fabd9fb7bdc935f121e6950a2c4eff971dd4c75
author Michael S. Tsirkin <[EMAIL PROTECTED]> Sun, 17 Apr 2005 05:26:30 -0700
committer Linus Torvalds <[EMAIL PROTECTED]> Sun, 17 Apr 2005 05:26:30 -0700

[PATCH] IB/mthca: split MR key munging routines

Split Tavor and Arbel/mem-free index<->hw key munging routines, so that FMR
implementation can call correct implementation without testing HCA type (which
it already knows).

Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]>
Signed-off-by: Roland Dreier <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>

 infiniband/hw/mthca/mthca_mr.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

Index: drivers/infiniband/hw/mthca/mthca_mr.c
===================================================================
--- 
2d3127501eb7ec1afcd88b071af5c53988cef132/drivers/infiniband/hw/mthca/mthca_mr.c 
 (mode:100644 sha1:6a127a7aca579f26ea4833f2b2d3f777149c470d)
+++ 
26b71818fdbb3ee71e0d047398ba92688a17ce95/drivers/infiniband/hw/mthca/mthca_mr.c 
 (mode:100644 sha1:ac3265d0bf79d8e00912fe853f0e208e0ef478b9)
@@ -198,20 +198,40 @@
                                      seg + (1 << order) - 1);
 }
 
+static inline u32 tavor_hw_index_to_key(u32 ind)
+{
+       return ind;
+}
+
+static inline u32 tavor_key_to_hw_index(u32 key)
+{
+       return key;
+}
+
+static inline u32 arbel_hw_index_to_key(u32 ind)
+{
+       return (ind >> 24) | (ind << 8);
+}
+
+static inline u32 arbel_key_to_hw_index(u32 key)
+{
+       return (key << 24) | (key >> 8);
+}
+
 static inline u32 hw_index_to_key(struct mthca_dev *dev, u32 ind)
 {
        if (dev->hca_type == ARBEL_NATIVE)
-               return (ind >> 24) | (ind << 8);
+               return arbel_hw_index_to_key(ind);
        else
-               return ind;
+               return tavor_hw_index_to_key(ind);
 }
 
 static inline u32 key_to_hw_index(struct mthca_dev *dev, u32 key)
 {
        if (dev->hca_type == ARBEL_NATIVE)
-               return (key << 24) | (key >> 8);
+               return arbel_key_to_hw_index(key);
        else
-               return key;
+               return tavor_key_to_hw_index(key);
 }
 
 int mthca_mr_alloc_notrans(struct mthca_dev *dev, u32 pd,
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to