Fully initialize *ctx, including the buf field which sha256_init()
doesn't initialize, to avoid a KMSAN warning when comparing *ctx to
orig_ctx. This KMSAN warning slipped in while KMSAN was not working
reliably due to a stackdepot bug, which has now been fixed.
Fixes: 6733968be7 ("lib/crypto: tests: Add tests and benchmark for sha256_finup_2x()")
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20251121033431.34406-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
The igen6_edac driver calls device_initialize() for all memory
controllers in igen6_register_mci(), but misses corresponding
put_device() calls in error paths and during normal shutdown in
igen6_unregister_mcis().
Adding the missing put_device() calls improves code readability and
ensures proper reference counting for the device structure.
Found by code review.
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20251105090244.23327-1-make24@iscas.ac.cn
Setup the following debugfs testing node to enable fake memory error
address decoding tests for the imh_edac driver.
/sys/kernel/debug/edac/imh_test/addr
Tested-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20251119134132.2389472-8-qiuxu.zhuo@intel.com
Detect 2-level memory configurations and notify the 'skx_common' library
to enable ADXL 2-level memory error decoding.
Tested-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20251119134132.2389472-7-qiuxu.zhuo@intel.com
The allowed maximum number of row bits for DRAM chips in the Diamond
Rapids server processor is up to 19. Extend the current maximum row
bits from 18 to 19.
Tested-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20251119134132.2389472-6-qiuxu.zhuo@intel.com
Intel Diamond Rapids CPUs include Integrated Memory and I/O Hubs (IMH).
The memory controllers within the IMHs provide memory stacks to the
processor. Create a new driver for this IMH-based memory controllers
rather than applying additional patches to the existing i10nm_edac.c
for the following reasons:
1) The memory controllers are not presented as PCI devices; instead,
the detection and all their registers have been transitioned to
MMIO-based memory spaces.
2) Validation processes are costly. Modifications to i10nm_edac would
require extensive validation checks against multiple platforms,
including Ice Lake, Sapphire Rapids, Emerald Rapids, Granite Rapids,
Sierra Forest, and Grand Ridge.
3) Future Intel CPUs will likely only need patches on top of this new
EDAC driver. Validation can be limited to Diamond Rapids servers
and future Intel CPU generations.
[Tony: Fix kerneldoc for struct local_reg]
[randconfig: Added dependencies on NFIT and DMI]
Tested-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20251119134132.2389472-5-qiuxu.zhuo@intel.com
Call paths leading to __virt_pg_map() are currently:
(a) virt_pg_map() -> virt_arch_pg_map() -> __virt_pg_map()
(b) virt_map_level() -> __virt_pg_map()
For (a), calls to virt_pg_map() from kvm_util.c make sure they update
vm->vpages_mapped, but other callers do not. Move the sparsebit_set()
call into virt_pg_map() to make sure all callers are captured.
For (b), call sparsebit_set_num() from virt_map_level().
It's tempting to have a single the call inside __virt_pg_map(), however:
- The call path in (a) is not x86-specific, while (b) is. Moving the
call into __virt_pg_map() would require doing something similar for
other archs implementing virt_pg_map().
- Future changes will reusue __virt_pg_map() for nested PTEs, which should
not update vm->vpages_mapped, i.e. a triple underscore version that does
not update vm->vpages_mapped would need to be provided.
Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev>
Link: https://patch.msgid.link/20251021074736.1324328-12-yosry.ahmed@linux.dev
Signed-off-by: Sean Christopherson <seanjc@google.com>
Replace __virt_pg_map() calls in tests by high-level equivalent
functions, removing some loops in the process.
No functional change intended.
Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev>
Link: https://patch.msgid.link/20251021074736.1324328-11-yosry.ahmed@linux.dev
Signed-off-by: Sean Christopherson <seanjc@google.com>
Mauro says:
That's the final series to complete the migration of documentation
build: it converts get_feat from Perl to Python.
V2 is technically identical to v1: the only difference is that it
now uses tools/lib/python/feat to store the library logic.
With that, no Sphinx in-kernel extensions use fork anymore to call
ancillary scripts: everything is now importing Python methods
directly from the libraries.
There's nothing special on this conversion: it is a direct translation,
almost bug-compatible with the original version (*).
(*) I did solve two or three caveats on patch 1.
Most of the complexity of the script relies at the logic to produce
ReST tables. I do have here on my internal scripts a (somewhat) generic
formatter for ReST tables in Python. I was tempted to convert the logic
to use it, but, as this could cause regressions, I opted to not do it
right now, mainly because the matrix table logic is complex. Also,
I'm tempted to modify a little bit the output there, but extra tests
are required to see if PDF output would work with complex tables (I
remember I had a problem with that in the past). So, I'm postponing
such extra cleanup.
Now that this was rewritten in Python, we can remove the old
tool.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <1f53e0fa48616af189ce98b45a65cc0c245e7aaf.1763492868.git.mchehab+huawei@kernel.org>
Now that get_feat is in Python, we don't need to use subprocess
to fork an executable file: we can use the feature classes
directly.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <c59d2542d7cc914fd5f8c84df966e63adc924cdc.1763492868.git.mchehab+huawei@kernel.org>
As we want to call Python code directly at the Sphinx extension,
convert get_feat.pl to Python.
The code was made to be (almost) bug-compatible with the Perl
version, with two exceptions:
1. Currently, Perl script outputs a wrong table if arch is set
to a non-existing value;
2. the ReST table output when --feat is used without --arch
has an invalid format, as the number of characters for the
table delimiters are wrong.
Those two bugs were fixed while testing the conversion.
Additionally, another caveat was solved:
the output when --feat is used without arch and the feature
doesn't exist doesn't contain an empty table anymore.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <03c26cee1ec567804735a33047e625ef5ab7bfa8.1763492868.git.mchehab+huawei@kernel.org>
IRQF_SHARED is the only flag handled in __serial8250_isa_init_ports()
and serial8250_probe_platform(). There is no need to precompute the
flags. Instead, initialize port->irqflags directly in the for loop.
Note the "if (bool)" is cheap and these are not hot paths anyway.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119092457.826789-7-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8250_core is the only place where skip_txen_test is used. And platform
and core end up in 8250.ko, so there is no change in module name (param
prefix). Therefore, move skip_txen_test there and make it local.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119092457.826789-5-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
In 3.7, 8250 was unintentionally renamed to 8250_core. This happened in
the commit 835d844d1a (8250_pnp: do pnp probe before legacy probe).
This made 8250.<xxxx> module options effectively defunct. Instead,
8250_core.<xxxx> worked.
In 3.9, the commit f2b8dfd9e4 (serial: 8250: Keep 8250.<xxxx> module
options functional after driver rename) made the original options work
again by introducing a hack.
Later in 3.9, the commit 9196d8acd7 (TTY: 8250, revert module name
change) changed the module name back to 8250 (from 8250_core). Since
then, the hack was there to support the transient 8250_core.<xxxx>
options. Those were present only in the 3.7..3.9 range.
These transient options were deprecated by 9326b047e4 (TTY: 8250,
deprecated 8250_core.* options) in v3.9 too.
Now, after those 12 years, it is time to get rid of this hack
completely.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119092457.826789-4-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Provided the uart driver is available globally, there is no need to
store a pointer to it in struct cdns_uart. Instead, use the global
cdns_uart_uart_driver in the code directly.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Acked-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/20251119092457.826789-3-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use guards in the serial_core code. This improves readability, makes
error handling easier, and marks locked portions of code explicit. All
that while being sure the lock is unlocked.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-11-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Neither uart_do_autoconfig(), nor uart_wait_modem_status() can return
-ENOIOCTLCMD. The ENOIOCTLCMD checks are there to check if 'cmd' matched
against TIOCSERCONFIG, and TIOCMIWAIT respectively. (With 0 or error in
'ret', it does not matter.)
Therefore, the code can simply return from the TIOCSERCONFIG and
TIOCMIWAIT spots immediately.
To be more explicit, use 'if' instead of switch-case for those single
values.
And return without jumping to the 'out' label -- it can be removed too.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-10-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use guards in the vt/keyboard code. This improves readability, makes
error handling easier, and marks locked portions of code explicit. All
that while being sure the lock is unlocked.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-9-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Return immediately when something goes wrong in vt_do_kbkeycode_ioctl().
This makes the code flow more obvious.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-8-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The vt/keyboard code can use __free to ensure the temporary buffers are
freed. Perform the switch.
And even one non-temporary in kbd_connect(). There are fail paths, so
ensure the buffer is freed in them and not when returning 0 -- by
retain_and_null_ptr().
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-7-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use guards in the moxa code. This improves readability, makes error
handling easier, and marks locked portions of code explicit. All that
while being sure the lock is unlocked.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-6-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use guards in the n_hdlc code. This improves readability, makes error
handling easier, and marks locked portions of code explicit. All that
while being sure the lock is unlocked.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-5-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The cases in the switch() of n_hdlc_tty_ioctl() can return immediately
-- no need to store into error and return later.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-4-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use guards in the n_tty code. This improves readability, makes error
handling easier, and marks locked portions of code explicit. All that
while being sure the lock is unlocked.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-3-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use guards in the pty code. This improves readability, makes error
handling easier, and marks locked portions of code explicit. All that
while being sure the lock is unlocked.
pty_set_pktmode() is handled specially -- the conditions are inverted
and return called if conditions unmet. This avoid double nested 'if's.
The variable is renamed to want_pktmode so it is not confused with the
current state of pktmode.
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-2-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch updates the Linux documentation for cscope, fixing two issues:
1. Corrects the typo in the command line:
c"scope -d -p10 -> cscope -d -p10
2. Fixes the related documentation comment for clarity and correctness:
cscope by default cscope.out database.
->
cscope by default uses the cscope.out database.
Signed-off-by: Jiakai Xu <jiakaiPeanut@gmail.com>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <20251119065727.3500015-1-jiakaiPeanut@gmail.com>
Apparently as of version 2.42, glibc headers define AT_RENAME_NOREPLACE
and some of the other flags for renameat2() and friends in <stdio.h>.
Which would all be fine, except for inexplicable reasons glibc decided
to define them _differently_ from the kernel definitions, which then
makes some of our sample code that includes both kernel headers and user
space headers unhappy, because the compiler will (correctly) complain
about redefining things.
Now, mixing kernel headers and user space headers is always a somewhat
iffy proposition due to namespacing issues, but it's kind of inevitable
in our sample and selftest code. And this is just glibc being stupid.
Those defines come from the kernel, glibc is exposing the kernel
interfaces, and glibc shouldn't make up some random new expressions for
these values.
It's not like glibc headers changed the actual result values, but they
arbitrarily just decided to use a different expression to describe those
values. The kernel just does
#define AT_RENAME_NOREPLACE 0x0001
while glibc does
# define RENAME_NOREPLACE (1 << 0)
# define AT_RENAME_NOREPLACE RENAME_NOREPLACE
instead. Same value in the end, but very different macro definition.
For absolutely no reason.
This has since been fixed in the glibc development tree, so eventually
we'll end up with the canonical expressions and no clashes. But in the
meantime the broken headers are in the glibc-2.42 release and have made
it out into distributions.
Do a minimal work-around to make the samples build cleanly by just
undefining the affected macros in between the user space header include
and the kernel header includes.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Better split CONFIG_DRM_XE_DEBUG and CONFIG_DRM_XE_DEBUG_GUC optional
parts from the main code, creating smaller ct_dead_* and fast_req_*
interfaces.
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patch.msgid.link/20251119152157.1675188-2-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
The row/column bounds (for a screen window box) are changed from
'offset one' to 'offset zero' and bound to the screen size using:
v->xs = min_t(u16, v->xs - 1, vc->vc_cols - 1);
This has the side effect of converting zero to the limit.
A check I'm adding to min_t() reports that (u16)(v->xs - 1) (etc)
discards signiticant bits (because v->xs is promoted to 'int' before
the addition).
If v->xs is zero (it comes from userspace) it converts -1 to 0xffff.
This is then bounded to 'vc->vc_cols - 1' which will be fine.
Replace with:
v->xs = umin(v->xs - 1, vc->vc_cols - 1);
which again converts a -1 to unsigned - this time to 0xffffffff,
with the same overall effect.
Whether zero is meant to mean the 'maximum size' is unknown.
I can't find any documentation for the ioctl and it pre-dates git.
Detected by an extra check added to min_t().
Signed-off-by: David Laight <david.laight.linux@gmail.com>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119224140.8616-28-david.laight.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The ACPI ECRD and ECWR functions have a 10ms sleep at the end. It turns
out, that this is sometimes needed to avoid I2C transmission failures,
especially for functions doing regmap_update_bits (and thus read + write
shortly after each other). This fixes problems like the following
appearing in the kernel log:
leds platform::micmute: Setting an LED's brightness failed (-6)
leds platform::kbd_backlight: Setting an LED's brightness failed (-6)
The ACPI QEVT function used to read the interrupt status register also
has a 10ms sleep at the end. Without that there are problems with
reading multiple events following directly after each other resulting
in the following error message being logged:
thinkpad-t14s-ec 4-0028: Failed to read event
Fixes: 60b7ab6ce0 ("platform: arm64: thinkpad-t14s-ec: new driver")
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Link: https://patch.msgid.link/20251119-thinkpad-t14s-ec-improvements-v2-2-441219857c02@kernel.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Fix a race condition, that an input key related interrupt might be
triggered before the input handler has been registered, which results
in a NULL pointer dereference. This can happen if the user enables
the keyboard backlight shortly before the driver is being probed.
This fixes the following backtrace visible in dmesg:
Unable to handle kernel NULL pointer dereference at virtual address 00000000000000e0
...
Call trace:
sparse_keymap_report_event+0x2c/0x978 [sparse_keymap] (P)
t14s_ec_irq_handler+0x190/0x3e8 [lenovo_thinkpad_t14s]
irq_thread_fn+0x30/0xb8
irq_thread+0x18c/0x3b0
kthread+0x148/0x228
ret_from_fork+0x10/0x20
Fixes: 60b7ab6ce0 ("platform: arm64: thinkpad-t14s-ec: new driver")
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Reviewed-by: Bryan O'Donoghue <bod@kernel.org>
Link: https://patch.msgid.link/20251119-thinkpad-t14s-ec-improvements-v2-1-441219857c02@kernel.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Merge series from Andreas Kemnade <andreas@kemnade.info>:
Add a driver for the FP9931/JD9930 regulator which provides the
comparatively high voltages needed for electronic paper displays.
Datasheet for the FP9931 is at
https://www.fitipower.com/dl/file/flXa6hIchVeu0W3K
Although it is in English, it seems to be only downloadable
from the Chinese part of that website.
For the JD9930 there can be a datasheet found at
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/196/JD9930_2D00_0.7_2D00_JUN_2D00_2019.pdf
To simplify things, include the hwmon part directly which is only
one register read and there are not other functions besides
regulators in this chip.
========
- Add support for Telit FE990B40 and Foxconn T99W760 modems
MHI Endpoint
============
- Make 'struct mhi_ep_bus_type' const as the driver core now handles the const
bus_type.
- Add WQ_PERCPU flag to alloc_workqueue() as a part of the workqueue refactoring
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEZ6VDKoFIy9ikWCeXVZ8R5v6RzvUFAmkgj6gACgkQVZ8R5v6R
zvUiTggAm2Xffypxmu5mHOVf5BOeu5d+rJjxBm+vzJQKAUYGxqu6Cj0GjwO2auMh
ZA5GLWGcTipbGwSqG6noVF0DnaG1/bOKoHgxBewuWVGb5ha3YJBG+iSn0ochbfpE
Dij7wbIhEoCNVtZhTsjI8A5L8+WwYpK3jvtM86hTsfztivQ7b+ynwafDlFZXQsOM
YhUYPrUceMrqTY25qaU/Zjg+vjXw6/H50JMgrBhlmNVhatoiAWQXmMDkppKaQb/2
Krj0P+pQe7ODrhxJtOb+gyKwXcUZMv5D2GupDxWu+Pgj69gA9ZgCEibMQPl+KoCy
6RIc/tpIKkOpL13PvRVv5BFiHI7NWQ==
=3rCp
-----END PGP SIGNATURE-----
Merge tag 'mhi-for-v6.19' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next
Manivannan writes:
MHI Host
========
- Add support for Telit FE990B40 and Foxconn T99W760 modems
MHI Endpoint
============
- Make 'struct mhi_ep_bus_type' const as the driver core now handles the const
bus_type.
- Add WQ_PERCPU flag to alloc_workqueue() as a part of the workqueue refactoring
* tag 'mhi-for-v6.19' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi:
bus: mhi: host: pci_generic: Add Foxconn T99W760 modem
bus: mhi: ep: add WQ_PERCPU to alloc_workqueue users
bus: mhi: host: pci_generic: Add Telit FE990B40 modem support
bus: mhi: ep: Make mhi_ep_bus_type const
Introduce support for the Redxa Dragon Q6A development board, the Huawei
MateBoot E 2019, the Asus ZenFone 2 Laser/Selfie, the MSM8937 platform
and the Xiaomo Redmi 3S device based on it.
SoC dtsi files for Agatti, Hamoa, Kodiak, Monaco, Purwa, and Talos, are
renamed in order to better facilitate the addition of new boards on the
various SKUs of these.
Cooling maps are introduced for the CPU cores in IPQ5424, and the
network subsystem clock controller is added.
On Lemans, RTC is enabled, the EVK fan controller is described and a
camera mezzanine overlay is introduced.
Touchscreen support is added to the BQ Aquaris M5, and the touchscreen
from Samsung Galaxy Core Prime is moved to the common platform to
benefit the other devices sharing common definitions.
On Agatti two more UARTs are described, as well as APR and the related audio
services, and the LPASS LPI pin controller. The RB1 board gets HDMI
autio playback support.
On Kodiak-based targets, Fairphone FP5 gains definitions of the UW camera
actuator, regulator for the ToF sensor, and haptic module. The SHIFT
SHIFTphone 8 gains RGB and flash LEDs, and Venus support. The Rb3Gen2
development board gets QUP firmware path defined, to support dynamic
loading of the serial engine firmware. Kodiak also gains Coresight
devices for AOSS and QDSS blocks.
Display support is added for the Talos platform, and enabled on the Ride
board. Talos also gains the definitions to scale DDR and L3
interconnects.
On SC8280XP, the camera privacy indicator on Lenovo Thinkpad X13s is
connected to the camera stack. Off-by-one GPI DMA channels are
corrected.
The SDM845-based LG and OnePlus custom defined rmtfs guard pages are
replaced with the inline-support for guard pages.
SDX75 DWC3 node is flattened and marked for USB role switching.
On SM8550, the camera subsystem and the S5K3M5 camera sensor is
introduced for the QRD, and an overlay for the "Rear Camera Card" for
the Hardware Development Kit (HDK) is introduced.
USB support is introduce for the SM8750 platform, and enabled in the MTP
and QRD devices.
On Hamoa, like on other devices the Asus Zenbook A14 definition of the
eDP panel is reworked to support both LCD and OLED configurations. WiFi
and Bluetooth is also enabled on the A14. The CRD gains support for
controlling charge limits.
The refgen regulator supplying DSI is defined and wired up on a variety
of platforms.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmkboocACgkQCx85Pw2Z
rcV6MA//Z1EblvoqVAMZjmSDbKqy//2v8U1xHVQvAyOYXvXSvtvwJxgSikzFb2Vw
Od3/qW+o9GC6Cb+JrWblaehlUpNxnbVXQGwdq0SAZr0A3pG0SXbiUSzDNRVQx5N9
8DPt8gFtz/+Ac3tNsQe5Do6yZJpCwX+PhVeJ0SBQ6JKaKWaSisK1M8OMQyQHxGEu
5S5T9FK4NL8EU+8yYz8vPvC12kcn4pVJpaMg28ie03HE3m4QXxZ/4C9cJts7+H0B
Kvv3oVPx3ItbmU4a3/Xqi1HRVOngY3HyXChO6qX2q2ogLbbTw0ZAnebsTLGRKtkW
tb6PniTN/d7ZUKsIbyTomgDwbXZymWnoP3xq2NASyqbiCBxz8sVRUxfUTiAJWWcP
YYhROngR7A/1Oa32ZSlScyVnqYdcT6/0h14m3F/D3PO+uptXbSM1PcHF3KB55ZLa
Kv/5atlGt47nL173CI6fNqGGnmDyPuIk1UkhDZOi2zVSbaHxqxNbryEq18kbfEgt
0ojAEZQkKzq19VDvUvZOGKfwCmYOLJGW04l+NL8cMWELh6XXX1udqx9Qheddp0NI
M0nCMSU+x4TLzoVPWYyl9nk6B5uBMp7AnrfYxwYQ/Ci7wTldTC/AqSMG7pdEYCWo
Vvs+Tff9xc68ZB1gpCaj7+/11Qm6DpJee3BxyEdSnvEOCragl+A=
=RdUz
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgkksACgkQmmx57+YA
GNlWwxAAxY8UP1iMwmQvT2bnmknxHKeklkB2gGKNZYBFwOsm4NZAm21+qlBMuq7Z
4TAlUBR6DnA4W63jL+Y/tDKIow1nlh9aHIGEeSWuYgIvF3/3oLx0tD7TuEuho2cf
F8utccYN+0te1zV9dWxZWUNrrEKE/E7SZG6uM5f298aQuTdGeMtIQ+Sm+ltmSSxl
rHYBLrZ1CbmYxgpcQJMGU7ahGgPvjAzgH0GP4I99JpzhkmasCdU1L/CZc84ApL5r
+SnCw3kxh2TGYxZ9IRvroMAJvohfXdLGmWJUABHYIzx3bnRsMh+XitOk18Ttf917
X3wDK3oB6M5uBk7GGC+UpblW5kc0K+vlZuv3Cxd8H9Gxy5RxUpw2zASJVYaXnKik
jhDScQ1+Ypb9iHE1BMwnAUry3Q3d4NZxwVuefVxsNdDXY83rzt8TswaLTpbiOXXu
kQ8VqFPIsVOgMibydQQb5neClaqJ0tkSqXEfHbb6CC5LwEL1mgbMT1M7CiJLfGt/
cHhLEYUrynMlryijMjf1SR36P8Cw9c6+xwxi5iu/zplfrSHmxIQEg4uYP6E5ZOmD
4LSfdMQs+6+jNFcExXsHryglTtOakEO2TP4vg5SSYToPRUGGkOY4O58oamgGU8g7
KEcGE902H19+fahAVgOxwZnmWGlpZAtjvd/g5UTiFLPiJ+4VrzI=
=LTIM
-----END PGP SIGNATURE-----
Merge tag 'qcom-arm64-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt
Qualcomm Arm64 DeviceTree updates for v6.19
Introduce support for the Redxa Dragon Q6A development board, the Huawei
MateBoot E 2019, the Asus ZenFone 2 Laser/Selfie, the MSM8937 platform
and the Xiaomo Redmi 3S device based on it.
SoC dtsi files for Agatti, Hamoa, Kodiak, Monaco, Purwa, and Talos, are
renamed in order to better facilitate the addition of new boards on the
various SKUs of these.
Cooling maps are introduced for the CPU cores in IPQ5424, and the
network subsystem clock controller is added.
On Lemans, RTC is enabled, the EVK fan controller is described and a
camera mezzanine overlay is introduced.
Touchscreen support is added to the BQ Aquaris M5, and the touchscreen
from Samsung Galaxy Core Prime is moved to the common platform to
benefit the other devices sharing common definitions.
On Agatti two more UARTs are described, as well as APR and the related audio
services, and the LPASS LPI pin controller. The RB1 board gets HDMI
autio playback support.
On Kodiak-based targets, Fairphone FP5 gains definitions of the UW camera
actuator, regulator for the ToF sensor, and haptic module. The SHIFT
SHIFTphone 8 gains RGB and flash LEDs, and Venus support. The Rb3Gen2
development board gets QUP firmware path defined, to support dynamic
loading of the serial engine firmware. Kodiak also gains Coresight
devices for AOSS and QDSS blocks.
Display support is added for the Talos platform, and enabled on the Ride
board. Talos also gains the definitions to scale DDR and L3
interconnects.
On SC8280XP, the camera privacy indicator on Lenovo Thinkpad X13s is
connected to the camera stack. Off-by-one GPI DMA channels are
corrected.
The SDM845-based LG and OnePlus custom defined rmtfs guard pages are
replaced with the inline-support for guard pages.
SDX75 DWC3 node is flattened and marked for USB role switching.
On SM8550, the camera subsystem and the S5K3M5 camera sensor is
introduced for the QRD, and an overlay for the "Rear Camera Card" for
the Hardware Development Kit (HDK) is introduced.
USB support is introduce for the SM8750 platform, and enabled in the MTP
and QRD devices.
On Hamoa, like on other devices the Asus Zenbook A14 definition of the
eDP panel is reworked to support both LCD and OLED configurations. WiFi
and Bluetooth is also enabled on the A14. The CRD gains support for
controlling charge limits.
The refgen regulator supplying DSI is defined and wired up on a variety
of platforms.
* tag 'qcom-arm64-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (138 commits)
arm64: dts: qcom: sdx75: Add missing usb-role-switch property
arm64: dts: qcom: sdx75: Flatten usb controller node
arm64: dts: qcom: HAMOA-IOT-SOM: Unreserve GPIOs blocking SPI11 access
arm64: dts: qcom: qrb2210-rb1: Fix UART3 wakeup IRQ storm
Revert "arm64: dts: qcom: sc7280: Increase config size to 256MB for ECAM feature"
arm64: dts: qcom: kodiak: add coresight nodes
arm64: dts: qcom: sdm845-oneplus: Describe TE gpio
arm64: dts: qcom: sdm845-oneplus: Implement panel sleep pinctrl
arm64: dts: qcom: sdm845-oneplus: Group panel pinctrl
arm64: dts: qcom: sdm845-oneplus: Update compatbible and add DDIC supplies
arm64: dts: qcom: qcs6490-rb3gen2: Rename vph-pwr regulator node
arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator
arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up
arm64: dts: qcom: sm8750: Add USB support for SM8750 QRD platform
arm64: dts: qcom: sm8750: Add USB support for SM8750 MTP platform
arm64: dts: qcom: sm8750: Add USB support to SM8750 SoCs
arm64: dts: qcom: rename x1p42100 to purwa
arm64: dts: qcom: rename sc7280 to kodiak
arm64: dts: qcom: rename qcm2290 to agatti
arm64: dts: qcom: add gpu_zap_shader label
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
In addition to a variety of cleanups and reordering of nodes, four GSBIs
are added to the MSM8960 platform.
On the MSM8226-based Samsung Galaxy Grand 2, a simple framebuffer is
defined.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmkbjFQACgkQCx85Pw2Z
rcUlHw/+K8adIII7QVhObueXTPbC+/ZfRLfuXycJfULJOpCcZrC8WKIonUHwilCZ
thsvNDzzHMyWe3xjR5dD1uSvofwTYn3cL8I0QVBg4rX1q8dUGm298lg8l4JBHGRW
6VFyBtHfrl4lyhnIld3qqbtcMBlTqIFoKCTWUESx5Is694dFjK3S2pqHgRhBdA3W
KKTcoabBAwVXwPx4wECtmQe25taYrc/6LDbyTuIibdxdTK7gA93UJt3GJfxFGY4g
aRxIkH33PmAL1eoJDz5fIf7M5uFLTtNR9X25sEAaWSn8Q893cVmYudVE4xHbHBYt
j/AaSnYTzypUqkFRLzSRqO27MdfgowvZVpXJEmVsfbBUxGLpRGNQykJ+y9XLZYQH
vJspxFaW6xHbk5sxM6ZWnQONVAdZf5RNnvpehUNuNLJaCNu2j8Ty6KYcfa1lstcB
K//slQZDhWdNK3pdjJtrVzuNtcGONl1Mw+KBMtZRS/vSyYRRJ0wg0GRSUVidSTUZ
2u7E75xtqGXFMdtp/BMkSr2oJUdzUWxmiO2RG0iQJuoaMBV8nQ5i3sOSrJO4yYh9
BWHH5tPkmRkNOwUP5xll8L5SH4RKyNt3BrqJ4biTGBGe1KOALZuNUz9r3Y0G4bZZ
GLoYA9qzIT+E2XNeF1m81Uknd69zE1ReOvpEIhRVqKK5TZF4i8o=
=i4fQ
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgkgEACgkQmmx57+YA
GNlxtg//XT0FJ9u8scGRn6RCbXb+fjVec/VRJMfuY0oLcwPbw3LUVSK00SF1LqVQ
HDdPXrxmCZE7RWKBA7MdMK0alj0tAjpYhMEfWnZMvQm9Y1i+y3jMC2DESSHdpNeQ
T01VG+evKQopEwEX4n+HPxs1Fbg9JJLu/4P7Eaplrj/k5SSbQZ1vxvNLDFQGUB/8
hE4W0kDImi4xx24t7oYHD6EiZJkTH1mfUhBnCxWDRBrk9V2q4PzUy4CoOMVIZyza
UWssPfBGM0yVdVuMOwM9BrpbD1mXMT55Y53MROEPR6/krs2HTDKp9MQsK9z6YHF2
MtU9QI0A/Q7vJGiouW6HqAAXghf+XC1bB1IW2fx/bXC1Go4dcgY3594msoRwHLet
YZ9LKUV7I/kdjHp9IeWQSFddnAjT+Wqek5HTlOuJtOPed23UFJcsvf40U4Hkxwgb
Sthms4lJo2CFv+buEjE9lKCfDsOGWf0s8OxBdPKijgKQ7DR2BE1kh5qMRbe5MQt1
QV1r9Bhl9N9IP+hG69gW7NfJYEWpycqHTtG1Skxf9jp5OQ2DrDfZmvGstnNu3xTh
+oFWMzZSlvrAxQiVtOqyxxGm8cOx0+5irp/1PL7p3R3VfEo5Wf4NeJiGgg4QX0Vc
c2193ON0QbNsOMxcMHCv37gcij1c54P2tcMfYHMqXMznreIFb1M=
=8ZP9
-----END PGP SIGNATURE-----
Merge tag 'qcom-arm32-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt
Qualcomm Arm32 DeviceTree updates for v6.19
In addition to a variety of cleanups and reordering of nodes, four GSBIs
are added to the MSM8960 platform.
On the MSM8226-based Samsung Galaxy Grand 2, a simple framebuffer is
defined.
* tag 'qcom-arm32-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
ARM: dts: qcom: msm8226-samsung-ms013g: add simple-framebuffer
ARM: dts: qcom: msm8960: rename msmgpio node to tlmm
ARM: dts: qcom: msm8960: add I2C nodes for gsbi1 and gsbi8
ARM: dts: qcom: msm8960: add I2C nodes for gsbi10 and gsbi12
ARM: dts: qcom: msm8960: inline qcom-msm8960-pins.dtsi
ARM: dts: qcom: msm8960: reorder nodes and properties
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The selective fetch code doesn't handle asycn flips correctly.
There is a nonsense check for async flips in
intel_psr2_sel_fetch_config_valid() but that only gets called
for modesets/fastsets and thus does nothing for async flips.
Currently intel_async_flip_check_hw() is very unhappy as the
selective fetch code pulls in planes that are not even async
flips capable.
Reject async flips when selective fetch is enabled, until
someone fixes this properly (ie. disable selective fetch while
async flips are being issued).
Cc: stable@vger.kernel.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251105171015.22234-1-ville.syrjala@linux.intel.com
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
WCD934x provides register read/write interface to soundwire controller via
slimbus. Eventhough there was no direct compile time dependency for
this so far, however after adding common wcd functions this dependency
became explict.
We can either move the soundwire specific bits from wcd-common to wcd-sdw.c or
something on those lines or explicity add this dependency in Kconfig.
Moving this wcd-sdw can fix reported compile issue but it does not make
sense to select this codec without soundwire configs.
Given the fact that WCD934x is very much providing soundwire functionality
it is better to specify the soundwire dependency explicity in Kconfig
which should also fix the below compile time error with combination
of wcd934x a built-in and soundwire a module and also allow this codec
selection only when soundwire is available.
Error log:
wcd-common.c:undefiined reference to `sdw_write'
sound/soc/codecs/wcd-common.o: in function `wcd_bus_config':
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202511210405.zd9wig5Z-lkp@intel.com/
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20251121143258.229138-1-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Generic fixes and cleanups:
* Multiple SoCs: Disable CPSW in SoC files and
enable them in board files for better board-level control
* Replace rgmii-rxid with rgmii-id for CPSW ports across multiple boards
New Boards/SoM:
* AM62L SoC and basic support for EVM
* Toradex Aquila AM69 board support
* Kontron SMARC-sAM67 module and ADS2 carrier board support
Platform wide:
* Define possible system states amd wakeup-source (AM62/AM62A/AM62P)
SoC/EVM specific changes:
AM62:
* Add RNG node
* Add OLDI support
AM62P:
* Move audio_refclk to common main dtsi (k3-am62p-j722s-common-main)
* Fix memory ranges for GPU
AM62D2:
* Enable PMIC support on EVM
* Misc fixes
AM64:
* Add DMA support for TSCADC on EVM
AM69:
* Add Aquila board support with Clover variant
J722S:
* Fix audio refclk source in main dtsi
* Explicitly use PLL1_HSDIV6 audio refclk for EVM
J784S4/J742S2:
* Add bootph-all tag to support PCIe boot
Variscite VAR-SOM-AM62P:
* Add support for ADS7846 touchscreen
* Add support for WM8904 audio codec
-----BEGIN PGP SIGNATURE-----
iIYEABYIAC4WIQRQBrqaOmQ441h4YbUDQj8NV+8d1wUCaRsqDxAcdmlnbmVzaHJA
dGkuY29tAAoJEANCPw1X7x3XFToA+gNkH7OUSDRjd9HzxMx4glX6M+xATZcnY/zE
I1WUjnxtAQDR9gkHlpv1hm2IB1LFyQ4dDEElFCZfMrN/V00L/h9SDw==
=WsF/
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgkCcACgkQmmx57+YA
GNnyPxAAunaG14nwleV0GB1ksGEkaBxN5OG5Dk0DIL74xnJCWuldOmjJ4bm+ypvS
X91ySxIXJ+sYGHDhu69tmVCKyl/6J7n9HYgMbumU5cVED01ptA53wCIamG1L/1sP
g/HXTKhBtlWMaykIg8RX3ojs8imI1ZNsWIs+jy5lOquXS0vSnWi1AUp27adp9owv
vi6fOaqPldkwhUSyxTBophrZJbfx+TiKIP74nMzmPX1gN7HimDy6UQm0VRsIv3lH
rYEQSKSar+yMKGJ3vOgmwxnRYN9zx4uvDSumwgVeg5aDmInylWULWdzjy6Brflnx
e4q8AkrgJEsq7R4jim04NvZXnGoVrX3i5xAkIhRH5agscRjaj5q6FqzRjxFE0mqU
YV/oZVrxOEk27Sc6txyhFXXplG3GbOh3ABJpwVv+DWAEJTcIeTkM/24NHjHUKt+h
PBss1MBBVyHJMLjpMUTiCFcW/YdFOUanVThFJZP87OnNz721sucl8Es+MlFIhuLw
am8R7scBWvdVqL0I6hdleprLoT6wEk9YbDO6bEWWqz5n18C0qoakc4Pv2q5adNBO
E6ydVhAbaWtk9ZhE3BpFJNQIs44NYnXpX46CrhCRpj96SA5KkVUoDlX9pZ5o/lqY
EAuX1j/xG8gFxPxaTxCjYpTgJX2Dhhpg9WY5pX5eGJ9UNZAIe+c=
=NYBr
-----END PGP SIGNATURE-----
Merge tag 'ti-k3-dt-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt
TI K3 device tree updates for v6.19
Generic fixes and cleanups:
* Multiple SoCs: Disable CPSW in SoC files and
enable them in board files for better board-level control
* Replace rgmii-rxid with rgmii-id for CPSW ports across multiple boards
New Boards/SoM:
* AM62L SoC and basic support for EVM
* Toradex Aquila AM69 board support
* Kontron SMARC-sAM67 module and ADS2 carrier board support
Platform wide:
* Define possible system states amd wakeup-source (AM62/AM62A/AM62P)
SoC/EVM specific changes:
AM62:
* Add RNG node
* Add OLDI support
AM62P:
* Move audio_refclk to common main dtsi (k3-am62p-j722s-common-main)
* Fix memory ranges for GPU
AM62D2:
* Enable PMIC support on EVM
* Misc fixes
AM64:
* Add DMA support for TSCADC on EVM
AM69:
* Add Aquila board support with Clover variant
J722S:
* Fix audio refclk source in main dtsi
* Explicitly use PLL1_HSDIV6 audio refclk for EVM
J784S4/J742S2:
* Add bootph-all tag to support PCIe boot
Variscite VAR-SOM-AM62P:
* Add support for ADS7846 touchscreen
* Add support for WM8904 audio codec
* tag 'ti-k3-dt-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (42 commits)
arm64: dts: ti: k3-am62l: add initial reference board file
arm64: dts: ti: k3-am62l: add initial infrastructure
dt-bindings: arm: ti: Add binding for AM62L SoCs
arm64: dts: ti: am69-aquila: Add Clover
arm64: dts: ti: Add Aquila AM69 Support
dt-bindings: arm: ti: add Toradex Aquila AM69
arm64: dts: ti: k3-j721s2: disable "mcu_cpsw" in SoC file and enable in board files
arm64: dts: ti: k3-j721e: disable "mcu_cpsw" in SoC file and enable it in board file
arm64: dts: ti: k3-j7200: disable "mcu_cpsw" in SoC file and enable in board file
arm64: dts: ti: k3-am65: disable "mcu_cpsw" in SoC file and enable in board file
arm64: dts: ti: k3-am62: disable "cpsw3g" in SoC file and enable in board file
arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states
arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states
arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states
arm64: dts: ti: k3-am62p: Define possible system states
arm64: dts: ti: k3-am62a: Define possible system states
arm64: dts: ti: k3-am62: Define possible system states
arm64: dts: ti: k3-am62p-j722s-common-main: move audio_refclk here
arm64: dts: ti: k3-*: Replace rgmii-rxid with rgmii-id for CPSW ports
arm64: dts: ti: k3-am642-tqma64xxl: add boot phase tags
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- New board support: Protonic PRT8ML, Toradex SMARC iMX95, Skov Rev.C
HDMI, i.MX 95 Verdin Evaluation KitPHYTEC phyBOARD-Segin-i.MX91 board,
Skov i.MX8MP variant
- A series from Alexander Stein to clean up and improve imx95-tqma9596sa
board support
- Add MicIn routing support for mba8mx boards
- A couple of patch sets from Frank Li to clean up dt-schema warnings
and add more device support for imx8dxl and imx8qxp boards
- A series from Ioana Ciornei to add FPGA based GPIO controller and SFP+
cages for layerscape boards
- A change from Jan Petrous to add GMAC Ethernet for S32G2 EVB, RDB2 and
S32G3 RDB3 boards
- A series from Markus Niebel to improve imx95-tqma9596sa board support
- A couple of changes from Martin Kepplinger-Novaković to enable cpuidle
cooling device support for imx8mp
- A series from Max Krummenacher to clean up todo and add thermal
support for imx8-apalis board
- A series from Primoz Fiser to add USB vbus regulators, jtag and
pwm-fan overlay for imx93-phyboard
- A couple of series from Richard Zhu to add supports-clkreq property
and vpcie3v3aux regulator for PCIe M.2 device
- A series from Stefano Radaelli to add WiFi, BT, PMIC, WM8904 audio,
and ADS7846 touchscreen support for imx93-var-som
- A series from Tim Harvey to make some cleanups for imx8mm-venice
boards
- A change from Xu Yang to add DDR Perf Monitor support for i.MX94
- Other small and random changes
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmkbFHAACgkQUFdYWoew
fM5y0wf/YnC7hMRbEAI46n5iWqD0nUU/N8E4U5wjHMaOM+dak4c/Zc5UflcwHaih
1sk+Tqjf5rZPa6Wo3+ljjQMXihRMYsuhHX47x6000gojC1I/HyBxJ7jIEEw1wIcs
iEBfneH6kcdLnEg8LAXXOBkqca4a5UEALj9KY3xIIgVqmZFzRE+c2dkqhPVhojWK
fSKgiPHFiZA2ds2OatxloGwV5TCvR6LjpmZBIwpBzPlH6AGo8y4sb0S6T03YNzRg
x2h+lR0WdACTDkOG7ntf0B+M/nWZLsO3tuMqowLtMbNdjkkp71fcaW6gmY1aeZaG
PVJW88NQ235U38pSuPp1I190ehxsRg==
=J5+d
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgjwQACgkQmmx57+YA
GNm/Sg/+MqZwiNtbPQzrqWwJH0mgP1vHu/fTyOj4SyHVu+SN6N1Sj0/LOTN4ojAu
MEhXuFZbutj7K5gOS1r6oSFrC9/CqnMVZCh+hjtLulCpF3Lww2Z1XEJ9OXc39WzE
naQvUuaFm3QiJ26eHt2mjpMcoBN1XpBftkKcYReCaR4j7ommRq0u7fbhB4S6fvk0
pqJ5dYQC5QUc73Sf/uFX9nuai5m87f90ffH4XsT5FXV+dHjPFBesWnx+ndGiWr3i
DGjQV3VwkB11pkdbGTP5B8nhtro8ChFilQgcafcb/z7VsvXkuJv1ZDPY4dgZ9TyT
8V/mxEVtfCfdSWCpSCa0h5rE0/XR9DYDnhPiz6fAXnr00MJ1MEuq/hkNyx07lGaA
xAk+tfNNHFDL8AVTUmzLN29PkuNVxyEKlgUwwj4qiqMK+oE/ajbEKMfCg3SJN3G6
7paU+x8Abjlwyg0IKeXQwEu72LNRiDsFyMi3kUrAm0/i2Esw2leO4lfedPhpUIGo
DAMP+j838XnzwtV2/hCBY98upQn4bjSG0T9LQrXSb4fF2ysU0+XnFR22Pr4FROuG
kZPWO6uDir76sfE2C6N10Oc7uJxWIggSpO7qjtiTyx3rrSAcT3d672bEim8eBxgV
mCU2P4pqrubQxF0ZMq1e91OwNCOqDHTsM44PKNIv8/EwVtdaL2E=
=QJty
-----END PGP SIGNATURE-----
Merge tag 'imx-dt64-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX arm64 device tree changes for 6.19:
- New board support: Protonic PRT8ML, Toradex SMARC iMX95, Skov Rev.C
HDMI, i.MX 95 Verdin Evaluation KitPHYTEC phyBOARD-Segin-i.MX91 board,
Skov i.MX8MP variant
- A series from Alexander Stein to clean up and improve imx95-tqma9596sa
board support
- Add MicIn routing support for mba8mx boards
- A couple of patch sets from Frank Li to clean up dt-schema warnings
and add more device support for imx8dxl and imx8qxp boards
- A series from Ioana Ciornei to add FPGA based GPIO controller and SFP+
cages for layerscape boards
- A change from Jan Petrous to add GMAC Ethernet for S32G2 EVB, RDB2 and
S32G3 RDB3 boards
- A series from Markus Niebel to improve imx95-tqma9596sa board support
- A couple of changes from Martin Kepplinger-Novaković to enable cpuidle
cooling device support for imx8mp
- A series from Max Krummenacher to clean up todo and add thermal
support for imx8-apalis board
- A series from Primoz Fiser to add USB vbus regulators, jtag and
pwm-fan overlay for imx93-phyboard
- A couple of series from Richard Zhu to add supports-clkreq property
and vpcie3v3aux regulator for PCIe M.2 device
- A series from Stefano Radaelli to add WiFi, BT, PMIC, WM8904 audio,
and ADS7846 touchscreen support for imx93-var-som
- A series from Tim Harvey to make some cleanups for imx8mm-venice
boards
- A change from Xu Yang to add DDR Perf Monitor support for i.MX94
- Other small and random changes
* tag 'imx-dt64-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (122 commits)
arm64: dts: freescale: add Toradex SMARC iMX95
arm64: dts: freescale: tqma9352: Add vcc-supply for spi-nor
arm64: dts: mb-smarc-2: Add MicIn routing
arm64: dts: mba8xx: Add MicIn routing
arm64: dts: mba8mx: Add MicIn routing
arm64: dts: imx8mp: make 'dsp' node depend on 'aips5'
arm64: dts: imx8mp: convert 'aips5' to 'aipstz5'
arm64: dts: imx8mp-skov: add Rev.C HDMI support
arm64: dts: imx8mp: Add missing LED enumerators for DH electronics i.MX8M Plus DHCOM on PDK2
arm64: dts: freescale: Add GMAC Ethernet for S32G2 EVB and RDB2 and S32G3 RDB3
arm64: dts: imx8qm-apalis: add pwm used by the backlight
arm64: dts: imx95-tqma9596sa-mb-smarc-2: add aliases for SPI
arm64: dts: imx95-tqma9596sa-mb-smarc-2: remove superfluous line
arm64: dts: imx95-tqma9596sa-mb-smarc-2: mark LPUART1 as reserved
arm64: dts: imx95-tqma9596sa-mb-smarc-2: Add MicIn routing
arm64: dts: imx95-tqma9596sa: add EEPROM pagesize
arm64: dts: imx95-tqma9596sa: whitespace fixes
arm64: dts: imx95-tqma9596sa: add gpio bus recovery for i2c
arm64: dts: imx95-tqma9596sa: remove superfluous pinmux for usdhci
arm64: dts: imx95-tqma9596sa: remove superfluous pinmux for i2c
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
xe_guc_ct_init_noalloc() allocates the CT workqueue and other helpers
before it tries to initialize ct->lock. If drmm_mutex_init() fails
we currently bail out without releasing those resources because the
guc_ct_fini() hasn’t been registered yet.
Since destroy_workqueue() in guc_ct_fini() may flush the workqueue, which
in turn can take the ct lock, the initialization sequence is restructured
to first initialize the ct->lock, then set up all CT state, and finally
register guc_ct_fini().
v2: guc_ct_fini() does take ct lock. (Matt)
v3: move primelockdep() together with drmm_mutex_init(). (Lucas)
Fixes: dd08ebf6c3 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patch.msgid.link/20251110184522.1581001-2-shuicheng.lin@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>