Commit Graph

1182511 Commits

Author SHA1 Message Date
Denis Pauk
c05403e64d hwmon: (nct6775) Fix ROG B550-XE WIFI and Pro B660M-C D4 names
ROG STRIX B550-XE GAMING WIFI motherboard is incorrectly named as
ROG STRIX B550-XE GAMING (WI-FI).

Pro B660M-C D4 motherboard is incorrectly named as
Pro B660M-C-D4.

Validated by dmidecode output from https://github.com/linuxhw/DMI/

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230323212751.2474-2-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Denis Pauk
0282592678 hwmon: (nct6775) Sort ASUS board list
Rearrange board list in alphabetical order by: LC_ALL=C sort -u

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230323212751.2474-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Tom Rix
8ea57c51e5 hwmon: remove unused superio_outb function
clang with W=1 reports
drivers/hwmon/vt1211.c:198:20: error: unused function
  'superio_outb' [-Werror,-Wunused-function]
static inline void superio_outb(int sio_cip, int reg, int val)
                   ^
This function is not used so remove it.

Signed-off-by: Tom Rix <trix@redhat.com>
Acked-by: Juerg Haefliger <juergh@proton.me>
Link: https://lore.kernel.org/r/20230323211535.2637939-1-trix@redhat.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Lorenz Brun
a7da8a8bf1 hwmon: (pwm-fan) set usage_power on PWM state
PWM fans are controlled solely by the duty cycle of the PWM signal, they
do not care about the exact timing. Thus set usage_power to true to
allow less flexible hardware to work as a PWM source for fan control.

Signed-off-by: Lorenz Brun <lorenz@brun.one>
Link: https://lore.kernel.org/r/20230309011009.2109696-1-lorenz@brun.one
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Frank Crawford
dedbe4c149 hwmon: (it87) Use voltage scaling macro where appropriate
Apply scaling macro to match the labels for internal voltage sensors.

Signed-off-by: Frank Crawford <frank@crawford.emu.id.au>
Link: https://lore.kernel.org/r/20230318080543.1226700-3-frank@crawford.emu.id.au
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Denis Pauk
bcd2fbec8a hwmon: (nct6775) update ASUS WMI monitoring list A520/B360/B460/B550...
Boards such as
* EX-B660M-V5 D4,
* PRIME A520M-A,
* PRIME A520M-A II,
* PRIME A520M-E,
* PRIME A520M-K,
* PRIME B360M-A,
* PRIME B360M-C,
* PRIME B460M-A R2.0,
* PRIME B550M-A AC,
* PRIME B550M-A WIFI II,
* PRIME B550M-K,
* PRIME B650M-A AX II,
* PRIME Z590-P WIFI,
* PRIME Z590-V,
* Pro A520M-C,
* ProArt B650-CREATOR,
* ProArt Z790-CREATOR WIFI,
* Pro B660M-C,
* Pro WS W680-ACE,
* Pro WS W680-ACE IPMI,
* ROG MAXIMUS XIII APEX,
* ROG MAXIMUS XIII EXTREME,
* ROG MAXIMUS XIII HERO,
* ROG MAXIMUS Z690 APEX,
* ROG MAXIMUS Z790 EXTREME,
* ROG STRIX B660-A GAMING WIFI,
* ROG STRIX Z590-A GAMING WIFI,
* ROG STRIX Z590-E GAMING WIFI,
* ROG STRIX Z590-F GAMING WIFI,
* ROG STRIX Z590-I GAMING WIFI,
* TUF GAMING A520M-PLUS,
* TUF GAMING A520M-PLUS II,
* TUF GAMING A520M-PLUS WIFI,
* TUF GAMING B660M-E D4,
* TUF GAMING B660-PLUS WIFI D4,
* TUF GAMING X570-PLUS_BR,
* TUF GAMING Z590-PLUS,
* Z490-GUNDAM (WI-FI),
* Z590 WIFI GUNDAM EDITION
have got a nct6775 chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the WMI monitoring list.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Tested-by: Nick Owens <mischief@offblast.org>
Tested-by: A. M. <de99like@mennucci.debian.net>
Link: https://lore.kernel.org/r/20230315225128.1236-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Denis Pauk
23e8a379cf hwmon: (nct6775) Fix TUF GAMING B550M-E WIFI name
TUF GAMING B550M-E WIFI motherboard is incorrectly named as
TUF GAMING B550M-E (WI-FI).

