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

DCP audio #112

Closed
wants to merge 2,277 commits into from
Closed

DCP audio #112

wants to merge 2,277 commits into from

Conversation

povik
Copy link
Member

@povik povik commented Feb 24, 2023

(This is early driver code aimed at developers and competent testers.)

Depends on AsahiLinux/m1n1#286.

This has work-in-progress SIO driver, DCP audio bits, and devicetree additions on t8103. It demonstrates playback over HDMI on M1 Mac mini.

What should work (on M1 Mac mini)

  • Advertising the available sample rates and formats
  • Hotplug (with a jack state visible to userspace); but maybe it's broken, I haven't thoroughly tested this.
  • Playback

Rough edges

  • The driver has only ever seen stereo channel layouts, though it has code to parse and select other non-trivial layouts which is based on some guesswork. We will see how it performs.
  • I have seen occasions of SIO failing to boot, or failing to receive its boot-up parameters. This is an open issue, I am not sure about its cause.

Tools

  • You can use this script to dump the blob by which the DCP describes the available sound modes. You run the script in userspace under a kernel built from this tree. I am curious to see the blob in conjunction with various displays supporting fancy sound modes. Sample output You need to open the PCM device once before the blob can be dumped.

Signed-off-by: Asahi Lina <lina@asahilina.net>
This function is what it is in the kernel API... yes, it has a lot of
arguments. Oh well.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
I think this is some kind of overflow block? So it should probably match
the block size.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
This seems to be intended to be shared for any given buffer's scenes.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
@jannau
Copy link
Member

jannau commented Apr 29, 2024

This should now be available in asahi-wip / asahi-6.8.8-1 and supported on all devices except M2 Ultra based ones. The boot issue is understood and fixed.

@povik
Copy link
Member Author

povik commented Apr 29, 2024

I suppose we can close this.

@povik povik closed this Apr 29, 2024
@jannau
Copy link
Member

jannau commented Apr 29, 2024

I did not close it since the link to your script might become useful. Thanks for the feature and sorry that it took so long to integrate.

@povik
Copy link
Member Author

povik commented Apr 29, 2024

sorry that it took so long to integrate.

Not at all, me not being active recently could be to blame too. Anyway thanks for integrating it!

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.

6 participants