dwc: fix DEBUG macro name
It conflicts with the general "DEBUG" macro defined as an option in LINT
builds. Since this is actually unused, just rename it to GMAC_DEBUG.
Reviewed by: manu
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D44102
(cherry picked from commit fae39d8da9d5ddf4239fc2143522340c941f6612)
hwpmc: tidy pcd_finalize methods
Make them a little bit more consistent with one another in terms of what
is done:
- Add/reduce assertions to what is most useful: a loop to ensure
pcpu_fini freed everything
- Add PMCDBG trace entries
The exception is the dmc620/cmn600 classes, which behave a little
differently, so leave them untouched.
Reviewed by: jkoshy
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41270
(cherry picked from commit 90a6ea5ca0b1b578e265d2479511bd04347f9510)
mmc_fdt: handle broken-cd property
The documented properties [1] for card-detection are one of:
- cd-gpios
- non-removable
- broken-cd
In cd_setup() we handle the first two, but not the latter, resulting in
a silently undetected card on an affected system.
To work around this, force cd_disabled when broken-cd is specified, so
that the card detect helper function gets to run. A more complete
solution would implement some kind of polling mechanism to detect the
card's presence or removal.
Some variants of the Allwinner D1, such as the Lichee Rv, specify this
property in the mmc0 device node.
[1] sys/contrib/device-tree/Bindings/mmc/mmc-controller.yaml
[9 lines not shown]
amd64: use pc_is_full() helper function
This seems to have been missed in a few places. No functional change
intended.
Reviewed by: kib
MFC after: 1 week
Fixes: 4d90a5afc51b ("sys: Consolidate common implementation details...")
Differential Revision: https://reviews.freebsd.org/D45920
(cherry picked from commit e7f849e25bbca9a74c9d3a5b633f9cd01ba95a55)
Merge tag 'sound-7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"A collection of small fixes as usual. A couple of regression fixes are
included in addition to the various quirks and device-specific fixes.
ALSA Core:
- PCM: Fix potential inconsistent PCM state reporting after XRUN
HD-audio:
- Fix sysfs hint parser
- Revert CS4208 fixup for MacBookAir 7,2 due to regressions
- ACPI _DSD fixes for CS35L41 side-codec on various HP laptops
- Device quirks for Acer (Predator, TravelLite) and Dell (Pro QC1255,
XPS 8940)
USB-audio:
- Fix for USB controller bugs reporting oversized packets
- Fix UAF on disconnect in caiaq
[40 lines not shown]
[NFC][InstCombine] Add a test for call metadata when dropping the kcfi operand bundle (#242424)
InstCombine drops the "kcfi" operand bundle from calls that have become
direct. The test shows the current behavior: the call's metadata (!prof,
!callsite, !memprof) is dropped along with the bundle.
This is a pre-commit test for https://github.com/llvm/llvm-project/pull/242427
[CodeGen] Declare the remaining RegisterCodeGenFlags options in TableGen (#242412)
Move remaining options into CodeGenToolOptions and remove
codegen::RegisterCodeGenFlags.
Remove the getters without outside readers: getRelocModel, getCodeModel,
etc.
LLM-aided
dmu_recv: split WRITE_EMBEDDED records that don't match block size
When a -L incremental stream is received into a dataset that previously
did a non-large-block receive, receive_handle_existing_object() keeps
the object's existing (smaller) block size so that data not touched by
the incremental is preserved. DRR_WRITE handles the resulting size
mismatch by falling back to dmu_write(), which splits the record across
the object's blocks. DRR_WRITE_EMBEDDED had no such fallback:
receive_write_embedded() wrote the embedded BP, with its full logical
size, into the single dbuf covering the record's offset.
The result is silent data loss (the rest of the logical block keeps its
old contents) and an on-disk BP whose LSIZE exceeds the object's block
size, which later panics any send of the received snapshot:
VERIFY3U(srdp->datablksz, ==, BP_GET_LSIZE(bp)) failed
(131072 == 1048576) in do_dump()
Reproducer:
[49 lines not shown]
ZTS: test -L embedded block receive onto smaller blocks
Add send_embedded_large_block_incremental. It receives a full stream
without -L, so the received file keeps 128k blocks, then a -L -c -e
incremental carrying a 1M WRITE_EMBEDDED record for that file, and
checks that the received data matches, that no block pointer is larger
than the file's block size, and that the received snapshot can be sent
and received again.
This currently fails: the embedded record is written as a single 1M
block pointer into a 128k block, so the rest of the logical block keeps
its old contents, and sending the received snapshot panics in do_dump()
(VERIFY3U(srdp->datablksz, ==, BP_GET_LSIZE(bp))).
Also add recv_embedded_blksz_neg, which loads a crafted stream whose
first DRR_WRITE_EMBEDDED record has drr_lsize (4096) != drr_length
(8192), the length matching an 8192-byte DRR_OBJECT block size. A
genuine sender always sets drr_length to the embedded block pointer's
logical size, so the two are equal; a record where they differ can only
[41 lines not shown]
Merge tag 'block-7.4-20261112' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux
Pull block fixes from Jens Axboe:
- ublk fixes: don't publish a new device in the idr until it's fully
set up, and don't hold ublk_ctl_mutex across device removal, as a
stuck filesystem on one device otherwise blocked ADD_DEV and DEL_DEV
for every other ublk device.
- s390/dasd fixes: re-initialize the RCD buffer magic before every
request start, fix a wrong free and refcount leak in the check_tcw
error path, don't trust the userspace-supplied result field in the
format check, and a typo fix.
* tag 'block-7.4-20261112' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
s390/dasd: Don't trust userspace-supplied result field in format check
s390/dasd: Fix wrong free and refcount leak in build_check_tcw error path
s390/dasd: Re-initialize RCD buffer with "V1.0" before every start
s390/dasd: Fix typo 'immediatly' -> 'immediately'
[2 lines not shown]
net/asterisk{20,22}: Fix build with non-default options
With certain non-default build options, an error message is displayed,
but the build process itself does not terminate:
sed: 1: "s/^MAKE\s*=\s*//gp
": RE error: trailing backslash (\)
./build_tools/list_valid_installed_externals: line 12: --quiet: command not found
sed: 1: "s/^MAKE\s*=\s*//gp
": RE error: trailing backslash (\)
./build_tools/list_valid_installed_externals: line 12: --quiet: command not found
This may cause issues at runtime.
PR: 300741
Approved by: blanket (fix runtime)
Sponsored by: UNIS Labs
MFH: 2026Q4
(cherry picked from commit c64e227acc4a5349f186f44848f0dfb03252f72d)
net/asterisk2{0,2}: Prepare for new port net/asterisk24
- Move asterisk* from CONFLICTS_INSTALL to CONFLICTS - during the build
on a live system, linking is performed against libraries from the
installed version.
- Parametrize PKGNAMESUFFIX.
PR: 300741
Sponsored by: FLEX-IT LLC (Oleksandr Kryvulia)
Sponsored by: UNIS Labs (vvd)
Co-authored-by: Vladimir Druzenko <vvd at FreeBSD.org>
(cherry picked from commit b66f69d663dbf1531918011b01e70717ceac27a8)
[CIR] Wire SPIRV targets into the call-convention lowering pass (#241531)
Add a SPIR-V target to `CallConvLowering`
(`-cir-call-conv-lowering=target=spirv`), classified by
`SPIRVTargetInfo` in the LLVM ABI library.
Ensures the lowering pass correctly follow SPIR-V-specific
classification rules implemented by #224699:
- A kernel pointer argument in the default address space is passed as a
`CrossWorkgroup` (addrspace 1) pointer and cast back in the kernel.
- In device compilations, a kernel aggregate argument is passed `byval`
in addrspace 0.
- A record that cannot be copied is returned through an `sret` pointer
in the default address space.
Everything else, including the remaining kernel arguments, follows the
default classification rules `DefaultTargetInfo`.
The classifier gets the same inputs classic codegen passes under
`-fexperimental-abi-lowering`: the target address space of
[16 lines not shown]
[bazel] Default WORKSPACE_ROOT to "." in main repository (#241744)
When `llvm-project-overlay` is evaluated as the root repository rather
than an external repository, `ctx.label.workspace_root` is `""`, causing
flags such as `-I$(WORKSPACE_ROOT)/clang/lib/Basic` to expand to an
absolute root path (`-I/clang/lib/Basic`). Fall back to `"."` when
`ctx.label.workspace_root` is empty while preserving external-repository
expansion unchanged.
Assisted-by: Gemini
CodeGen: Allocate LiveIntervals ranges with BumpPtrAllocator
LiveInterval and register unit LiveRange objects were individually
heap allocated and freed. Allocate them from a BumpPtrAllocator owned
by LiveIntervals, with recyclers so removed intervals and register
unit ranges reuse their storage. The arena is reset in clear(),
keeping the first slab across functions.
Reduces llc instructions by ~0.3% on the 40 largest CTMark TUs for
x86_64 and arm64. The impact is larger for amdgpu.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[bazel] Load cc_library from @rules_cc in vulkan_sdk.bzl (#241739)
Explicitly load `cc_library` from `@rules_cc//cc:cc_library.bzl` in the
`BUILD` files synthesized by `vulkan_sdk_setup` so the repository builds
cleanly when native C++ rules are not autoloaded (Bazel 8/9
`--incompatible_autoload_externally=`).
Assisted-by: Gemini
AArch64: Use inline register class syntax in MIR tests
Avoid using the registers section and delete it when no longer needed.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>