Hans de Goede
01fbfcb3ac
platform/x86: x86-android-tablets: Add get_i2c_adap_by_handle() helper
...
Add get_i2c_adap_by_handle() helper function, this is a preparation patch
for adding support for getting i2c_adapter-s by PCI parent devname().
Suggested-by: Andy Shevchenko <andy@kernel.org >
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Reviewed-by: Andy Shevchenko <andy@kernel.org >
Link: https://lore.kernel.org/r/20241104200848.58693-2-hdegoede@redhat.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-06 15:15:46 +02:00
Lukas Bulwahn
44ed58e579
MAINTAINERS: adjust file entry in INTEL TPMI DRIVER
...
Commit df7f9acd86 ("platform/x86: intel: Add 'intel' prefix to the
modules automatically") renames tpmi.c to vsec_tpmi.c in
drivers/platform/x86/intel/, but misses to adjust the INTEL TPMI DRIVER
section, which is referring to this file.
Hence, ./scripts/get_maintainer.pl --self-test=patterns complains about a
broken reference.
Adjust the file entry to this file renaming.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@redhat.com >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241105152813.60823-1-lukas.bulwahn@redhat.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-06 15:14:02 +02:00
Shyam Sundar S K
ba6ad33d5c
platform/x86/amd/pmf: Switch to platform_get_resource() and devm_ioremap_resource()
...
Use platform_get_resource() to fetch the memory resource instead of
acpi_walk_resources() and devm_ioremap_resource() for mapping the
resources.
PS: We cannot use resource_size() here because it adds an extra byte to
round off the size. In the case of PMF ResourceTemplate(), this rounding
is already handled within the _CRS. Using resource_size() would increase
the resource size by 1, causing a mismatch with the length field and
leading to issues. Therefore, simply use end-start of the ACPI resource to
obtain the actual length.
Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@amd.com >
Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@amd.com >
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com >
Link: https://lore.kernel.org/r/20241104054829.620858-4-Shyam-sundar.S-k@amd.com
[ij: added a cast to resource_size_t printing]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-04 15:13:45 +02:00
Shyam Sundar S K
ac4976a4f8
MAINTAINERS: Change AMD PMF driver status to "Supported"
...
The AMD PMF driver is actively being developed, so the MAINTAINERS record
should reflect "Supported" instead of "Maintained." Update the MAINTAINERS
database to reflect this change.
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com >
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com >
Link: https://lore.kernel.org/r/20241104054829.620858-3-Shyam-sundar.S-k@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-04 15:13:07 +02:00
Shyam Sundar S K
cc8e2dbf99
platform/x86/amd/pmf: Use dev_err_probe() to simplify error handling
...
To simplify error handling in the amd_pmf probe function and reduce code
size, dev_err() is replaced with dev_err_probe().
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com >
Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@amd.com >
Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@amd.com >
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com >
Link: https://lore.kernel.org/r/20241104054829.620858-2-Shyam-sundar.S-k@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-04 15:13:04 +02:00
Christophe JAILLET
ab49d7bf99
platform/x86/intel/vsec: Remove a useless mutex
...
ida_alloc()/ida_free() don't need any mutex, so remove this one.
It was introduced by commit 9a90ea7d37 ("platform/x86/intel/vsec: Use
mutex for ida_alloc() and ida_free()").
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Link: https://lore.kernel.org/r/ccc08a262304f7f8c2e435349f0f714ebf9acfcd.1730563031.git.christophe.jaillet@wanadoo.fr
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-04 15:04:34 +02:00
Colin Ian King
d68cb60233
alienware-wmi: Fix spelling mistake "requieres" -> "requires"
...
There is a spelling mistake in a pr_warn message. Fix it.
Signed-off-by: Colin Ian King <colin.i.king@gmail.com >
Link: https://lore.kernel.org/r/20241101110230.3303197-1-colin.i.king@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-11-01 14:35:33 +02:00
Andy Shevchenko
df7f9acd86
platform/x86: intel: Add 'intel' prefix to the modules automatically
...
Rework Makefile to add 'intel' prefix to the modules automatically.
This removes a lot of boilerplate code in it and also makes robust
against mistypos in the prefix.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241016105950.785820-2-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-31 11:42:24 +02:00
Kurt Borja
f164dd0bf4
alienware-wmi: WMAX interface documentation
...
Added documentation for new WMAX interface, present on some Alienware
X-Series, Alienware M-Series and Dell's G-Series laptops.
Signed-off-by: Kurt Borja <kuurtb@gmail.com >
Reviewed-by: Armin Wolf <W_Armin@gmx.de >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241030001228.7770-1-kuurtb@gmail.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-31 11:32:01 +02:00
Kurt Borja
18eec62ee0
alienware-wmi: added force module parameters
...
Added force_platform_profile and force_gmode unsafe module parameters,
allowing users to force `thermal` and `gmode` quirks respectively.
Signed-off-by: Kurt Borja <kuurtb@gmail.com >
Reviewed-by: Armin Wolf <W_Armin@gmx.de >
Link: https://lore.kernel.org/r/20241030001148.7623-2-kuurtb@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-31 11:31:49 +02:00
Kurt Borja
9f6c430415
alienware-wmi: added platform profile support
...
Implements platform profile support for Dell laptops with new WMAX thermal
interface, present on some Alienware X-Series, Alienware M-Series and
Dell's G-Series laptops. This interface is suspected to be used by
Alienware Command Center (AWCC), which is not available for linux
systems, to manage thermal profiles.
This implementation makes use of three WMI methods, namely
THERMAL_CONTROL, THERMAL_INFORMATION and GAME_SHIFT_STATUS, which take
u32 as input and output arguments. Each method has a set of supported
operations specified in their respective enums.
Not all models with WMAX WMI interface support these methods. Because of
this, models have to manually declare support through new quirks
`thermal` for THERMAL_CONTROL and THERMAL_INFORMATION and `gmode` for
GAME_SHIFT_STATUS.
Wrappers written for these methods support multiple operations.
THERMAL_CONTROL switches thermal modes through operation
ACTIVATE_PROFILE. Available thermal codes are auto-detected at runtime
and matched against a list of known thermal codes:
Thermal Table "User Selectable Thermal Tables" (USTT):
BALANCED 0xA0
BALANCED_PERFORMANCE 0xA1
COOL 0xA2
QUIET 0xA3
PERFORMANCE 0xA4
LOW_POWER 0xA5
Thermal Table Basic:
QUIET 0x96
BALANCED 0x97
BALANCED_PERFORMANCE 0x98
PERFORMANCE 0x99
Devices are known to implement only one of these tables without mixing
their thermal codes.
The fact that the least significant digit of every thermal code is
consecutive of one another is exploited to efficiently match codes
through arrays.
Autodetection of available codes is done through operation LIST_IDS of
method THERMAL_INFORMATION. This operation lists fan IDs, CPU sensor ID,
GPU sensor ID and available thermal profile codes, *in that order*. As
number of fans and thermal codes is very model dependent, almost every
ID is scanned and matched based on conditions found on
is_wmax_thermal_code(). The known upper bound for the number of IDs is
13, corresponding to a device that have 4 fans, 2 sensors and 7 thermal
codes.
Additionally G-Series laptops have a key called G-key, which (with AWCC
proprietary driver) switches the thermal mode to an special mode named
GMODE with code 0xAB and changes Game Shift Status to 1. Game Shift is a
mode the manufacturer claims, increases gaming performance.
GAME_SHIFT_STATUS method is used to mimic this behavior when selecting
PLATFORM_PROFILE_PERFORMANCE option.
All of these profiles are known to only change fan speed profiles,
although there are untested claims that some of them also change power
profiles.
Activating a thermal mode with method THERMAL_CONTROL may cause short
hangs. This is a known problem present on every platform.
Signed-off-by: Kurt Borja <kuurtb@gmail.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Reviewed-by: Armin Wolf <W_Armin@gmx.de >
Link: https://lore.kernel.org/r/20241030001124.7589-1-kuurtb@gmail.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-30 13:23:24 +02:00
Kurt Borja
479bb5ff60
alienware-wmi: alienware_wmax_command() is now input size agnostic
...
alienware_wmax_command() now takes void * and size_t instead of struct
wmax_basic_args to extend support to new WMAX methods. Also int *out_data
was changed to u32 *out_data, because new interface specifies u32 as output
parameter and all previous callers would pass u32 * regardless.
Signed-off-by: Kurt Borja <kuurtb@gmail.com >
Reviewed-by: Armin Wolf <W_Armin@gmx.de >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241030001057.7562-1-kuurtb@gmail.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-30 13:23:22 +02:00
Kurt Borja
7757f9d5d5
alienware-wmi: fixed indentation and clean up
...
Fixed inconsistent indentation and removed unnecessary (acpi_size) and
(u32 *) casts.
Signed-off-by: Kurt Borja <kuurtb@gmail.com >
Reviewed-by: Armin Wolf <W_Armin@gmx.de >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241030001028.7402-2-kuurtb@gmail.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-30 13:23:19 +02:00
chen zhang
f609333908
platform/x86: compal-laptop: use sysfs_emit() instead of sprintf()
...
Follow the advice in Documentation/filesystems/sysfs.rst:
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.
Signed-off-by: chen zhang <chenzhang@kylinos.cn >
Link: https://lore.kernel.org/r/20241028024949.24746-1-chenzhang@kylinos.cn
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 15:54:41 +02:00
Armin Wolf
e001341a98
platform/x86: wmi: Introduce to_wmi_driver()
...
Introduce to_wmi_driver() as a replacement for dev_to_wdrv()
so WMI drivers can use this support macro instead of having
to duplicate its functionality.
Signed-off-by: Armin Wolf <W_Armin@gmx.de >
Link: https://lore.kernel.org/r/20241026193803.8802-3-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 15:44:23 +02:00
Armin Wolf
c382429b58
platform/x86: wmi: Replace dev_to_wdev() with to_wmi_device()
...
Replace dev_to_wdev() with to_wmi_device() to stop duplicating
functionality.
Also switch to_wmi_device() to use container_of_const() so const
values are handled correctly.
Signed-off-by: Armin Wolf <W_Armin@gmx.de >
Link: https://lore.kernel.org/r/20241026193803.8802-2-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 15:44:21 +02:00
Armin Wolf
049571ce76
platform/x86: wmi: Remove wmi_block_list
...
The wmi_block_list is only used by guid_count() and without proper
protection. It also duplicates some of the WMI bus functionality.
Remove the wmi_block_list and use bus_for_each_dev() instead.
Signed-off-by: Armin Wolf <W_Armin@gmx.de >
Link: https://lore.kernel.org/r/20241026193803.8802-1-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 15:44:19 +02:00
Mark Pearson
5dcb5ef125
platform/x86: think-lmi: Multi-certificate support
...
Lenovo are adding support for both Admin and System certificates to
the certificate based authentication feature
This commit adds the support for this.
Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca >
Link: https://lore.kernel.org/r/20241024195536.6992-4-mpearson-lenovo@squebb.ca
[ij: Added #include <linux/array_size.h> + comment grammar fix]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 14:00:14 +02:00
Mark Pearson
7c0bbf1ae6
platform/x86: think-lmi: Allow empty admin password
...
SVP = BIOS Supervisor/Admin password
SMP = BIOS System password
If SMP ACL is enabled in the BIOS then the system allows you to set the
SMP without a SVP password configured. Change code to allow this.
BIOS will return permissions error if SVP is required.
Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca >
Link: https://lore.kernel.org/r/20241024195536.6992-3-mpearson-lenovo@squebb.ca
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 13:54:32 +02:00
Mark Pearson
c7842e69e4
platform/x86: think-lmi: Add certificate as mechanism
...
As both password or certificate authentication are available as mechanisms
update the documentation to add certificate as an option
Update driver to return correct mechanism appropriately.
Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca >
Link: https://lore.kernel.org/r/20241024195536.6992-2-mpearson-lenovo@squebb.ca
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 13:54:31 +02:00
Mark Pearson
b39e8ece93
platform/x86: think-lmi: improve check if BIOS account security enabled
...
Improve determination of whether authentication account is enabled by
checking if either password or certificate is enabled.
Renamed valid to pwd_enabled for better readability.
Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca >
Link: https://lore.kernel.org/r/20241024195536.6992-1-mpearson-lenovo@squebb.ca
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-29 13:54:28 +02:00
chen zhang
a7d30cb75b
platform/x86: eeepc-laptop: use sysfs_emit() instead of sprintf()
...
Follow the advice in Documentation/filesystems/sysfs.rst:
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.
Signed-off-by: chen zhang <chenzhang@kylinos.cn >
Link: https://lore.kernel.org/r/20241023012905.15551-1-chenzhang@kylinos.cn
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-25 17:31:50 +03:00
Suma Hegde
1349dd7dc2
platform/x86/amd/hsmp: Make hsmp_pdev static instead of global
...
Instead of making hsmp_pdev global and exporting this symbol from hsmp.c,
make it static and create a wrapper function get_hsmp_pdev() to access
hsmp_pdev from plat.c and acpi.c.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-11-suma.hegde@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-25 17:29:38 +03:00
Suma Hegde
c1691730d9
platform/x86/amd/hsmp: Use dev_groups in the driver structure
...
Move out of device_add_group() variants, instead assign static array of
attribute groups to .dev_groups in platform_driver structure.
Then use is_visible to enable only the necessary files on the platform.
.read() and .is_bin_visibile() have slightly different
implemetations on ACPI and non-ACPI system, so move them
to respective files.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-10-suma.hegde@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-25 17:29:33 +03:00
Suma Hegde
4fc0366ef8
platform/x86/amd/hsmp: Use name space while exporting module symbols
...
hsmp_send_message() is exported with AMD_HSMP name space.
The other modules who would like to use this symbol,
need to import AMD_HSMP namespace using MODULE_IMPORT_NS()
to get away with warning.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-9-suma.hegde@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-25 17:29:28 +03:00
Suma Hegde
7d3135d163
platform/x86/amd/hsmp: Create separate ACPI, plat and common drivers
...
Separate the probes for HSMP ACPI and platform device drivers.
Provide a Kconfig option to choose between ACPI or the platform device
based driver. The common code which is the core part of the HSMP driver
maintained at hsmp.c is guarded by AMD_HSMP config and is selected by
these two driver configs. This will be built into separate hsmp_common.ko
module and acpi as hsmp_acpi and plat as amd_hsmp respectively.
Also add "|| COMPILE_TEST" clause in Kconfig to get build coverage for
HSMP.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-8-suma.hegde@amd.com
[ij: Fixed doc to use pre-formatted text for the ACPI dump.]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-25 17:28:20 +03:00
Suma Hegde
8e75dff56e
platform/x86/amd/hsmp: Change generic plat_dev name to hsmp_pdev
...
plat_dev is a commonly used variable name, since its made as extern now,
change it to more specific name.
Also change miscdevice hsmp_device to mdev.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-7-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:57 +03:00
Suma Hegde
969f915473
platform/x86/amd/hsmp: Move ACPI code to acpi.c
...
An upcoming change splits HSMP driver into ACPI and platform device
variants. Prepare for the split by moving ACPI related code
to acpi.c from hsmp.c. Common code is kept in hsmp.c.
No logical/functional change.
We still have one driver at this point,
the driver probe will be split in the next patch.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-6-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:55 +03:00
Suma Hegde
e47c018a0e
platform/x86/amd/hsmp: Move platform device specific code to plat.c
...
An upcoming change splits HSMP driver into ACPI and platform device
variants. Prepare for the split by moving platform device part to plat.c.
No functinality/logical changes.
Common code which can be used by ACPI and platform device
remains in hsmp.c.
ACPI code in hsmp.c will be moved to acpi.c in next patch.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-5-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:54 +03:00
Suma Hegde
1757d2b8dc
platform/x86/amd/hsmp: Move structure and macros to header file
...
This is in preparation to splitting ACPI and platform device drivers.
No logical change, move common structures, macros to hsmp.h,
add missed header files, remove unwanted header inclusions,
and re-order the header file in hsmp.c file.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-4-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:52 +03:00
Suma Hegde
d9a621ebdd
platform/x86/amd/hsmp: Convert amd_hsmp_rdwr() to a function pointer
...
This is in preparation to ACPI, Non-ACPI split.
amd_hsmp_rdwr() is used to access HSMP protocol registers.
ACPI and Non-ACPI use different methods to access these registers.
Now that code is split and common functionality is kept in hsmp.c
we need to define a function pointer to handle these functions separately.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-3-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:50 +03:00
Suma Hegde
1e1c4c0ab3
platform/x86/amd/hsmp: Create wrapper function init_acpi()
...
This is in preparation to splitting ACPI and platform device drivers.
Having init_acpi() helps in smooth code movement.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-2-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:49 +03:00
Suma Hegde
9df193087b
platform/x86/amd/hsmp: Create hsmp/ directory
...
This is in preparation to splitting ACPI and platform device drivers.
Create and move hsmp specific code into its own directory,
no logical changes.
Signed-off-by: Suma Hegde <suma.hegde@amd.com >
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com >
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Link: https://lore.kernel.org/r/20241021111428.2676884-1-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 13:36:46 +03:00
David E. Box
7a797cc9f8
platform/x86/intel/pmc: Disable C1 auto-demotion during suspend
...
On some platforms, aggressive C1 auto-demotion may lead to failure to enter
the deepest C-state during suspend-to-idle, causing high power consumption.
To prevent this, disable C1 auto-demotion during suspend and re-enable on
resume.
Signed-off-by: David E. Box <david.e.box@linux.intel.com >
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com >
Link: https://lore.kernel.org/r/20241017210439.3449324-2-david.e.box@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:50:58 +03:00
David E. Box
9fe43c8020
platform/x86/intel/pmc: Refactor platform resume functions to use cnl_resume()
...
Several platform resume functions currently call pmc_core_send_ltr_ignore()
and pmc_core_resume_common(), both of which are already called by
cnl_resume(). Simplify the code by having these functions call cnl_resume()
directly.
Signed-off-by: David E. Box <david.e.box@linux.intel.com >
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com >
Link: https://lore.kernel.org/r/20241017210439.3449324-1-david.e.box@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:50:51 +03:00
Jérôme de Bretagne
c54eeb8fef
platform/surface: aggregator_registry: Add Surface Pro 9 5G
...
Add SAM client device nodes for the Surface Pro 9 5G, with the usual
battery/AC and HID nodes for keyboard and touchpad support.
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com >
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com >
Link: https://lore.kernel.org/r/20240908223505.21011-4-jerome.debretagne@gmail.com
[ij: variable names 5G -> 5g, added archs to comments as requested.]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:48:15 +03:00
Andy Shevchenko
f02fcc7c12
platform/x86: intel_scu_ipc: Save a copy of the entire struct intel_scu_ipc_data
...
Save a copy of the entire struct intel_scu_ipc_data for easier
maintenance in case of expanding (adding new members become simpler).
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Tested-by: Ferry Toth <fntoth@gmail.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241021133705.2933464-6-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:34:09 +03:00
Andy Shevchenko
acf1b04c68
platform/x86: intel_scu_ipc: Convert to check for errors first
...
Convert to use usual pattern, i.e. check for errors first. This makes
code less indented and easier to read after all.
Tested-by: Ferry Toth <fntoth@gmail.com >
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241021133705.2933464-5-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:34:07 +03:00
Andy Shevchenko
ce44b96261
platform/x86: intel_scu_ipc: Simplify code with cleanup helpers
...
Use macros defined in linux/cleanup.h to automate resource lifetime
control in the driver.
Tested-by: Ferry Toth <fntoth@gmail.com >
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241021133705.2933464-4-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:34:05 +03:00
Andy Shevchenko
8b142950a5
platform/x86: intel_scu_ipc: Replace workaround by 32-bit IO
...
The theory is that the so called workaround in pwr_reg_rdwr() is
the actual reader of the data in 32-bit chunks. For some reason
the 8-bit IO won't fail after that. Replace the workaround by using
32-bit IO explicitly and then memcpy() as much data as was requested
by the user. The same approach is already in use in
intel_scu_ipc_dev_command_with_size().
Tested-by: Ferry Toth <fntoth@gmail.com >
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241021133705.2933464-3-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:34:04 +03:00
Andy Shevchenko
6bd3525210
platform/x86: intel_scu_ipc: Unify the flow in pwr_reg_rdwr()
...
Unify the flow in pwr_reg_rdwr() with intel_scu_ipc_dev_command_with_size().
While read buffer is not currently being used by the callers of
pwr_reg_rdwr(), this might change in the future. For the existing code
it's a harmless change because the read data for the write operation
is simply discarded.
Tested-by: Ferry Toth <fntoth@gmail.com >
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20241021133705.2933464-2-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:34:01 +03:00
Hongling Zeng
81e2cc3688
platform/x86: dell-dcdbase: Replace snprintf in show functions with sysfs_emit
...
show() must not use snprintf() when formatting the value to be
returned to user space.
Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn >
Link: https://lore.kernel.org/r/20241022030500.9986-1-zenghongling@kylinos.cn
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-22 11:29:18 +03:00
Hongling Zeng
90a7d74860
platform/x86: classmate-laptop: Replace snprintf in show functions with sysfs_emit
...
show() must not use snprintf() when formatting the value to be
returned to user space.
Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn >
Link: https://lore.kernel.org/r/20241019054426.8182-1-zenghongling@kylinos.cn
[ij: Added linux/sysfs.h include]
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-21 13:40:12 +03:00
Uwe Kleine-König
3ea5eb68b9
platform/x86: Switch back to struct platform_driver::remove()
...
After commit 0edb555a65 ("platform: Make platform_driver::remove()
return void") .remove() is (again) the right callback to implement for
platform drivers.
Convert all platform drivers below drivers/platform/x86/ to use
.remove(), with the eventual goal to drop struct
platform_driver::remove_new(). As .remove() and .remove_new() have the
same prototypes, conversion is done by just changing the structure
member name in the driver initializer.
While touching these files, make indention of the struct initializer
consistent in several files.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com >
Link: https://lore.kernel.org/r/20241017073802.53235-2-u.kleine-koenig@baylibre.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-17 12:39:32 +03:00
Ba Jing
7dd1233931
x86: acer-wmi: remove unused macros
...
After reviewing the code, it was found that these macros are never
referenced in the code and are all set to 0. They should be removed.
Signed-off-by: Ba Jing <bajing@cmss.chinamobile.com >
Link: https://lore.kernel.org/r/20241014183856.3942-1-bajing@cmss.chinamobile.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-16 15:22:19 +03:00
Abdul Rahim
8150408bfd
asus-laptop: prefer strscpy() over strcpy()
...
The function strcpy() is depreciated and potentially unsafe. It performs
no bounds checking on the destination buffer. This could result in
linear overflows beyond the end of the buffer, leading to all kinds of
misbehaviors. The safe replacement is strscpy() [1].
this fixes checkpatch warning:
WARNING: Prefer strscpy over strcpy
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com >
Reviewed-by: Luke D. Jones <luke@ljones.dev >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Link: https://lore.kernel.org/r/20241009230558.51892-1-abdul.rahim@myyahoo.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-10 13:30:46 +03:00
Armin Wolf
d12586e107
platform/x86: wmi: Implement proper shutdown handling
...
When performing a system shutdown under Windows, all WMI clients are
terminated. This means that the ACPI BIOS might expect all WMI devices
to be disabled when shutting down.
Emulate this behaviour by disabling all active WMI devices during
shutdown. Also introduce a new WMI driver callback to allow WMI drivers
to perform any device-specific actions before disabling the WMI device.
Tested on a Dell Inspiron 3505.
Signed-off-by: Armin Wolf <W_Armin@gmx.de >
Link: https://lore.kernel.org/r/20241005213825.701887-2-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-09 12:04:48 +03:00
Andy Shevchenko
066c779b09
platform/x86: intel_scu_ipc: Don't use "proxy" headers
...
Update header inclusions to follow IWYU (Include What You Use)
principle.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Link: https://lore.kernel.org/r/20241003154819.1075141-1-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-07 12:27:15 +03:00
WangYuli
31440fe701
platform/x86/intel/pmt: Correct the typo 'ACCCESS_LOCAL'
...
There is a spelling mistake of 'ACCCESS_LOCAL' which should be
'ACCESS_LOCAL'.
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: WangYuli <wangyuli@uniontech.com >
Link: https://lore.kernel.org/r/4F742FFF72DFD84F+20240920141704.34373-1-wangyuli@uniontech.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com >
2024-10-03 13:54:53 +03:00
Linus Torvalds
9852d85ec9
Linux 6.12-rc1
v6.12-rc1
2024-09-29 15:06:19 -07:00