Bug#1002537: linux-image-5.15.0-2-rt-amd64: RT kernel does not support touchpad/trackpoint on Thinkpad L15
- To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>, 1002537@bugs.debian.org
- Cc: Michael Below <below@judiz.de>, tglx@linutronix.de
- Subject: Bug#1002537: linux-image-5.15.0-2-rt-amd64: RT kernel does not support touchpad/trackpoint on Thinkpad L15
- From: Salvatore Bonaccorso <carnil@debian.org>
- Date: Sun, 16 Jan 2022 17:04:57 +0100
- Message-id: <[🔎] YeRCKZU+RX3AManQ@eldamar.lan>
- Reply-to: Salvatore Bonaccorso <carnil@debian.org>, 1002537@bugs.debian.org
- In-reply-to: <Yd1pthnAJZlSTd/k@linutronix.de>
- References: <164029142830.1919.3324411757073599813.reportbug@nemo> <164029142830.1919.3324411757073599813.reportbug@nemo> <YcTh4AIEMHKw+eKC@flow> <YcTsTsNAWGegmVIS@eldamar.lan> <5e1cb8942dc542784a7edc89aa29082edb975fc8.camel@judiz.de> <164029142830.1919.3324411757073599813.reportbug@nemo> <Yd1pthnAJZlSTd/k@linutronix.de> <164029142830.1919.3324411757073599813.reportbug@nemo>
Control: tags -1 + moreinfo
Hi Michael,
On Tue, Jan 11, 2022 at 12:27:50PM +0100, Sebastian Andrzej Siewior wrote:
> On 2021-12-25 12:27:33 [+0100], Michael Below wrote:
> > Hi,
> Hi,
>
> > I have tested the patch, with help from Salvatore, and the dmesg output
> > looks better, but the touchpad still does not work. I am attaching the
> > dmesg output.
>
> based on
>
> > [ 1.575843] idma64 idma64.0: Found Intel integrated DMA 64-bit
> > [ 1.578321] i801_smbus 0000:00:1f.4: SPD Write Disable is set
> > [ 1.578365] genirq: Flags mismatch irq 16. 00010080 (i801_smbus) vs. 00002080 (idma64.0)
> > [ 1.578368] i801_smbus 0000:00:1f.4: Failed to allocate irq 16: -16
> > [ 1.578370] i801_smbus 0000:00:1f.4: SMBus using polling
>
> the IRQ can not be non-threaded because it is shared with idma64. Good.
> Based on output it says that it is using polling so I'm don't know why
> the touchpad is not working…
>
> What about the following hunk instead?
>
> diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
> index 73253e667de1d..30e93651d5b6b 100644
> --- a/drivers/i2c/i2c-core-base.c
> +++ b/drivers/i2c/i2c-core-base.c
> @@ -1423,7 +1423,10 @@ int i2c_handle_smbus_host_notify(struct i2c_adapter *adap, unsigned short addr)
> if (irq <= 0)
> return -ENXIO;
>
> - generic_handle_irq(irq);
> + if (!IS_ENABLED(CONFIG_PREEMPT_RT))
> + generic_handle_irq(irq);
> + else
> + handle_nested_irq(irq);
>
> return 0;
> }
>
> > Cheers
> > Michael
Where you by chance already able to test this?
Regards,
Salvatore
Reply to: