ChanServ changed the topic of #asahi to: Asahi Linux: porting Linux to Apple Silicon macs | General project discussion | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Topics: #asahi-dev #asahi-re #asahi-gpu #asahi-offtopic | Keep things on topic | Logs: https://alx.sh/l/asahi
<alyssa>
maz: I see an #if 0'd teardown function in your pcie patch, any chance you remember whether that's still needed?
<alyssa>
kettenis_: giving you a co-authored-by credit, though it looks like your u-boot patch doesn't have a signed-off?
HaoYanQi[m] has joined #asahi
<chadmed>
so when we say get "SMP" working, does this include proper HMP support or can we only treat the firestorm and icestorm cores identically?
<chadmed>
ik linux has an ARM HMP scheduler but ive never experimented with it so idk how easy it is to get working properly
<alyssa>
chadmed: Oh, er, not sure
<alyssa>
chadmed: I just mean 8 penguins show up. Which is not the case if you boot linux through kettenis's u-boot since u-boot and m1n1 fight over the spintable.
riker77_ has joined #asahi
riker77 has quit [Ping timeout: 480 seconds]
riker77_ is now known as riker77
phiologe has joined #asahi
PhilippvK has quit [Ping timeout: 480 seconds]
<alyssa>
DT bindings turn my head into mush
<alyssa>
If it makes me feel any better, they'll be bikeshed so hard on the lkml it doesn't really matter what I initialize the file to in v1...
JTL has quit [Quit: WeeChat 2.9]
JTL has joined #asahi
apetresc has joined #asahi
marvin24_ has joined #asahi
marvin24 has quit [Ping timeout: 480 seconds]
<chadmed>
hm ok ive had a read of some HMP scheduling docs and its looking like quite the effort to get it working properly. schedutil is responsible for doing the actual task scheduling, which it does by polling the energy model for the device. if im reading correctly, cpufreq-dt can do this with some device tree data, but what data it requires is ambiguous
<chadmed>
oh ok wow its actually very simple, theres basically two ways to do it. the easiest given the way the dt is laid out now would be to just add capacity-dmips-mhz bindings to each core, which can be scaled relatively or be absolute dmips/mhz measurements that we can just calculate using a benchmark bound to only one cpu
<chadmed>
the other way is refactoring the dt core layout to be split the firestorm and icestorm cores into clusters and decribe their behaviour as clusters but we dont need to do that
<alyssa>
big.little is hard but has been around a decade now.
<alyssa>
iirc
<chadmed>
yeah its a feat, but afaict all that the kernel needs from us at this stage to get it working is that dt binding for each core and the scheduler can sort the rest out transparently
<pipcet[m]>
does that actually work though? I mean, telling the scheduler about it is one thing...
<chadmed>
well thats something we'll have to test i guess. the arm manuals say that this is how you do it, and i dont think we really have a reason to doubt it
<chadmed>
look at some rockchip and allwinner dts, they have operating poitns tables that presumably get read by cpufreq-dt/whatever dvfs driver they use, so the freq-voltage curve might be worth coaxing out of macos to get finer grained power management to go with the HMP scheduling, assuming of course we ever get that level of control over the chip
<chadmed>
we will have to implement something like this at some point though so mobile users can get decent power management, or we'll have a situation like the A1708 macbooks and later where linux battery life is terrible and charging is spotty
<pipcet[m]>
I think battery life isn't terrible with the pearl/corellium kernel, but people might disagree :-)
<kettenis_>
alyssa: odd that you have issues spinning up the other cores with u-boot
<kettenis_>
u-boot leaves those cores alone
<kettenis_>
this must mean the memory for the spin table/code isn't properly reserved
go4godvin is now known as Guest4408
<saintdev>
I just wanted to say thanks for the dev logs, I really enjoy reading what's going on behind the scenes. Thanks for all your hard work!
<everslick>
seconded!!!
<kwilczynski>
kettenis_: Just FYI before someone else notices and send you to the netiquette - HTML e-mails are a no-no on the around kernel mailing lists. :) Make sure you send plain text.
Andalu30 has joined #asahi
besmirich[m] has joined #asahi
bps2 has quit [Remote host closed the connection]
bps2 has joined #asahi
jelly has quit [Read error: Connection reset by peer]
jelly has joined #asahi
<kettenis_>
ah crap, i suppose i shouldn't send mail using my isp's webmail
<j_ey>
jannau: do you still have the GPIO trace log?
<tophevich[m]>
kettenis_: never use anything from your ISP but the internet (I'm in the industry, we (telecoms) only want to bundle you in our products in a bad way to keep you between a rock and a hard place when trying to leave for a less worse service)
<tophevich[m]>
read VAS (value added services) as laying stones in the way out of the gardn to recude churn -> make it painful as possible to leave
<tophevich[m]>
(no I'm not bitter)
<tophevich[m]>
Third party vendors also sell this as a feature to ISPs. It's a sepcial feature that you can't take the 3rd party product/service with you. If you buy it directly, you can use it everywhere. But if you buy it OTT via your ISP, it is locked to your ISP account, and by explicit design you can't (read: are not allowed to) transfer, yay!
<pipcet[m]>
alyssa: so, brcmfmac works with a few changes, most of them because I'm stupid and didn't read the error messages right :-)
arahael has joined #asahi
Andalu30 has joined #asahi
Andalu30 has quit [Read error: Connection reset by peer]
<alyssa>
kettenis_: I also had to add a hack (copying values from m1n1's fdt to u-boot's) to get the simple-framebuffer working in linux after enabling it in u-boot
<alyssa>
So maybe there's something especially buggy with my config
<alyssa>
at any rate, unless we're doing the init in u-boot spl, I'm not thrilled about depending on u-boot proper for boot. and since the hard parts are already done in m1n1 (thank you!) getting the m1n1->Linux path to have proper init seemed like a good idea.
jeffmiw has joined #asahi
artemist has quit [Quit: artemist]
<pipcet[m]>
alyssa: which hard parts are those (not trying to be confrontational, just wondering whether m1n1 grew any new features while I wasn't looking)?
artemist has joined #asahi
<alyssa>
pipcet[m]: PCIe tunables
<alyssa>
Corellium does it in their linux driver, Asahi does it in m1n1
<alyssa>
kettenis_: wrote the m1n1 code
<pipcet[m]>
oh, yes.
<pipcet[m]>
(can you apply those without turning on the clock on the macbooks, though?)
<alyssa>
Oh err
<pipcet[m]>
(I still have my enable-all-clocks in place before I ever hand off control to m1n1, so...)
<kettenis_>
alyssa: that's odd since simple-framebuffer works for me in openbsd
<kettenis_>
i can even run X
<kettenis_>
but maybe that is because the openbsd bootloader detects an EFI GOP framebuffer and creates the appropriate node in the fdt
<kettenis_>
one of the issues with linux on arm is that there are too many different ways to boot a kernel ;)
<pipcet[m]>
clearly someone needs to invent a new, better one, to replace all of them!