linux/drivers/misc
Lennart Poettering 00eb43a189 acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands
The ACPI EC that is used in MSI laptops knows some non-standard
commands for changing the screen brighntess and a few other things,
which are used by the msi-laptop.c driver. Unfortunately for these
commands no GPE events for IBF and OBF are triggered. Since nowadays
the EC code uses the ec_intr=1 mode by default, this causes these
operations to timeout, although they don't fail. In result, all
operations that you can do with the msi-laptop.c driver take more or
less 1s to complete, which is awfully slow.

In one of the more recent kernels (2.6.20?) the EC subsystem has been
revamped. With that change the EC timeout has been increased. before
that increase the MSI EC accesses were slow -- but not *that* slow,
hence I took notice of this limitation of the MSI EC hardware only very
recently.

The standard EC operations on the MSI EC as defined in the ACPI spec
support GPE events properly.

The following patch adds a new argument "force_poll" to the
ec_transaction() function (and friends). If set to 1, the function
will poll for IBF/OBF even if ec_intr=1 is enabled. If set to 0 the
current behaviour is used. The msi-laptop driver is modified to make
use of this new flag, so that OBF/IBF is polled for the special MSI EC
transactions -- but only for them.

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Acked-by: Alexey Starikovskiy <aystarik@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2007-05-10 03:52:22 -04:00
..
hdpuftrs PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
ibmasm [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
asus-laptop.c asus-laptop: version bump 2007-03-11 15:45:05 -04:00
blink.c Add keyboard blink driver 2007-05-08 11:15:10 -07:00
ioc4.c [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
Kconfig sony-laptop: rename SONY_LAPTOP_OLD to a more meaningful SONYPI_COMPAT 2007-05-10 02:42:45 -04:00
lkdtm.c [PATCH] assigning enum constant to char * is vile, even if it happens to be 0 2007-02-09 08:28:48 -08:00
Makefile Misc: add sensable phantom driver 2007-05-08 11:15:14 -07:00
msi-laptop.c acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands 2007-05-10 03:52:22 -04:00
phantom.c Misc: add sensable phantom driver 2007-05-08 11:15:14 -07:00
sony-laptop.c sony-laptop: rename SONY_LAPTOP_OLD to a more meaningful SONYPI_COMPAT 2007-05-10 02:42:45 -04:00
thinkpad_acpi.c ACPI: thinkpad-acpi: add sysfs support to wan and bluetooth subdrivers 2007-04-28 21:41:20 -04:00
thinkpad_acpi.h thinkpad-acpi: make drivers/misc/thinkpad_acpi:fan_mutex static 2007-04-28 21:52:49 -04:00
tifm_7xx1.c disable socket power in adapter driver instead of media one 2007-05-08 22:41:47 +02:00
tifm_core.c tifm: layout fixes, small changes to comments and printfs 2007-05-01 13:04:15 +02:00