devel/gprbuild: Improve option DEBUG
devel/gprbuild:
* Currently options DEBUG is ${BROKEN} because of some warnings from
libgpr and between the Port and the GNAT tool-chain. Replace the
${BROKEN} statement with a new variable that is passed to the libgrp
do-build phase that attenuates the tool-chain warnings
PR: 296655
(cherry picked from commit b665e89e9a64a1bbf2250dbfc779e69627ecf1f3)
ixv: Negotiate VF queue-set limits
ixv uses one queue set on 82599 and X540 VFs and assumes two on
X550-family VFs. The PF reports the queues assigned to each VF with
GET_QUEUES after mailbox API 1.1 negotiation.
Query the PF during attach. Bound symmetric iflib queue sets by the PF
grant and available MSI-X data vectors. Retain one queue set per data
vector: ixgbe VFs expose at most three vectors and one is reserved for
the mailbox. The hardware permits each pool to use a subset of its RSS
queues, so a two-queue ceiling is valid when the PF assigns four.
This enables the second data vector on 82599 and X540 while avoiding an
assumed second queue when an X550-family VF is granted only one. Keep
the existing family limits if the mailbox is unavailable or the PF uses
an older API.
MFC after: 2 weeks
ix/ixv: Match Tx writeback thresholds to iflib
PTHRESH controls when the device prefetches transmit descriptors,
HTHRESH controls how many host descriptors must be ready, and WTHRESH
controls completion writeback batching.
iflib places RS on selected descriptors and reclaims through those
checkpoints. The data sheets require WTHRESH to be zero when software
uses RS. Clear WTHRESH while retaining the established PTHRESH 32 and
HTHRESH 1 fetch policy.
This also follows DPDK in pairing sparse RS descriptors with
WTHRESH zero. DPDK defaults to 32/0/0, while Linux ixgbevf uses
32/1/8. The 32/1/0 setting preserves FreeBSD's prefetch policy and the
data-sheet requirement that HTHRESH be nonzero when PTHRESH is used.
MFC after: 2 weeks
igc: Correct descriptor control programming
The transmit-ring setup was copied from the e1000 path. On I225
and I226, bits 22 through 24 are reserved and bit 25 enables the
queue; it is not a legacy low-water threshold. Correct the field
masks, remove the nonapplicable legacy definitions, and program only
defined fields.
Use PTHRESH=8 and HTHRESH=1. Keep WTHRESH at zero so the hardware
honors sparse RS descriptors issued by iflib. Linux and DPDK use a
writeback threshold of 16, but request status on every packet. A
nonzero threshold makes hardware ignore individual RS bits and is
unsuitable for the iflib completion model.
The receive-ring setup likewise used a magic mask that left bit 20
of the five-bit WTHRESH field untouched. Define the receive threshold
fields and replace them exactly before installing the established
PTHRESH=8, HTHRESH=8, WTHRESH=4 policy.
MFC after: 2 weeks
igb: Program Rx descriptor thresholds by family
82576 specification-update erratum 26 says MSI-X EITR expiration can
fail to trigger receive descriptor writeback. A WTHRESH above one can
therefore leave received packets invisible until the threshold fills.
The shared threshold macros selected policy by enum ordering, so an
82576 VF fell into the generic WTHRESH=4 case. VFs always use MSI-X
and require the same WTHRESH=1 workaround as the PF.
Use PTHRESH=8 for 82575 and 82576 PFs and VFs, matching DPDK and the
current Linux PF driver. The legacy FreeBSD PF and Linux igbvf value
of 16 thrashes limited descriptor cache; no specification or erratum
requires it. Retain the i354 PTHRESH=12 exception.
Enumerate every supported igb PF and VF MAC type so each receives its
intended policy. Also clear every threshold bit before installing the
new values. The old mask retained the high WTHRESH bit, and 82575
uses six-bit fields while later controllers use five-bit fields.
[2 lines not shown]
multimedia/*x264: Update to 0.165.3223 and transfer maintainership
* Switch to GStreamer's meson branch as it simplifies builds and is
faster
* Transfer maintainership to multimedia
* Remove DEBUG, GPAC, OPENCL and PGO options
By switching to Meson we can utilize the framework for debug builds
GPAC is broken upstream
OPENCL (lookahead) has very little advantage now that core count for
CPUs are much higher than a decade ago and with x264's limited
parallelization. It's also much simplier than x264's other code paths.
PGO pulls in GCC with no to little benefit
* Add LTO and OPTIMIZED_CFLAGS options
Available only on aarch64 and amd64, enabled by default
Reviewed by: bofh (previous iteration and discussed on Matrix)
devel/pkgconf: Update to 3.0.5
Move to muon + samurai build as autotools build system is deprecated in
3.0 series and removed in upstream main branch
Changelog: https://github.com/pkgconf/pkgconf/blob/pkgconf-3.0.5/NEWS
PR: 296339
Reviewed by: bapt (maintainer)
Exp-run by: antoine (previous iteration)
devel/p5-PkgConfig-LibPkgConf: Mark BROKEN, incompatible with pkgconf 3.0 and newer
Incompatible and last commit upstream 5 years ago
PR: 297069
Approved by: bapt (PR 296339)
igb: Match Tx descriptor control to iflib
iflib requests transmit completion status only on selected descriptors.
Program a zero writeback threshold so igb hardware honors those sparse
RS bits instead of writing back every descriptor in threshold-sized
batches.
Use the existing family specific prefetch threshold: eight descriptors
on most controllers and 20 on I354, with a host threshold of one. These
values match the Intel-derived Linux and DPDK drivers. Their nonzero
writeback settings are not appropriate here because those drivers set
RS on every packet.
A zero writeback threshold also avoids depending on interrupt timer
flushes affected by 82576 specification update erratum 26. Remove the
old IGB_TX_WTHRESH macro as well. It has had no callers since the iflib
conversion, so its 82575 conditional no longer implements any policy.
MFC after: 2 weeks
e1000: Correct Rx descriptor threshold programming
Jumbo receive tuning on integrated controllers enabled PTHRESH without
a nonzero HTHRESH, contrary to the hardware programming requirements.
It also covered only the integrated MAC generations present when the
workaround was added. Enumerate every jumbo-capable ICH and PCH type
and program PTHRESH=3 with HTHRESH=1. Linux fixed the same HTHRESH
omission in b701cacdbcfb.
The 82574 path combined threshold values with the reset values using
bitwise OR. Requesting WTHRESH=4 while the reset value was one thus
programmed five. Clear the complete threshold fields before installing
the established PTHRESH=32, HTHRESH=4, WTHRESH=4 descriptor-granularity
policy.
MFC after: 2 weeks
e1000: Program Tx descriptor control by family
TXDCTL programming is family dependent. 82543 erratum 35 and
82544 erratum 20 require WTHRESH to remain zero; a nonzero value
can corrupt descriptor writebacks and hang the controller. Leave all
descriptor-control thresholds at their reset values on 82542, 82543,
and 82544.
On the remaining em controllers, retain the established PTHRESH=31,
HTHRESH=1, WTHRESH=1, and descriptor granularity policy. Several
legacy specification updates identify full descriptor writeback as a
workaround for transmit descriptor-queue errata.
TXDCTL bit 22 is also family dependent. It is COUNT_DESC on the
82571 family and 80003ES2LAN. Intel shared initialization explicitly
sets raw bit 22 on both transmit queues of every supported ICH/PCH
generation, although the integrated public documentation marks it
reserved. Preserve that required setting when iflib programs the
thresholds, as DPDK does. Clearing it caused a persistent I219
[12 lines not shown]
devel/tinygo: Restrict to Go 1.25 and mark BROKEN
This port has not been updated in years, and the current port version is
incompatible with Go 1.26+. Go 1.26 will become the minimum supported Go
version very soon.
Unless someone adopts this port (the fact that it's so stale suggests
that interest is probably quite low) this port should exit the stage
when Go 1.25 does.
PR: 297237
audio/din: Update to 65
Changes since 64.2:
DIN Is Noise 65:
* fixed crash of DIN64.2 if the whole beat pattern is cut into memory!
/*
flip
flips beat pattern between start/end vertex about
vertical axis
*/
/*
Beater editor now accesible via Menu on all instruments
*/
* improved Polyrhythm plugin
* improved write-svg command
that writes curve seen in any curve editor into an svg file
[2 lines not shown]