aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/ehca/ehca_main.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
index 4379beff987f..ab02ac836f94 100644
--- a/drivers/infiniband/hw/ehca/ehca_main.c
+++ b/drivers/infiniband/hw/ehca/ehca_main.c
@@ -60,7 +60,6 @@ MODULE_VERSION(HCAD_VERSION);
60static int ehca_open_aqp1 = 0; 60static int ehca_open_aqp1 = 0;
61static int ehca_hw_level = 0; 61static int ehca_hw_level = 0;
62static int ehca_poll_all_eqs = 1; 62static int ehca_poll_all_eqs = 1;
63static int ehca_mr_largepage = 1;
64 63
65int ehca_debug_level = 0; 64int ehca_debug_level = 0;
66int ehca_nr_ports = 2; 65int ehca_nr_ports = 2;
@@ -79,7 +78,6 @@ module_param_named(port_act_time, ehca_port_act_time, int, S_IRUGO);
79module_param_named(poll_all_eqs, ehca_poll_all_eqs, int, S_IRUGO); 78module_param_named(poll_all_eqs, ehca_poll_all_eqs, int, S_IRUGO);
80module_param_named(static_rate, ehca_static_rate, int, S_IRUGO); 79module_param_named(static_rate, ehca_static_rate, int, S_IRUGO);
81module_param_named(scaling_code, ehca_scaling_code, int, S_IRUGO); 80module_param_named(scaling_code, ehca_scaling_code, int, S_IRUGO);
82module_param_named(mr_largepage, ehca_mr_largepage, int, S_IRUGO);
83module_param_named(lock_hcalls, ehca_lock_hcalls, bool, S_IRUGO); 81module_param_named(lock_hcalls, ehca_lock_hcalls, bool, S_IRUGO);
84 82
85MODULE_PARM_DESC(open_aqp1, 83MODULE_PARM_DESC(open_aqp1,
@@ -104,9 +102,6 @@ MODULE_PARM_DESC(static_rate,
104 "set permanent static rate (default: disabled)"); 102 "set permanent static rate (default: disabled)");
105MODULE_PARM_DESC(scaling_code, 103MODULE_PARM_DESC(scaling_code,
106 "set scaling code (0: disabled/default, 1: enabled)"); 104 "set scaling code (0: disabled/default, 1: enabled)");
107MODULE_PARM_DESC(mr_largepage,
108 "use large page for MR (0: use PAGE_SIZE (default), "
109 "1: use large page depending on MR size");
110MODULE_PARM_DESC(lock_hcalls, 105MODULE_PARM_DESC(lock_hcalls,
111 "serialize all hCalls made by the driver " 106 "serialize all hCalls made by the driver "
112 "(default: autodetect)"); 107 "(default: autodetect)");
@@ -357,11 +352,9 @@ static int ehca_sense_attributes(struct ehca_shca *shca)
357 352
358 /* translate supported MR page sizes; always support 4K */ 353 /* translate supported MR page sizes; always support 4K */
359 shca->hca_cap_mr_pgsize = EHCA_PAGESIZE; 354 shca->hca_cap_mr_pgsize = EHCA_PAGESIZE;
360 if (ehca_mr_largepage) { /* support extra sizes only if enabled */ 355 for (i = 0; i < ARRAY_SIZE(pgsize_map); i += 2)
361 for (i = 0; i < ARRAY_SIZE(pgsize_map); i += 2) 356 if (rblock->memory_page_size_supported & pgsize_map[i])
362 if (rblock->memory_page_size_supported & pgsize_map[i]) 357 shca->hca_cap_mr_pgsize |= pgsize_map[i + 1];
363 shca->hca_cap_mr_pgsize |= pgsize_map[i + 1];
364 }
365 358
366 /* query max MTU from first port -- it's the same for all ports */ 359 /* query max MTU from first port -- it's the same for all ports */
367 port = (struct hipz_query_port *)rblock; 360 port = (struct hipz_query_port *)rblock;
@@ -663,14 +656,6 @@ static ssize_t ehca_show_adapter_handle(struct device *dev,
663} 656}
664static DEVICE_ATTR(adapter_handle, S_IRUGO, ehca_show_adapter_handle, NULL); 657static DEVICE_ATTR(adapter_handle, S_IRUGO, ehca_show_adapter_handle, NULL);
665 658
666static ssize_t ehca_show_mr_largepage(struct device *dev,
667 struct device_attribute *attr,
668 char *buf)
669{
670 return sprintf(buf, "%d\n", ehca_mr_largepage);
671}
672static DEVICE_ATTR(mr_largepage, S_IRUGO, ehca_show_mr_largepage, NULL);
673
674static struct attribute *ehca_dev_attrs[] = { 659static struct attribute *ehca_dev_attrs[] = {
675 &dev_attr_adapter_handle.attr, 660 &dev_attr_adapter_handle.attr,
676 &dev_attr_num_ports.attr, 661 &dev_attr_num_ports.attr,
@@ -687,7 +672,6 @@ static struct attribute *ehca_dev_attrs[] = {
687 &dev_attr_cur_mw.attr, 672 &dev_attr_cur_mw.attr,
688 &dev_attr_max_pd.attr, 673 &dev_attr_max_pd.attr,
689 &dev_attr_max_ah.attr, 674 &dev_attr_max_ah.attr,
690 &dev_attr_mr_largepage.attr,
691 NULL 675 NULL
692}; 676};
693 677