struct arbelprm_scalar_parameter icm_aux_size;
struct arbelprm_virtual_physical_mapping map_icm_aux;
struct arbelprm_virtual_physical_mapping map_icm;
+ union arbelprm_doorbell_record *db_rec;
size_t icm_offset = 0;
unsigned int log_num_qps, log_num_srqs, log_num_ees, log_num_cqs;
unsigned int log_num_mtts, log_num_mpts, log_num_rdbs, log_num_eqs;
goto err_map_icm;
}
+ /* Initialise UAR context */
+ arbel->db_rec = phys_to_virt ( user_to_phys ( arbel->icm, 0 ) +
+ ( arbel->limits.reserved_uars *
+ ARBEL_PAGE_SIZE ) );
+ memset ( arbel->db_rec, 0, ARBEL_PAGE_SIZE );
+ db_rec = &arbel->db_rec[ARBEL_GROUP_SEPARATOR_DOORBELL];
+ MLX_FILL_1 ( &db_rec->qp, 1, res, ARBEL_UAR_RES_GROUP_SEP );
+
return 0;
arbel_cmd_unmap_icm ( arbel, ( arbel->icm_len / 4096 ) );
if ( ( rc = arbel_alloc_icm ( arbel, &init_hca ) ) != 0 )
goto err_alloc_icm;
-
- unsigned long uar_offset = ( arbel->limits.reserved_uars * 4096 );
- arbel->db_rec = phys_to_virt ( user_to_phys ( arbel->icm,
- uar_offset ) );
- memset ( arbel->db_rec, 0, 4096 );
- union arbelprm_doorbell_record *db_rec;
- db_rec = &arbel->db_rec[ARBEL_GROUP_SEPARATOR_DOORBELL];
- MLX_FILL_1 ( &db_rec->qp, 1, res, ARBEL_UAR_RES_GROUP_SEP );
-
-
/* Initialise HCA */
MLX_FILL_1 ( &init_hca, 74, uar_parameters.log_max_uars, 1 );
if ( ( rc = arbel_cmd_init_hca ( arbel, &init_hca ) ) != 0 ) {