Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use dcpext for all M2 desktop devices. #361

Merged
merged 6 commits into from
Nov 27, 2023

Conversation

jannau
Copy link
Member

@jannau jannau commented Nov 27, 2023

This switches j473, j474s and j475c to dcpext(0) as display co-processor for HDMI out. Main reason is that dcpext(0) wakes up after sleep + reset. This simplifies handling in m1n1 a little.

This contains the tracing/m1n1.dcp changes for the rarely used OOB ASYNC callback channel.

In addition holds some minor fixes. The die number fix should be cosmetically, dcp firmware doesn't seem use it for something essential in a dptx connection.

Same value as the arm64 kernel build uses.
Avoids following warning:

 | src/tinf/tinflate.c: In function ‘tinf_uncompress’:
 | src/tinf/tinflate.c:559:5: warning: stack usage is 1712 bytes [-Wstack-usage=]
 |   559 | int tinf_uncompress(void *dest, unsigned int *destLen,

Signed-off-by: Janne Grunau <j@jannau.net>
Required for stage 1 loader to allow chainloaded display/dcp experiments
to start with the state left by iboot.

Signed-off-by: Janne Grunau <j@jannau.net>
Apperently just informative as display init on M2 Ultra in m1n1 worked
as expected despite passing '0' as die number.

Signed-off-by: Janne Grunau <j@jannau.net>
dcpext0 behaves like dcp on M1* devices and can sleep after display
init. This has the advantage of not breaking macOS when starting with an
initialized display.
dcpext* are according to Apple's tech specs slightly more powerful than
dcp. They are advertised as 6K at 60Hz while dcp seems to be limited to
5K at 60Hz.

Signed-off-by: Janne Grunau <j@jannau.net>
Only observed with dcp/dptx in linux after initialisation and reset in
m1n1. On the initial startup dcp sends two D576 (hotPlug_notify_gated)
presumendly due to state confusion due to  the multiple dptx
connections.

Signed-off-by: Janne Grunau <j@jannau.net>
Also fixes a type for set_idle_caching_state_ap.

Signed-off-by: Janne Grunau <j@jannau.net>
@marcan marcan merged commit 736acde into AsahiLinux:main Nov 27, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants