|
@@ -1692,6 +1692,7 @@ static int arbel_alloc_icm ( struct arbel *arbel,
|
1692
|
1692
|
struct arbelprm_scalar_parameter icm_aux_size;
|
1693
|
1693
|
struct arbelprm_virtual_physical_mapping map_icm_aux;
|
1694
|
1694
|
struct arbelprm_virtual_physical_mapping map_icm;
|
|
1695
|
+ union arbelprm_doorbell_record *db_rec;
|
1695
|
1696
|
size_t icm_offset = 0;
|
1696
|
1697
|
unsigned int log_num_qps, log_num_srqs, log_num_ees, log_num_cqs;
|
1697
|
1698
|
unsigned int log_num_mtts, log_num_mpts, log_num_rdbs, log_num_eqs;
|
|
@@ -1848,6 +1849,14 @@ static int arbel_alloc_icm ( struct arbel *arbel,
|
1848
|
1849
|
goto err_map_icm;
|
1849
|
1850
|
}
|
1850
|
1851
|
|
|
1852
|
+ /* Initialise UAR context */
|
|
1853
|
+ arbel->db_rec = phys_to_virt ( user_to_phys ( arbel->icm, 0 ) +
|
|
1854
|
+ ( arbel->limits.reserved_uars *
|
|
1855
|
+ ARBEL_PAGE_SIZE ) );
|
|
1856
|
+ memset ( arbel->db_rec, 0, ARBEL_PAGE_SIZE );
|
|
1857
|
+ db_rec = &arbel->db_rec[ARBEL_GROUP_SEPARATOR_DOORBELL];
|
|
1858
|
+ MLX_FILL_1 ( &db_rec->qp, 1, res, ARBEL_UAR_RES_GROUP_SEP );
|
|
1859
|
+
|
1851
|
1860
|
return 0;
|
1852
|
1861
|
|
1853
|
1862
|
arbel_cmd_unmap_icm ( arbel, ( arbel->icm_len / 4096 ) );
|
|
@@ -2026,16 +2035,6 @@ static int arbel_probe ( struct pci_device *pci,
|
2026
|
2035
|
if ( ( rc = arbel_alloc_icm ( arbel, &init_hca ) ) != 0 )
|
2027
|
2036
|
goto err_alloc_icm;
|
2028
|
2037
|
|
2029
|
|
-
|
2030
|
|
- unsigned long uar_offset = ( arbel->limits.reserved_uars * 4096 );
|
2031
|
|
- arbel->db_rec = phys_to_virt ( user_to_phys ( arbel->icm,
|
2032
|
|
- uar_offset ) );
|
2033
|
|
- memset ( arbel->db_rec, 0, 4096 );
|
2034
|
|
- union arbelprm_doorbell_record *db_rec;
|
2035
|
|
- db_rec = &arbel->db_rec[ARBEL_GROUP_SEPARATOR_DOORBELL];
|
2036
|
|
- MLX_FILL_1 ( &db_rec->qp, 1, res, ARBEL_UAR_RES_GROUP_SEP );
|
2037
|
|
-
|
2038
|
|
-
|
2039
|
2038
|
/* Initialise HCA */
|
2040
|
2039
|
MLX_FILL_1 ( &init_hca, 74, uar_parameters.log_max_uars, 1 );
|
2041
|
2040
|
if ( ( rc = arbel_cmd_init_hca ( arbel, &init_hca ) ) != 0 ) {
|