brcmfmac: deal with bus attachments to the module Makefile
As with LinuxKPI-based wireless drivers, e.g., rtw88, PCI depends
on PCI being compiled into the kernel, SDIO will depend on
MMCCAM in the kernel once supported, and USB can always be
loaded.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
[RISCV] Add basic scalar support for MERGE, MVM, and MVMN from P extension (#180677)
These are 3 variations of the same operation with a different operand
tied to the destination register. We need to pick the one that
minimizes the number of mvs.
To do this we take the approach used by AArch64 to select between
BIT, BIF, and BSL which the same operations. We define a pseudo
with no tied constraint and expand it after register allocation based
on where the destination register ended up. If the destination
register is none of the operands, we'll insert a mv.
I've replaced RISCVISD::MVM with RISCVISD::MERGE and updated the operand
order accordingly. I find the MERGE name easier to read so I've made it
the canonical name.
Ideally we could use commuteInstructionImpl and the
TwoAddressInstructionPass
to select the opcode before register allocation. That only works if
[14 lines not shown]
brcmfmac: make USB parts compile (and not panic right away)
Fix casts and consts and add one extra error check for a NULL pointer.
This will require [a future] linuxkpi_usb.
There are very few dongles I know off:
- the original Raspberry PI USB dongle [1]
- Cisco Linksys AE1200
The reason for making USB compile despite the limited 11n 150/300 Mbit/s
adapters is that it is the simplest way to work on cfg80211 while on the
road, not requiring a full PCIe slot or another SoC for SDIO.
Sponsored by: The FreeBSD Foundation
Hardware donated by: Martin Husemann (martin NetBSD.org) [1]
MFC after: 3 days
brcm80211: add LinuxKPI files and module Makefiles
sys/compat/linuxkpi/common/include/linux/platform_data/brcmfmac.h
is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).
Currently only PCIe is made to compile.
It does load firmware (if needed, e.g., on arm64 with an alignment
issue fixed), and starts to come up.
To make it work there is a cfg80211 layer and netdevice integration
to do, so do not hold your breath just yet.
[RISCV] Remove non-alias tests from rv32zbb-aliases-valid.s and rv64zbb-aliases-valid.s. NFC (#180317)
These are real instructions and are tested in rv32zbb-only-valid.s,
rv64-zbb-valid.s, or rvzbb-valid.s
I think this is some artifact of the refactoring that happened when some
of the Bitmanip extensions/instructions were removed years ago.
[SPIRV] Legalize extended integers for compare instructions. (#180254)
Currently, legalization fails for integer (lower than 8 bit) comparison
with extensions, for example, SPV_INTEL_int4. This PR extends integers
for supported extensions.
---------
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
[mlir][vector] Add finer grained populate methods for multi_reduction (NFC). (#180750)
Thiese commits add three more populate methods for
`vector.multi_reduction`'s lowering patterns:
* populateVectorMultiReductionTransformationPatterns
* populateVectorMultiReductionFlatteningPatterns
* populateVectorMultiReductionUnrollingPatterns
These methods have a
finer level of granularity and allow users to select between unrolling,
flattening, and applying transformations that would set up operations
for unrolling and flattening.
The previous populateVectorMultiReductionLoweringPatterns method
is rewritten in terms of these new methods.
[VPlan] Ensure countable region in narrowInterleaveGroups.
This tightens the legality checks. Currently should not have any impact,
but is needed to avoid mis-compiles in follow-up changes.
brcm80211: import Broadcom wireless brcmsmac and brcmfmac drivers
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).
We are likely only going to use the brcmfmac driver but given they
come nicely packaged in a directory structure and bwn(9) still uses
GPL-only phy files we could use some of the information from brcmsmac
and fix that (should it ever still be relevant).
git-subtree-dir: sys/contrib/dev/broadcom/brcm80211
git-subtree-mainline: 69c64e3fb575e0db0e2f0c1fc56f466624940ded
git-subtree-split: 1eabd3ed89eb4bb5c69e90eeaeda1a6dd31e8bab
[LLDB] Fix tablegen paths for KDP and IntelPT properties (#180835)
Fixes the build errors from #179524. Initially I used `Parent` as the
name but switched to `Path` later and forgot to update these files.
libzfs: improve error message for zpool create with ENXIO
When zpool create fails because a vdev cannot be opened (ENXIO),
the error falls through to zpool_standard_error() which reports
the generic 'one or more devices is currently unavailable'. This
is misleading when the real cause is a block size mismatch or
other device open failure.
Add an explicit ENXIO case in zpool_create()'s error handling to
provide a more descriptive message.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18184
Closes #11087
[VPlan] Reject partial reductions with invalid costs in getScaledReds. (#180438)
Check if costs for partial reductions are valid up-front in
getScaledReductions instead when transforming each link in the chain in
transformToPartialReduction. This ensures that we either transform all
entries in the chain together, or none via the existing invalidation
logic.
This fixes a crash when a link in the chain would have invalid cost, as
in the added test cases.
Fixes https://github.com/llvm/llvm-project/issues/180340.
PR: https://github.com/llvm/llvm-project/pull/180438
InstCombine: Fix broken insert point for fdiv replacement (#180830)
SimplifyDemandedFPClass isn't properly adjusting the IRBuilder
insert point, so this could insert at the wrong point if the
simplification happens in one of the recursive calls. There are a few
more of these to fix.
devel/lua-language-server: Update to 3.17.1
By design, LuaLS wants to create a `.luarc.json` in your project root.
This file defines important things, like module paths, global symbols,
etc.
For those of us addicted to Neovim, LuaLS is all about making the most
of our nvim configs. Operating on the assumption that everybody likes
the same thing we do, this port now supplies a (STRONGLY) recommended
luarc in $EXAMPLESDIR, and a pkg-message pointing to it.
Also, testing during build phase has been disabled. There are some flaky
tests that can lead to failures when the system is under load.
Reported by: Dave Marker
Approved by: maintainer (Dave Marker)
Differential Revision: https://reviews.freebsd.org/D54657