@@ -1870,6 +1870,8 @@ void t3_port_intr_clear(struct adapter *adapter, int idx)
1870
1870
phy -> ops -> intr_clear (phy );
1871
1871
}
1872
1872
1873
+ #define SG_CONTEXT_CMD_ATTEMPTS 100
1874
+
1873
1875
/**
1874
1876
* t3_sge_write_context - write an SGE context
1875
1877
* @adapter: the adapter
@@ -1889,7 +1891,7 @@ static int t3_sge_write_context(struct adapter *adapter, unsigned int id,
1889
1891
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
1890
1892
V_CONTEXT_CMD_OPCODE (1 ) | type | V_CONTEXT (id ));
1891
1893
return t3_wait_op_done (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY ,
1892
- 0 , 5 , 1 );
1894
+ 0 , SG_CONTEXT_CMD_ATTEMPTS , 1 );
1893
1895
}
1894
1896
1895
1897
/**
@@ -2075,7 +2077,7 @@ int t3_sge_enable_ecntxt(struct adapter *adapter, unsigned int id, int enable)
2075
2077
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
2076
2078
V_CONTEXT_CMD_OPCODE (1 ) | F_EGRESS | V_CONTEXT (id ));
2077
2079
return t3_wait_op_done (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY ,
2078
- 0 , 5 , 1 );
2080
+ 0 , SG_CONTEXT_CMD_ATTEMPTS , 1 );
2079
2081
}
2080
2082
2081
2083
/**
@@ -2099,7 +2101,7 @@ int t3_sge_disable_fl(struct adapter *adapter, unsigned int id)
2099
2101
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
2100
2102
V_CONTEXT_CMD_OPCODE (1 ) | F_FREELIST | V_CONTEXT (id ));
2101
2103
return t3_wait_op_done (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY ,
2102
- 0 , 5 , 1 );
2104
+ 0 , SG_CONTEXT_CMD_ATTEMPTS , 1 );
2103
2105
}
2104
2106
2105
2107
/**
@@ -2123,7 +2125,7 @@ int t3_sge_disable_rspcntxt(struct adapter *adapter, unsigned int id)
2123
2125
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
2124
2126
V_CONTEXT_CMD_OPCODE (1 ) | F_RESPONSEQ | V_CONTEXT (id ));
2125
2127
return t3_wait_op_done (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY ,
2126
- 0 , 5 , 1 );
2128
+ 0 , SG_CONTEXT_CMD_ATTEMPTS , 1 );
2127
2129
}
2128
2130
2129
2131
/**
@@ -2147,7 +2149,7 @@ int t3_sge_disable_cqcntxt(struct adapter *adapter, unsigned int id)
2147
2149
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
2148
2150
V_CONTEXT_CMD_OPCODE (1 ) | F_CQ | V_CONTEXT (id ));
2149
2151
return t3_wait_op_done (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY ,
2150
- 0 , 5 , 1 );
2152
+ 0 , SG_CONTEXT_CMD_ATTEMPTS , 1 );
2151
2153
}
2152
2154
2153
2155
/**
@@ -2172,7 +2174,7 @@ int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op,
2172
2174
t3_write_reg (adapter , A_SG_CONTEXT_CMD , V_CONTEXT_CMD_OPCODE (op ) |
2173
2175
V_CONTEXT (id ) | F_CQ );
2174
2176
if (t3_wait_op_done_val (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY ,
2175
- 0 , 5 , 1 , & val ))
2177
+ 0 , SG_CONTEXT_CMD_ATTEMPTS , 1 , & val ))
2176
2178
return - EIO ;
2177
2179
2178
2180
if (op >= 2 && op < 7 ) {
@@ -2182,7 +2184,8 @@ int t3_sge_cqcntxt_op(struct adapter *adapter, unsigned int id, unsigned int op,
2182
2184
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
2183
2185
V_CONTEXT_CMD_OPCODE (0 ) | F_CQ | V_CONTEXT (id ));
2184
2186
if (t3_wait_op_done (adapter , A_SG_CONTEXT_CMD ,
2185
- F_CONTEXT_CMD_BUSY , 0 , 5 , 1 ))
2187
+ F_CONTEXT_CMD_BUSY , 0 ,
2188
+ SG_CONTEXT_CMD_ATTEMPTS , 1 ))
2186
2189
return - EIO ;
2187
2190
return G_CQ_INDEX (t3_read_reg (adapter , A_SG_CONTEXT_DATA0 ));
2188
2191
}
@@ -2208,7 +2211,7 @@ static int t3_sge_read_context(unsigned int type, struct adapter *adapter,
2208
2211
t3_write_reg (adapter , A_SG_CONTEXT_CMD ,
2209
2212
V_CONTEXT_CMD_OPCODE (0 ) | type | V_CONTEXT (id ));
2210
2213
if (t3_wait_op_done (adapter , A_SG_CONTEXT_CMD , F_CONTEXT_CMD_BUSY , 0 ,
2211
- 5 , 1 ))
2214
+ SG_CONTEXT_CMD_ATTEMPTS , 1 ))
2212
2215
return - EIO ;
2213
2216
data [0 ] = t3_read_reg (adapter , A_SG_CONTEXT_DATA0 );
2214
2217
data [1 ] = t3_read_reg (adapter , A_SG_CONTEXT_DATA1 );
0 commit comments