Compare commits

..
Author SHA1 Message Date
Andy Nguyen c363690546 config: enable some more options 2026-07-05 17:25:30 +02:00
mia26MAjFm 5236127a9e build-kernel: kill double-build + wipe stale outputs (#28)
* build-kernel: call rpm packager container directly, skip second full build

* build-kernel: sudo-wipe image/ before checkout to drop stale root-owned outputs
2026-07-05 17:15:33 +02:00
masterzorag c404a24cbf Update .config: Include NFS client support (#27)
* 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
2026-07-05 14:34:13 +02:00
Andy Nguyen cb839ab600 linux: set fan target temp to 80 celsius 2026-07-05 09:35:45 +02:00
Andy Nguyen 1926418e4e linux: move fan autoservo to fan.c 2026-07-05 09:34:17 +02:00
Andy Nguyen c445e9adf3 linux: add spdx license identifier 2026-07-05 09:26:20 +02:00
Andy Nguyen e81e281f38 config: enable CONFIG_MODULE_ALLOW_BTF_MISMATCH 2026-07-05 09:11:33 +02:00
Andy Nguyen 050704a2f5 config: update to 7.1.3 2026-07-05 09:10:35 +02:00
rmux bf16f7e8b7 Add fan driver for PS5 (#25)
* linux: ps5: add fan driver

Thanks to cow for EMC RE and general help.

* ps5: remove redundant autoservo call in spcie
2026-07-04 21:22:16 +02:00
mia26MAjFm 8fbb1b2057 build-kernel: stash .deb + .pkg.tar.zst around the rpm run so all three survive (#26) 2026-07-04 20:12:56 +02:00
mia26MAjFmandYour Name 935dc3e322 build-kernel: run --distro fedora after --distro all so .rpm ships (#23)
* 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>
2026-07-04 18:27:59 +02:00
mia26MAjFmandYour Name 9ee33721e4 build-kernel: release .rpm alongside .deb + .pkg.tar.zst (#22)
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>
2026-07-04 08:56:04 +02:00
Andy Nguyen a57d783d89 config: update to 7.1.2 2026-06-30 11:26:04 +02:00
Andy Nguyen 07f9d7f847 readme: remove todo for xhci 2026-06-30 09:18:59 +02:00
rmux 6cfe53c6d3 feat: add PS5 LED driver (#21)
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
2026-06-28 15:59:14 +02:00
c0w-arandc0w 06e7cbf7bd fix salina xhci reset on unbind (#20)
Co-authored-by: c0w <c0w@ps5.com>
2026-06-25 14:33:31 +02:00
c0w-arandc0w 498b83a4a5 add xHCI Salina driver and btusb fix by bizkut (#19)
* add xHCI Salina driver and btusb fix by bizkut

* change abbreviation to 12 chars

---------

Co-authored-by: c0w <c0w@ps5.com>
2026-06-23 12:34:23 +02:00
Andy Nguyen a2c666ba29 linux: mute audio and video on mode switch 2026-06-22 20:19:14 +02:00
Hasanuddin Abu Bakar 06bb2bb268 linux: fix HDMI audio on monitors with missing EDID audio modes (#18)
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'.
2026-06-22 17:54:33 +02:00
Andy Nguyen 2ee68463af linux: add svm implementation and run transmitter_control in guest mode 2026-06-20 17:31:51 +02:00
Andy Nguyen 76db3a464b linux: add bc250 audio patch by essdee 2026-06-19 17:19:34 +02:00
Andy Nguyen 9fec3c7729 config: update to 7.1.1 2026-06-19 17:17:46 +02:00
MassZero0 e00c8a7d38 linux: mts: fix NAPI poll storm that pins a CPU when the NIC MSI never fires (#14)
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.
2026-06-01 21:54:28 +02:00
Andy Nguyen 45c3a2ec19 linux: improve hdmi sequence in amdgpu dm 2026-05-31 21:47:54 +02:00
rmux 61eb7c0f71 Add buzzer driver for PS5 chassis piezo (#12)
thanks to cow for testing. legend as usual.
2026-05-30 23:11:28 +02:00
Andy Nguyen 5b0dc56c1b linux: fix cu unlock patches 2026-05-30 21:47:59 +02:00
Andy Nguyen bcf718f3d5 linux: improve icc code 2026-05-30 21:40:20 +02:00
4 changed files with 2759 additions and 413 deletions
+135 -55
View File
File diff suppressed because it is too large Load Diff
+19 -2
View File
@@ -8,7 +8,7 @@ on:
description: 'Package format'
default: 'all'
type: choice
options: [deb, arch, all]
options: [deb, arch, rpm, all]
patches_ref:
description: 'Patches branch/tag/SHA (empty = default)'
default: ''
@@ -29,6 +29,11 @@ jobs:
CCACHE_DIR: /home/opc/ccache
steps:
- name: Clean image workspace
# Docker containers write to image/linux-bin/ as root; actions/checkout's
# git clean runs as the runner user and skips root-owned files, so stale
# .deb / .pkg.tar.zst from prior kernel versions leak into the release.
run: sudo rm -rf image
- name: Checkout image builder
uses: actions/checkout@v6
with:
@@ -43,6 +48,16 @@ jobs:
bash image/build_image.sh --kernel-only \
--distro "$FORMAT" \
--patches-ref "$PATCHES_REF"
# --distro all skips the rpm packager. Call the packager container
# directly against the already-staged kernel (image/linux-bin/staging/)
# instead of re-running build_image.sh, which wipes outputs and
# rebuilds the kernel — that doubled CI time. This step is ~1 minute.
if [ "$FORMAT" = "all" ]; then
docker build -t ps5-kernel-packager-rpm \
-f image/docker/kernel-builder-rpm/Dockerfile image/
docker run --rm -v "$PWD/image/linux-bin":/out \
ps5-kernel-packager-rpm
fi
- name: Read kernel and patches version
id: version
@@ -61,6 +76,7 @@ jobs:
path: |
image/linux-bin/*.deb
image/linux-bin/*.pkg.tar.zst
image/linux-bin/*.rpm
retention-days: 7
- name: Compute checksums
@@ -68,7 +84,7 @@ jobs:
run: |
{
echo 'sums<<SHAEOF'
sha256sum image/linux-bin/*.deb image/linux-bin/*.pkg.tar.zst | sed 's|image/linux-bin/||'
sha256sum image/linux-bin/*.deb image/linux-bin/*.pkg.tar.zst image/linux-bin/*.rpm 2>/dev/null | sed 's|image/linux-bin/||'
echo 'SHAEOF'
} >> "$GITHUB_OUTPUT"
@@ -90,4 +106,5 @@ jobs:
files: |
image/linux-bin/*.deb
image/linux-bin/*.pkg.tar.zst
image/linux-bin/*.rpm
make_latest: true
-1
View File
@@ -24,7 +24,6 @@ sudo make install
## TODO
- amdgpu smu driver to show correct gpu frequency and temperature
- xhci driver adjustment for 0x104d:0x9108 to enable bluetooth
- hdmi converter improvments: hdr, rgb range, 120hz
## Bugs
+2605 -355
View File
File diff suppressed because it is too large Load Diff