Commit Graph

116 Commits

Author SHA1 Message Date
Guenter Roeck
d9b09ed39a Checkpatch cleanup: Double semicolon, missing space
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-02 07:49:35 -07:00
Guenter Roeck
5e4d82b615 Drop version.h
Some distributions use their own Makefile and thus won't create version.h,
resulting in a build failure. Pass the version as define instead.
That won't help for generating the driver version with those distributions,
but at least the driver will build.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 19:15:58 -07:00
Guenter Roeck
e32b31eae2 Add support for 4th temperature sensor on IT8622
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 16:47:43 -07:00
Guenter Roeck
d198f700b9 Improve AMDTSI temp type detection, and temp 4 type detection on IT8622
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 16:39:31 -07:00
Guenter Roeck
5ddfe6a940 Add SMBus bitmap for IT8622
IT8622 supports two external SMBus channels. Add bitmask to disable them
while accessing the chip.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 15:28:24 -07:00
Guenter Roeck
68a88d99b7 Fix mmio resource request
We have to request a memory resource with IORESOURCE_MEM.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 13:40:18 -07:00
Guenter Roeck
a997a09938 IT8655E supports MMIO
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 13:05:13 -07:00
Guenter Roeck
d86efa30a3 Print MMIO address into kernel log
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 13:02:59 -07:00
Guenter Roeck
57301c6b5d Update README to describe new module parameters
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-10-01 12:52:34 -07:00
Guenter Roeck
851a92d074 Add MMIO support
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-30 23:50:09 -07:00
Guenter Roeck
78afa4ee1a Disable SMBus access while accessing Enviromnental Controller registers
Some chips support Environmental Controller access through SMBus.
On those chips, it is possible that an Embedded Controller accesses
Environmental Controller chip registers at any time. There is no real
means for synchronization. On banked chips, this can and will result in
access errors with unpredictable result.

Disable SMBus access while reading or writing environmental controller
registers to work around the problem.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-30 09:23:47 -07:00
Guenter Roeck
4d29188e4f Fix FAN_TAC5 detection for IT8665E
FAN_TAC5 is connected if 26h[4]=0.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-24 08:10:16 -07:00
Guenter Roeck
32d442e05e Remove version.h when running clean, and clean does not depend on version.h
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-24 04:20:38 -07:00
Guenter Roeck
bde0232c73 Ignore version.h
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-24 04:19:12 -07:00
Guenter Roeck
247605bba6 it87: Display driver version
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-24 04:15:47 -07:00
Guenter Roeck
e7caee4aaf Makefile: Generate version.h
Update version after each change in it87.c.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-24 04:15:20 -07:00
Guenter Roeck
59ea85eb83 Simplify and fix temperature sensor type detection
Temperature sensor types won't change, so we only need to read it once.
Also fix temperature register calculation.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
v1.0
2017-09-21 16:21:28 -07:00
Guenter Roeck
0e859b5743 Always restore previous bank register after reading/writing data
There is some indication that other entities (BIOS ? EC ?) may access
the chip asynchronously. Restore the bank selection after read/write
operations to limit any potenial impact.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-21 15:26:02 -07:00
Guenter Roeck
880d3d6ad7 Improve temperature sensor type detection for IT8686
Introduce two new type values, 7 for 'virtual' and 8 for 'other'.
This will need to be added to the ABI once approved.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-21 15:19:05 -07:00
Guenter Roeck
0e789c5deb Fix reworked temperature mapping
With the reworked temperature mapping it was no longer possible to set
manual mode since the 'automatic' configuration bit was never cleared.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-20 22:33:31 -07:00
Guenter Roeck
15d49c0592 Update README
Add a note on sensors-detect. Remove some obsolete information.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-20 17:27:09 -07:00
Guenter Roeck
93c90ab749 Remove TODO
It is obsolete.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-20 17:20:53 -07:00
Guenter Roeck
74647ea3f4 Try to add support for automatically detected build directories
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-20 15:46:28 -07:00
Guenter Roeck
67f8b470ec Add 'ignore_resource_conflict' error
It appears that some BIOSes reserve ACPI resources without using them,
and acpi_enable_resources=lax seems to result in failures to load
certain drivers.

Introduce a 'ignore_resource_conflict' module parameter as alternate
means to ignore ACPI resource conflicts.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-20 15:19:33 -07:00
Guenter Roeck
e140a1cda3 Makefile: Add support for compressed modules
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-15 08:15:05 -07:00
Guenter Roeck
aeafb7be7c Rework pwm temperature mapping
Various chips have different numbers of valid values for pwm temperature
mapping. Rework the code to take this into account.

No longer keep map as bitmap, but maintain it as number 1..X. Do not try to
define a separate mapping entry for pwm4..6 on chips where the temperature
map for those pwm controls is taken from a different temperature input.
Introduce helpers to convert the control register contents to a map and
vice versa.

