Messages in this thread | | | From | Serge Semin <> | Subject | [PATCH v2 0/4] ntb: idt: Add hwmon temperature sensor interface | Date | Tue, 17 Jul 2018 12:24:33 +0300 |
| |
IDT PCIe-switches are equipped with an embedded temperature sensor. It works within the range [0; 127.5]C with a resolution of 0.5C. It can be used to monitor the chip core temperature so to have prevent it from possible overheating. It might be very topical for the chip, since it gets heated like in hell especially if ASPM isn't enabled.
Other than the current sampled temperatur, the sensor interface exposes history registors with lowest and highest measured temperature, thresholds and alarm IRQs enabled/disable bits, ADC/filter settings. The device manual states that the switch is able to generate a msi interrupt on PCIe upstreams if the temperature crosses one of three configurable thresholds. But in practice we discovered that the enable/disable threshold IRQs bits interface is very broken (see the third patch commit message), so it can't be used to create the hwmon alarm interface. As the result we had to remove the already available temperature sensor IRQ handler and disable the corresponding interrupt.
Current version of the driver provides following standard hwmon sysfs files: temperature input, lowest and highest measured temperature with possibility to reset the history, temperature offset. The rest of the nodes can't be safely implemented for the chip due to the described issues.
Changelog v2: - Add "select HWMON" to the NTB_IDT kconfig
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Serge Semin (4): ntb: idt: Alter temperature read method ntb: idt: Add basic hwmon sysfs interface ntb: idt: Discard temperature sensor IRQ handler ntb: idt: Alter the driver info comments
drivers/ntb/hw/idt/Kconfig | 4 +- drivers/ntb/hw/idt/ntb_hw_idt.c | 317 ++++++++++++++++++++++++++++++++++------ drivers/ntb/hw/idt/ntb_hw_idt.h | 87 ++++++++++- 3 files changed, 353 insertions(+), 55 deletions(-)
-- 2.12.0
| |