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

CYAN hardcodes IRQ number for i8042 which is fragile

Project Member Reported by dtor@chromium.org, Mar 22 2017

Issue description

CYAN (and it seems strago) hardcodes i8042 interrupt number: 

#define BOARD_I8042_IRQ                     182

which may easily break with the changes in pinctrl/gpio subsystems. See the following for more details:

https://bugzilla.kernel.org/show_bug.cgi?id=194945#c18

 
Not only in those subsystem, but any IRQ numbering change (for example, async driver probe, IRQ numbering scheme globally, etc) may break this. It's definitely a bug in firmware.

Comment 2 by gkihumba@google.com, Mar 31 2017

Owner: reinauer@chromium.org
Status: Assigned (was: Untriaged)
Cc: -dlaurie@chromium.org adurbin@chromium.org hannah.w...@intel.com
Cc: dlaurie@chromium.org
The kernel PNP acpi driver now supports GpioInt.
https://chromium-review.googlesource.com/c/522424/3
https://chromium-review.googlesource.com/c/522323/2
The corresponding change in coreboot (which uses GpioInt instead of hardcoded irq number)
https://chromium-review.googlesource.com/c/525015/
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 7 2017

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

commit 9104bd79ad00f9bfc7d14476dce6ac6058519883
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Wed Jun 07 10:02:53 2017

FROMLIST: PNP / ACPI: add support for GpioInt resource type

The PNP ACPI driver parses ACPI interrupt resource but not
GpioInt resource. When the firmware passes GpioInt resource
for IRQ the PNP ACPI driver ignores it and hence the interrupt for
the particular driver will not work.
One such example is 8042 keyboard which uses PNP driver for obtaining
the interrupt resource. On Intel Braswell project GpioInt is used
instead of interrupt resource and the keyboard driver fails to
register interrupt.
Fix the issue by parsing GpioInt resource type.

Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
[Fixed a parenthesis coding style thing]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

LINK: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
BRANCH: for-next

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number

Change-Id: I746217674f8a69b0929b0fb93c50257ce8e710f2
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/522323
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/9104bd79ad00f9bfc7d14476dce6ac6058519883/drivers/pnp/pnpacpi/rsparser.c

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 7 2017

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

commit 576a282695a40c8a0d294c17d2eb6ab07c62d5e3
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Wed Jun 07 10:02:52 2017

FROMLIST: gpio: acpi: Split out acpi_gpio_get_irq_resource() helper

The helper does retrieve pointer to struct acpi_resource_gpio from
struct acpi_resource if it represents GpioInt() resource.

It will be used by PNP code later on.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

LINK: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
BRANCH: for-next

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number.

Change-Id: Id78a0902edc03ccb0a76306b66a02f59bd348442
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/522424
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/576a282695a40c8a0d294c17d2eb6ab07c62d5e3/drivers/gpio/gpiolib-acpi.c
[modify] https://crrev.com/576a282695a40c8a0d294c17d2eb6ab07c62d5e3/include/linux/acpi.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 7 2017

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

commit a9072143a32e917bb2504adfc8a358b9249d2a7d
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Wed Jun 07 10:02:55 2017

FROMLIST: PNP / ACPI: add support for GpioInt resource type

The PNP ACPI driver parses ACPI interrupt resource but not
GpioInt resource. When the firmware passes GpioInt resource
for IRQ the PNP ACPI driver ignores it and hence the interrupt for
the particular driver will not work.
One such example is 8042 keyboard which uses PNP driver for obtaining
the interrupt resource. On Intel Braswell project GpioInt is used
instead of interrupt resource and the keyboard driver fails to
register interrupt.
Fix the issue by parsing GpioInt resource type.

Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
[Fixed a parenthesis coding style thing]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

LINK: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
BRANCH: for-next

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number

Change-Id: I461283e2a92fdd10e77675e1bad28a6c8f31c86d
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/521695
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/a9072143a32e917bb2504adfc8a358b9249d2a7d/drivers/pnp/pnpacpi/rsparser.c

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 7 2017

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

commit 1db8097e88cfe051b1befac9400779c8a36e0883
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Wed Jun 07 10:02:54 2017

