[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2ba73d1a-30d1-48a1-e2c3-89c4da28f88a@web.de>
Date: Tue, 24 Nov 2020 09:07:24 +0100
From: Andre Muller <andre.muller@....de>
To: "Wang, Jiada" <jiada_wang@...tor.com>,
Nick Dyer <nick.dyer@...ev.co.uk>
Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>,
"George G. Davis" <george_davis@...tor.com>,
linux-kernel@...r.kernel.org
Subject: Re: [Regression]: Commit 74d905d2 breaks the touchpad and touchscreen
of Google Chromebook "samus"
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
>>>>
>>
Powered by blists - more mailing lists