|
@@ -1494,14 +1494,27 @@ static int arbel_get_limits ( struct arbel *arbel ) {
|
1494
|
1494
|
|
1495
|
1495
|
arbel->limits.reserved_qps =
|
1496
|
1496
|
( 1 << MLX_GET ( &dev_lim, log2_rsvd_qps ) );
|
|
1497
|
+ arbel->limits.qpc_entry_size = MLX_GET ( &dev_lim, qpc_entry_sz );
|
|
1498
|
+ arbel->limits.eqpc_entry_size = MLX_GET ( &dev_lim, eqpc_entry_sz );
|
|
1499
|
+ arbel->limits.reserved_srqs =
|
|
1500
|
+ ( 1 << MLX_GET ( &dev_lim, log2_rsvd_srqs ) );
|
|
1501
|
+ arbel->limits.srqc_entry_size = MLX_GET ( &dev_lim, srq_entry_sz );
|
1497
|
1502
|
arbel->limits.reserved_ees =
|
1498
|
1503
|
( 1 << MLX_GET ( &dev_lim, log2_rsvd_ees ) );
|
1499
|
|
- arbel->limits.reserved_mtts =
|
1500
|
|
- ( 1 << MLX_GET ( &dev_lim, log2_rsvd_mtts ) );
|
|
1504
|
+ arbel->limits.eec_entry_size = MLX_GET ( &dev_lim, eec_entry_sz );
|
|
1505
|
+ arbel->limits.eeec_entry_size = MLX_GET ( &dev_lim, eeec_entry_sz );
|
1501
|
1506
|
arbel->limits.reserved_cqs =
|
1502
|
1507
|
( 1 << MLX_GET ( &dev_lim, log2_rsvd_cqs ) );
|
1503
|
|
- arbel->limits.reserved_srqs =
|
1504
|
|
- ( 1 << MLX_GET ( &dev_lim, log2_rsvd_srqs ) );
|
|
1508
|
+ arbel->limits.cqc_entry_size = MLX_GET ( &dev_lim, cqc_entry_sz );
|
|
1509
|
+ arbel->limits.reserved_mtts =
|
|
1510
|
+ ( 1 << MLX_GET ( &dev_lim, log2_rsvd_mtts ) );
|
|
1511
|
+ arbel->limits.mtt_entry_size = MLX_GET ( &dev_lim, mtt_entry_sz );
|
|
1512
|
+ arbel->limits.reserved_mrws =
|
|
1513
|
+ ( 1 << MLX_GET ( &dev_lim, log2_rsvd_mrws ) );
|
|
1514
|
+ arbel->limits.mpt_entry_size = MLX_GET ( &dev_lim, mpt_entry_sz );
|
|
1515
|
+ arbel->limits.reserved_rdbs =
|
|
1516
|
+ ( 1 << MLX_GET ( &dev_lim, log2_rsvd_rdbs ) );
|
|
1517
|
+ arbel->limits.eqc_entry_size = MLX_GET ( &dev_lim, eqc_entry_sz );
|
1505
|
1518
|
arbel->limits.reserved_uars = MLX_GET ( &dev_lim, num_rsvd_uars );
|
1506
|
1519
|
|
1507
|
1520
|
return 0;
|
|
@@ -1616,7 +1629,16 @@ static int arbel_alloc_icm ( struct arbel *arbel ) {
|
1616
|
1629
|
icm_offset += ( ( 1 << log_num_eqs ) * arbel->limits.eqc_entry_size );
|
1617
|
1630
|
|
1618
|
1631
|
/* Multicast table */
|
1619
|
|
-
|
|
1632
|
+ MLX_FILL_1 ( &init_hca, 49,
|
|
1633
|
+ multicast_parameters.mc_base_addr_l, icm_offset );
|
|
1634
|
+ MLX_FILL_1 ( &init_hca, 52,
|
|
1635
|
+ multicast_parameters.log_mc_table_entry_sz,
|
|
1636
|
+ fls ( sizeof ( struct arbelprm_mgm_entry ) - 1 ) );
|
|
1637
|
+ MLX_FILL_1 ( &init_hca, 53,
|
|
1638
|
+ multicast_parameters.mc_table_hash_sz, 8 );
|
|
1639
|
+ MLX_FILL_1 ( &init_hca, 54,
|
|
1640
|
+ multicast_parameters.log_mc_table_sz, 3 );
|
|
1641
|
+ icm_offset += ( 8 * sizeof ( struct arbelprm_mgm_entry ) );
|
1620
|
1642
|
|
1621
|
1643
|
return 0;
|
1622
|
1644
|
}
|