Merge tag 'ata-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata updates from Niklas Cassel:
- Make ata_generic refuse to bind to non-IDE devices (me)
- Add missing <linux/pm_runtime.h> includes (Vladimir)
- Add pata_cswarp driver for the Amiga CS-Lab Warp card (Paolo)
- Fix a use-after-free and a parport attach bug in pata_parport (Pei)
- Switch ahci_da850 to DEFINE_SIMPLE_DEV_PM_OPS() (Li)
- Documentation and kernel-doc fixes (Karl, Bart, me)
- Remove the broken sata_inic162x driver (Ethan)
- Fix probe() error paths in libata, libahci and several drivers (me)
[45 lines not shown]
[flang][OpenMP] Switch clause verification to descriptor-based (#229527)
Delete all the scattered pieces of clause verification that are now
replaced by the unified handling.
[TableGen] Avoid shadowed variables in TGParser. NFC. (#235743)
Use range-based for loops to parse bit list values, instead of inner
loops whose loop variables shadowed the outer loop's, and remove a
lambda parameter in TGVarScope::getVar that shadowed the enclosing
function's parameter of the same name.
[Support][ELF] Fix swapped --[no-]mmap-output-file (#234404)
#139836 renamed `FileOutputBuffer::F_no_mmap` to `F_mmap` but didn't
negate the check in `FileOutputBuffer::create`.
The bit still selects the in-memory buffer, which writes an anonymous
buffer to the file on commit() instead of mapping the file.
To keep default links unchanged, that PR also flipped lld's
`mmapOutputFile` default to **false**. That hides the inversion for
default links, but since LLVM 21:
- `--no-mmap-output-file` mmaps the output file
- `--mmap-output-file` uses the in-memory buffer
- `--help` still lists `--mmap-output-file` as the default.
Rename the bit to F_in_memory, restore lld's true default, and set the
bit for `--no-mmap-output-file`, so both options mean what they say
again.
[10 lines not shown]
[TableGen] Use TGParser::CurMultiClass instead of passing it around. NFC. (#235742)
Many TGParser functions took a MultiClass parameter, often also named
CurMultiClass and shadowing the member of that name, but they were
always passed the value of the CurMultiClass member. Remove these
parameters and use the member directly.
[lldb] Add numeric operations to formatter_bytecode.Compiler (#235187)
Add support for common Python math and bit operations to the Python to
formatter bytecode compiler.
Assisted-by: claude
[SROA] Fix noassertions-warnings buildbot error (#235823)
Commit fd9ec736c017f7b7f948532e7efe49f518dc9d48 introduced an error due
to an unused variable in the noassertions-warnings buildbot. Fix it by
adding a void use.
Merge tag 'i2c-7.4-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux
Pull more i2c updates from Andi Shyti:
"This introduces dynamic transfer timeouts in the I2C core, already
used by qcom-geni. Alongside some driver improvements and fixes, it
also brings in the Rust I2C pull request.
Core:
- core, qcom-geni: add and use a dynamic timeout helper
- acpi: fix adapter reference leak when creating I2C clients
Drivers:
- imx: support reversed address direction and no-start transfers
- designware: queue block data reads once length is known
- mt7621: skip the second data register for chunks up to 4 bytes
- sh_mobile: ensure IRQs are freed before unmapping registers
Rust:
- Remove unsound device-to-client reference conversion"
[10 lines not shown]
[BuildLibCalls] Add __sincos_stret and __sincosf_stret (#231273)
For some reason, these already existed for sincospi[f]_stret, but not
the non-pi versions.
Along with sinpi/cospi, these come all together on Darwin.
Also updates the RuntimeLibCalls flags to match BuildLibCalls (i.e., no
errno).
Add context_params to iscsi_scsi_connect()
Pass an optional context_params dict through to python-scsi's
init_device(), so a test can set pre-login iscsi.Context options such
as an explicit ISID. context_params_supported() lets callers skip when
the installed python-scsi predates it.
Also ruff.
Add middleware support for LIO ALUA HA
Wire up the middleware side of LIO ALUA high-availability: load
lio_ha.ko with per-node addresses on service start, manage ALUA
state across failover events, clean up STANDBY configfs on pool
export, and add pre-flight validation that targets have static
initiator ACLs before ALUA can be enabled.
For each target, create a portal-less phantom TPG carrying the peer
node's controller group so that a single RTPG response from any
connected port lists both ALUA groups. Write tpgt_N/rtpi explicitly
before enable so that relative target port IDs in RTPG match the
tag formula (portal.tag on Node A, portal.tag + 32000 on Node B)
rather than being auto-assigned sequentially by the kernel.
ALUA group states are driven by role and ha_state:
MASTER + synced local=OPTIMIZED remote=NONOPTIMIZED
MASTER + connected local=OPTIMIZED remote=TRANSITIONING
[4 lines not shown]
sound examples: trigger dsp devices via syncgroup
Triggering is only needed if device is in mmap mode, and in mmap example
the device is triggered as part of syncgroup. For non-mmap mode,
triggering is not needed at all. Triggering mmap'ed device too early
would start the IPTR/OPTR counters and that would cause those pointers
to be out of sync, so let syncgroup do the triggering once the device is
fully configured and ready for capture and playback.
MFC after: 1 week
Reviewed by: christos
Differential Revision: https://reviews.freebsd.org/D60839
(cherry picked from commit d3aa926bffd20e4ef0e12e3ee9af1707ad234cda)
[OpenMP] Fix build with `LIBOMP_OMPT_OPTIONAL=OFF` (#235734)
Since #95602, `__kmp_barrier_template` and `__kmp_join_barrier` compute
the barrier kind and wait state inside an `OMPT_OPTIONAL` block to
provide tools with specific information about the encountered kind of
barrier. However, both the kind and wait state are used in non-optional
OpenMP builds as well. This breaks the build when OMPT support is
enabled but optional OMPT support is disabled.
To fix this, move the computation out of the `OMPT_OPTIONAL` block, so
it is guarded only by `OMPT_SUPPORT`. OpenMP 6.0 Section 33.31 requires
an implementation to maintain an approximate thread state information
for each thread while the OMPT interface is active. As such, updating
the flag is not optional, unlike the `sync_region[_wait]` callbacks.
Fixes #234164
Signed-off-by: Jan Andre Reuter <jan at zyten.de>
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Merge tag 'driver-core-7.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core
Pull driver core fixes from Danilo Krummrich:
- Make parent-lock requirements per device type instead of per bus,
fixing a use-after-free on USB disconnect by limiting the requirement
to USB interfaces, which retain a reference to their parent
- Honor parent-lock requirements during deferred and asynchronous
probing, fixing USB interface probe races, including duplicate
endpoint creation attempts in sysfs
* tag 'driver-core-7.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core:
driver core: take parent lock in async device attach
driver core: take parent lock on deferred probe
driver core: fix parent lock use-after-free on USB disconnect
Show a clear message when a legacy license is uploaded
This commit fixes an issue where uploading a legacy license surfaced the license daemon's raw "Missing PEM BEGIN marker" parser error. We now detect a legacy license before it is handed to the daemon and tell the user it is unsupported and to contact TrueNAS Support, which also avoids writing it over the installed license only to roll it back.
Merge tag 'tpm-v7.4-rc1-rebased' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
Pull TPM updates from Jarkko Sakkinen:
"Features and Improvements:
- improve tpm_crb behaviour by putting the chip into an idle state
for each transmission. This improves firmware behavior as the
kernel now better cancels its state as if it had never touched it
in the first place.
- Drop a spurious (but harmless) wmb() from tpm_pm_resume().
- tpm_tis_i2c now requests the optional reset control and deasserts
it before communicating with the TPM.
- replace SIMPLE_DEV_PM_OPS with DEFINE_SIMPLE_DEV_PM_OPS across the
whole driver stack.
- Validate during driver initialization that no duplicate banks are
[31 lines not shown]
[Sink][AMDGPU] Avoid sinking into postdominators
Add an avoid-postdominators option to the Sink pass and enable it in
the AMDGPU pre-ISel pipeline.
Sinking an instruction into a block that postdominates it saves no
execution, since the destination runs whenever the source block does.
It only moves the computation, which can extend the live ranges of the
instruction's operands.
With the option, Sink skips such a move when the operand bits it would
keep live exceed the result bits it frees. On targets with divergent
branches only divergent values are counted, since uniform values live
in scalar registers and do not affect VGPR pressure or occupancy. Moves
into blocks that do not postdominate the source are unaffected, and the
default behavior of the pass is unchanged.
[NFC][SPIRV] Add predicate for untyped pointers to `SPIRVTypeInst` (#235518)
With the addition of untyped pointers it's quite useful to be able to check if a `SPIRVTypeInst` is an untyped pointer type. This is NFC, but subsequent changes will start replacing manual checks / using the interface.
[clang][HeaderSearch] Introduce APIs to find a module's module map without loading
Add a new public interface `lookupModuleMapFileForModule` that behaves
like `lookupModule` but only relies on parsing modulemaps, except in the
inferred framework case.
* Add a public `parseModuleMapFile` that can parse files
passed through `-fmodule-map-file`.
* Both APIs require lazy modulemap loading enablement.
* Introduce several helpers to support the new APIs.
Merge tag 'cxl-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
Pull CXL updates from Dave Jiang:
"The headline item is the first part of support for Dynamic Capacity
Devices (DCD). It covers flagging DCD support in the mailbox, reading
the dynamic capacity configuration from the device, gathering DSMAS
data for the DCD partitions, and configuring the dynamic capacity
interrupts. It also adds a documentation update and a cleanup that
enforces partition ordering. DCD is not enabled yet with these code
changes. Patches are applied to reduce the whole set in order to
relief the burden of very large patch set review.
Zero sized HDM decoders are now allowed, along with cxl_test support
for them. There is also a set of decoder hardening patches for switch
decoder enumeration. Latency calculations now account for link width
and use consistent units. The GPF timeout programming has been
reworked. The pull also has a number of misc patches.
A large number of bug fixes against pre-existing issues make up the
[27 lines not shown]