Le mar. 2 janv. 2024 à 21:23, Sébastien Chaumat <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 ?

Thanks,
Sébastien

Reply via email to