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