On 06.03.2024 18:28, Sébastien Chaumat wrote:
> Reasoning backward  (using a  kernel without the pinctrl_amd driver to
>> ensure xen only is at stake) :
>>  checking the diff in IOAPIC  between bare metal and xen  (IRQ7 is on
>> pin07 on APIC )
>>
>> using kernel argument : apic=debug
>>
>> bare metal :
>> [    0.715330] fedora kernel: ... APIC VERSION: 81050010
>> ...
>> [    0.715433] fedora kernel:  pin07, disabled, edge , high, V(00),
>> IRR(0), S(0), physical, D(0000), M(0)
>>
>> xen :
>> [    2.249582] fedora kernel: ... APIC VERSION: 00000014
>> ...
>> [    2.249730] fedora kernel:  pin07, disabled, level, low , V(60),
>> IRR(0), S(0), physical, D(0000), M(0)
>>
>> So the APIC table is not the same.
>>
>> As strange as it looks the  (IOAPIC 0) pin07 is correctly described by the
>> APIC in xen but yet differently than in baremetal.
>> But the APIC message comes long after the
>> [    1.833145] fedora kernel: xen: registering gsi 7 triggering 0 polarity
>> 1
>>
>> so I wonder if the APIC pin07 info had any influence.
>>
>> Finally found the fix : adding ioapic_ack=new to xen boot parameters.
> Not only the trackpad is now working but also the ACPI Embedded Controller
> which is completely disabled.

Hmm, interesting. From someone else's laptop many years ago I had actually
an indication in the opposite direction: That didn't work because of our
defaulting to new (no directed EOI in sight yet back at that time). I
wonder if overriding the ack method isn't actually just papering over the
underlying actual issue here, whatever that is. IOW with the edge vs level
mismatch addressed I'd hope the override could then be dropped again.

Jan

Reply via email to