Validated by dmidecode output from https://github.com/linuxhw/DMI/

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230315210135.2155-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Holger Kiehl
ea00552690 hwmon: (nct6775) add Asus Pro A520M-C II/CSM
An NCT6798D chip is now detected:

   dmesg|grep nct6775
   [   23.765392] nct6775: Found NCT6798D or compatible chip at 0x2e:0x290

And sensors now shows:

   nct6798-isa-0290
   Adapter: ISA adapter
   in0:                      312.00 mV (min =  +0.00 V, max =  +1.74 V)
   in1:                        1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in2:                        3.42 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in3:                        3.38 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in4:                        1.03 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in5:                        1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in6:                      200.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
   in7:                        3.42 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in8:                        3.28 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in9:                      920.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
   in10:                     512.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
   in11:                     504.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
   in12:                       1.03 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   in13:                     256.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
   in14:                       1.47 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
   fan1:                        0 RPM  (min =    0 RPM)
   fan2:                        0 RPM  (min =    0 RPM)
   fan3:                      355 RPM  (min =    0 RPM)
   fan7:                        0 RPM  (min =    0 RPM)
   SYSTIN:                    +25.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
   CPUTIN:                    +26.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
   AUXTIN0:                   +97.0°C    sensor = thermistor
   AUXTIN1:                   +25.0°C    sensor = thermistor
   AUXTIN2:                   +25.0°C    sensor = thermistor
   AUXTIN3:                    +1.0°C    sensor = thermistor
   PECI Agent 0 Calibration:  +26.0°C
   PCH_CHIP_CPU_MAX_TEMP:      +0.0°C
   PCH_CHIP_TEMP:              +0.0°C
   PCH_CPU_TEMP:               +0.0°C
   TSI0_TEMP:                 +27.9°C
   intrusion0:               ALARM
   intrusion1:               OK
   beep_enable:              disabled

Signed-off-by: Holger Kiehl <holger.kiehl@dwd.de>
Tested-by: Holger Kiehl <holger.kiehl@dwd.de>

