Skip to content

arm64: dts: apple: t8112-j493: Enable SIO for DP audio - #572

Open
ljskernel wants to merge 1 commit into
AsahiLinux:fairydustfrom
ljskernel:fairydust-fix
Open

arm64: dts: apple: t8112-j493: Enable SIO for DP audio#572
ljskernel wants to merge 1 commit into
AsahiLinux:fairydustfrom
ljskernel:fairydust-fix

Conversation

@ljskernel

Copy link
Copy Markdown

On bootup, an Apple MacBook Pro (13-inch, M2, 2022) dmesg shows:

dcp-dp-audio 238334000.audio-controller: No DMA device

And:

$ cat /proc/device-tree/soc/sio@236400000/status
disabled

This model's t8112-j493 hardware is able to encode this data through its SIO coprocessor, but the device tree doesn't configure it to be able to.

Similar to t8112-j473, enable the node and assign the sio alias so m1n1 injects the correct firmware.

With this applied the sink is available:

 ~ cat /proc/asound/cards
 0 [DisplayPort    ]: apple_dcp - Apple DisplayPort
                      Apple DisplayPort
...

And audio works correctly over DP and is stable.

On bootup, an Apple MacBook Pro (13-inch, M2, 2022) dmesg shows:

	dcp-dp-audio 238334000.audio-controller: No DMA device

And:

	$ cat /proc/device-tree/soc/sio@236400000/status
	disabled

This model's t8112-j493 hardware is able to encode this data through its
SIO coprocessor, but the device tree doesn't configure it to be able to.

Similar to t8112-j473, enable the node and assign the sio alias so m1n1
injects the correct firmware.

With this applied the sink is available:

	 ~ cat /proc/asound/cards
	 0 [DisplayPort    ]: apple_dcp - Apple DisplayPort
	                      Apple DisplayPort
	...

And audio works correctly over DP and is stable.

Signed-off-by: Lorenzo Stoakes <ljs@kernel.org>
@WhatAmISupposedToPutHere

Copy link
Copy Markdown
Member

I do not think we want it to be generally available yet, whether it is stable or not highly depends on which device is on the other side of the dp link.

@ljskernel

Copy link
Copy Markdown
Author

Ack fair enough, I have tested a Samsung LS49AG95 which is working fine, but I did notice some (minor) instability immediately after sending this (typical) - the audio dropped after I switched from 120 Hz -> 60 Hz requiring a pipewire restart that fixed it.

I also noticed (not audio obviously but DP-related) it seems to have issues with 10-bit colour depth at 120 Hz, resulting in compression and visual artifacts, so have forced to 60 Hz, will try a hack locally to force 8 bit to see if that fixes that.

Obviously intending this one for the fairydust branch but understood if you'd rather avoid possible instability with this even on that.

Will report any other bugs I notice with this setup, is rapidly becoming a daily driver for me now... :)

@WhatAmISupposedToPutHere

Copy link
Copy Markdown
Member

If i found the right monitor - isn't that expected? 5120x1440@120hz with 10bpp is just slightly above dp 1.4 speed, so it needs either subsampling or dsc, and i am not sure if we do that correctly.

@ljskernel

Copy link
Copy Markdown
Author

yeah it just seems the G9 isn't brilliant at rendering the compressed signal :) and it seems that 8 bit isn't available as an option as currently implemented?

I've put in a hack to force 8 bit which seems to have fixed it. But obviously the real fix would be to make that otherwise available.

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.

2 participants