cxgbe(4): Disable write-combined doorbells by default.

This had been the default behavior but was changed accidentally as part
of the recent iw_cxgbe+OFED overhaul.  Fix another bug in that change
while here: the global knob affects all the adapters in the system and
should be left alone by per-adapter code.

MFC after:	3 days
Sponsored by:	Chelsio Communications
This commit is contained in:
Navdeep Parhar 2018-05-10 06:33:54 +00:00
parent b4a0a59871
commit f7a203bc21
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=333448

View File

@ -455,7 +455,7 @@ TUNABLE_INT("hw.cxgbe.iscsicaps_allowed", &t4_iscsicaps_allowed);
static int t4_fcoecaps_allowed = 0;
TUNABLE_INT("hw.cxgbe.fcoecaps_allowed", &t4_fcoecaps_allowed);
static int t5_write_combine = 1;
static int t5_write_combine = 0;
TUNABLE_INT("hw.cxl.write_combine", &t5_write_combine);
static int t4_num_vis = 1;
@ -2292,7 +2292,6 @@ t4_map_bar_2(struct adapter *sc)
setbit(&sc->doorbells, DOORBELL_WCWR);
setbit(&sc->doorbells, DOORBELL_UDBWC);
} else {
t5_write_combine = 0;
device_printf(sc->dev,
"couldn't enable write combining: %d\n",
rc);
@ -2302,11 +2301,9 @@ t4_map_bar_2(struct adapter *sc)
t4_write_reg(sc, A_SGE_STAT_CFG,
V_STATSOURCE_T5(7) | mode);
}
#else
t5_write_combine = 0;
#endif
sc->iwt.wc_en = t5_write_combine;
}
sc->iwt.wc_en = isset(&sc->doorbells, DOORBELL_UDBWC) ? 1 : 0;
return (0);
}