New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 734663 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Strago boards incorrectly describe touch IRQ

Project Member Reported by dtor@chromium.org, Jun 19 2017

Issue description

Similarly to keyboard IRQ ( http://crbug.com/704198 ) the touch interrupt on Strago boards is also hard-coded. In addition to being fragile, it breaks replaying of edge-triggered interrupts, because the data provided in ACPI tables prevents kernel from building proper interrupt hierarchy.

This breaks touchscreen resume on Kefka devices post M59 (it appears timings have changed slightly and we are now missing edge on resume).
 

Comment 1 by jayhlee@google.com, Jun 21 2017

Labels: -Pri-3 Pri-1
bumping priority since we're seeing this from many EDUs that have deployed Kefka and it's a significant interruption for classroom.

Comment 2 by jayhlee@google.com, Jun 21 2017

Labels: ReleaseBlock-Stable M-59

Comment 3 by jayhlee@google.com, Jun 21 2017

We're also getting reports of failures to resume on case open with kefka if case has been closed for 1+ hours (resume works when re-opened minutes later). Seems related since this cropped up in 59 also but if it's not I can file a new bug, any idea?

Comment 4 by gkihumba@google.com, Jun 21 2017

Labels: M-60

Comment 5 by gkihumba@google.com, Jun 21 2017

Current M59 stable already has this issue. We should aim to get it fixed for a 3rd stable refresh as fix is unlikely to make it in today's build.

Comment 6 by gkihumba@google.com, Jun 21 2017

Looks like corresponding b/ issue has a workaround hack. We'll get that merged into M59

Comment 7 by dtor@chromium.org, Jun 21 2017

Cc: -dtor@chromium.org reinauer@chromium.org
Labels: -Pri-1 -ReleaseBlock-Stable -M-59 -M-60 Pri-2
Owner: dtor@chromium.org
Status: Started (was: Untriaged)
The 59 and 60 will have a simple workaround, we will land proper solution when it is ready.
@gkihumba, I'm confused if in c#5 you're talking about the device failure to resume on case open, or if it's the touchscreen resume. 

Is this bug report also the same cause of failure to resume on case open?.

Thanks!
Polite ping on this one. Do we have any update? 

Comment 10 by dtor@chromium.org, Aug 18 2017

There is a CL for the issue https://crrev.com/c/540084, but Intel essentially owns firmware on Strago boards so they need to take care of it and qualify.
Labels: Kernel-4.14
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 28 2017

Labels: merge-merged-firmware-cyan-7287.57.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/7f69df0c15879aa0318c1eee4c4080cc86f28fbc

commit 7f69df0c15879aa0318c1eee4c4080cc86f28fbc
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Tue Nov 28 18:18:18 2017

Revert "Cyan: Fix Touchscreen Interrupt"

This reverts commit 113872728e9ed4c696e73eecf3434aebdb527947: instead
of hardcoding virtual interrupt numbers in BIOS/ASL (that changes as
GPIO/IRQ subsystem in Linux changes), it should have been handled in
the kernel (and it was handled later, by not considering GpioInt
resources as suitable for GPIO output requests).

BUG= chromium:734663 
TEST=Boot on Cyan, verify touchscreen works

Change-Id: I8b39523da227ccb11c16400093f87dd87ab284c9
Reviewed-on: https://chromium-review.googlesource.com/791991
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: Dmitry Torokhov <dtor@chromium.org>
Commit-Queue: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/7f69df0c15879aa0318c1eee4c4080cc86f28fbc/src/mainboard/google/cyan/acpi/mainboard.asl
[modify] https://crrev.com/7f69df0c15879aa0318c1eee4c4080cc86f28fbc/src/mainboard/google/cyan/onboard.h

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/2ae384943bff6dfb55e1ddf0056d249c31fe9362

commit 2ae384943bff6dfb55e1ddf0056d249c31fe9362
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Tue Nov 28 18:20:39 2017

Cyan: mark board family as Intel_Strago

Cyan belongs to Strago family, let's mark it as such.

BUG= chromium:734663 
TEST=Boot on Cyan, verify touchscreen works

Change-Id: I0983e34692a81c31775add0d4742d5eff0adb710
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/791993
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/2ae384943bff6dfb55e1ddf0056d249c31fe9362/src/mainboard/google/cyan/Kconfig

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 30 2017

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d52b8bcde7e36676e1e1caa6d5ad903af63a3152

commit d52b8bcde7e36676e1e1caa6d5ad903af63a3152
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: Thu Nov 30 02:04:57 2017

UPSTREAM: Input: elan_i2c - do not clobber interrupt trigger on x86

On x86 we historically used falling edge interrupts in the driver
because that's how first Chrome devices were configured. They also
did not use ACPI to enumerate I2C devices (because back then there
was no kernel support for that), so trigger was hard-coded in the
driver. However the controller behavior is much more reliable if
we use level triggers, and that is how we configured ARM devices,
and how want to configure newer x86 devices as well. All newer
x86 boxes have their I2C devices enumerated in ACPI.

Let's see if platform code (ACPI, DT) described interrupt and
specified particular trigger type, and if so, let's use it instead
of always clobbering trigger with IRQF_TRIGGER_FALLING. We will
still use this trigger type as a fallback if platform code left
interrupt trigger unconfigured.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196761
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

BUG= chromium:734663 
TEST=Build and boot on Cyan with updated firmware, verify touchpad works

(cherry picked from commit a4b0a58bb1420757593978cdb213dab022403a3e)
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Change-Id: I99ac8dc2fe805fa698d481f30848cebdb3cc50b0
Reviewed-on: https://chromium-review.googlesource.com/794330
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>

[modify] https://crrev.com/d52b8bcde7e36676e1e1caa6d5ad903af63a3152/drivers/input/mouse/elan_i2c_core.c

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bf360841c94afc306b8ebe13522dca1465b5d4ff

commit bf360841c94afc306b8ebe13522dca1465b5d4ff
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: Thu Nov 30 09:13:08 2017

FROMLIST: Input: elants_i2c - do not clobber interrupt trigger on x86

This is similar to commit a4b0a58bb142 ("Input: elan_i2c - do not
clobber interrupt trigger on x86")

On x86 we historically used falling edge interrupts in the driver
because that's how first Chrome devices were configured. They also
did not use ACPI to enumerate I2C devices (because back then there
was no kernel support for that), so trigger was hard-coded in the
driver. However the controller behavior is much more reliable if
we use level triggers, and that is how we configured ARM devices,
and how want to configure newer x86 devices as well. All newer
x86 boxes have their I2C devices enumerated in ACPI.

Let's see if platform code (ACPI, DT) described interrupt and
specified particular trigger type, and if so, let's use it instead
of always clobbering trigger with IRQF_TRIGGER_FALLING. We will
still use this trigger type as a fallback if platform code left
interrupt trigger unconfigured.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

BUG= chromium:734663 
TEST=Build and boot on Cyan with updated firmware, verify touchscreen works

(am from https://patchwork.kernel.org/patch/10062223/)
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Change-Id: I92643bf19ebf68823b2aca0dc664c0ddc6369194
Reviewed-on: https://chromium-review.googlesource.com/794331
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/bf360841c94afc306b8ebe13522dca1465b5d4ff/drivers/input/touchscreen/elants_i2c.c

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/75972a612bdc7d47376661f8877a70dd6ac16e73

commit 75972a612bdc7d47376661f8877a70dd6ac16e73
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 09:13:11 2017

CHROMIUM: Input: atmel_mxt_ts - request reset gpio as output

Combine requesting reset GPIO and configuring it as output GPIO in one
step, so that on ACPI systems GPIO _CRS fallback does not give GPIO used
for interrupt and described as GpioInt() as reset GPIO.

BUG= chromium:734663 
TEST=Build and boot on Celes with updated firmware, verify touchscreen
works

Change-Id: Ib143846752040a5f3f375a2ee9f9babe5da34f1a
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/797927
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/75972a612bdc7d47376661f8877a70dd6ac16e73/drivers/input/touchscreen/atmel_mxt_ts.c

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/3a5607d8de8f7175a1c3e038fdba3e73a6b2f717

commit 3a5607d8de8f7175a1c3e038fdba3e73a6b2f717
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 19:02:39 2017

Cyan: switch Touchpad and Touchscreen interrupts to be level-triggered

The Elan touch controllers found in this device work much more reliably
if used with level-triggered interrupts rather than edge-triggered.

BUG= chromium:734663 
TEST=Boot Cyan, verify that touchpad and touchscreen work.

Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/791994
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/3a5607d8de8f7175a1c3e038fdba3e73a6b2f717/src/soc/intel/braswell/include/soc/gpio.h
[modify] https://crrev.com/3a5607d8de8f7175a1c3e038fdba3e73a6b2f717/src/mainboard/google/cyan/gpio.c
[modify] https://crrev.com/3a5607d8de8f7175a1c3e038fdba3e73a6b2f717/src/mainboard/google/cyan/acpi/mainboard.asl
[modify] https://crrev.com/3a5607d8de8f7175a1c3e038fdba3e73a6b2f717/src/mainboard/google/cyan/gpio_pre_evt.c

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 30 2017

Labels: merge-merged-firmware-ultima-7287.131.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/9bc069b1e92a40b950a55b2b82b1879df70afc39

commit 9bc069b1e92a40b950a55b2b82b1879df70afc39
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 21:48:51 2017

Ultima: do not hardcode virtual interrupt numbers

Instead of hardcoding virtual interrupt numbers that may change as
the kernel changes, use GpioInt() resources to describe keyboard
and touchscreen interrupt lines.

BUG= chromium:704198 , chromium:734663 
TEST=Build and boot Ultima, verify keyboard and touchpad work with
newer kernels (4.14).

Change-Id: I98d5726f5b8094d639fb40dfca128364f63bb30b
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/801339
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/9bc069b1e92a40b950a55b2b82b1879df70afc39/src/mainboard/google/ultima/onboard.h
[modify] https://crrev.com/9bc069b1e92a40b950a55b2b82b1879df70afc39/src/mainboard/google/ultima/acpi/superio.asl
[modify] https://crrev.com/9bc069b1e92a40b950a55b2b82b1879df70afc39/src/mainboard/google/ultima/acpi/mainboard.asl

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/e99c7a26797566ded71177bc7fb36b108570a4c6

commit e99c7a26797566ded71177bc7fb36b108570a4c6
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 21:49:02 2017

coreboot: ultima: update BIOS version to 1.1

Now that coreboot on Ultima no longer uses hardcoded interrupt numbers
to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:801340
BUG= chromium:704198 , chromium:734663 
TEST=Boot on Ultima, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/801342
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[rename] https://crrev.com/e99c7a26797566ded71177bc7fb36b108570a4c6/sys-boot/coreboot/coreboot-0.0.1-r1172.ebuild
[modify] https://crrev.com/e99c7a26797566ded71177bc7fb36b108570a4c6/sys-boot/coreboot/files/configs/config.ultima

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/5df7663ea746adb3c3312265a673ff764bf64f64

commit 5df7663ea746adb3c3312265a673ff764bf64f64
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 21:49:14 2017

Ultima: switch Touchpad and Touchscreen interrupts to be level-triggered

The Elan touch controllers found in this device work much more reliably
if used with level-triggered interrupts rather than edge-triggered.

BUG= chromium:734663 
TEST=Boot Ultima, verify that touchpad and touchscreen work.

Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/801341
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/5df7663ea746adb3c3312265a673ff764bf64f64/src/soc/intel/braswell/include/soc/gpio.h
[modify] https://crrev.com/5df7663ea746adb3c3312265a673ff764bf64f64/src/mainboard/google/ultima/gpio.c
[modify] https://crrev.com/5df7663ea746adb3c3312265a673ff764bf64f64/src/mainboard/google/ultima/acpi/mainboard.asl

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 30 2017

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/95680b4766488b0f4e8eb5fbe48b789f1db985b7

commit 95680b4766488b0f4e8eb5fbe48b789f1db985b7
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: Thu Nov 30 22:18:41 2017

UPSTREAM: Input: elan_i2c - do not clobber interrupt trigger on x86

On x86 we historically used falling edge interrupts in the driver
because that's how first Chrome devices were configured. They also
did not use ACPI to enumerate I2C devices (because back then there
was no kernel support for that), so trigger was hard-coded in the
driver. However the controller behavior is much more reliable if
we use level triggers, and that is how we configured ARM devices,
and how want to configure newer x86 devices as well. All newer
x86 boxes have their I2C devices enumerated in ACPI.

Let's see if platform code (ACPI, DT) described interrupt and
specified particular trigger type, and if so, let's use it instead
of always clobbering trigger with IRQF_TRIGGER_FALLING. We will
still use this trigger type as a fallback if platform code left
interrupt trigger unconfigured.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196761
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

BUG= chromium:734663 
TEST=Build and boot on Cyan with updated firmware, verify touchpad works

(cherry picked from commit a4b0a58bb1420757593978cdb213dab022403a3e)
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Change-Id: I99ac8dc2fe805fa698d481f30848cebdb3cc50b0
Reviewed-on: https://chromium-review.googlesource.com/794330
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
(cherry picked from commit d52b8bcde7e36676e1e1caa6d5ad903af63a3152)
Reviewed-on: https://chromium-review.googlesource.com/799032

[modify] https://crrev.com/95680b4766488b0f4e8eb5fbe48b789f1db985b7/drivers/input/mouse/elan_i2c_core.c

Project Member

Comment 22 by bugdroid1@chromium.org, Nov 30 2017

Labels: merge-merged-firmware-celes-7287.92.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/b254084daa81918b30077881997709fc09d54240

commit b254084daa81918b30077881997709fc09d54240
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 23:34:23 2017

Celes: do not hardcode touchpad virtual interrupt number

Instead of hardcoding virtual interrupt numbers that may change as
the kernel changes, use GpioInt() reosurces to describe touchpad
interrupt lines.

BUG= chromium:734663 
TEST=Boot on Celes, verify touchpad works

Change-Id: Ia6b158e9d29b4ba5204b945d20b6930593a13d6a
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/798062
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/b254084daa81918b30077881997709fc09d54240/src/mainboard/google/celes/acpi/mainboard.asl

Project Member

Comment 23 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/48b0788eee98a1ac1b6e1474e1d2dd0f4159501e

commit 48b0788eee98a1ac1b6e1474e1d2dd0f4159501e
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 23:34:26 2017

Celes: mark board family as Intel_Strago

Celes belongs to Strago family, let's mark it as such.

BUG= chromium:734663 
TEST=Boot on Celes, check dmidecode

Change-Id: I0983e34692a81c31775add0d4742d5eff0adb710
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/798063
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/48b0788eee98a1ac1b6e1474e1d2dd0f4159501e/src/mainboard/google/celes/Kconfig

Project Member

Comment 24 by bugdroid1@chromium.org, Nov 30 2017

Labels: merge-merged-firmware-edgar-7287.167.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/aa87de0f7214d0fdd3a070a0ef158801d1139ba6

commit aa87de0f7214d0fdd3a070a0ef158801d1139ba6
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 23:37:23 2017

coreboot: edgar: update BIOS version to 1.1

Now that coreboot on Edgar no longer uses hardcoded interrupt numbers
to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:798069
BUG= chromium:704198 , chromium:734663 
TEST=Boot on Edgar, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/797941
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/aa87de0f7214d0fdd3a070a0ef158801d1139ba6/sys-boot/coreboot/files/configs/config.edgar
[rename] https://crrev.com/aa87de0f7214d0fdd3a070a0ef158801d1139ba6/sys-boot/coreboot/coreboot-0.0.1-r1188.ebuild

Project Member

Comment 25 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/fd02b700e2741f3561dab94170bcfda4255bfbe7

commit fd02b700e2741f3561dab94170bcfda4255bfbe7
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 23:37:27 2017

Edgar: switch Touchpad interrupt to be level-triggered

The Elan touch controllers found in this device work much more reliably
if used with level-triggered interrupts rather than edge-triggered.

BUG= chromium:734663 
TEST=Boot Edgar, verify that touchpad works

Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/798510
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/fd02b700e2741f3561dab94170bcfda4255bfbe7/src/mainboard/google/edgar/gpio.c
[modify] https://crrev.com/fd02b700e2741f3561dab94170bcfda4255bfbe7/src/soc/intel/braswell/include/soc/gpio.h
[modify] https://crrev.com/fd02b700e2741f3561dab94170bcfda4255bfbe7/src/mainboard/google/edgar/acpi/mainboard.asl

Project Member

Comment 26 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/9c32a2831bdccb401ba60e987bd9055702f47991

commit 9c32a2831bdccb401ba60e987bd9055702f47991
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 23:37:31 2017

coreboot: celes: update BIOS version to 1.1

Now that coreboot on Celes no longer uses hardcoded interrupt numbers
to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:798062
BUG= chromium:704198 , chromium:734663 
TEST=Boot on Celes, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/798110
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[rename] https://crrev.com/9c32a2831bdccb401ba60e987bd9055702f47991/sys-boot/coreboot/coreboot-0.0.1-r1145.ebuild
[modify] https://crrev.com/9c32a2831bdccb401ba60e987bd9055702f47991/sys-boot/coreboot/files/configs/config.celes

Project Member

Comment 27 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/48ebf7e8b017acbedbc722ffa14f6f02f714ce97

commit 48ebf7e8b017acbedbc722ffa14f6f02f714ce97
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Nov 30 23:37:35 2017

coreboot: cyan: update BIOS version to 1.1

Now that coreboot on Cyan no longer uses hardcoded interrupt numbers
to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:791992
BUG= chromium:704198 , chromium:734663 
TEST=Boot on Cyan, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/792257
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/48ebf7e8b017acbedbc722ffa14f6f02f714ce97/sys-boot/coreboot/files/configs/config.cyan
[rename] https://crrev.com/48ebf7e8b017acbedbc722ffa14f6f02f714ce97/sys-boot/coreboot/coreboot-0.0.1-r1137.ebuild

Project Member

Comment 28 by bugdroid1@chromium.org, Dec 1 2017

Labels: merge-merged-chromeos-4.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/941a47af49d447c7223cada97f8bce55e0e19622

commit 941a47af49d447c7223cada97f8bce55e0e19622
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: Fri Dec 01 01:25:08 2017

FROMLIST: Input: elants_i2c - do not clobber interrupt trigger on x86

This is similar to commit a4b0a58bb142 ("Input: elan_i2c - do not
clobber interrupt trigger on x86")

On x86 we historically used falling edge interrupts in the driver
because that's how first Chrome devices were configured. They also
did not use ACPI to enumerate I2C devices (because back then there
was no kernel support for that), so trigger was hard-coded in the
driver. However the controller behavior is much more reliable if
we use level triggers, and that is how we configured ARM devices,
and how want to configure newer x86 devices as well. All newer
x86 boxes have their I2C devices enumerated in ACPI.

Let's see if platform code (ACPI, DT) described interrupt and
specified particular trigger type, and if so, let's use it instead
of always clobbering trigger with IRQF_TRIGGER_FALLING. We will
still use this trigger type as a fallback if platform code left
interrupt trigger unconfigured.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

BUG= chromium:734663 
TEST=Build and boot on Cyan with updated firmware, verify touchscreen works

(am from https://patchwork.kernel.org/patch/10062223/)
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Change-Id: I92643bf19ebf68823b2aca0dc664c0ddc6369194
Reviewed-on: https://chromium-review.googlesource.com/794331
Reviewed-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit bf360841c94afc306b8ebe13522dca1465b5d4ff)
Reviewed-on: https://chromium-review.googlesource.com/801475

[modify] https://crrev.com/941a47af49d447c7223cada97f8bce55e0e19622/drivers/input/touchscreen/elants_i2c.c

Project Member

Comment 29 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0fdca76ae621e4c67970b3511cfeb988a1350815

commit 0fdca76ae621e4c67970b3511cfeb988a1350815
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: Fri Dec 01 04:30:15 2017

FROMLIST: Input: elants_i2c - do not clobber interrupt trigger on x86

This is similar to commit a4b0a58bb142 ("Input: elan_i2c - do not
clobber interrupt trigger on x86")

On x86 we historically used falling edge interrupts in the driver
because that's how first Chrome devices were configured. They also
did not use ACPI to enumerate I2C devices (because back then there
was no kernel support for that), so trigger was hard-coded in the
driver. However the controller behavior is much more reliable if
we use level triggers, and that is how we configured ARM devices,
and how want to configure newer x86 devices as well. All newer
x86 boxes have their I2C devices enumerated in ACPI.

Let's see if platform code (ACPI, DT) described interrupt and
specified particular trigger type, and if so, let's use it instead
of always clobbering trigger with IRQF_TRIGGER_FALLING. We will
still use this trigger type as a fallback if platform code left
interrupt trigger unconfigured.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

BUG= chromium:734663 
TEST=Build and boot on Cyan with updated firmware, verify touchscreen works

(am from https://patchwork.kernel.org/patch/10062223/)
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Change-Id: I92643bf19ebf68823b2aca0dc664c0ddc6369194
Reviewed-on: https://chromium-review.googlesource.com/794331
Reviewed-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit bf360841c94afc306b8ebe13522dca1465b5d4ff)
Reviewed-on: https://chromium-review.googlesource.com/801474

[modify] https://crrev.com/0fdca76ae621e4c67970b3511cfeb988a1350815/drivers/input/touchscreen/elants_i2c.c

Project Member

Comment 30 by bugdroid1@chromium.org, Dec 8 2017

Labels: merge-merged-firmware-terra-7287.154.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/73f011ec2f5bfb9140c06b4dfc7d0fca1f07c9f2

commit 73f011ec2f5bfb9140c06b4dfc7d0fca1f07c9f2
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Fri Dec 08 01:52:32 2017

Terra: switch Touchpad interrupt to be level-triggered

The Elan touch controllers found in this device work much more reliably
if used with level-triggered interrupts rather than edge-triggered.

BUG= chromium:734663 
TEST=Boot Terra, verify that touchpad works

Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/815884
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/73f011ec2f5bfb9140c06b4dfc7d0fca1f07c9f2/src/mainboard/google/terra/acpi/mainboard.asl
[modify] https://crrev.com/73f011ec2f5bfb9140c06b4dfc7d0fca1f07c9f2/src/soc/intel/braswell/include/soc/gpio.h
[modify] https://crrev.com/73f011ec2f5bfb9140c06b4dfc7d0fca1f07c9f2/src/mainboard/google/terra/gpio.c

Project Member

Comment 31 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cfd1914b4eb6950ab414e2367e9cebf12a217331

commit cfd1914b4eb6950ab414e2367e9cebf12a217331
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Fri Dec 08 01:52:35 2017

coreboot: terra: update BIOS version to 1.1

Now that coreboot on Terra no longer uses hardcoded interrupt numbers
to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:815883
BUG= chromium:704198 , chromium:734663 
TEST=Boot on Terra, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/816075
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[rename] https://crrev.com/cfd1914b4eb6950ab414e2367e9cebf12a217331/sys-boot/coreboot/coreboot-0.0.1-r1189.ebuild
[modify] https://crrev.com/cfd1914b4eb6950ab414e2367e9cebf12a217331/sys-boot/coreboot/files/configs/config.terra

Project Member

Comment 32 by bugdroid1@chromium.org, Dec 8 2017

Labels: merge-merged-firmware-reks-7287.133.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/50feefbf1259e46afd90f8725248627719621dfa

commit 50feefbf1259e46afd90f8725248627719621dfa
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Fri Dec 08 23:06:18 2017

Reks: do not hardcode virtual interrupt numbers

Instead of hardcoding virtual interrupt numbers that may change as
the kernel changes, use GpioInt() reosurces to describe keyboard
and touchscreen interrupt lines.

BUG= chromium:704198 , chromium:734663 
TEST=Build and boot Reks, verify keyboard and touchscreen work with
newer kernels (4.14).

Change-Id: I98d5726f5b8094d639fb40dfca128364f63bb30b
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/817987
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/50feefbf1259e46afd90f8725248627719621dfa/src/mainboard/google/reks/acpi/mainboard.asl
[modify] https://crrev.com/50feefbf1259e46afd90f8725248627719621dfa/src/mainboard/google/reks/onboard.h
[modify] https://crrev.com/50feefbf1259e46afd90f8725248627719621dfa/src/mainboard/google/reks/acpi/superio.asl

Project Member

Comment 33 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/4996b8383a5de577dc2254f3cc9ee0b0e8095017

commit 4996b8383a5de577dc2254f3cc9ee0b0e8095017
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Fri Dec 08 23:06:24 2017

Reks: switch Touchpad and Touchscreen interrupts to be level-triggered

The Elan and Melfas touch controllers found in this device work much
more reliably if used with level-triggered interrupts rather than
edge-triggered.

BUG= chromium:734663 
TEST=Boot Reks, verify that touchpad and touchscreen work.

Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/817989
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/4996b8383a5de577dc2254f3cc9ee0b0e8095017/src/soc/intel/braswell/include/soc/gpio.h
[modify] https://crrev.com/4996b8383a5de577dc2254f3cc9ee0b0e8095017/src/mainboard/google/reks/gpio.c
[modify] https://crrev.com/4996b8383a5de577dc2254f3cc9ee0b0e8095017/src/mainboard/google/reks/acpi/mainboard.asl

Project Member

Comment 34 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/339b275cc613ec28b1e7b0e9b20780882fdfa370

commit 339b275cc613ec28b1e7b0e9b20780882fdfa370
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Fri Dec 08 23:44:03 2017

coreboot: reks: update BIOS version to 1.1

Now that coreboot on Reks no longer uses hardcoded interrupt numbers
to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:817988
BUG= chromium:704198 , chromium:734663 
TEST=Boot on Reks, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/817990
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[rename] https://crrev.com/339b275cc613ec28b1e7b0e9b20780882fdfa370/sys-boot/coreboot/coreboot-0.0.1-r1174.ebuild
[modify] https://crrev.com/339b275cc613ec28b1e7b0e9b20780882fdfa370/sys-boot/coreboot/files/configs/config.reks

Project Member

Comment 35 by bugdroid1@chromium.org, Feb 1 2018

Labels: merge-merged-firmware-strago-7287.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2

commit ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Feb 01 19:40:14 2018

Strago: do not hardcode virtual interrupt numbers

Instead of hardcoding virtual interrupt numbers that may change as
the kernel changes, use GpioInt() reosurces to describe keyboard
and touchscreen interrupt lines.

BUG= chromium:704198 , chromium:734663 
TEST=Build and boot several strago boards, verify keyboard,
touchpad and touchscreen work with newer kernels (4.14).

Change-Id: I98d5726f5b8094d639fb40dfca128364f63bb30b
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/894687
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/intel/strago/onboard.h
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/umaro/acpi/mainboard.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/setzer/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/banon/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/intel/strago/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/kefka/onboard.h
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/intel/strago/acpi/mainboard.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/relm/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/wizpig/acpi/mainboard.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/kefka/acpi/mainboard.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/kefka/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/relm/acpi/mainboard.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/umaro/onboard.h
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/wizpig/onboard.h
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/wizpig/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/setzer/acpi/mainboard.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/setzer/onboard.h
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/relm/onboard.h
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/umaro/acpi/superio.asl
[modify] https://crrev.com/ee7a150bf3d624e39ed7ef8d6d84f8b9af5a4ca2/src/mainboard/google/banon/onboard.h

Project Member

Comment 36 by bugdroid1@chromium.org, Feb 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/126d352f0c000337c6e6356e2976bf30d63a0a10

commit 126d352f0c000337c6e6356e2976bf30d63a0a10
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Feb 01 19:40:18 2018

Strago: switch Touchpad and Touchscreen interrupts to be level-triggered

The Elan and other touch controllers found in this device work much
more reliably if used with level-triggered interrupts rather than
edge-triggered.

BUG= chromium:734663 
TEST=Boot several strago boards, verify that touchpad and touchscreen
work.

Change-Id: I59d05d9dfa9c41e5472d756ef51f0817a503c889
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/894689
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/soc/intel/braswell/include/soc/gpio.h
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/kefka/gpio.c
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/umaro/acpi/mainboard.asl
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/kefka/acpi/mainboard.asl
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/wizpig/gpio.c
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/wizpig/acpi/mainboard.asl
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/banon/acpi/mainboard.asl
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/banon/gpio.c
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/setzer/acpi/mainboard.asl
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/relm/acpi/mainboard.asl
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/setzer/gpio.c
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/umaro/gpio.c
[modify] https://crrev.com/126d352f0c000337c6e6356e2976bf30d63a0a10/src/mainboard/google/relm/gpio.c

Project Member

Comment 37 by bugdroid1@chromium.org, Feb 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ba269036af85d902ae6d557c86b945f0f8ea45f0

commit ba269036af85d902ae6d557c86b945f0f8ea45f0
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Thu Feb 01 19:40:20 2018

coreboot: strago: update BIOS version to 1.1

Now that coreboot on Strago boards no longer uses hardcoded interrupt
numbers to describe interrupts for keyboard, touchscreen and touchpad,
let's update BIOS version so Linux kernel can identify updated BIOS
and not engage the workarounds.

CQ-DEPEND=CL:894689
BUG= chromium:704198 , chromium:734663 
TEST=Boot on various Strago boards, check dmidecode

Change-Id: I87348be3d9f6a8feb685733b845e8a9b36c8af93
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/894466
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/files/configs/config.wizpig
[rename] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/coreboot-0.0.1-r1262.ebuild
[modify] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/files/configs/config.banon
[modify] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/files/configs/config.kefka
[modify] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/files/configs/config.setzer
[modify] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/files/configs/config.relm
[modify] https://crrev.com/ba269036af85d902ae6d557c86b945f0f8ea45f0/sys-boot/coreboot/files/configs/config.umaro

Comment 38 by dtor@chromium.org, Feb 2 2018

Status: Fixed (was: Started)

Sign in to add a comment