FROMLIST: gpio: acpi: Split out acpi_gpio_get_irq_resource() helper

The helper does retrieve pointer to struct acpi_resource_gpio from
struct acpi_resource if it represents GpioInt() resource.

It will be used by PNP code later on.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

LINK: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
BRANCH: for-next

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number.

Change-Id: I4aacdd612ed879b9e7a7a572364dd371600f4ce7
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/521758
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/1db8097e88cfe051b1befac9400779c8a36e0883/drivers/gpio/gpiolib-acpi.c
[modify] https://crrev.com/1db8097e88cfe051b1befac9400779c8a36e0883/include/linux/acpi.h

Comment 10 by dtor@chromium.org, Jun 19 2017

Please make sure we are not only fixing Cyan but other Strago boards as well. And we also have exactly the same issue with the touch controller set up on these boards:

src/mainboard/google/kefka/onboard.h:#define BOARD_TOUCH_IRQ                    184

Comment 11 Deleted

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 21 2017

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

commit a162348a899bd5a97ed2171e9915ccf31b177c1e
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Tue Jun 06 23:40:00 2017

Cyan: Use GpioInt for Keyboard IRQ

Remove the hard coded IRQ number for the keyboard interrupt.
IRQ number can change based upon the gpio bank index ordering.
Hence pass the gpio bank and index number so that kernel calculates
the IRQ number.

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq numbe
BRANCH=firmware-strago-7287.B

Change-Id: Icfe5c3995007164bf617575b541758c18ee63a1d
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/525015
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>

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

Labels: Kernel-4.14
Project Member

Comment 14 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/+/967c519e637271a6517bfbd43e8c0ffc56e7327a

commit 967c519e637271a6517bfbd43e8c0ffc56e7327a
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Tue Nov 28 18:18:23 2017

Cyan: Use GpioInt for Keyboard IRQ

Remove the hard coded IRQ number for the keyboard interrupt.
IRQ number can change based upon the gpio bank index ordering.
Hence pass the gpio bank and index number so that kernel calculates
the IRQ number.

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number

Change-Id: Icfe5c3995007164bf617575b541758c18ee63a1d
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/525015
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
(cherry picked from commit a162348a899bd5a97ed2171e9915ccf31b177c1e)
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/791992
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>

[modify] https://crrev.com/967c519e637271a6517bfbd43e8c0ffc56e7327a/src/mainboard/google/cyan/acpi/superio.asl
[modify] https://crrev.com/967c519e637271a6517bfbd43e8c0ffc56e7327a/src/mainboard/google/cyan/onboard.h

Project Member

Comment 15 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 16 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 17 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/+/ffb9fc5eb7c2ac59eed700ec05230e83a2756ebb

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

Celes: use GpioInt for Keyboard IRQ

Remove the hard coded IRQ number for the keyboard interrupt, and
instead describe it as GpioInt() resource.

BUG= chromium:704198 
TEST=Boot Celes with 4.14, verify keyboard works.

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

[modify] https://crrev.com/ffb9fc5eb7c2ac59eed700ec05230e83a2756ebb/src/mainboard/google/celes/onboard.h
[modify] https://crrev.com/ffb9fc5eb7c2ac59eed700ec05230e83a2756ebb/src/mainboard/google/celes/acpi/superio.asl

Project Member

Comment 18 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/third_party/coreboot/+/5fadfba7923d08ba549619207be08bf5343c0811

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

Edgar: use GpioInt for Keyboard IRQ

Remove the hard coded IRQ number for the keyboard interrupt, and
instead describe it as GpioInt() resource.

BUG= chromium:704198 
TEST=Boot Edgar with 4.14, verify keyboard works.

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

[modify] https://crrev.com/5fadfba7923d08ba549619207be08bf5343c0811/src/mainboard/google/edgar/onboard.h
[modify] https://crrev.com/5fadfba7923d08ba549619207be08bf5343c0811/src/mainboard/google/edgar/acpi/superio.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/+/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 20 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 21 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 22 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/+/5429773830491f3d6100b2420b5e662f58d1f18a

commit 5429773830491f3d6100b2420b5e662f58d1f18a
Author: Dmitry Torokhov <dtor@chromium.org>
Date: Fri Dec 08 01:52:24 2017

