* build-kernel: call rpm packager container directly, skip second full build
* build-kernel: sudo-wipe image/ before checkout to drop stale root-owned outputs
* Update .config: Include NFS client support
Enable NFSv3 + ACLs support;
The libnfs implementation (gvfs*) it's limited and lacks features; We could have to use the kernel modules and use `mount -t nfs`.
* Update .config: include nfs support as modules
* build-kernel: release .rpm alongside .deb + .pkg.tar.zst
Now that ps5-linux-image's --distro all also produces an .rpm (paired
image PR), pick it up in the artifact upload, checksum list and
release files: block. Also add rpm as an explicit format choice so
someone can dispatch an rpm-only kernel build.
The sha256sum pipeline gets a 2>/dev/null so it doesn't complain
when an older ps5-linux-image checkout is used that only writes
deb + pkg.tar.zst.
* test: run on ubuntu-latest, point at paired ps5-linux-image branch, skip release on fork
* build-kernel: run --distro fedora after --distro all so .rpm ships
---------
Co-authored-by: Your Name <you@example.com>
Now that ps5-linux-image's --distro all also produces an .rpm (paired
image PR), pick it up in the artifact upload, checksum list and
release files: block. Also add rpm as an explicit format choice so
someone can dispatch an rpm-only kernel build.
The sha256sum pipeline gets a 2>/dev/null so it doesn't complain
when an older ps5-linux-image checkout is used that only writes
deb + pkg.tar.zst.
Co-authored-by: Your Name <you@example.com>
usage:
# list presets
ls /sys/class/leds/
# set a preset
echo 255 > /sys/class/leds/ps5:<preset>:indicator/brightness
# turn off
echo 0 > /sys/class/leds/ps5:off:indicator/brightness
Some monitors do not advertise audio modes in their EDID CEA block,
causing audio_info.mode_count to be zero. When this happens, the
channel counting loop never executes and sceHdmiSetAudioConfig is
called with channels=0, which silently disables audio output on the
PS5 HDMI bridge.
Add a stereo (2ch) fallback when no audio modes are found so that
sceHdmiSetAudioConfig always receives a valid channel count.
Also fix a loop variable reuse bug where the inner audio channel
counting loop shared the iterator 'i' with the outer
for_each_oldnew_crtc_in_state loop. Rename the inner iterator to 'j'.
The PS5 GbE NIC has no INTx pin and its MSI sometimes never fires after a
cold boot. The driver already works around that with a 1 Hz link-poll
watchdog that kicks NAPI by hand.
But gbe_poll() re-checks GBE_REG_ISR after completing NAPI and reschedules
itself whenever a GBE_IER_MASK cause is still latched, without ever
acknowledging (W1C) the ISR -- only the hardware handler gbe_isr() does.
When the MSI is dead gbe_isr() never runs, so the latched cause (e.g.
RX_DONE) is never cleared, the re-check stays true forever, and NAPI
reschedules itself ~30k times/s, pinning ksoftirqd on that CPU at 100%.
Acknowledge the pending causes before re-kicking so a stale, undelivered
cause can no longer spin NAPI.
While the MSI is dead also poll the rings every GBE_POLL_FALLBACK_MS (10 ms)
instead of once per second, so interactive RX latency drops from ~1 s to a
few ms; fall back to HZ as soon as real IRQs start arriving.
Credits:
- slidybat: shared his base, from which a few fixes were merged in
- cow: endless testing, corrections when I went wrong, catching the
upload-under-load issue, and being an absolute legend