Reflect that IT8607 uses the new temperature map in bit 3..5 of the pwm
control register.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-04 08:42:57 -07:00
Guenter Roeck
21b0f8cf1e Update pwm cached control registers before writing pwm enable
If pwmX_enable is written prior to displaying any attributes,
t87_update_pwm_ctrl() is never called, and the cached pwm registers
are never read before written. This results in bad values written
into various registers, and can result in operational failures.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-09-03 14:01:47 -07:00
Yohan Pereira
b9deb7cb41 Create the hwmon folder if it does not exist 2017-08-27 10:18:07 -07:00
Guenter Roeck
c01952b9ca IT8655E and IT8665E both support internal register scaling
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-08-08 06:35:46 -07:00
Guenter Roeck
e7762ac1c0 Force IT8790E and IT8792E into configuration mode
IT8790E and IT8792E need to be in configuration mode to avoid LPC bus errors.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-08-06 15:12:58 -07:00
Guenter Roeck
ce2074226c Drop ACPI mutex code
The observed problems with IT8792E were after all not caused by ACPI
mutex problems, so drop that code for now.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-08-06 14:08:45 -07:00
Guenter Roeck
485178c1ec Fix accesses to IT8792E
If IT8792E or a compatible chip such as IT8795 (which has the same chip ID,
0x8733) resides at SIO address 0x4e/0x4f, and another Super-IO chip is at
SIO address 0x2e/0x2f, the IT8792E causes a cycle decode problem when exiting
its configuration mode. This can result in access errors for both chips, and
may result in system hangs.

Never exit configuration mode for IT8792E to avoid the problem.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-08-05 12:54:37 -07:00
Enigma
eba2fabe6f README missing necessary build instructions
README missing necessary build instructions
2017-08-05 12:39:27 -07:00
Guenter Roeck
beecac84d9 IT8607 does not support the 1st fan, only fan2-3
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-07-23 07:29:38 -07:00
Guenter Roeck
0459e7fb72 Drop FEAT_TEMP_OFFSET
Since we now count the number of temperature offset registers directly,
there is no need for the temperature offset feature flag anymore.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-06-07 17:19:15 -07:00
Guenter Roeck
f9a7bd87c2 Add support for 6 temperature limit registers on IT8628E
IT8628E has 6 temperature limit registers, overlayed with VIN7..VIN9
limit registers, but only 3 temperature offset registers. Given that,
introduce separate variables for the number of temperature limit
registers and the number of temperature offset registers.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-06-07 17:15:04 -07:00
Guenter Roeck
2e1b3d02b3 Declare dummy vid functions if needed
Some kernel configurations may have CONFIG_HWMON_VID disabled.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-05-24 06:02:47 -07:00
Guenter Roeck
ab6262dbaa Provide blacklist module parameter to override blacklist.
Load module with blacklist=0 to override blacklist.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-05-23 06:05:29 -07:00
Guenter Roeck
80e1901056 Mark 2nd Super-IO chip on AB350M-D3H as broken
Configuration register access of the second Super-IO chip on AB350M-D3H
is just as broken as the others and can result in the known system hang-up.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-05-15 21:15:55 -07:00
Guenter Roeck
62042c9705 Merge pull request #27 from jmaggard10/master
Fix up support for IT8625E
2017-05-11 13:57:52 -07:00
Justin Maggard
a0037eceb2 Fix up support for IT8625E
Add missing scaling feature and fix broken temp type detection on temp
1-3 sensors.
2017-05-11 13:39:42 -07:00
Justin Maggard
1ae160bdac Add support for IT8625E
This is mostly identical to IT8665E, with the exception of the
configuration bits for fans 4 and 5.

Signed-off-by: Justin Maggard <jmaggard@netgear.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-05-02 14:10:15 -07:00
Guenter Roeck
0641683676 Fix whitespace issues
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-26 21:48:56 -07:00
Guenter Roeck
dc13e2af51 Initialize register pointers before using them
Register pointers have to be initialized before they can be used in
it87_check_pwm().

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-26 14:28:27 -07:00
koji54
274e450b8a Add Gigabyte AX370-Gaming 5 to IT8792E blacklist
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-23 08:29:41 -07:00
Guenter Roeck
81f5383779 Introduce FEAT_NEW_TEMPMAP
Several recent chips have a different register definition for
temperature to pwm assignment. Introduce FEAT_NEW_TEMPMAP to reflect
this and assign to affected chips.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 21:57:08 -07:00
Guenter Roeck
577e315aef Fix up support for IT8613E
Feature detection and pwm temperature mapping differs from other chips.
Also disable pwm1, fan1, vin3, and vin6.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 20:40:05 -07:00
andreychernyshev
13a3394e95 Add support for IT8613E
[groeck: Fix README]

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 20:23:47 -07:00
Guenter Roeck
4d9b49a4df Blacklist IT8792E on AX370-Gaming K7
Accessing it may result in a system hang.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 14:49:22 -07:00
Guenter Roeck
c242e32088 Disable access to 2nd Super-IO chip
It is known to be broken.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-04-18 10:12:52 -07:00