Re: [RFC PATCH 2/3] platform/x86: Add Uniwill laptop driver
From: Werner Sembach
Date: Wed Jun 18 2025 - 07:15:52 EST
Hi,
Am 17.06.25 um 23:50 schrieb Armin Wolf:
Am 16.06.25 um 14:32 schrieb Werner Sembach:
Hi,
Am 15.06.25 um 19:59 schrieb Armin Wolf:
[...]
+The EC behind the ``GetSetULong`` method is used by the OEM software
supplied by the manufacturer.
+Reverse-engineering of this software is difficult since it uses an
obfuscator, however some parts
+are not obfuscated.
Iirc Christoffer said there is also another non wmi, but acpi, get/set cmd
that can write only specific regions but is faster. Just wanted to leave this
here for potential future optimizations if you are interested.
What interface are you referring to exactly?
I think he was referring to these 2 methods in the dsdt:
Scope (_SB)
{
Device (INOU)
{
[...]
Method (ECRR, 1, NotSerialized)
{
Local0 = (0xFE410000 + Arg0)
Local1 = MMRW (Local0, Zero, Zero, Zero)
Return (Local1)
}
Method (ECRW, 2, NotSerialized)
{
Local0 = (0xFE410000 + Arg0)
MMRW (Local0, One, Zero, Arg1)
}
[...]
}
}
They can read/write the 0x04xx and 0x07xx addresses but not the 0x18xx ones
iirc, don't know about the 0x0fxx ones.
I think 0x18xx was never intended to be written probably, but we use it to
implement a custom fan curve option in tuxedo-drivers on older devices that
officially don't support it.
Best regards,
Werner