Repository navigation
apple: T8140 DCP/ISP fixes for DPMS off and suspend-to-idle - #1754
Merged
Merged
Conversation
The T8140 internal DCP stops its firmware for DPMS off and system sleep
(hw.s2r). That stop powers the display domains through
apple,display-power, and the firmware only takes IOP idle after its
secure port has gone idle. A J700 device tree from before those were
described has neither: DPMS off then ends with "IOP idle not
acknowledged", the firmware crashes ("Invalid AP power: 8") and the
panel stays dark until the next boot.
Check for both at probe. Without them, DPMS off is the backlight alone
and the firmware keeps running, as before hw.s2r. hw.s2r_ext needs
apple,display-power in the same way.
Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
…er replay T8140 firmware stops after a stream and for system sleep, and starts again from its own memory (hw->fw_restart). After the ISP has been powered down, the firmware reaches its MMIO only once the first ISP DART has replayed the boot loader's address filter, which the DART driver does from apple,dapf-ranges. A J700 device tree from before that was described has no such property, so a stream that ran across suspend-to-idle fails to come back: "failed firmware boot stage 1: -19". Without apple,dapf-ranges on the first DART, boot the firmware at probe and keep it running, with no idle stop and no restart, as T8140 ran before. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
…a work item A stream that runs across suspend-to-idle is stopped by the suspend callback, and on T8140, where the firmware starts again (hw->fw_restart), the firmware stops with it. The resume callback then starts the firmware again to restart the stream, and that start never gets the firmware's first boot message: "failed firmware boot stage 1: -19", and the stream ends with an error. The same start from process context, at the next stream, works. Mark the firmware as stopped for the sleep in that case too, so the stream restarts from the resume work item, as after a sleep that powered the SoC down. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three T8140 (J700) fixes for regressions from the coordinated suspend-to-RAM support (#1445).
Testing on J700: Mutter PowerSaveMode 3 then 0 (x3), and a v4l2 stream to /dev/null across s2idle (x2) and s2r (x1), on the current and the older device tree.
0 AVC denials on every boot.
🤖 Generated with Claude Code