No description
Find a file
Hans de Goede 597010c97d Input: soc_button_array - add use_low_level_irq module parameter
[ Upstream commit 8e9ada1d0e ]

It seems that the Windows drivers for the ACPI0011 soc_button_array
device use low level triggered IRQs rather then using edge triggering.

Some ACPI tables depend on this, directly poking the GPIO controller's
registers to clear the trigger type when closing a laptop's/2-in-1's lid
and re-instating the trigger when opening the lid again.

Linux sets the edge/level on which to trigger to both low+high since
it is using edge type IRQs, the ACPI tables then ends up also setting
the bit for level IRQs and since both low and high level have been
selected by Linux we get an IRQ storm leading to soft lockups.

As a workaround for this the soc_button_array already contains
a DMI quirk table with device models known to have this issue.

Add a module parameter for this so that users can easily test if their
device is affected too and so that they can use the module parameter
as a workaround.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20221106215320.67109-1-hdegoede@redhat.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-02 17:43:14 +01:00
arch LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty() 2022-12-02 17:43:13 +01:00
block blk-mq: fix queue reference leak on blk_mq_alloc_disk_for_queue failure 2022-12-02 17:43:08 +01:00
certs certs: make system keyring depend on built-in x509 parser 2022-09-24 04:31:18 +09:00
crypto crypto: akcipher - default implementation for setting a private key 2022-10-21 12:38:59 +02:00
Documentation dt-bindings: iio: adc: Remove the property "aspeed,trim-data-valid" 2022-12-02 17:43:10 +01:00
drivers Input: soc_button_array - add use_low_level_irq module parameter 2022-12-02 17:43:14 +01:00
fs nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as dirty 2022-12-02 17:43:12 +01:00
include bpf: Convert BPF_DISPATCHER to use static_call() (not ftrace) 2022-12-02 17:43:14 +01:00
init init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash 2022-12-02 17:43:11 +01:00
io_uring io_uring: clear TIF_NOTIFY_SIGNAL if set and task_work not available 2022-12-02 17:43:12 +01:00
ipc ipc: mqueue: fix possible memory leak in init_mqueue_fs() 2022-10-21 12:38:55 +02:00
kernel bpf: Convert BPF_DISPATCHER to use static_call() (not ftrace) 2022-12-02 17:43:14 +01:00
lib mm: fix unexpected changes to {failslab|fail_page_alloc}.attr 2022-12-02 17:43:13 +01:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
mm mm: correctly charge compressed memory to its memcg 2022-12-02 17:43:13 +01:00
net ipv4: Fix error return code in fib_table_insert() 2022-12-02 17:43:08 +01:00
samples Tracing updates for 5.20 / 6.0 2022-08-05 09:41:12 -07:00
scripts kbuild: rpm-pkg: fix breakage when V=1 is used 2022-10-21 12:39:01 +02:00
security capabilities: fix potential memleak on error path from vfs_getxattr_alloc() 2022-11-10 18:17:33 +01:00
sound ASoC: sof_es8336: reduce pop noise on speaker 2022-12-02 17:43:14 +01:00
tools tools: iio: iio_generic_buffer: Fix read size 2022-12-02 17:43:14 +01:00
usr Not a lot of material this cycle. Many singleton patches against various 2022-05-27 11:22:03 -07:00
virt KVM: Update gfn_to_pfn_cache khva when it moves within the same page 2022-12-02 17:43:13 +01:00
.clang-format PCI/DOE: Add DOE mailbox support functions 2022-07-19 15:38:04 -07:00
.cocciconfig
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore kbuild: split the second line of *.mod into *.usyms 2022-05-08 03:16:59 +09:00
.mailmap Qualcomm ARM64 DTS fixes for 6.0 2022-09-23 16:44:37 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS One MAINTAINERS update, two MM fixes, both cc:stable 2022-10-01 09:13:29 -07:00
Makefile Linux 6.0.10 2022-11-26 09:27:56 +01:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.