On 1/22/2024 11:06, Sébastien Chaumat wrote:


Le mer. 17 janv. 2024 à 03:20, Mario Limonciello <mario.limoncie...@amd.com <mailto:mario.limoncie...@amd.com>> a écrit :

    On 1/16/2024 10:18, Jan Beulich wrote:
     > On 16.01.2024 16:52, Sébastien Chaumat wrote:
     >> Le mar. 2 janv. 2024 à 21:23, Sébastien Chaumat
    <euidz...@gmail.com <mailto:euidz...@gmail.com>> a
     >> écrit :
     >>
     >>>
     >>>   output of gpioinfo
     >>>>
     >>>> kernel alone :
     >>>>
     >>>>          line   5: unnamed         input active-low
    consumer=interrupt
     >>>>          line  84: unnamed         input active-low
    consumer=interrupt
     >>>>
     >>>> xen:
     >>>>
     >>>>          line   5: unnamed         input active-low
     >>>>          line  84: unnamed         input active-low
     >>>>
     >>>> xen with skipping IRQ7 double init :
     >>>>
     >>>>          line   5: unnamed         input active-low
    consumer=interrupt
     >>>>          line  84: unnamed         input active-low
     >>>>
     >>>>
     >>>> So definitely progressing.
     >>>>
     >>>
     >>> Checking /sys/kernel/irq/7
     >>>
     >>> kernel alone :
     >>>   actions: pinctrl_amd
     >>>   chip_name: IR-IO-APIC
     >>>   hwirq: 7
     >>>   name: fasteoi
     >>>   per_cpu_count: 0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0
     >>>   type: level
     >>>   wakeup: enabled
     >>>
     >>> xen skipping IRQ7 double init :
     >>>
     >>> actions: pinctrl_amd
     >>>   chip_name: xen-pirq
     >>>   hwirq:
     >>>   name: ioapic-level
     >>>   per_cpu_count: 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0
     >>>   type: edge
     >>>   wakeup: disabled
     >>>
     >>> So the skip of IRQ7 in pci_xen_initial_domain() sets the
    correct handler
     >>>   (IIUC xen uses the ioapic-level and handles the eoi
    separately), but not
     >>> the correct type (still edge).
     >>> I guess this may explains the results above.
     >>>
     >>>
     >>   Mario (in CC) patched the pinctrl_amd to flush pending
    interrupt before
     >> starting the driver for the GPIO.
     >>
     >> This helped in  the sense of there's no more pending interrupt
    on IRQ7
     >> (whatever the handler is, level or edge) but then the touchpad
    is not
     >> detected by i2c-hid.
     >>
     >> Is there any work in progress related to the incorrect IRQ
    configuration ?
     >
     > I'm not aware of any. As per my recollection it's still not entirely
     > clear where in the kernel things go astray. And to be honest I don't
     > feel comfortable trying to half-blindly address this, e.g. by trying
     > to circumvent / defer the early setting up of the low 16 IRQs.
     >
     > Jan

    Shot in the dark - but could this be a problem where PCAT_COMPAT from
    the MADT is being ignored causing PIC not to be setup properly in the
    Xen case?

    See https://lore.kernel.org/all/875y2u5s8g.ffs@tglx/
    <https://lore.kernel.org/all/875y2u5s8g.ffs@tglx/> for some context.

At least we know that no MADT override is found by xen for INT7 as no INT_SRC_OVR message is printed.

Do we expect one @Mario Limonciello <mailto:mario.limoncie...@amd.com>  ?

No; the INT_SRV_OVR you'll see on Framework 13 AMD is on IRQ 2 and IRQ 9.


Reply via email to