Len Brown
c64768a7d6
Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release
2008-02-07 03:09:43 -05:00
Márton Németh
d772b3b323
ACPI: EC: "DEBUG" needs to be defined earlier
...
The "DEBUG" symbol needs to be defined before #including <linux/kernel.h> to
get the pr_debug() working.
Signed-off-by: Márton Németh <nm127@freemail.hu >
Signed-off-by: Len Brown <len.brown@intel.com >
2008-01-23 22:34:09 -05:00
Márton Németh
86dae0154a
ACPI: EC: add leading zeros to debug messages
...
Add leading zeros to pr_debug() calls. For example if x=0x0a, the format
"0x%2x" will result the string "0x a", the format "0x%2.2x" will result "0x0a".
Signed-off-by: Márton Németh <nm127@freemail.hu >
Signed-off-by: Len Brown <len.brown@intel.com >
2008-01-23 22:33:06 -05:00
Alexey Starikovskiy
03d1d99c55
ACPI: EC: fix dmesg spam regression
...
Return OBF_1 optimization workaround
http://bugzilla.kernel.org/show_bug.cgi?id=8459
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2008-01-23 22:28:34 -05:00
Alexey Starikovskiy
b3b233c7d9
ACPI: EC: Some hardware requires burst mode to operate properly
...
Burst mode temporary (50 ms) locks EC to do only transactions with
driver, without it some hardware returns abstract garbage.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9341
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2008-01-10 20:50:12 -05:00
Alexey Starikovskiy
3e71a87d03
ACPI: EC: Do the byte access with a fast path
...
Specification allows only byte access for EC region, so
make it separate from bug-compatible multi-byte access.
Also do not allow return of garbage in supplied *value.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9341
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2008-01-10 20:49:14 -05:00
Alexey Starikovskiy
c04209a794
ACPI: EC: Enable boot EC before bus_scan
...
Some _STA methods called during bus_scan() might require EC region handler,
which might be enabled later in the scan.
Enable it explicitly before scan to avoid errors.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9627
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2008-01-01 14:12:55 -05:00
Len Brown
a3f095ade0
Pull bugzilla-9327 into release branch
...
Conflicts:
drivers/acpi/ec.c
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-20 20:07:49 -05:00
Alexey Starikovskiy
e790cc8bbb
ACPI: EC: Workaround for optimized controllers (version 3)
...
Some controllers fail to send confirmation GPE after address or data write.
Detect this and don't expect such confirmation in future.
This is a generalization of previous workaround
(66c5f4e736
), which did only read address.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9327
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Tested-by: Romano Giannetti <romano.giannetti@gmail.com >
Tested-by: Mats Johannesson
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-20 20:06:15 -05:00
Márton Németh
3ebe08a749
ACPI: EC: use printk_ratelimit(), add some DEBUG mode messages
...
Sometimes it is usefull to see raw protocol dump.
Uncomment '#define DEBUG' at the beginning of file to make EC
really verbose.
Signed-off-by: Márton Németh <nm127@freemail.hu >
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-20 20:04:39 -05:00
Len Brown
0af2f653c5
Revert "ACPI: EC: Workaround for optimized controllers"
...
This reverts commit f2d68935ba
.
2007-11-20 19:59:08 -05:00
Len Brown
e6532b8883
Pull fluff into release branch
...
Conflicts:
drivers/acpi/ec.c
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-20 01:21:47 -05:00
Len Brown
22201f7402
Pull bugzilla-9327 into release branch
2007-11-20 01:18:19 -05:00
Joe Perches
4fdb2a05ef
ACPI: Add missing spaces to printk format
...
Signed-off-by: Joe Perches <joe@perches.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-19 21:53:32 -05:00
Alexey Starikovskiy
5870a8cd23
ACPI: EC: Don't init EC early if it has no _INI
...
Option to init EC early inserted to handle #8598 ASUS problem,
introduced several others.
EC driver in this particular case has fake _INI method, not present on
other machines, which don't need or break from this workaround, so lets use
its presence as a flag for early init.
http://bugzilla.kernel.org/show_bug.cgi?id=9262
http://bugzilla.kernel.org/show_bug.cgi?id=8598
https://bugzilla.novell.com/show_bug.cgi?id=334806
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-19 12:20:48 -05:00
Alexey Starikovskiy
f2d68935ba
ACPI: EC: Workaround for optimized controllers
...
Some controllers fail to send confirmation GPE after address write.
Detect this and don't expect such confirmation in future.
This is a generalization of previous workaround
(66c5f4e736
), which did only read address.
http://bugzilla.kernel.org/show_bug.cgi?id=9327
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Tested-by: Romano Giannetti <romano.giannetti@gmail.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-11-19 01:05:01 -05:00
Adrian Bunk
1544fdbc85
ACPI: EC: fix use-after-free
...
This patch fixes a use-after-free introduced by
commit 30c08574da
(ACPI: EC: Add new query handler to list head)
Spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@kernel.org >
Acked-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:38:02 -04:00
Alexey Starikovskiy
95b937e3f5
ACPI: EC: Output changes to operational mode
...
Insert printk() for every change in operational mode.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Acked-by: Rafael J. Wysocki <rjw@sisk.pl >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:31:31 -04:00
Alexey Starikovskiy
66c5f4e736
ACPI: EC: Add workaround for "optimized" controllers
...
Some controllers do not send interrupts for OBF=1 event, but send
them for IBF=0. Add workaround for them.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=8459
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:31:31 -04:00
Alexey Starikovskiy
1c55053c21
ACPI: EC: Don't re-enable GPE for each transaction.
...
With the auto selection of operation mode, absence of GPEs does not
really degrade performance, so let PM code to handle
enabling/disabling GPEs.
This is a revert of 5d57a6a55e
,
which was meant to be temporary.
Reference: http://bugzilla.kernel.org/show_bug.cgi?id=7977
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Acked-by: Rafael J. Wysocki <rjw@sisk.pl >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:31:31 -04:00
Alexey Starikovskiy
7843932ac4
ACPI: EC: auto select interrupt mode
...
Start in POLL mode, and if we receive confirmation GPE,
switch to INT mode.
If confirmations are not sent, switch back to POLL.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:31:31 -04:00
Alexey Starikovskiy
0c5d31f48e
ACPI: EC: Don't expect interrupt after last read
...
There is no interrupt after last read according to spec, so
don't set bit that we are expecting one.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:31:31 -04:00
Alexey Starikovskiy
080e412cc0
ACPI: EC: Replace atomic variables with bits
...
Number of flags is about to be increased, so it is better to
put them all into bits.
No functional changes.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Acked-by: Rafael J. Wysocki <rjw@sisk.pl >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-10-25 16:31:31 -04:00
Len Brown
731aa5fd99
Pull bugzilla-8709 into release branch
2007-10-10 00:30:55 -04:00
Alexey Starikovskiy
30c08574da
ACPI: EC: Add new query handler to list head.
...
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-09-27 15:50:22 -04:00
Alexey Starikovskiy
4c61106066
ACPI: EC: Drop ECDT-based boot_ec as soon as we find DSDT-based one.
...
ASUS notebooks have numerous problems with EC initialization
This patch tries to work around three known issues reported
in bugzilla 8598, 8709 and 8909/8919.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-09-05 19:56:38 -04:00
Alexey Starikovskiy
2d8348b429
ACPI: EC: Check if boot_ec was really found in DSDT
...
acpi_get_devices() returns success if it did not find any device.
We have to check for this case.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Tested-by: Daniel Ritz <daniel.ritz-ml@swissonline.ch >
Tested-by: Luca <kronos.it@gmail.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-08-30 22:20:13 -07:00
Alexey Starikovskiy
f9319f903f
ACPI: EC: revert fix for bugzilla 8709
...
This is a manual revert of 7c010de750
,
a fix that broke another ASUS in 8909 and 8919.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-24 00:30:59 -04:00
Alexey Starikovskiy
c019b19330
ACPI: EC: Fix "no battery" regression
...
Restore deleted call to register query methods.
http://bugzilla.kernel.org/show_bug.cgi?id=8886
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-14 01:03:42 -04:00
Alexey Starikovskiy
199e9e7d11
ACPI EC: remove potential deadlock from EC
...
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-11 22:26:24 -04:00
Meelis Roos
0a52450998
ACPI: EC: fix run-together printk lines
...
Signed-off-by: Meelis Roos <mroos@linux.ee >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-03 22:42:02 -04:00
Adrian Bunk
07ddf768d8
ACPI: EC: acpi_ec_remove(): fix use-after-free
...
This patch fixes an obvious use-after-free introduced by
commit 837012ede1
.
Spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de >
Acked-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-03 22:28:11 -04:00
Alexey Starikovskiy
7c010de750
ACPI: EC: Switch from boot_ec as soon as we find its desc in DSDT.
...
Some ASUS laptops fail to use boot time EC
and need to eventually switch to one described in DSDT.
http://bugzilla.kernel.org/show_bug.cgi?id=8709
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-03 17:57:53 -04:00
Len Brown
52fe4bdf40
ACPI: EC: fix build warning
...
drivers/acpi/ec.c:657: warning: ‘acpi_ec_register_query_methods’ defined but not used
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-03 17:55:53 -04:00
Alexey Starikovskiy
cd8c93a4e0
ACPI: EC: If ECDT is not found, look up EC in DSDT.
...
Some ASUS laptops access EC space from device _INI methods, but do not
provide ECDT for early EC setup. In order to make them function properly,
there is a need to find EC is DSDT before any _INI is called.
Similar functionality was turned on by acpi_fake_ecdt=1 command line
before. Now it is on all the time.
http://bugzilla.kernel.org/show_bug.cgi?id=8598
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-03 17:52:48 -04:00
Alexey Starikovskiy
f1cd1fe61b
ACPI: EC: Remove noisy debug printk fron EC driver.
...
ACPI: EC: Handler for query 0x57 is not found!
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-08-03 17:28:17 -04:00
Thomas Renninger
1ba90e3a87
ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers
...
modpost is going to use these to create e.g. acpi:ACPI0001
in modules.alias.
Signed-off-by: Thomas Renninger <trenn@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-07-23 13:56:42 -04:00
Alexey Starikovskiy
837012ede1
ACPI EC: Add support for non-AML EC query handlers
...
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-06-23 15:55:13 -04:00
Alexey Starikovskiy
4350933a74
ACPI EC: drop usage of ACPI_DEBUG_PRINT as too heavy weight
...
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-06-23 15:55:06 -04:00
Alexey Starikovskiy
5b7734b440
ACPI EC: Re-factor EC space handler to avoid using label/goto for cycle.
...
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-06-23 15:54:56 -04:00
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
Alexey Starikovskiy
9fd9f8e8bd
ACPI: EC: Block queries until EC is fully initialized
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:29 -05:00
Alexey Starikovskiy
01f2246269
ACPI: EC: Cleanup of EC initialization
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:29 -05:00
Alexey Starikovskiy
d033879c98
ACPI: EC: first_ec is better to be acpi_ec than acpi_device.
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00
Alexey Starikovskiy
d66d969df8
ACPI: EC: Rename ec_ecdt to more informative boot_ec
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00
Alexey Starikovskiy
c0900c3512
ACPI: EC: Clean ECDT and namespace parsing.
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00
Alexey Starikovskiy
e828432104
ACPI: EC: Put install handlers into separate function.
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00
Alexey Starikovskiy
3d02b90be2
ACPI: EC: Remove casts to/from void* from ec.c
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00
Alexey Starikovskiy
c45aac43fe
ACPI: EC: enable burst functionality in EC.
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00
Alexey Starikovskiy
33c7a0738c
ACPI: EC: "Fake ECDT" workaround is not needed any longer.
...
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com >
Signed-off-by: Len Brown <len.brown@intel.com >
2007-03-09 23:27:28 -05:00