i40e: workaround NVM GLQF_HKEY
The NVM wasn't filling in the GLQF_HKEY register on some old NVM versions. If this is the case, fill in some values so receive with flow rules works right. Change-ID: Ic737888ee68f96efb4cf8a1a49d2301615e09ed2 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
Родитель
4c33f83a02
Коммит
407e063c92
|
@ -5463,6 +5463,20 @@ static void i40e_fdir_sb_setup(struct i40e_pf *pf)
|
|||
struct i40e_vsi *vsi;
|
||||
int i;
|
||||
|
||||
/* quick workaround for an NVM issue that leaves a critical register
|
||||
* uninitialized
|
||||
*/
|
||||
if (!rd32(&pf->hw, I40E_GLQF_HKEY(0))) {
|
||||
static const u32 hkey[] = {
|
||||
0xe640d33f, 0xcdfe98ab, 0x73fa7161, 0x0d7a7d36,
|
||||
0xeacb7d61, 0xaa4f05b6, 0x9c5c89ed, 0xfc425ddb,
|
||||
0xa4654832, 0xfc7461d4, 0x8f827619, 0xf5c63c21,
|
||||
0x95b3a76d};
|
||||
|
||||
for (i = 0; i <= I40E_GLQF_HKEY_MAX_INDEX; i++)
|
||||
wr32(&pf->hw, I40E_GLQF_HKEY(i), hkey[i]);
|
||||
}
|
||||
|
||||
if (!(pf->flags & I40E_FLAG_FD_SB_ENABLED))
|
||||
return;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче