Commit Graph

56 Commits

Author SHA1 Message Date
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
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
Andy Nguyen
a57d783d89 config: update to 7.1.2 2026-06-30 11:26:04 +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-ar
06e7cbf7bd fix salina xhci reset on unbind (#20)
Co-authored-by: c0w <c0w@ps5.com>
2026-06-25 14:33:31 +02:00
c0w-ar
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
Andy Nguyen
e9424efb51 linux: add icc_device_power_* functions and fix black screen 2026-05-29 22:43:06 +02:00
eeply
a833df9c73 Add PS5 adapted bc-250 patch to enable 40CUs (#10) 2026-05-28 01:58:33 +02:00
rmux
ba4f29d40c Add ahci_salina driver for PS5 BD-ROM AHCI (0x104d:0x9105 / 0x9106) (#9)
thanks to cow for testing. legend as usual.
2026-05-28 01:58:06 +02:00
Andy Nguyen
2c46113af9 linux: clean up and fix blackscreen 2026-05-25 00:38:04 +02:00
Andy Nguyen
50cf28acb1 linux: refresh linux.patch 2026-05-24 18:32:09 +02:00
rmux
643e214d7b Add mts ethernet driver for PS5 GBE (0x104d:0x9104) (#8)
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
2026-05-24 16:52:22 +02:00
Andy Nguyen
e6fb93f866 linux: add fan autoservo param update 2026-05-24 15:30:04 +02:00
Andy Nguyen
7d5d7976dd linux: re-add link training
Some monitors blackscreen without it.
2026-05-24 15:27:37 +02:00
Andy Nguyen
d44cfeb934 linux: add spcie and tpcie shutdown 2026-05-18 20:37:16 +02:00
Andy Nguyen
99e816eccb linux: use bapm param set 2 2026-05-18 20:33:52 +02:00
Andy Nguyen
042599e9f5 config: update to 7.0.8 2026-05-17 12:07:48 +02:00
Andy Nguyen
fe852d3cdb linux: fix link training failure 2026-05-17 12:04:36 +02:00
Andy Nguyen
874c43ebb6 linux: add spcie init 2026-05-11 00:05:10 +02:00
Andy Nguyen
d8d6674e74 config: update to 7.0.5 2026-05-10 14:17:20 +02:00
Andy Nguyen
e18eb668c7 linux: implement more hdmi and mp1 cmds 2026-05-08 20:13:33 +02:00
sleirsgoevy
7169870a21 linux: fix shutdown 2026-05-08 16:00:12 +02:00
Andy Nguyen
f221a7b224 linux: improve hdmi audio 2026-05-06 22:27:30 +02:00
Andy Nguyen
23375e091c linux: add 1080p120 support 2026-05-06 20:59:07 +02:00
Andy Nguyen
c1ecd51139 linux: fix typo and increase delay 2026-05-06 11:37:03 +02:00
Andy Nguyen
520ccf7787 linux: rework hdmi patches 2026-05-06 11:21:29 +02:00
Andy Nguyen
fb8321d25d linux: ignore legacy irq 2026-05-05 23:09:47 +02:00
Andy Nguyen
d2a2f89d50 linux: improve dmi patch 2026-05-05 23:03:17 +02:00
Andy Nguyen
0a043f6e76 linux: reorganize flava3 and verde in hdmi 2026-05-05 22:45:39 +02:00
Andy Nguyen
81a51f9750 linux: add icc power button 2026-05-03 18:43:54 +02:00
Andy Nguyen
59dce27dca linux: add dmi info 2026-05-03 17:22:38 +02:00
sleirsgoevy
1f493df000 linux: defer amdgpu initialization until HDMI is enabled (#2)
This fixes a black screen issue when amdgpu happens to initialize before
salina.
2026-05-01 12:10:45 +02:00
Andy Nguyen
dc2ee1ce8c linux: lock pci read/write 2026-04-30 23:04:50 +02:00
Andy Nguyen
639992e81d linux: hardcode ari functions 2026-04-30 22:31:03 +02:00
Andy Nguyen
9a6e22fb4e linux: update to 7.0.2 and add module param to force 1080p 2026-04-28 23:43:18 +02:00
Andy Nguyen
434c48f77f linux: document hdmi registers 2026-04-27 13:39:51 +02:00
Andy Nguyen
71eee0eb24 linux: only apply last_lba patch to nvme 2026-04-26 17:36:08 +02:00
Andy Nguyen
46085571db linux: adjust link_set_dpms_off patch 2026-04-26 17:35:39 +02:00