Terra: use GpioInt for Keyboard IRQ

Remove the hard coded IRQ number for the keyboard interrupt, and
instead describe it as GpioInt() resource.

BUG= chromium:704198 
TEST=Boot Terra with 4.14, verify keyboard works.

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

[modify] https://crrev.com/5429773830491f3d6100b2420b5e662f58d1f18a/src/mainboard/google/terra/acpi/superio.asl
[modify] https://crrev.com/5429773830491f3d6100b2420b5e662f58d1f18a/src/mainboard/google/terra/onboard.h

Project Member

Comment 23 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 24 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 25 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 26 by bugdroid1@chromium.org, Feb 1 2018

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 27 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 28 by dtor@chromium.org, Feb 2 2018

Status: Fixed (was: Assigned)
Project Member

Comment 29 by bugdroid1@chromium.org, Oct 5

Labels: merge-merged-factory-strago-7458.B-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/43a7a5d1c3006ad0e76c1a393cae78d639b2f0a8

commit 43a7a5d1c3006ad0e76c1a393cae78d639b2f0a8
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Fri Oct 05 03:14:39 2018

FROMLIST: PNP / ACPI: add support for GpioInt resource type

The PNP ACPI driver parses ACPI interrupt resource but not
GpioInt resource. When the firmware passes GpioInt resource
for IRQ the PNP ACPI driver ignores it and hence the interrupt for
the particular driver will not work.
One such example is 8042 keyboard which uses PNP driver for obtaining
the interrupt resource. On Intel Braswell project GpioInt is used
instead of interrupt resource and the keyboard driver fails to
register interrupt.
Fix the issue by parsing GpioInt resource type.

Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
[Fixed a parenthesis coding style thing]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

LINK: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
BRANCH: for-next

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number

Change-Id: I461283e2a92fdd10e77675e1bad28a6c8f31c86d
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/521695
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>
(cherry picked from commit a9072143a32e917bb2504adfc8a358b9249d2a7d)
Reviewed-on: https://chromium-review.googlesource.com/c/1253228
Reviewed-by: YH Lin <yueherngl@chromium.org>
Reviewed-by: Marco Chen <marcochen@chromium.org>
Commit-Queue: Marco Chen <marcochen@chromium.org>
Tested-by: Marco Chen <marcochen@chromium.org>

[modify] https://crrev.com/43a7a5d1c3006ad0e76c1a393cae78d639b2f0a8/drivers/pnp/pnpacpi/rsparser.c

Project Member

Comment 30 by bugdroid1@chromium.org, Oct 5

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

commit a41ae5b9c072272faa5c9becb2d23c7f74774ac5
Author: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Date: Fri Oct 05 03:14:41 2018

FROMLIST: gpio: acpi: Split out acpi_gpio_get_irq_resource() helper

The helper does retrieve pointer to struct acpi_resource_gpio from
struct acpi_resource if it represents GpioInt() resource.

It will be used by PNP code later on.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

LINK: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
BRANCH: for-next

BUG= chromium:704198 
TEST=On Cyan, make sure keyboard works fine
after passing gpioint resource in keyboard asl.
cat /proc/interrupts | grep 8042 should have proper irq number.

Change-Id: I4aacdd612ed879b9e7a7a572364dd371600f4ce7
Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/521758
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>
(cherry picked from commit 1db8097e88cfe051b1befac9400779c8a36e0883)
Reviewed-on: https://chromium-review.googlesource.com/c/1253227
Reviewed-by: YH Lin <yueherngl@chromium.org>
Reviewed-by: Vincent Wang <vwang@chromium.org>
Reviewed-by: Marco Chen <marcochen@chromium.org>
Commit-Queue: Marco Chen <marcochen@chromium.org>
Tested-by: Marco Chen <marcochen@chromium.org>

[modify] https://crrev.com/a41ae5b9c072272faa5c9becb2d23c7f74774ac5/drivers/gpio/gpiolib-acpi.c
[modify] https://crrev.com/a41ae5b9c072272faa5c9becb2d23c7f74774ac5/include/linux/acpi.h

Sign in to add a comment