Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ef98989 authored by Jareer Abdel-Qader's avatar Jareer Abdel-Qader Committed by Greg Kroah-Hartman
Browse files

staging/rdma/hfi1: Disable thermal polling before sensor initialization



During driver load the thermal sensor needs to be reset prior
to initialization of the sensor. This prevents a possible sensor lock
up which can cause the wrong temperature value to be reported.
This fix leads to remove disabling thermal polling from
reset_asic_csrs() function.

Reviewed by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed by: Easwar Hariharan <easwar.hariharan@intel.com>
Signed-off-by: default avatarJareer Abdel-Qader <jareer.h.abdel-qader@intel.com>
Signed-off-by: default avatarIra Weiny <ira.weiny@intel.com>
Signed-off-by: default avatarJubin John <jubin.john@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 65fcf557
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -9449,7 +9449,7 @@ static void reset_asic_csrs(struct hfi1_devdata *dd)
	/* We might want to retain this state across FLR if we ever use it */
	write_csr(dd, ASIC_CFG_DRV_STR, 0);

	write_csr(dd, ASIC_CFG_THERM_POLL_EN, 0);
	/* ASIC_CFG_THERM_POLL_EN leave alone */
	/* ASIC_STS_THERM read-only */
	/* ASIC_CFG_RESET leave alone */

@@ -10794,7 +10794,9 @@ static int thermal_init(struct hfi1_devdata *dd)

	acquire_hw_mutex(dd);
	dd_dev_info(dd, "Initializing thermal sensor\n");

	/* Disable polling of thermal readings */
	write_csr(dd, ASIC_CFG_THERM_POLL_EN, 0x0);
	msleep(100);
	/* Thermal Sensor Initialization */
	/*    Step 1: Reset the Thermal SBus Receiver */
	ret = sbus_request_slow(dd, SBUS_THERMAL, 0x0,