summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2025-10-15hwmon: (max6697) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (drivetemp) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (tmp108) Drop mutex.h includeGuenter Roeck
The driver does not perform any locking, so including mutex.h is not necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (tmp401) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (tmp421) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (tmp464) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (emc1403) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (adm9240) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (lm90) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking n the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (jc42) Rely on subsystem lockingGuenter Roeck
Attribute access is now serialized in the hardware monitoring core, so locking in the driver code is no longer necessary. Drop it. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (pmbus) add driver for MPS MP9945Cosmo Chou
Add support for mp9945 device from Monolithic Power Systems, Inc. (MPS) vendor. This is a single phase digital step down converter. Signed-off-by: Cosmo Chou <chou.cosmo@gmail.com> Link: https://lore.kernel.org/r/20251009205458.396368-2-chou.cosmo@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (ltc4282) Use the energy64 attribute type to report the energyGuenter Roeck
Use the energy64 attribute type instead of a locally defined sysfs attribute to report the accumulated energy. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20251012211625.533791-2-linux@roeck-us.net Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (ltc2947) Use the energy64 attribute type to report the energyGuenter Roeck
Use the energy64 attribute type instead of a locally defined sysfs attribute to report the accumulated energy. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20251012211625.533791-1-linux@roeck-us.net Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (peci/cputemp) add Intel Emerald Rapids supportIvan Mikhaylov
Add support to read DTS for reading Intel Emerald Rapids platform. Signed-off-by: Ivan Mikhaylov <fr0st61te@gmail.com> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Link: https://lore.kernel.org/r/20251006215321.5036-4-fr0st61te@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (peci/dimmtemp) add Intel Emerald Rapids platform supportIvan Mikhaylov
Extend the functionality of hwmon (peci/dimmtemp) for Emerald Rapids platform. The patch has been tested on a 5S system with 16 DIMMs installed. Verified read of DIMM temperature thresholds & temperature. Using Sapphire's callbacks about getting thresholds because it's same platform/socket. Signed-off-by: Ivan Mikhaylov <fr0st61te@gmail.com> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Link: https://lore.kernel.org/r/20251006215321.5036-3-fr0st61te@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15peci: cpu: add Intel Emerald Rapids supportIvan Mikhaylov
Add support for detection of Intel Emerald Rapids processor based on CPU model. Emerald Rapids Xeon processors with the model set to INTEL_EMERALDRAPIDS_X. The data field for this entry is "emr". Tested the patch series with AST2600 BMC with 5S Intel Emerald Rapids processors & verified by reading cpu & dimm temperature which matches host sensor values from lmsensors. Signed-off-by: Ivan Mikhaylov <fr0st61te@gmail.com> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Link: https://lore.kernel.org/r/20251006215321.5036-2-fr0st61te@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (asus-ec-sensors) add ROG STRIX X870E-H GAMING WIFI7Maximilian Luz
The board has a similar sensor configuration as the ROG STRIX X870E-E GAMING WIFI, with an additional temperature sensor header. Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com> Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com> Link: https://lore.kernel.org/r/20251003081002.1013313-3-eugene.shalygin@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (asus-ec-sensors) add Pro WS TRX50-SAGE WIFIPaul Heneghan
Added support for Pro WS TRX50-SAGE WIFI motherboard. Signed-off-by: Paul Heneghan <paul@networks-extra.com> Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com> Link: https://lore.kernel.org/r/20251003081002.1013313-2-eugene.shalygin@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (pmbus/max34440): add support adpm12200Alexis Czezar Torreno
ADPM12200 is a quarter brick DC/DC Power Module. It is a high power non-isolated converter capable of delivering regulated 12V with continuous power level of 2000W. Uses PMBus. Signed-off-by: Alexis Czezar Torreno <alexisczezar.torreno@analog.com> Link: https://lore.kernel.org/r/20251001-hwmon-next-v1-2-f8ca6a648203@analog.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (nct6775) Add ASUS ROG STRIX X870E-H GAMING WIFI7Maximilian Luz
The ASUS ROG STRIX X870E-H GAMING WIFI7 has a NCT6799D compatible chip, which is also accessed via ACPI. Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com> Link: https://lore.kernel.org/r/20251002184958.359744-1-luzmaximilian@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (ntc-thermistor) Add Murata ncp18wm474Emil Dahl Juhl
Add support for the Murata NCP18WM474 NTC. Compensation table has been constructed by linear interpolation between well defined points[1] on the resistance vs. temperature graph in the datasheet[2]. The readouts of the graph has been done to the best of my abilities, but the compensation table will be subject to inaccuracies nonetheless. [1] -40, -25, 0, 25, 50, 75, 100, 125 degrees [2] https://www.murata.com/en-eu/api/pdfdownloadapi?cate=&partno=NCP18WM474E03RB Signed-off-by: Emil Dahl Juhl <juhl.emildahl@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.kernel.org/r/20251001-ntc-thermistor-ncp18wm474-v1-1-2c64b9b509ff@pengutronix.de Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15hwmon: (pmbus/max17616) add driver for max17616Kim Seer Paller
Add support for MAX17616/MAX17616A current-limiter with overvoltage/surge, undervoltage, reverse polarity, loss of ground protection with PMBus interface. The PMBus interface allows monitoring of input/output voltages, output current and temperature. Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com> Link: https://lore.kernel.org/r/20250930-upstream-max17616-v1-2-1525a85f126c@analog.com [groeck: Fixed htmldocs 'WARNING: Title underline too short' as reported by Kriish Sharma <kriish.sharma2006@gmail.com>] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-10-15Merge patch series "auxdisplay: linedisp: support attribute attachment to ↵Andy Shevchenko
auxdisplay devices" Jean-François Lessard <jefflessard3@gmail.com> says: This series modernizes the auxdisplay line display (linedisp) library to enable seamless integration with auxdisplay parent devices while maintaining backward compatibility. The key improvement is adding attach/detach APIs that allow linedisp sysfs attributes to be bound directly to their parent auxdisplay devices avoiding child device proliferation and enabling a uniform 7-segment userspace interface across different driver architectures. This series introduces attachment infrastructure for linedisp devices. The first consumer of this API will be the TM16XX driver series. See the related patch series: auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver Changes include: 1. Encapsulate container_of() usage with to_linedisp() helper function for cleaner context retrieval 2. Improve message display behavior with static padding when message length is smaller than display width 3. Add 'num_chars' read-only attribute for userspace capability discovery 4. Add attach/detach API for sysfs attributes binding to parent devices 5. Document all linedisp sysfs attributes in ABI documentation All existing linedisp_register() users remain unaffected. The new APIs enable drivers like TM16XX to integrate 7-segment functionality within their LED class device hierarchy while providing a uniform 7-segment API. Thanks to Andy Shevchenko for early feedback and guidance. Link: https://lore.kernel.org/r/20250918121321.116248-1-jefflessard3@gmail.com Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-10-15auxdisplay: linedisp: support attribute attachment to auxdisplay devicesJean-François Lessard
Enable linedisp library integration into existing kernel devices (like LED class) to provide a uniform 7-segment userspace API without creating separate child devices, meeting the consistent interface while maintaining coherent device hierarchies. This allows uniform 7-segment API across all drivers while solving device proliferation and fragmented userspace interfaces. The sysfs attributes appear in one of the two locations depending on usage: 1. On linedisp.N child devices (legacy linedisp_register()) 2. On the parent auxdisplay device (new linedisp_attach()) Functionality is identical in both modes. Existing consumers of linedisp_register() are unaffected. The new API enables drivers like TM16XX to integrate 7-segment display functionality seamlessly within their LED class device hierarchy. Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-10-15auxdisplay: linedisp: add num_chars sysfs attributeJean-François Lessard
Add a read-only 'num_chars' sysfs attribute to report display digit count. The num_chars attribute provides essential capability information to userspace applications that need to know display dimensions before writing messages, complementing the existing message and scroll controls. No functional changes to existing behavior. Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-10-15auxdisplay: linedisp: display static message when length <= display sizeJean-François Lessard
Currently, when a message shorter than the display size is written, the content wraps around (e.g., "123" on a 4-digit display shows "1231") without scrolling, which is confusing and unintuitive. Change behavior to display short messages statically with space padding (e.g. "123 ") while only scrolling messages longer than the display width. This provides more natural behavior that aligns with user expectations and current linedisp_display() kernel-doc. The scroll logic is also consolidated into a helper function for clarity. No API changes are introduced. Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-10-15auxdisplay: linedisp: encapsulate container_of usage within to_linedispJean-François Lessard
Replace direct container_of() calls with a to_linedisp() helper function throughout the line-display auxdisplay library module. This abstraction prepares for upcoming dual-mode support where linedisp context retrieval will need to handle both dedicated child devices and attached parent auxdisplay devices. No functional changes in this patch. Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-10-15net: bcmgenet: remove unused platform codeHeiner Kallweit
This effectively reverts b0ba512e25d7 ("net: bcmgenet: enable driver to work without a device tree"). There has never been an in-tree user of struct bcmgenet_platform_data, all devices use OF or ACPI. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://patch.msgid.link/108b4e64-55d4-4b4e-9a11-3c810c319d66@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-10-15r8152: Advertise software timestamp information.Abhishek Rawal
Driver calls skb_tx_timestamp(skb) in rtl8152_start_xmit(), but does not advertise the capability in ethtool. Advertise software timestamp capabilities on struct ethtool_ops. Signed-off-by: Abhishek Rawal <rawal.abhishek92@gmail.com> Reviewed-by: Jamie Bainbridge <jamie.bainbridge@gmail.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Link: https://patch.msgid.link/20251014055234.46527-1-rawal.abhishek92@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-10-15gve: Check valid ts bit on RX descriptor before hw timestampingTim Hostetler
The device returns a valid bit in the LSB of the low timestamp byte in the completion descriptor that the driver should check before setting the SKB's hardware timestamp. If the timestamp is not valid, do not hardware timestamp the SKB. Cc: stable@vger.kernel.org Fixes: b2c7aeb49056 ("gve: Implement ndo_hwtstamp_get/set for RX timestamping") Reviewed-by: Joshua Washington <joshwash@google.com> Signed-off-by: Tim Hostetler <thostet@google.com> Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com> Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Willem de Bruijn <willemb@google.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Link: https://patch.msgid.link/20251014004740.2775957-1-hramamurthy@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-10-15HID: multitouch: fix sticky fingersBenjamin Tissoires
The sticky fingers quirk (MT_QUIRK_STICKY_FINGERS) was only considering the case when slots were not released during the last report. This can be problematic if the firmware forgets to release a finger while others are still present. This was observed on the Synaptics DLL0945 touchpad found on the Dell XPS 9310 and the Dell Inspiron 5406. Fixes: 4f4001bc76fd ("HID: multitouch: fix rare Win 8 cases when the touch up event gets missing") Cc: stable@vger.kernel.org Signed-off-by: Benjamin Tissoires <bentiss@kernel.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-15HID: multitouch: fix name of Stylus input devicesThadeu Lima de Souza Cascardo
HID_DG_PEN devices should have a suffix of "Stylus", as pointed out by commit c0ee1d571626 ("HID: hid-input: Add suffix also for HID_DG_PEN"). However, on multitouch devices, these suffixes may be overridden. Before that commit, HID_DG_PEN devices would get the "Stylus" suffix, but after that, multitouch would override them to have an "UNKNOWN" suffix. Just add HID_DG_PEN to the list of non-overriden suffixes in multitouch. Before this fix: [ 0.470981] input: ELAN9008:00 04F3:2E14 UNKNOWN as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-16/i2c-ELAN9008:00/0018:04F3:2E14.0001/input/input8 ELAN9008:00 04F3:2E14 UNKNOWN After this fix: [ 0.474332] input: ELAN9008:00 04F3:2E14 Stylus as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-16/i2c-ELAN9008:00/0018:04F3:2E14.0001/input/input8 ELAN9008:00 04F3:2E14 Stylus Fixes: c0ee1d571626 ("HID: hid-input: Add suffix also for HID_DG_PEN") Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-15HID: hid-input: only ignore 0 battery events for digitizersDmitry Torokhov
Commit 581c4484769e ("HID: input: map digitizer battery usage") added handling of battery events for digitizers (typically for batteries presented in stylii). Digitizers typically report correct battery levels only when stylus is actively touching the surface, and in other cases they may report battery level of 0. To avoid confusing consumers of the battery information the code was added to filer out reports with 0 battery levels. However there exist other kinds of devices that may legitimately report 0 battery levels. Fix this by filtering out 0-level reports only for digitizer usages, and continue reporting them for other kinds of devices (Smart Batteries, etc). Reported-by: 卢国宏 <luguohong@xiaomi.com> Fixes: 581c4484769e ("HID: input: map digitizer battery usage") Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-10-15PM / devfreq: rockchip-dfi: switch to FIELD_PREP_WM16 macroNicolas Frattaroli
The era of hand-rolled HIWORD_UPDATE macros is over, at least for those drivers that use constant masks. Like many other Rockchip drivers, rockchip-dfi brings with it its own HIWORD_UPDATE macro. This variant doesn't shift the value (and like the others, doesn't do any checking). Remove it, and replace instances of it with hw_bitfield.h's FIELD_PREP_WM16. Since FIELD_PREP_WM16 requires contiguous masks and shifts the value for us, some reshuffling of definitions needs to happen. This gives us better compile-time error checking, and in my opinion, nicer code. Tested on an RK3568 ODROID-M1 board (LPDDR4X at 1560 MHz, an RK3588 Radxa ROCK 5B board (LPDDR4X at 2112 MHz) and an RK3588 Radxa ROCK 5T board (LPDDR5 at 2400 MHz). perf measurements were consistent with the measurements of stress-ng --stream in all cases. Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
2025-10-15firmware: arm_scmi: Fix premature SCMI_XFER_FLAG_IS_RAW clearing in raw modeArtem Shimko
The SCMI_XFER_FLAG_IS_RAW flag was being cleared prematurely in scmi_xfer_raw_put() before the transfer completion was properly acknowledged by the raw message handlers. Move the clearing of SCMI_XFER_FLAG_IS_RAW and SCMI_XFER_FLAG_CHAN_SET from scmi_xfer_raw_put() to __scmi_xfer_put() to ensure the flags remain set throughout the entire raw message processing pipeline until the transfer is returned to the free pool. Fixes: 3095a3e25d8f ("firmware: arm_scmi: Add xfer helpers to provide raw access") Suggested-by: Cristian Marussi <cristian.marussi@arm.com> Signed-off-by: Artem Shimko <a.shimko.dev@gmail.com> Reviewed-by: Cristian Marussi <cristian.marussi@arm.com> Message-Id: <20251008091057.1969260-1-a.shimko.dev@gmail.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2025-10-15firmware: arm_scmi: Skip RAW initialization on failureCristian Marussi
Avoid attempting to initialize RAW mode when the debug subsystem itself has failed to initialize, since doing so is pointless and emits misleading error messages. Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Message-Id: <20251014115346.2391418-3-cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2025-10-15drm/xe/evict: drop bogus assertMatthew Auld
This assert can trigger here with non pin_map users that select LATE_RESTORE, since the vmap is allowed to be NULL given that save/restore can now use the blitter instead. The check here doesn't seem to have much value anymore given that we no longer move pinned memory, so any existing vmap is left well alone, and doesn't need to be recreated upon restore, so just drop the assert here. Fixes: 86f69c26113c ("drm/xe: use backup object for pinned save/restore") Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6213 Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Link: https://lore.kernel.org/r/20251010152457.177884-2-matthew.auld@intel.com
2025-10-15drm/xe/migrate: don't misalign current bytesMatthew Auld
If current bytes exceeds the max copy size, ensure the clamped size still accounts for the XE_CACHELINE_BYTES alignment, otherwise we trigger the assert in xe_migrate_vram with the size now being out of alignment. Fixes: 8c2d61e0e916 ("drm/xe/migrate: don't overflow max copy size") Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6212 Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Stuart Summers <stuart.summers@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Link: https://lore.kernel.org/r/20251010162020.190962-2-matthew.auld@intel.com
2025-10-15include: trace: Fix inflight count helper on failed initializationCristian Marussi
Add a check to the scmi_inflight_count() helper to handle the case when the SCMI debug subsystem fails to initialize. Fixes: f8e656382b4a ("include: trace: Add tracepoint support for inflight xfer count") Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Message-Id: <20251014115346.2391418-2-cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2025-10-15firmware: arm_scmi: Account for failed debug initializationCristian Marussi
When the SCMI debug subsystem fails to initialize, the related debug root will be missing, and the underlying descriptor will be NULL. Handle this fault condition in the SCMI debug helpers that maintain metrics counters. Fixes: 0b3d48c4726e ("firmware: arm_scmi: Track basic SCMI communication debug metrics") Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Message-Id: <20251014115346.2391418-1-cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2025-10-15drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabledJouni Högander
Using intel_psr_exit in frontbuffer flush on older platforms seems to be causing problems. Sending single full frame update using intel_psr_force_update is anyways more optimal compared to psr deactivate/activate -> move back to this approach on PSR1, PSR HW tracking and Panel Replay full frame update and use deactivate/activate only on LunarLake and only when selective fetch is enabled. Tested-by: Lemen <lemen@lemen.xyz> Tested-by: Koos Vriezen <koos.vriezen@gmail.com> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14946 Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com> Link: https://lore.kernel.org/r/20250922102725.2752742-1-jouni.hogander@intel.com (cherry picked from commit 924adb0bbdd8fef25fd229c76e3f602c3e8752ee) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2025-10-15cpufreq/amd-pstate: Fix a regression leading to EPP 0 after hibernateMario Limonciello (AMD)
After resuming from S4, all CPUs except the boot CPU have the wrong EPP hint programmed. This is because when the CPUs were offlined the EPP value was reset to 0. This is a similar problem as fixed by commit ba3319e590571 ("cpufreq/amd-pstate: Fix a regression leading to EPP 0 after resume") and the solution is also similar. When offlining rather than reset the values to zero, reset them to match those chosen by the policy. When the CPUs are onlined again these values will be restored. Closes: https://community.frame.work/t/increased-power-usage-after-resuming-from-suspend-on-ryzen-7040-kernel-6-15-regression/74531/20?u=mario_limonciello Fixes: 608a76b65288 ("cpufreq/amd-pstate: Add support for the "Requested CPU Min frequency" BIOS option") Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-10-15spi: amlogic: fix spifc build errorXianwei Zhao
There is an error building when Compiler version: gcc (GCC) 14.3.0 Assembler version: GNU assembler (GNU Binutils) 2.44 " Error log: WARNING: modpost: missing MODULE_DESCRIPTION() in arch/arm/probes/kprobes/test-kprobes.o ERROR: modpost: "__ffsdi2" [drivers/spi/spi-amlogic-spifc-a4.ko] undefined! " Use __ffs API instead of __bf_shf to be safer. Reported-by: Guenter Roeck <linux@roeck-us.net> Closes: https://lore.kernel.org/all/f594c621-f9e1-49f2-af31-23fbcb176058@roeck-us.net/ Fixes: 4670db6f32e9 ("spi: amlogic: add driver for Amlogic SPI Flash Controller") Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com> Link: https://patch.msgid.link/20251015-fix-spifc-a4-v1-1-08e0900e5b7e@amlogic.com Signed-off-by: Mark Brown <broonie@kernel.org>
2025-10-15drm/i915/fbc: update the impacted platforms in wa_22014263786Vinod Govindapillai
wa_22014263786 is not applicable to the BMG and hence exclude it from the wa. v2: Limit this wa to display verion 11 to 14, drop DG2 from the exclusion list, use intel_display_wa (Lucas) v3: simplify the wa handling loop (Jani) Description of wa moved to place where wa is applied (Ville) v4: drop the platforms line from wa comments (Lucas) Bspec: 74212, 66624 Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://lore.kernel.org/r/20251007214317.875781-1-vinod.govindapillai@intel.com
2025-10-15bus: mhi: host: pci_generic: Add Telit FE990B40 modem supportDaniele Palmas
Add SDX72 based modem Telit FE990B40, reusing FN920C04 configuration. 01:00.0 Unassigned class [ff00]: Qualcomm Device 0309 Subsystem: Device 1c5d:2025 Signed-off-by: Daniele Palmas <dnlplm@gmail.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Link: https://patch.msgid.link/20251015102059.1781001-1-dnlplm@gmail.com
2025-10-15bus: mhi: ep: Make mhi_ep_bus_type constAdrian Barnaś
Because driver core can properly handle constant struct bus_type, move the mhi_ep_bus_type to be a constant structure as well, placing it into read-only memory which can not be modified at runtime. Signed-off-by: Adrian Barnaś <abarnas@google.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patch.msgid.link/20250919074408.868220-1-abarnas@google.com
2025-10-15Add target mode support for the DesignWare SPIMark Brown
Merge series from Benoît Monin <benoit.monin@bootlin.com>: The DesignWare SPI controller can act as a host or a target; the choice between the two is set in hardware and cannot be changed by software. When configured in target mode, the controller has a much reduced set of capabilities. It only has a single chip-select input and can only run standard SPI mode (no dual, quad, or octal mode). Despite this, the overall logic of doing an SPI transfer and the register layout is identical between both modes, so implementing the target mode reuses much of the existing code. The first part of this two-patch series renames the spi_controller to ctlr instead of host and also changes the suffix of the related functions to controller. This is done to avoid confusion when referring to the controller in target mode. The second patch implements the target mode support by allocating an SPI controller of the correct type based on the spi-slave property. The controller is then configured differently depending on the mode. For an SPI transfer, the same transfer_one() callback is used, with the difference being in dw_spi_update_config() where only the CTRLR0 register is set. The other registers are not relevant in target mode and are read-only. I am posting this as an RFC because I could only perform partial testing on my setup. I am using an SoC with two DesignWare SPI memory-mapped controllers identified as Synopsys DWC APB SSI v4.03, one in host mode and the other in target mode. On the evaluation board, a microcontroller acts as an SPI relay between the two, but it has some limitations. The number of bits per word is fixed, as are the clock phase and polarity. It also only copies data from the host to the target. With this limited setup, I did test that data can be successfully transferred from the host to the target using spidev_test. I also checked that polling works by temporarily disabling the IRQ, but I cannot test DMA. Therefore, more testing on different devices would be welcome.
2025-10-15spi: aspeed: Improve clock, timing and addressMark Brown
Merge series from Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>: This patch series introduces several improvements to the ASPEED SPI driver, targeting better stability, compatibility and, flexibility across multiple ASPEED platforms. Key changes include: * Clock selection strategy update Improves fallback logic when timing calibration is skipped or fails, ensuring reliable boot behavior. * Timing calibration enhancement for AST2600 Replaces the previous "first-pass" strategy with a more robust algorithm that selects the optimal timing point. * Default address decoding assignment Ensures each chip select (CS) has a valid decoding range during probe, avoiding detection failures due to missing or incorrect bootloader setup. * Centralized address decoding management Refactors the decoding logic to centrally assign address windows, preventing improper trimming and improving layout flexibility. * Per-platform decoding adjustment Introduces platform-specific `adjust_window` callbacks to handle platform specific hardware constraints for address decoding range. * Selective memory mapping Optimizes memory usage by mapping only the required address window per CS to avoid exhaustion.
2025-10-15regulator: core: forward undervoltage events downstream by defaultOleksij Rempel
Forward critical supply events downstream so consumers can react in time. An under-voltage event on an upstream rail may otherwise never reach end devices (e.g. eMMC). Register a notifier on a regulator's supply when the supply is resolved, and forward only REGULATOR_EVENT_UNDER_VOLTAGE to the consumer's notifier chain. Event handling is deferred to process context via a workqueue; the consumer rdev is lifetime-pinned and the rdev lock is held while calling the notifier chain. The notifier is unregistered on regulator teardown. No DT/UAPI changes. Behavior applies to all regulators with a supply. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://patch.msgid.link/20251001105650.2391477-1-o.rempel@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org>
2025-10-15platform/x86:intel/pmc: Remove redundant has_die_c6 variableXi Pardee
Remove has_die_c6 variable from the pmc_dev struct. This variable is unnecessary as the availability of die C6 could be inferred by the punit_ep variable. Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com> Link: https://patch.msgid.link/20251014214548.629023-7-xi.pardee@linux.intel.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>