Messages in this thread | | | Subject | Re: [Regression]: Commit 74d905d2 breaks the touchpad and touchscreen of Google Chromebook "samus" | From | Andre Muller <> | Date | Tue, 24 Nov 2020 09:07:24 +0100 |
| |
Hi,
just a shot in the dark:
I consulted my notes on the convoluted initial setup of a mainline kernel for this hardware, and found the Atmel chip needed reprogramming to start working. The settings are preserved, once set.
I ran "enable-atmel.sh", last in 2017, from here: https://github.com/raphael/linux-samus/tree/master/scripts/setup/touchpad
I don't see or think this is related to the issue at hand, but my expertise on this hardware is limited, to put it kindly :)
Thanks, Andre
On 24/11/2020 07.32, Wang, Jiada wrote: > Hi Andre > > Thanks for the log, > Hmmm, from the log (also as you have observed) > Seems "data->use_retrigen_workaround" is true on your device > so workaround mxt_process_messages_until_invalid() is used. > which is as same as with the commit reverted, > I am not sure what caused IRQ get generated. > > @dmitry > I would suggest to revert the commit until we find out the root cause > > Thanks, > Jiada > > > On 2020/11/24 15:15, Andre Muller wrote: >> On 24/11/2020 04.02, Wang, Jiada wrote: >>> Hello Andre >>> >>> Thanks for the log, >>> can you add more debug information like following diff, >>> and get full log? >> >> Hi Jiada, >> >> I added the warnings, but none of them triggers. >> I double-checked the generated object file, it includes the debug strings. >> (Also tested that touchscreen/touchpad don't work, as expected.) >> >> Please find the full log attached. >> >> Thank you, >> Andre >> >> >>> >>> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c >>> index 98f17fa3a892..60bccd5c42f6 100644 >>> --- a/drivers/input/touchscreen/atmel_mxt_ts.c >>> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c >>> @@ -1298,21 +1298,29 @@ static int mxt_check_retrigen(struct mxt_data *data) >>> data->use_retrigen_workaround = false; >>> >>> irqd = irq_get_irq_data(data->irq); >>> - if (!irqd) >>> + if (!irqd) { >>> + dev_warn(&client->dev, "unable to get IRQ data\n"); >>> return -EINVAL; >>> + } >>> >>> - if (irqd_is_level_type(irqd)) >>> + if (irqd_is_level_type(irqd)) { >>> + dev_warn(&client->dev, "IRQ is level type\n"); >>> return 0; >>> + } >>> >>> if (data->T18_address) { >>> error = __mxt_read_reg(client, >>> data->T18_address + MXT_COMMS_CTRL, >>> 1, &val); >>> - if (error) >>> + if (error) { >>> + dev_warn(&client->dev, "failed to read reg: MXT_COMMS_CTRL\n"); >>> return error; >>> + } >>> >>> - if (val & MXT_COMMS_RETRIGEN) >>> + if (val & MXT_COMMS_RETRIGEN) { >>> + dev_warn(&client->dev, "RETRIGEN feature available\n"); >>> return 0; >>> + } >>> } >>> >>> dev_warn(&client->dev, "Enabling RETRIGEN workaround\n"); >>> >>> >>> Thanks, >>> Jiada >>> >>> On 2020/11/05 23:23, Andre Muller wrote: >>>> On 05/11/2020 14.25, Wang, Jiada wrote: >>>>> Hi Andre >>>>> >>>>> Thanks for your report, >>>>> could you also please post the log when with this commit reverted? >>>>> >>>>> Thanks, >>>>> Jiada >>>> >>>> Shure! >>>> The full dmesg with the revert is attached. >>>> >>>> The atmel_mxt bits are: >>>> >>>> [ 0.195879] atmel_mxt_ts i2c-ATML0000:01: Family: 164 Variant: 17 Firmware V1.0.AA Objects: 32 >>>> [ 0.211712] atmel_mxt_ts i2c-ATML0000:01: Direct firmware load for maxtouch.cfg failed with error -2 >>>> [ 0.212986] atmel_mxt_ts i2c-ATML0000:01: Touchscreen size X960Y540 >>>> [ 0.213025] input: Atmel maXTouch Touchpad as /devices/pci0000:00/INT3432:00/i2c-0/i2c-ATML0000:01/input/input4 >>>> [ 0.219208] atmel_mxt_ts i2c-ATML0001:01: Family: 164 Variant: 13 Firmware V1.0.AA Objects: 41 >>>> [ 0.238825] atmel_mxt_ts i2c-ATML0001:01: Direct firmware load for maxtouch.cfg failed with error -2 >>>> [ 0.238949] intel_rapl_common: Found RAPL domain package >>>> [ 0.238955] intel_rapl_common: Found RAPL domain core >>>> [ 0.238961] intel_rapl_common: Found RAPL domain uncore >>>> [ 0.238966] intel_rapl_common: Found RAPL domain dram >>>> [ 0.240121] atmel_mxt_ts i2c-ATML0001:01: Touchscreen size X2559Y1699 >>>> [ 0.240157] input: Atmel maXTouch Touchscreen as /devices/pci0000:00/INT3433:00/i2c-1/i2c-ATML0001:01/input/input5 >>>> >>>> Regards, >>>> Andre >>>> >>>>> >>>>> On 2020/11/04 17:13, Andre wrote: >>>>>> Hi, >>>>>> >>>>>> commit 74d905d2: Input: atmel_mxt_ts - only read messages in >>>>>> mxt_acquire_irq() when necessary >>>>>> >>>>>> breaks the touchpad and touchscreen of the 2015 Chromebook Pixel "Samus". >>>>>> >>>>>> Reverting the commit from the current git tree gets them to work again. >>>>>> >>>>>> I am not at all shure what info to include, but I will happily provide >>>>>> it on request. >>>>>> >>>>>> The dmesgs of a boot with commit 74d905d2 show "Enabling RETRIGEN >>>>>> workaround", but otherwise looks the same as a boot without. >>>>>> >>>>>> Here is the relevant bit (with 74d905d2): >>>>>> >>>>>> atmel_mxt_ts i2c-ATML0000:01: Family: 164 Variant: 17 Firmware V1.0.AA >>>>>> Objects: 32 >>>>>> atmel_mxt_ts i2c-ATML0000:01: Enabling RETRIGEN workaround >>>>>> atmel_mxt_ts i2c-ATML0000:01: Direct firmware load for maxtouch.cfg >>>>>> failed with error -2 >>>>>> atmel_mxt_ts i2c-ATML0000:01: Touchscreen size X960Y540 >>>>>> input: Atmel maXTouch Touchpad as >>>>>> /devices/pci0000:00/INT3432:00/i2c-0/i2c-ATML0000:01/input/input4 >>>>>> atmel_mxt_ts i2c-ATML0001:01: Family: 164 Variant: 13 Firmware V1.0.AA >>>>>> Objects: 41 >>>>>> atmel_mxt_ts i2c-ATML0001:01: Enabling RETRIGEN workaround >>>>>> atmel_mxt_ts i2c-ATML0001:01: Direct firmware load for maxtouch.cfg >>>>>> failed with error -2 >>>>>> >>>>>> Thank you, >>>>>> Andre Müller >>>> >>
| |