diff options
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_memfree.h')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_memfree.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.h b/drivers/infiniband/hw/mthca/mthca_memfree.h index 6d42947e1dc4..594144145f45 100644 --- a/drivers/infiniband/hw/mthca/mthca_memfree.h +++ b/drivers/infiniband/hw/mthca/mthca_memfree.h | |||
@@ -69,6 +69,7 @@ struct mthca_icm_table { | |||
69 | int num_obj; | 69 | int num_obj; |
70 | int obj_size; | 70 | int obj_size; |
71 | int lowmem; | 71 | int lowmem; |
72 | int coherent; | ||
72 | struct mutex mutex; | 73 | struct mutex mutex; |
73 | struct mthca_icm *icm[0]; | 74 | struct mthca_icm *icm[0]; |
74 | }; | 75 | }; |
@@ -82,17 +83,17 @@ struct mthca_icm_iter { | |||
82 | struct mthca_dev; | 83 | struct mthca_dev; |
83 | 84 | ||
84 | struct mthca_icm *mthca_alloc_icm(struct mthca_dev *dev, int npages, | 85 | struct mthca_icm *mthca_alloc_icm(struct mthca_dev *dev, int npages, |
85 | gfp_t gfp_mask); | 86 | gfp_t gfp_mask, int coherent); |
86 | void mthca_free_icm(struct mthca_dev *dev, struct mthca_icm *icm); | 87 | void mthca_free_icm(struct mthca_dev *dev, struct mthca_icm *icm, int coherent); |
87 | 88 | ||
88 | struct mthca_icm_table *mthca_alloc_icm_table(struct mthca_dev *dev, | 89 | struct mthca_icm_table *mthca_alloc_icm_table(struct mthca_dev *dev, |
89 | u64 virt, int obj_size, | 90 | u64 virt, int obj_size, |
90 | int nobj, int reserved, | 91 | int nobj, int reserved, |
91 | int use_lowmem); | 92 | int use_lowmem, int use_coherent); |
92 | void mthca_free_icm_table(struct mthca_dev *dev, struct mthca_icm_table *table); | 93 | void mthca_free_icm_table(struct mthca_dev *dev, struct mthca_icm_table *table); |
93 | int mthca_table_get(struct mthca_dev *dev, struct mthca_icm_table *table, int obj); | 94 | int mthca_table_get(struct mthca_dev *dev, struct mthca_icm_table *table, int obj); |
94 | void mthca_table_put(struct mthca_dev *dev, struct mthca_icm_table *table, int obj); | 95 | void mthca_table_put(struct mthca_dev *dev, struct mthca_icm_table *table, int obj); |
95 | void *mthca_table_find(struct mthca_icm_table *table, int obj); | 96 | void *mthca_table_find(struct mthca_icm_table *table, int obj, dma_addr_t *dma_handle); |
96 | int mthca_table_get_range(struct mthca_dev *dev, struct mthca_icm_table *table, | 97 | int mthca_table_get_range(struct mthca_dev *dev, struct mthca_icm_table *table, |
97 | int start, int end); | 98 | int start, int end); |
98 | void mthca_table_put_range(struct mthca_dev *dev, struct mthca_icm_table *table, | 99 | void mthca_table_put_range(struct mthca_dev *dev, struct mthca_icm_table *table, |