diff options
author | Frank Crawford <frank@crawford.emu.id.au> | 2024-04-28 16:06:35 +1000 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2024-04-30 10:32:14 -0700 |
commit | e58095cfc55692e4da4a5e87322e09a9b75186e0 (patch) | |
tree | ae8fce4fa0a805acbfecd60d0356a96713fc4e85 /drivers/hwmon/scmi-hwmon.c | |
parent | e2e6a23f4bda2de9c7096aa9c310bc3400187e90 (diff) |
hwmon: (it87) Test for chipset before entering configuration mode
Major part of the change for the new method to avoid chipset issues.
The actual update does the following:
1) Lock the memory, but does not perform a SIO entry (previously it
would have performed an SIO entry).
2) Attempt to read the chipID. This should be safe no matter which
chip we have.
3) If step (2) fails, then perform SIO entry and retry chipID read. For
older chips and on failure it acts similarly to prior to this patch.
4) Set the sio_data->type, similar to previously.
5) If we have not performed an SIO entry, and this is not a chip type
with the NOCONF feature, then it will perform an SIO entry at this
point.
6) Proceed with setup as prior to this patch.
7) Any following access to the SIO registers will invoke the SIO entry
and SIO exit steps unless it is a chip with the NOCONF feature set.
This was set up in the previous patches in this patchset.
8) Update to the exit based on if it had performed a SIO entry or not.
Signed-off-by: Frank Crawford <frank@crawford.emu.id.au>
Link: https://lore.kernel.org/r/20240428060653.2425296-4-frank@crawford.emu.id.au
[groeck: s/intialised/initialized/]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/scmi-hwmon.c')
0 files changed, 0 insertions, 0 deletions