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
zumi_ has joined #asahi-dev
zumi has quit [Ping timeout: 480 seconds]
zumi_ is now known as zumi
lockbox_ has quit [Read error: Connection reset by peer]
lockbox has joined #asahi-dev
tobhe_ has joined #asahi-dev
tobhe has quit [Ping timeout: 480 seconds]
hexdump02 has joined #asahi-dev
hexdump0815 has quit [Ping timeout: 480 seconds]
nora_ has joined #asahi-dev
nora has quit [Ping timeout: 480 seconds]
eluks has quit [Remote host closed the connection]
eluks has joined #asahi-dev
seb__ has quit [Quit: Konversation terminated!]
zumi_ has joined #asahi-dev
zumi has quit [Ping timeout: 480 seconds]
zumi_ is now known as zumi
ravikant_ has joined #asahi-dev
snklp has joined #asahi-dev
seb__ has joined #asahi-dev
seb__ has quit [Ping timeout: 480 seconds]
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-dev
seb__ has joined #asahi-dev
snklp has quit [Ping timeout: 480 seconds]
seb_ has joined #asahi-dev
seb__ has quit [Remote host closed the connection]
seb_ has quit []
seb_ has joined #asahi-dev
coolshaurya has quit [Read error: Connection reset by peer]
aleksrutins has quit [Read error: Connection reset by peer]
coder_kalyan has quit [Read error: Connection reset by peer]
jacksonchen666 has quit [Read error: Connection reset by peer]
geep has quit [Read error: Connection reset by peer]
coder_kalyan has joined #asahi-dev
aleksrutins has joined #asahi-dev
geep has joined #asahi-dev
coolshaurya has joined #asahi-dev
jacksonchen666 has joined #asahi-dev
kyberkiwi has quit [Read error: Network is unreachable]
kyberkiwi has joined #asahi-dev
lederstr- has joined #asahi-dev
nela2 has joined #asahi-dev
nela has quit [Read error: Connection reset by peer]
nela2 is now known as nela
lederstrumpf has quit [Read error: Connection reset by peer]
opticron has quit [Remote host closed the connection]
opticron has joined #asahi-dev
zumi_ has joined #asahi-dev
ravikant_ has joined #asahi-dev
zumi has quit [Ping timeout: 480 seconds]
zumi_ is now known as zumi
cylm has joined #asahi-dev
cylm_ has joined #asahi-dev
cylm has quit [Ping timeout: 480 seconds]
Halian has quit [Quit: I'll be back.]
john-cabaj has joined #asahi-dev
mripard has joined #asahi-dev
cylm has joined #asahi-dev
cylm_ has quit [Ping timeout: 480 seconds]
CME has quit [Ping timeout: 480 seconds]
cylm_ has joined #asahi-dev
CME has joined #asahi-dev
cylm has quit [Ping timeout: 480 seconds]
ruicon has joined #asahi-dev
<ruicon>
is there someone named "James Calligeros" here?
<ruicon>
If you are James Calligeros, would you be okay with me using part of your code in my SMC implementation and upstreaming it, provided I give you proper credit?
<jannau>
chadmed: ^^^ probably not online right now
<jannau>
ruicon: what code? note that chadmed is currently upstreaming more of our smc subdevices and has already sent 2 versions
<ruicon>
hwmon
<sven>
probably best to wait until that’s upstream and then send follow up patches
<jannau>
chadmed: hwmom in that v2 doesn't compile for. gcc fails with "error: case label does not reduce to an integer constant" on 'case _SMC_KEY("flt ")'
fossdd has joined #asahi-dev
mattia013 has quit [Remote host closed the connection]
mattia013 has joined #asahi-dev
ravikant_ has quit []
verlio has joined #asahi-dev
verlio has quit []
verlio has joined #asahi-dev
verlio has quit [Remote host closed the connection]
verlio has joined #asahi-dev
verlio has quit []
rhysmdnz has quit [Quit: Bridge terminating on SIGTERM]
Guest27106 has quit [Quit: Bridge terminating on SIGTERM]
rhysmdnz has joined #asahi-dev
Jamie has joined #asahi-dev
Jamie is now known as Guest27650
balrog has quit []
okb has joined #asahi-dev
roxfan2 has joined #asahi-dev
balrog has joined #asahi-dev
roxfan has quit [Ping timeout: 480 seconds]
okb has quit [Ping timeout: 480 seconds]
zumi_ has joined #asahi-dev
zumi has quit [Ping timeout: 480 seconds]
zumi_ is now known as zumi
ruicon_ has joined #asahi-dev
ruicon has quit [Remote host closed the connection]
<ruicon_>
uhm, would it be ok if i removed dt from macsmc-hwmon after it has been upstream (i am asking cuz i dont want to create 2 different dt entries for same thing, and if i just hardcoded the keys, it would be better)? if not can anyone please recommend any other meathod?
<jannau>
no, that would not be ok
<jannau>
I don't see how you can hardcode the keys as they differ per model / soc (on apple silicon side)
<jannau>
please reply now to the v2 hwmon driver patch that there is a use case for non-DT macsmc HW mon support
<jannau>
on apple silicon side DT is preferred because it means that we do not have to modify the driver when a new model arrives. just the DT which we have to add anyway
<ruicon_>
jannau: it wouldnt be too hard tbh, we already know fan keys and i already know that keys that start with 'I' are current keys, keys that start with 'P' are power keys, same for 'T' for temp and 'V' for voltage
<ruicon_>
apple hasnt change this at all
<ruicon_>
changed*
<chaos_princess>
Right, but seeing "it is some temp sensor, which one? - you tell me", is not helpful
<chaos_princess>
i guess you can hardcode it in driver for x86 macs and match on smbios
<jannau>
yes, but it's not clear/constant what the individual keys are. you can't (shouldn't) just expose all because at least on apple silicon there are keys either reporting constant 0 or bogus values
<ruicon_>
so i can use compiler flags to differeniate x86 and arm, and use of on arm and hardcoding keys on x86?
<sven>
presumably the probe path is different on x86, so just use your hardcoded key table there
<ruicon_>
so, do i write a new driver like macsmc-hwmon-x86?
<jannau>
I think we need smc subnodes with their own compatibles on apple silicon
<jannau>
aren't the sub driver probed via mfd cells?
<sven>
essentially yes, you need a mfd cell entry and it’s gonna probe the sub driver then no matter what
<sven>
but I assume there’s a if(has dt node) check or something inside hwmon already
<sven>
so if it shares code with x86 hwmon just branch off that and select a hardcoded table instead of parsing from the DT
Extern has joined #asahi-dev
<ruicon_>
so bascially check if has dt, if has use dt, if not use hardcoded table which i meationed above?
ruicon_ has quit [Remote host closed the connection]
<jannau>
do we need soc specific compatibles for the smc subnodes?
<kettenis>
that would make no sense; the smc interface is hardware-independent
<jannau>
the keys aren't fully though but in the case of hwmon that's delegated directly into the DT
<sven>
we can always check the SMC root node compatible which is soc-specific anyway
<kettenis>
well, some of the keys are universal, some of the keys depend on the firmware version, some of the keys are SoC-specific, some of the keys are machine-specific
ruicon has joined #asahi-dev
ruicon has quit [Remote host closed the connection]
<jannau>
is it possible that trhe sub drivers are probed before the smc driver set its driver data?
<sven>
we should set the data before calling mfd_add_devices
<chadmed>
jannau: thats odd. i will see whats up with that
<jannau>
I think if we add compatibles and of_match tables driver core could probe them as well
<chadmed>
ruicon_: unfortunately we cant really decouple hwmon from dt for the reasons mentioned without abusing dt compatibles and having a giant header file full of tables which is really gross
<jannau>
chadmed: it's the reason why I added the __SMC_KEY macro in the downstream driver. I think gcc had this issue always
<chadmed>
yeah i am remembering now
<chadmed>
i will reintroduce it for v3
<sven>
I don’t think the core is supposed to probe sub node just because they have a match table
<sven>
i e.g. have a dart as a subside of my tbt main node and that certainly doesn’t get probed automatically
<sven>
*subnode
nickchan has quit [Quit: ZNC 1.9.1+deb2+b3 - https://znc.in]
<jannau>
with a compatible that matches apple-dart?
nickchan has joined #asahi-dev
<sven>
yes
<sven>
if that were probed before acio init it would serror
<jannau>
it's not unset drvdata
<jannau>
also afaik core isn't supposed to probe childrens before the their parent's probe finished
<sven>
for my tbt hack I have to manually call of_platform_populate iirc
<jannau>
macsmc.c never calls mutex_init()
<sven>
that’s not great :D
<sven>
kinda surprised it even worked without that
<jannau>
I'll send a fix probably too late for v6.17 though
<jannau>
I'm also surprised it only fails occasionally
<sven>
it’ll go into some -rc anyway
<jannau>
we do not care that much and there are hopefully not many upstream users (if at all)
<jannau>
sent
<jannau>
why does hwmon use HWMON_I_* for voltage
<chadmed>
I is IN not current
<chadmed>
HWMON_C_ is current
<chadmed>
iirc
<chadmed>
oh you mean why is it called that
<chadmed>
yeah idk its dumb
<chadmed>
i can only assume that the subsystem waaay back when was designed around some piece of hardware that only did voltage monitoring and so "in" was just the input
<chadmed>
and ofc we cant break userspace
<chadmed>
the voltage sensors are all called in*_input in sysfs too