ChanServ changed the topic of #asahi-dev to: Asahi Linux: porting Linux to Apple Silicon macs | Non-development talk: #asahi | General development | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-dev
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
whomst has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
seeeath has joined #asahi-dev
whomst has joined #asahi-dev
whomst has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
whomst has joined #asahi-dev
eiln has quit [Quit: Page closed]
faruk has joined #asahi-dev
whomst has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
whomst has joined #asahi-dev
hightower3 has joined #asahi-dev
hightower2 has quit [Ping timeout: 480 seconds]
whomst has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
seeeath has joined #asahi-dev
<marcan>
jannau: I'm also going to push some of lina's RTKit changes to asahi-soc and send a pull soonish. If you want to get your DCP-relevant changes in too, feel free to send those out and they can all go into the same batch :)
WindowPa- has joined #asahi-dev
WindowPain has quit [Read error: Connection reset by peer]
whomst has joined #asahi-dev
faruk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
faruk has joined #asahi-dev
zalyx has quit [Quit: later alligator]
zalyx has joined #asahi-dev
faruk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hertz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
seeeath has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hertz has joined #asahi-dev
nicolas17 has quit [Ping timeout: 480 seconds]
swaggie has quit [Remote host closed the connection]
<jannau>
marcan: I'm not sure I even need the devm_apple_rtkit_free() or do you mean your apple_rtkit_idle() as well?
<marcan>
I meant idle as well
hertz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<marcan>
But I think I added that? :p
<jannau>
yes, you did
whomst has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<jannau>
did you get the the function signatures in trace_dcp.py automatically from binary analysis?
<jannau>
the change for swap_submit_dcp feels like apple added a second swaprec and set of 4 surfaces
<marcan>
yes
<marcan>
hm, interesting
<marcan>
you can just strings the driver and c++filt it to get the signatures for the calls IIRC (callbacks are a bit trickier)
<jannau>
it doesn't quite fit with the increase in swaprec/iosurface size changes
<jannau>
but it doubles the amount of nullable pointers
<jannau>
ah, easier than I thought
<marcan>
you'll need to 's/^_//' to get c++filt to like it
<marcan>
but other than that yeah
<marcan>
we can move to -re if you need to do more than that, but basically I'm not worried about looking into the DCP driver to get marshalling/interface info because it's just mandatory to make this work, effectively becoming part of the hardware interface
<jannau>
I don't need that to get dcp to work with 13.2. this is more curiosity about the use case
<marcan>
yeah, at least double check the prototype, it'll tell you if it's outright a new argument (or if it changed to an array or something)
<marcan>
of course you only get the top level out of that, individual types can have custom marshalling rules and that is not something strings will show
<jannau>
might be just for tiling on higher resolutions but could also for MST support
<marcan>
MST would be interesting
<marcan>
I also wonder if it means we might get to abuse the 2 pipes separately on existing hardware
<marcan>
I assumed on 12.3 it just worked using tiling, virtually cutting the one output canvas into 2 pipes, which is not ideal. But you'd think under the hood the 2 pipes are independent and could reference completely different layers/surfaces, which would be a lot nicer to actually use them separately.
<marcan>
it's entirely possible existing hardware can do MST and it was just missing firmware support too
<marcan>
jannau: re the devm free, dunno if you saw Lina is adding non-devm functions for Rust. maybe you can just use that?
swaggie has joined #asahi-dev
<jannau>
there is a second array of IOSurfaces* but otherwise just standard type pointers
<marcan>
ChaosPrincess: have you tried setting bits_per_word=16 on the SPI client for Z2? that might do all the byteswapping stuff for you the way you want. I'm pretty sure I implemented 8/16/32 in the driver (and 16 will be more efficient than 8).
<marcan>
in principle SPI is always big endian and SPI buffers are always CPU-endian on Linux, so setting that to 16 should let you view everything as CPU-endian at every level and avoid all the byte swapping entirely.
<marcan>
(both in the driver and in the firmware extractor)
<jannau>
oh, I still have "APPLE_RTKIT_PWR_STATE_INIT = 0x220" for dcp. WAKEUP or RESUME might be a better name with 0x201 named IDLE
<marcan>
ah yeah, feel free to rename it and send that one out
<ChaosPrincess>
marcan: I did 8 bit writes since thats what macos does, but gonna try 16bit and seeing how it goes
<marcan>
the device won't know the difference
<marcan>
entirely possible their SPI driver doesn't support anything else even though the hardware does
<marcan>
povik: the name is confusing, but I'll have to think about it. this is about the suspend/resume warnings, right?
<povik>
no, this is about something that happens with ivsense capture
<povik>
i'm taking name suggestions
chadmed_ has joined #asahi-dev
<marcan>
I think the same issue applies to suspend/resume (where it has trouble raising the pstate when the NCO is down)
<marcan>
we've always had those warnings
<povik>
ah, i guess it applies then
<povik>
haven't done much suspending myself O:)
<marcan>
for VISENSE is it because the clock is external?
<povik>
yes, in a sense
<povik>
it's still generated by MCA but in a different frontend
<marcan>
interesting
<povik>
it's because the sense data uses a different slot width that it needs to be done like this
<povik>
internally routed to a different frontend
<marcan>
maybe "max-expect-state" or "max-await-state"? defines the maximum pstate that can be reliably expected to be achieved without regard to external conditions
hertz has joined #asahi-dev
<povik>
yeah, that could be more straightforward
chadmed_ has quit [Remote host closed the connection]
chadmed_ has joined #asahi-dev
swaggie has quit [Remote host closed the connection]
swaggie has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
leitao has joined #asahi-dev
lawrence has joined #asahi-dev
cylm has quit [Ping timeout: 480 seconds]
leitao has quit [Ping timeout: 480 seconds]
swaggie has joined #asahi-dev
gladiac has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
swaggie has joined #asahi-dev
chadmed_ has quit [Remote host closed the connection]
chadmed_ has joined #asahi-dev
chadmed_ has quit [Remote host closed the connection]
swaggie has quit [Ping timeout: 480 seconds]
chadmed_ has joined #asahi-dev
leitao has joined #asahi-dev
swaggie has joined #asahi-dev
MajorBiscuit has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
leitao has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gladiac has quit [Quit: k thx bye]
swaggie has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
bcrumb has joined #asahi-dev
bcrumb has quit []
bcrumb has joined #asahi-dev
bcrumb has quit []
bcrumb has joined #asahi-dev
mkurz has joined #asahi-dev
hightower3 has quit [Ping timeout: 480 seconds]
leitao has joined #asahi-dev
bcrumb has quit [Quit: WeeChat 3.8]
swaggie has joined #asahi-dev
hightower2 has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
leitao has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ids1024 has quit [Ping timeout: 480 seconds]
hightower2 has quit [Read error: Connection reset by peer]
bcrumb has joined #asahi-dev
leitao has joined #asahi-dev
ids1024 has joined #asahi-dev
leitao has quit []
nate8 has joined #asahi-dev
leitao has joined #asahi-dev
bcrumb has quit [Quit: WeeChat 3.8]
leitao has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
leitao has joined #asahi-dev
chadmed_ has quit [Ping timeout: 480 seconds]
bcrumb has joined #asahi-dev
faruk has joined #asahi-dev
bcrumb has quit []
swaggie has joined #asahi-dev
faruk has quit []
seeeath has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
bcrumb has joined #asahi-dev
bcrumb has quit []
seeeath has quit [Ping timeout: 480 seconds]
faruk has joined #asahi-dev
seeeath has joined #asahi-dev
<sven>
alright, rescanning now finally works automatically from the interrupt. looks like there's something weird with the iommu groups though
<sven>
somehow a stale group ends up in sid2group in the dart driver and then faults in apple_dart_device_group
<maz>
missing synchronisation between the PCIe driver and the dart on unplug?
<sven>
apple_dart_release_group is called automatically when no more devices are in a group and removes entries from sid2group under a lock. that should all happen automatically
<sven>
but there's something going wrong somewhere :/
<sven>
OHHH.... i think I know what's wrong. pci_device_group can merge groups even when they're supposed to be separate according to iommu-map I think
<sven>
*merge devices
<sven>
yeah, pci_device_group can return a group that already exists but the dart code assumes it's always a new group
bisko has joined #asahi-dev
<sven>
and then it overwrite the group data and apple_dart_release_group isn't able to remove the old entries anymore
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bisko has joined #asahi-dev
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<sven>
yup, that was the issue
swaggie has joined #asahi-dev
leitao has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
leitao has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
bcrumb has joined #asahi-dev
swaggie has joined #asahi-dev
seeeath has quit [Read error: Connection reset by peer]
seeeath_ has joined #asahi-dev
ChaosPrincess has quit [Quit: WeeChat 3.7.1]
ChaosPrincess has joined #asahi-dev
swaggie has quit [Ping timeout: 480 seconds]
<sven>
alright, this seems fairly stable now if I reconnect the same adapter again and again. something breaks the NHI though if I try to first connect my startech adapter and then switch to the apple one or vice versa
bisko has joined #asahi-dev
swaggie has joined #asahi-dev
<sven>
ugh.. connecting the ethernet adapter to the tbt out port of the thunderbolt display doesn't work though because I don't get a link up interrupt in that case
swaggie has quit [Ping timeout: 480 seconds]
<sven>
that also doesn’t seem to work on my other Linux machine though :D
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<maz>
isn't this one of the complicated setups where you can't establish an end-to-end tunnel, but need to instruct the "port-in-the-middle" to do something fancy?
<sven>
the thunderbolt NHI part seems to do the correct things and a manual rescan actually find the chained adapter then
<maz>
ah, so that's really the routing of the HP interrupt that fails.
<sven>
and then everything goes horribly wrong when I disconnect it again because the pcie side seems to think it’s still there
<sven>
oh, yeah, that would make sense
bcrumb has quit [Quit: WeeChat 3.8]
bcrumb has joined #asahi-dev
bcrumb has quit []
gladiac has joined #asahi-dev
MajorBiscuit has quit [Ping timeout: 480 seconds]
bcrumb has joined #asahi-dev
bcrumb has quit [Quit: WeeChat 3.8]
nicolas17 has joined #asahi-dev
___nick___ has joined #asahi-dev
<nicolas17>
macOS 13.2 is out
___nick___ has quit []
___nick___ has joined #asahi-dev
___nick___ has quit []
___nick___ has joined #asahi-dev
leitao has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gladiac has quit [Quit: k thx bye]
bisko has joined #asahi-dev
<jannau>
same build as the release candidate
bcrumb has joined #asahi-dev
bcrumb has quit []
brentr123 has joined #asahi-dev
faruk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bcrumb has joined #asahi-dev
bcrumb has quit [Quit: WeeChat 3.8]
cafebabe has joined #asahi-dev
bisko has joined #asahi-dev
<sven>
hm, switching between adapter also does something weird on macOS
<sven>
hotplug takes like 5 seconds or so when using the same one but can easily take 20-30 seconds when switching between apple and startech
faruk has joined #asahi-dev
jeffmiw_ has joined #asahi-dev
jeffmiw_ has quit [Remote host closed the connection]
balrog has quit [Quit: Bye]
balrog has joined #asahi-dev
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
___nick___ has quit [Ping timeout: 480 seconds]
brentr123 has quit [Quit: Connection closed for inactivity]
jluthra has quit [Remote host closed the connection]
jluthra has joined #asahi-dev
nicolas17 has quit [Ping timeout: 480 seconds]
nicolas17 has joined #asahi-dev
hightower2 has joined #asahi-dev
irth has quit [Quit: WeeChat 3.8]
bisko has joined #asahi-dev
bisko has quit []
mkurz_ has joined #asahi-dev
mkurz has quit [Ping timeout: 480 seconds]
swaggie has joined #asahi-dev
jeffmiw has quit [Ping timeout: 480 seconds]
seeeath_ has quit [Ping timeout: 480 seconds]
swaggie has quit [Remote host closed the connection]
swaggie has joined #asahi-dev
cylm has joined #asahi-dev
swaggie has quit [Remote host closed the connection]