Link: https://lore.kernel.org/r/868bdc4f-9d45-475c-963e-f5232a8b95@praktifix.dwd.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Guenter Roeck
aededf875a Documentation/hwmon: Remove description of deprecated registration functions
Remove description of deprecated registration functions from the hardware
monitoring kernel API documentation to help ensure that no attempts are
made to use them in new drivers.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:33 -07:00
Stefan Wahren
9fadbda6d1 docs: hwmon: sysfs-interface: Fix stray colon
The commit 036d6a4e75 ("ABI: sysfs-class-hwmon: add ABI documentation
for it") moved all ABI attributes to the usual ABI documentation. But this
change left a stray colon for the fan speed control method. Fix this
to avoid a confusion of readers.

Fixes: 036d6a4e75 ("ABI: sysfs-class-hwmon: add ABI documentation for it")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/20230312155714.17290-1-stefan.wahren@i2se.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Patrick Rudolph
f469bde9af hwmon: (pmbus/core) Notify hwmon events
Notify hwmon events using the pmbus irq handler.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Link: https://lore.kernel.org/r/20230301164434.1928237-4-Naresh.Solanki@9elements.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Patrick Rudolph
221819ca4c hwmon: (pmbus/core) Add interrupt support
Implement PMBUS irq handler.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Link: https://lore.kernel.org/r/20230301164434.1928237-3-Naresh.Solanki@9elements.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Naresh Solanki
df5f6b6af0 hwmon: (pmbus/core) Generalise pmbus get status
Add function pmbus get status that can be used to get both pmbus
specific status & regulator status

Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
...
Change in V4
- None
Changes in V3:
- Add pmbus_is_enabled function
Changes in V2:
- Add __maybe attribute for pmbus_get_status function
- Remove unrelated changes
Link: https://lore.kernel.org/r/20230301164434.1928237-2-Naresh.Solanki@9elements.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Naresh Solanki
7ab0da3a77 hwmon: (pmbus/core) Generalize pmbus status flag map
The PMBus status flag map(pmbus_regulator_status_flag_map) is moved
outside of the regulator #if block and the associated variable/struct
name updated to reflect as generic PMBus status.

This will make the PMBus status flag map more versatile and easier to
incorporate into different contexts and functions.

Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20230301164434.1928237-1-Naresh.Solanki@9elements.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Leonard Anderweit
bd1e92f997 hwmon: (aquacomputer_d5next) Add fan PWM control for Aquaero
Add the option to control fan PWM on Aquacomputer Aquaero. The Aquaero is
the most complex Aquacomputer device, control is therefore more complicated
then on already supported devices.
Setting PWM requires multiple steps. First, an internal static PWM
controller is set to the desired PWM value. Second, the fan is set to use
that PWM controller. Last, the minimum and maximum accepted PWM values
of the fan are set to allow all possible PWM values.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://lore.kernel.org/r/20230214220221.15003-7-leonard.anderweit@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Leonard Anderweit
866e630a3b hwmon: (aquacomputer_d5next) Add temperature offset control for Aquaero
Adds control over the Aquacomputer Aquaero temperature offset for all eight
temperature sensors.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://lore.kernel.org/r/20230214220221.15003-6-leonard.anderweit@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Leonard Anderweit
6c83ccb10c hwmon: (aquacomputer_d5next) Add infrastructure for Aquaero control reports
Add information on the Aquacomputer Aquaero control report and disable the
control report checksum for Aquaero. The Aquaero does not use the checksum
so it must be disabled to avoid overwriting the last two bytes of the
control report.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://lore.kernel.org/r/20230214220221.15003-5-leonard.anderweit@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Leonard Anderweit
b29090bac9 hwmon: (aquacomputer_d5next) Device dependent control report settings
Add device dependent control report id, secondary control report id,
secondary control report size and secondary control report for devices
which need different control report settings. All currently supported
devices use the same values.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://lore.kernel.org/r/20230214220221.15003-4-leonard.anderweit@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Leonard Anderweit
4d09d155a5 hwmon: (aquacomputer_d5next) Support writing multiple control values at once
Add new function aqc_set_ctrl_vals() to support changing multiple control
values at once while sending only one control report.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://lore.kernel.org/r/20230214220221.15003-3-leonard.anderweit@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:32 -07:00
Leonard Anderweit
d0450fc1e3 hwmon: (aquacomputer_d5next) Support one byte control values
Add support for one byte control values. This extends aqc_set_ctrl_val()
and aqc_get_ctrl_val() with a type. Currently supported types are AQC_8
(one byte) and AQC_BE16 (two bytes big endian). More types will be added
in the future.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
Link: https://lore.kernel.org/r/20230214220221.15003-2-leonard.anderweit@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Erik Ekman
90b86248d3 hwmon: (nct6775) ASUS PRIME Z590 boards support
Tested on Z590M-PLUS.

dmesg log:
nct6775: Found NCT6798D or compatible chip at 0x2e:0x290

sensors output:
nct6798-isa-0290
Adapter: ISA adapter
in0:                      672.00 mV (min =  +0.00 V, max =  +1.74 V)
in1:                      1000.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in2:                        3.38 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in3:                        3.28 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                        1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                      808.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                      1000.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in7:                        3.38 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in8:                        3.20 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                      528.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                     672.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                     528.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in12:                       1.21 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                     992.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                       1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                      971 RPM  (min =    0 RPM)
fan2:                     1525 RPM  (min =    0 RPM)
fan3:                        0 RPM  (min =    0 RPM)
fan4:                     1094 RPM  (min =    0 RPM)
fan5:                        0 RPM  (min =    0 RPM)
fan6:                        0 RPM  (min =    0 RPM)
fan7:                        0 RPM  (min =    0 RPM)
SYSTIN:                    +36.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
CPUTIN:                    +40.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
AUXTIN0:                   +26.0°C    sensor = thermistor
AUXTIN1:                    +8.0°C    sensor = thermistor
AUXTIN2:                   +22.0°C    sensor = thermistor
AUXTIN3:                   +25.0°C    sensor = thermistor
PECI Agent 0 Calibration:  +40.0°C
PCH_CHIP_CPU_MAX_TEMP:      +0.0°C
PCH_CHIP_TEMP:             +55.0°C
PCH_CPU_TEMP:               +0.0°C
intrusion0:               OK
intrusion1:               ALARM
beep_enable:              disabled

Signed-off-by: Erik Ekman <erik@kryo.se>
Link: https://lore.kernel.org/r/20230227090312.91091-1-erik@kryo.se
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Kang Chen
92e58a87a2 hwmon: (g762) add a check of devm_add_action in g762_of_clock_enable
devm_add_action may fails, check it and do the cleanup.

Signed-off-by: Kang Chen <void0red@gmail.com>
Link: https://lore.kernel.org/r/20230227030913.893004-1-void0red@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Kang Chen
dbfeafdad3 hwmon: (nzxt-smart2) handle failure of devm_add_action in nzxt_smart2_hid_probe
1. replace the devm_add_action with devm_add_action_or_reset to ensure
the mutex lock can be destroyed when it fails.
2. use local wrapper function mutex_fini instead of mutex_destroy to
avoid undefined behaviours.
3. add a check of devm_add_action_or_reset and return early when it fails.

Link: https://lore.kernel.org/all/f5043281-9b3e-e454-16fe-ef4cde36dfdb@roeck-us.net
Signed-off-by: Kang Chen <void0red@gmail.com>
Link: https://lore.kernel.org/r/20230227091534.907101-1-void0red@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Armin Wolf
37ef30fbf2 hwmon: (ftsteutates) Update specifications website
The Fujitsu OEM Mainboard business was acquired by Kontron,
so the specifications of the Teutates chip was transferred to
the new Kontron FTP server.

Update the specifications website accordingly. The outdated
sensors how-to was omitted.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20230226014830.10929-1-W_Armin@gmx.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Rob Herring
914b2fd2cd hwmon: (ibmpowernv, pwm-fan) Use of_property_present() for testing DT property presence
It is preferred to use typed property access functions (i.e.
of_property_read_<type> functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230310144706.1542434-1-robh@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Rob Herring
50c3480b6d hwmon: (ltc4245) Use of_property_read_bool() for boolean properties
It is preferred to use typed property access functions (i.e.
of_property_read_<type> functions) rather than low-level
of_get_property/of_find_property functions for reading properties.
Convert reading boolean properties to of_property_read_bool().

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230310144707.1542525-1-robh@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Andy Shevchenko
08d40c1d57 hwmon: (nct6775) Drop unneeded casting and conjunction
The 64-bit result will be cut to 32-bit automatically (by compiler)
due to the type of the destination value. No need to have an explicit
casting and especially additional conjunction which does the same.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230217191600.24837-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Aleksandr Mezin
4a148e9b1e hwmon: (nzxt-smart2) add another USB ID
This seems to be a new revision of the device. RGB controls have changed,
but this driver doesn't touch them anyway.

Fan speed control reported to be working with existing userspace (hidraw)
software, so I assume it's compatible. Fan channel count is the same.

Recently added (0x1e71, 0x2019) seems to be the same device.

Discovered in liquidctl project:

https://github.com/liquidctl/liquidctl/issues/541

Signed-off-by: Aleksandr Mezin <mezin.alexander@gmail.com>
Link: https://lore.kernel.org/r/20230219105924.333007-1-mezin.alexander@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Krzysztof Kozlowski
8107fe9389 hwmon: (gpio-fan) drop of_match_ptr for ID table
The driver can match only via the DT table so the table should be always
used and the of_match_ptr does not have any sense (this also allows ACPI
matching via PRP0001, even though it might not be relevant here).  This
also fixes !CONFIG_OF error:

  drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]

Note(groeck): The build error is only seen if Kconfig dependencies
are messed up. The driver depends on OF_GPIO which should depend
on OF. This was temporarily broken in linux-next, and it was
possible to select CONFIG_OF=n and CONFIG_SENSORS_GPIO_FAN=y.
Nevertheless, this is a sensible fix.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230312193723.478032-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:08:31 -07:00
Guenter Roeck
629f57a7d5 Merge branch 'hwmon-const' into HEAD 2023-04-19 07:08:24 -07:00
Babu Moger
0c07238534 hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write
Spec says, when CUR_TEMP_TJ_SEL == 3 and CUR_TEMP_RANGE_SEL == 0,
it should use RangeUnadjusted is 0, which is (CurTmp*0.125 -49) C. The
CUR_TEMP register is read-write when CUR_TEMP_TJ_SEL == 3 (bit 17-16).

Add the check to detect it.

Sensors command's output before the patch.
$sensors
 k10temp-pci-00c3
 Adapter: PCI adapter
 Tctl:         +76.6°C <- Wrong value
 Tccd1:        +26.5°C
 Tccd2:        +27.5°C
 Tccd3:        +27.2°C
 Tccd4:        +27.5°C
 Tccd5:        +26.0°C
 Tccd6:        +26.2°C
 Tccd7:        +25.0°C
 Tccd8:        +26.5°C

Sensors command's output after the patch.
$sensors
 k10temp-pci-00c3
 Adapter: PCI adapter
 Tctl:         +28.8°C <- corrected value
 Tccd1:        +27.5°C
 Tccd2:        +28.5°C
 Tccd3:        +28.5°C
 Tccd4:        +28.5°C
 Tccd5:        +27.0°C
 Tccd6:        +27.5°C
 Tccd7:        +27.0°C
 Tccd8:        +27.5°C

Signed-off-by: Babu Moger <babu.moger@amd.com>
Fixes: 1b59788979 ("hwmon: (k10temp) Add temperature offset for Ryzen 2700X")
Link: https://lore.kernel.org/r/20230413213958.847634-1-babu.moger@amd.com
Cc: stable@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-04-19 07:06:38 -07:00
John Paul Adrian Glaubitz
80f746e2bd sh: sq: Fix incorrect element size for allocating bitmap buffer
The Store Queue code allocates a bitmap buffer with the size of
multiple of sizeof(long) in sq_api_init(). While the buffer size
is calculated correctly, the code uses the wrong element size to
allocate the buffer which results in the allocated bitmap buffer
being too small.

Fix this by allocating the buffer with kcalloc() with element size
sizeof(long) instead of kzalloc() whose elements size defaults to
sizeof(char).

Fixes: d7c30c682a ("sh: Store Queue API rework.")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Link: https://lore.kernel.org/r/20230419114854.528677-1-glaubitz@physik.fu-berlin.de
2023-04-19 15:55:30 +02:00
Greg Kroah-Hartman
a7b3a470fd Merge tag 'cacheinfo-updates-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into driver-core-next
Sudeep writes:

cacheinfo and arch_topology updates for v6.4

The cache information can be extracted from either a Device Tree(DT),
the PPTT ACPI table, or arch registers (clidr_el1 for arm64).

When the DT is used but no cache properties are advertised, the current
code doesn't correctly fallback to using arch information. The changes
fixes the same and also assuse the that L1 data/instruction caches
are private and L2/higher caches are shared when the cache information
is missing in DT/ACPI and is derived form clidr_el1/arch registers.

Currently the cacheinfo is built from the primary CPU prior to secondary
CPUs boot, if the DT/ACPI description contains cache information.
However, if not present, it still reverts to the old behavior, which
allocates the cacheinfo memory on each secondary CPUs which causes
RT kernels to triggers a "BUG: sleeping function called from invalid
context".

The changes here attempts to enable automatic detection for RT kernels
when no DT/ACPI cache information is available, by pre-allocating
cacheinfo memory on the primary CPU.

* tag 'cacheinfo-updates-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  cacheinfo: Add use_arch[|_cache]_info field/function
  arch_topology: Remove early cacheinfo error message if -ENOENT
  cacheinfo: Check cache properties are present in DT
  cacheinfo: Check sib_leaf in cache_leaves_are_shared()
  cacheinfo: Allow early level detection when DT/ACPI info is missing/broken
  cacheinfo: Add arm64 early level initializer implementation
  cacheinfo: Add arch specific early level initializer
2023-04-19 15:09:40 +02:00
Alain Volmat
0989ffb31c irqchip/st: Remove stih415/stih416 and stid127 platforms support
Remove support for the already no more supported stih415 and stih416
platforms.  Remove as well the stid127 platform which never made it
up to the kernel.

Signed-off-by: Alain Volmat <avolmat@me.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230416190501.18737-1-avolmat@me.com
2023-04-19 14:08:52 +01:00
Greg Kroah-Hartman
12124d1672 Merge tag 'coresight-next-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux into char-misc-next
Suzuki writes:

coresight: Updates for v6.4

This is a relatively smaller update for CoreSight tracing subsystem targeting
v6.4, with the following changes:

  - Removing Mathieu Poirier as MAINTAINER for the subsystem, with updates to
    CREDITS for his contributions.
  - Fix CoreSight ETM PMU to set the module field

Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

* tag 'coresight-next-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux:
  coresight: etm_pmu: Set the module field
  MAINTAINERS: Remove Mathieu Poirier as coresight maintainer
2023-04-19 15:08:11 +02:00
Greg Kroah-Hartman
3fcf52b711 Merge tag 'icc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next
Georgi writes:

interconnect changes for 6.4

This pull request contains the interconnect changes for the 6.4-rc1 merge
window, which this time are mostly cleanups.

Core changes:
  interconnect: Skip call into provider if initial bw is zero
  interconnect: Use of_property_present() for testing DT property presence
  interconnect: drop racy registration API
  interconnect: drop unused icc_link_destroy() interface

Driver changes:
  interconnect: qcom: Drop obsolete dependency on COMPILE_TEST
  interconnect: qcom: drop obsolete OSM_L3/EPSS defines
  interconnect: qcom: osm-l3: drop unuserd header inclusion
  interconnect: qcom: rpm: drop bogus pm domain attach
  interconnect: qcom: rpm: make QoS INVALID default
  interconnect: qcom: rpm: Add support for specifying channel num
  interconnect: qcom: Sort kerneldoc entries
  dt-bindings: interconnect: OSM L3: Add SM6375 CPUCP compatible
  dt-bindings: interconnect: qcom,msm8998-bwmon: Resolve MSM8998 support

Signed-off-by: Georgi Djakov <djakov@kernel.org>

* tag 'icc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  dt-bindings: interconnect: qcom,msm8998-bwmon: Resolve MSM8998 support
  dt-bindings: interconnect: OSM L3: Add SM6375 CPUCP compatible
  interconnect: qcom: Sort kerneldoc entries
  interconnect: qcom: rpm: Add support for specifying channel num
  interconnect: qcom: rpm: make QoS INVALID default
  interconnect: qcom: rpm: drop bogus pm domain attach
  interconnect: drop unused icc_link_destroy() interface
  interconnect: drop racy registration API
  interconnect: Use of_property_present() for testing DT property presence
  interconnect: qcom: osm-l3: drop unuserd header inclusion
  interconnect: qcom: drop obsolete OSM_L3/EPSS defines
  interconnect: Skip call into provider if initial bw is zero
  interconnect: qcom: Drop obsolete dependency on COMPILE_TEST
2023-04-19 15:07:09 +02:00
Greg Kroah-Hartman
2a1dd5c88c Merge tag 'mhi-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next
Manivannan writes:

MHI Host
========

Core
----

- Removed the "mhi_poll()" API as there are no in-kernel users available at the
  moment.

- Added range check for the CHDBOFF and ERDBOFF registers in case the device
  reports bad values.

- Fixed the errno for the rest of the range checks to use -ERANGE.

- Modified the event ring handlers to ring the doorbell only if there are
  any pending elements in the ring to process for the device.

- Removed the check for EE (Execution Environment) while processing the SYS_ERR
  transition as it creates device recovery issues when SBL (Secondary
  Bootloader) crashes early.

- Used mhi_tryset_pm_state() API to set the error state instead of open coding
  if the firmware loading fails. This avoids the race with other pm_state
  updates.

pci_generic
-----------

- Dropped the dedundant pci_{enable/disable}_pcie_error_reporting() calls from
  driver probe's error path as the PCI core itself takes care of that now.

- Revered the commit 2d5253a096 ("bus: mhi: host: pci_generic: Add a secondary
  AT port to Telit FN990") as it turned out to be erroneous. This happened due
  to the patch adding secondary AT port for FN990 getting applied through NET
  and MHI trees and this caused two commits for the same functionality but one
  of them ended up wrong.

- Added support for Foxconn T99W510 modem based on SDX24 chipset from Qualcomm.

MHI Endpoint
============

- Demoted the channel not supported error log to debug as not all devices will
  support all channels defined in MHI spec and this may spam users.

* tag 'mhi-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi:
  bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state
  bus: mhi: host: Remove duplicate ee check for syserr
  bus: mhi: host: Avoid ringing EV DB if there are no elements to process
  bus: mhi: pci_generic: Add Foxconn T99W510
  bus: mhi: host: Use ERANGE for BHIOFF/BHIEOFF range check
  bus: mhi: host: Range check CHDBOFF and ERDBOFF
  bus: mhi: host: pci_generic: Revert "Add a secondary AT port to Telit FN990"
  bus: mhi: host: pci_generic: Drop redundant pci_enable_pcie_error_reporting()
  bus: mhi: ep: Demote unsupported channel error log to debug
  bus: mhi: host: Remove mhi_poll() API
2023-04-19 15:06:11 +02:00
Christophe JAILLET
574399f4c9 ASoC: fsl: Simplify an error message
dev_err_probe() already display the error code. There is no need to
duplicate it explicitly in the error message.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Link: https://lore.kernel.org/r/c167c16a535049d56f817bbede9c9f6f0a0f4c68.1681626553.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-04-19 13:43:02 +01:00
Li Lanzhe
359f5b0d4e spi: spi-rockchip: Fix missing unwind goto in rockchip_sfc_probe()
If devm_request_irq() fails, then we are directly return 'ret' without
clk_disable_unprepare(sfc->clk) and clk_disable_unprepare(sfc->hclk).

Fix this by changing direct return to a goto 'err_irq'.

Fixes: 0b89fc0a36 ("spi: rockchip-sfc: add rockchip serial flash controller")
Signed-off-by: Li Lanzhe <u202212060@hust.edu.cn>
Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
Link: https://lore.kernel.org/r/20230419115030.6029-1-u202212060@hust.edu.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-04-19 13:42:59 +01:00
Nikita Zhandarovich
86a24e99c9 ASoC: fsl_asrc_dma: fix potential null-ptr-deref
dma_request_slave_channel() may return NULL which will lead to
NULL pointer dereference error in 'tmp_chan->private'.

Correct this behaviour by, first, switching from deprecated function
dma_request_slave_channel() to dma_request_chan(). Secondly, enable
sanity check for the resuling value of dma_request_chan().
Also, fix description that follows the enacted changes and that
concerns the use of dma_request_slave_channel().

Fixes: 706e2c8811 ("ASoC: fsl_asrc_dma: Reuse the dma channel if available in Back-End")
Co-developed-by: Natalia Petrova <n.petrova@fintech.ru>
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Link: https://lore.kernel.org/r/20230417133242.53339-1-n.zhandarovich@fintech.ru
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-04-19 13:42:56 +01:00
Chancel Liu
238787157d ASoC: fsl_sai: Fix pins setting for i.MX8QM platform
SAI on i.MX8QM platform supports the data lines up to 4. So the pins
setting should be corrected to 4.

Fixes: eba0f00775 ("ASoC: fsl_sai: Enable combine mode soft")
Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Link: https://lore.kernel.org/r/20230418094259.4150771-1-chancel.liu@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-04-19 13:42:55 +01:00
Corinna Vinschen
4e19516662 stmmac: fix changing mac address
Without the IFF_LIVE_ADDR_CHANGE flag being set, the network code
disallows changing the mac address while the interface is UP.

Consequences are, for instance, that the interface can't be used
in a failover bond.

Add the missing flag to net_device priv_flags.

Tested on Intel Elkhart Lake with default settings, as well as with
failover and alb mode bonds.

Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:14:58 +01:00
Arnd Bergmann
fcd4843a19 hamradio: drop ISA_DMA_API dependency
It looks like the dependency got added accidentally in commit a553260618
("[PATCH] ISA DMA Kconfig fixes - part 3"). Unlike the previously removed
dmascc driver, the scc driver never used DMA.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:11:41 +01:00
Ido Schimmel
1f64757ee2 mlxsw: pci: Fix possible crash during initialization
During initialization the driver issues a reset command via its command
interface in order to remove previous configuration from the device.

After issuing the reset, the driver waits for 200ms before polling on
the "system_status" register using memory-mapped IO until the device
reaches a ready state (0x5E). The wait is necessary because the reset
command only triggers the reset, but the reset itself happens
asynchronously. If the driver starts polling too soon, the read of the
"system_status" register will never return and the system will crash
[1].

The issue was discovered when the device was flashed with a development
firmware version where the reset routine took longer to complete. The
issue was fixed in the firmware, but it exposed the fact that the
current wait time is borderline.

Fix by increasing the wait time from 200ms to 400ms. With this patch and
the buggy firmware version, the issue did not reproduce in 10 reboots
whereas without the patch the issue is reproduced quite consistently.

[1]
mce: CPUs not responding to MCE broadcast (may include false positives): 0,4
mce: CPUs not responding to MCE broadcast (may include false positives): 0,4
Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler
Shutting down cpus with NMI
Kernel Offset: 0x12000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)

Fixes: ac004e8416 ("mlxsw: pci: Wait longer before accessing the device after reset")
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:06:10 +01:00
David S. Miller
fbb192a836 Merge branch 'skbuff-bitfields'
Jakub Kicinski says:

====================
net: skbuff: hide some bitfield members

There is a number of protocol or subsystem specific fields
in struct sk_buff which are only accessed by one subsystem.
We can wrap them in ifdefs with minimal code impact.

This gives us a better chance to save a 2B and a 4B holes
resulting with the following savings (assuming a lucky
kernel config):

-	/* size: 232, cachelines: 4, members: 28 */
-	/* sum members: 227, holes: 1, sum holes: 4 */
-	/* sum bitfield members: 8 bits (1 bytes) */
+	/* size: 224, cachelines: 4, members: 28 */
 	/* forced alignments: 2 */
-	/* last cacheline: 40 bytes */
+	/* last cacheline: 32 bytes */

I think that the changes shouldn't be too controversial.
The only one I'm not 100% sure of is the SCTP one,
12 extra LoC for one bit.. But it did fit squarely
in the "this bit has only one user" category.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Simon Horman <horms@kernel.org>
2023-04-19 13:04:31 +01:00
Jakub Kicinski
48d80c394d net: skbuff: hide nf_trace and ipvs_property
Accesses to nf_trace and ipvs_property are already wrapped
by ifdefs where necessary. Don't allocate the bits for those
fields at all if possible.

Acked-by: Florian Westphal <fw@strlen.de>
Acked-by: Simon Horman <horms@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:04:30 +01:00
Jakub Kicinski
4c60d04c28 net: skbuff: push nf_trace down the bitfield
nf_trace is a debug feature, AFAIU, and yet it sits oddly
high in the sk_buff bitfield. Move it down, pushing up
dst_pending_confirm and inner_protocol_type.

Next change will make nf_trace optional (under Kconfig)
and all optional fields should be placed after 2b fields
to avoid 2b fields straddling bytes.

dst_pending_confirm is L3, so it makes sense next to ignore_df.
inner_protocol_type goes up just to keep the balance.

Acked-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:04:30 +01:00
Jakub Kicinski
4398f3f6d1 net: skbuff: move alloc_cpu into a potential hole
alloc_cpu is currently between 4 byte fields, so it's almost
guaranteed to create a 2B hole. It has a knock on effect of
creating a 4B hole after @end (and @end and @tail being in
different cachelines).

None of this matters hugely, but for kernel configs which
don't enable all the features there may well be a 2B hole
after the bitfield. Move alloc_cpu there.

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:04:30 +01:00
Jakub Kicinski
c24831a13b net: skbuff: hide csum_not_inet when CONFIG_IP_SCTP not set
SCTP is not universally deployed, allow hiding its bit
from the skb.

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:04:30 +01:00
Jakub Kicinski
eb6fba7555 net: skbuff: hide wifi_acked when CONFIG_WIRELESS not set
Datacenter kernel builds will very likely not include WIRELESS,
so let them shave 2 bits off the skb by hiding the wifi fields.

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-04-19 13:04:30 +01:00