ROCE_ACCL Layout and Relevant Field Description

ROCE_ACCL Register Layout
Offset | Bits | Name | Description | Access |
00h | 28 | adp_retx_profile_select | In query, indicates that adp_retx_profile_id and adp_retx_profile are supported and valid. In set, indicates that the profile indicated adp_retx_profile_id is modified with the parameters in adp_retx_profile. | RW |
0 | roce_adp_retrans_field_select | In Query, indicates if roce_adp_retrans mode is configurable. In set, indicates roce_adp_retrans_en field is modified. | RW | |
04h | 30:28 | adp_retx_profile_id | The index of the adaptive-retransmission profile to query or to modify. Value 0 is reserved. Valid if adp_retrans_timeouts_profile_select is set. Must comply with adp_retx_profile_max_id | Index |
0 | roce_adp_retrans_en | If set, the adaptive retransmission window functionality is enabled. Valid only when roce_adp_retrans_field_select == 1. | RW | |
08h | 30:28 | adp_retx_profile_max_range_num | Maximal number of timeout ranges in adp_retx_profile | RO |
26:24 | adp_retx_profile_max_id | Maximal index supported for adp_retx_profile_id | RO | |
19:0 | adp_retx_base_timeout_min | The minimal base-timeout value for adp_retx_profile, given in nano second units | RO | |
10h-3Ch | 384 | adp_retx_profile (Table 1004, “Adaptive Retransmission Profile Layout,” on page 1912) | Adaptive Retransmission profile | RW |

Adaptive Retransmission Profile Layout
Offset | Bits | Name | Description | Access |
00h | 31 | qp_total_timeout | If set, Total Retransmission Timeout will use QP parameters as timeout value, given by QP.retry_count * QP.timeout or QP.extended_retry_count * QP.timeout If clr, retx_total_timeout is used | |
30:28 | range_num | Number of valid ranges in timeout_range[] array | ||
26:24 | start_range_index | Index of timeout_range used as the first range following QP creation. | ||
23:22 | time_unit | Time granularity of time_base 0x1: TIME_USEC – microseconds Other values are reserved | ||
15:0 | time_base | Base value for all time parameter, units defined by time_unit | ||
04h | 31:24 | retx_total_timeout | Total Retransmission Timeout, given by base_time << retx_total_timeout Valid if qp_total_timeout is 0x0. | |
15:8 | timeout_init_low_bound | Lower bound for QP initial timeout randomization, given by base_time << timeout_init_low_bound | ||
7:0 | timeout_init_range_size | Upper bound for QP initial timeout randomization, given by base_time << (timeout_init_low_bound + timeout_init_range_size) | ||
08h-14h | 31:0 | timeout_range[4] (Table 1006, “Adaptive Retransmiss ion Timeout Range Layout,” on page 1167) | Array of timeout ranges. First range_num entries are valid. |

Adaptive Retransmission Timeout Range Layout Layout
Offset | Bits | Name | Description | Access |
00h | 30:28 | prev_range_index | Index of the timeout range to used when the current timeout is the range’s lower-bound, and timeout should be decreased | |
27:26 | dec_mode | Defines the behavior of timeout decrease until lower bound is reached 0x0: TO_DIV_4 0x1: TO_DIV_2 0x2: TO_LOW_BOUND Other values are reserved | ||
25:16 | timeout_retry_num | Number of consecutive retransmissions attempts with the same imeout value, before timeout is increased. | ||
15:8 | range_low_bound | Lower bound of the timeout range, given by base_time << range_low_bound | ||
7:0 | range_size | Upper bound of the timeout range given by base_time << (range_low_bound + range_size) |