- 15 Mar, 2008 1 commit
-
-
Linus Torvalds authored
This essentially reverts commit 71fc47a9 ("ACPI: basic initramfs DSDT override support"), because the code simply isn't ready. It did ugly things to the init sequence to populate the rootfs image early, but that just ended up showing other problems with the whole approach. The fact is, the VFS layer simply isn't initialized this early, and the relevant ACPI code should either run much later, or this shouldn't be done at all. For 2.6.25, we'll just pick the latter option. We can revisit this concept later if necessary. Cc: Dave Hansen <haveblue@us.ibm.com> Cc: Tilman Schmidt <tilman@imap.cc> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Thomas Renninger <trenn@suse.de> Cc: Eric Piel <eric.piel@tremplin-utc.net> Cc: Len Brown <len.brown@intel.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Markus Gaugusch <dsdt@gaugusch.at> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 11 Mar, 2008 1 commit
-
-
Jean Delvare authored
Signed-off-by:
Jean Delvare <khali@linux-fr.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 14 Feb, 2008 3 commits
-
-
Len Brown authored
http://bugzilla.kernel.org/show_bug.cgi?id=9939 Signed-off-by:
Len Brown <len.brown@intel.com>
-
Adrian Bunk authored
Signed-off-by:
Adrian Bunk <bunk@kernel.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Adrian Bunk authored
Signed-off-by:
Adrian Bunk <bunk@kernel.org> Acked-by:
Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 13 Feb, 2008 1 commit
-
-
Linus Torvalds authored
The raw_pci_read() interface (as the raw_pci_ops->read() before it) unconditionally fills in a 32-bit integer return value regardless of the size of the operation requested. So claiming to take a "void *" is wrong, as is passing in a pointer to just a byte variable. Noticed by pageexec when enabling -fstack-protector (which needs other patches too to actually work, but that's a separate issue). Acked-by:
Len Brown <len.brown@intel.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 10 Feb, 2008 1 commit
-
-
Matthew Wilcox authored
We want to allow different implementations of pci_raw_ops for standard and extended config space on x86. Rather than clutter generic code with knowledge of this, we make pci_raw_ops private to x86 and use it to implement the new raw interface -- raw_pci_read() and raw_pci_write(). Signed-off-by:
Matthew Wilcox <willy@linux.intel.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 07 Feb, 2008 6 commits
-
-
Len Brown authored
Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
also, address some checkpatch.pl violations Signed-off-by:
Len Brown <len.brown@intel.com>
-
Éric Piel authored
The acpi_no_initrd_override parameter permits to disable the load of an ACPI table from the initramfs. Signed-off-by:
Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Adrian Bunk authored
This patch contains the following possible cleanups: - make the following needlessly global code static: - drivers/acpi/bay.c:dev_attr_eject - drivers/acpi/bay.c:dev_attr_present - drivers/acpi/dock.c:dev_attr_docked - drivers/acpi/dock.c:dev_attr_flags - drivers/acpi/dock.c:dev_attr_uid - drivers/acpi/dock.c:dev_attr_undock - drivers/acpi/pci_bind.c:acpi_pci_unbind() - drivers/acpi/pci_link.c:acpi_link_lock - drivers/acpi/sbs.c:acpi_sbs_callback() - drivers/acpi/sbshc.c:acpi_smbus_transaction() - drivers/acpi/sleep/main.c:acpi_sleep_prepare() - #if 0 the following unused global functions: - drivers/acpi/numa.c:acpi_unmap_pxm_to_node() - remove the following unused EXPORT_SYMBOL's: - acpi_register_gsi - acpi_unregister_gsi - acpi_strict - acpi_bus_receive_event - register_acpi_bus_type - unregister_acpi_bus_type - acpi_os_printf - acpi_os_sleep - acpi_os_stall - acpi_os_read_pci_configuration - acpi_os_create_semaphore - acpi_os_delete_semaphore - acpi_os_wait_semaphore - acpi_os_signal_semaphore - acpi_os_signal - acpi_pci_irq_enable - acpi_get_pxm Signed-off-by:
Adrian Bunk <bunk@kernel.org> Acked-by:
Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Thomas Renninger authored
Export acpi_check_resource_conflict(), sometimes drivers already have a struct resource at hand so no need to use the wrappers to build a new one. Signed-off-by:
Jean Delvare <jdelvare@suse.de> Cc: "Mark M. Hoffman" <mhoffman@lightlink.com> Cc: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Thomas Renninger authored
Small ACPICA extension to be able to store the name of operation regions in osl.c later In ACPI, AML can define accesses to IO ports and System Memory by Operation Regions. Those are not registered as done by PNPACPI using resource templates (and _CRS/_SRS methods). The IO ports and System Memory regions may get accessed by arbitrary AML code. When native drivers are accessing the same resources bad things can happen (e.g. a critical shutdown temperature of 3000 C every 2 months or so). It is not really possible to register the operation regions via request_resource, as they often overlap with pnp or other resources (e.g. statically setup IO resources below 0x100). This approach stores all Operation Region declarations (IO and System Memory only) at ACPI table parse time. It offers a similar functionality like request_region and let drivers which are known to possibly use the same IO ports and Memory which are also often used by ACPI (hwmon and i2c) check for ACPI interference. A boot parameter acpi_enforce_resources=strict/lax/no is provided, which is default set to lax: - strict: let conflicting drivers fail to load with an error message - lax: let conflicting driver work normal with a warning message - no: no functional change at all Depending on the feedback and the kind of interferences we see, this should be set to strict at later time. Goal of this patch set is: - Identify ACPI interferences in bug reports (very hard to reproduce and to identify) - Find BIOSes for that an ACPI driver should exist for specific HW instead of a native one. - stability in general Provide acpi_check_{mem_}region. Drivers can additionally check against possible ACPI interference by also invoking this shortly before they call request_region. If -EBUSY is returned, the driver must not load. Use acpi_enforce_resources=strict/lax/no options to: - strict: let conflicting drivers fail to load with an error message - lax: let conflicting driver work normal with a warning message - no: no functional change at all Cc: "Mark M. Hoffman" <mhoffman@lightlink.com> Cc: Jean Delvare <khali@linux-fr.org> Cc: Len Brown <lenb@kernel.org> Cc: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by:
Thomas Renninger <trenn@suse.de> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 06 Feb, 2008 3 commits
-
-
Len Brown authored
See Documentation/ABI/testing/sysfs-firmware-acpi Based-on-original-patch-by:
Luming Yu <luming.yu@intel.com> Acked-by:
Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Éric Piel authored
When an ACPI table is overridden (for now this can happen only for DSDT) display a big warning and taint the kernel with flag A. Signed-off-by:
Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Markus Gaugusch authored
The basics of DSDT from initramfs. In case this option is selected, populate_rootfs() is called a bit earlier to have the initramfs content available during ACPI initialization. This is a very similar path to the one available at http://gaugusch.at/kernel.shtml but with some update in the documentation, default set to No and the change of populate_rootfs() the "Jeff Mahony way" (which avoids reading the initramfs twice). Signed-off-by:
Thomas Renninger <trenn@suse.de> Signed-off-by:
Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 03 Feb, 2008 3 commits
-
-
Adrian Bunk authored
Signed-off-by:
Adrian Bunk <bunk@kernel.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Adrian Bunk authored
Signed-off-by:
Adrian Bunk <bunk@kernel.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
Use existing dmi_get_system_info(), Delete duplicate dmi_get_slot() Spotted-by:
Wim Van Sebroeck <wim@iguana.be> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 23 Jan, 2008 4 commits
-
-
Len Brown authored
If BIOS invokes _OSI(Linux), the kernel response depends on what the ACPI DMI list knows about the system, and that is reflectd in dmesg: 1) System unknown to DMI: ACPI: BIOS _OSI(Linux) query ignored ACPI: DMI System Vendor: LENOVO ACPI: DMI Product Name: 7661W1P ACPI: DMI Product Version: ThinkPad T61 ACPI: DMI Board Name: 7661W1P ACPI: DMI BIOS Vendor: LENOVO ACPI: DMI BIOS Date: 10/18/2007 ACPI: Please send DMI info above to linux-acpi@vger.kernel.org ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org 2) System known to DMI, but effect of OSI(Linux) unknown: ACPI: DMI detected: Lenovo ThinkPad T61 ... ACPI: BIOS _OSI(Linux) query ignored via DMI ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org 3) System known to DMI, which disables _OSI(Linux): ACPI: DMI detected: Lenovo ThinkPad T61 ... ACPI: BIOS _OSI(Linux) query ignored via DMI 4) System known to DMI, which enable _OSI(Linux): ACPI: DMI detected: Lenovo ThinkPad T61 ACPI: Added _OSI(Linux) ... ACPI: BIOS _OSI(Linux) query honored via DMI cmdline overrides take precidence over the built-in default and the DMI prescribed default. cmdline "acpi_osi=Linux" results in: ACPI: BIOS _OSI(Linux) query honored via cmdline Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
Linux does not want BIOS writers to invoke _OSI(Linux) - for in the field it causes more Windows incompatibility problems than it solves. So when it is seen in the BIOS for an Intel Customer Reference Board, Linux should ignore its effect by default, and should complain loudly. Otherwise, the reference BIOS will go unfixed, and the bad BIOS will spread to the field. Users of this board can get the old behavior with "acpi_osi=Linux" As this was the only entry, delete acpi_osl_dmi_table[]. Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
A utility routine to print common entries used for ACPI-related DMI blacklist entries. Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 14 Dec, 2007 1 commit
-
-
Len Brown authored
ACPI tables follow a tree structure in memory. The root of the tree is the RSDP (Root System Description Pointer). To find the RSDP, the OS searches for the signature "RSD PTR " in well known physical memory locations. Then the OS computes a table checksum to verify that the signature is really part of a valid table header. Some systems have a proper signature but an invalid checksum; followed elsewhere by a proper signature with valid checksum. http://bugzilla.kernel.org/show_bug.cgi?id=9444 The Linux RSDP scanning code bailed out on those systems and as a result they booted with ACPI disabled. Fix this by deleting the Linux RSDP scanning code and plugging in the ACPICA RSDP scanning code. Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 13 Dec, 2007 1 commit
-
-
Jan Beulich authored
.. as it it used only during early boot. Signed-off-by:
Jan Beulich <jbeulich@novell.com> arch/ia64/kernel/acpi.c | 2 +- arch/x86/kernel/acpi/boot.c | 4 ++-- drivers/acpi/osl.c | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 06 Dec, 2007 1 commit
-
-
Alexey Starikovskiy authored
Level GPE should not be enabled until all work caused by it is done, e.g. all Notify() methods are completed. This can be accomplished by appending enable_gpe function to the end of notify queue. Signed-off-by:
Alexey Starikovskiy <astarikovskiy@suse.de> Acked-by:
Shaohua Li <shaohua.li@intel.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 16 Nov, 2007 1 commit
-
-
Zhao Yakui authored
We've run into BIOS that hand us 4-bit access width requests for T-state control when the code expected only multipls of 8-bits. Round up. Signed-off-by:
Zhao Yakui <yakui.zhao@intel.com> Signed-off-by:
Li Shaohua <shaohua.li@intel.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 10 Oct, 2007 1 commit
-
-
Len Brown authored
commit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9f Author: Len Brown <len.brown@intel.com> Date: Tue Oct 2 23:44:44 2007 -0400 cpuidle: shrink diff processor_idle.c | 440 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 429 insertions(+), 11 deletions(-) Signed-off-by:
Len Brown <len.brown@intel.com> commit dfbb9d5aedfb18848a3e0d6f6e3e4969febb209c Author: Len Brown <len.brown@intel.com> Date: Wed Sep 26 02:17:55 2007 -0400 cpuidle: reduce diff size Reduces the cpuidle processor_idle.c diff vs 2.6.22 from this processor_idle.c | 2006 ++++++++++++++++++++++++++----------------- 1 file changed, 1219 insertions(+), 787 deletions(-) to this: processor_idle.c | 502 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 458 insertions(+), 44 deletions(-) ...for the purpose of making the cpuilde patch less invasive and easier to review. no functional changes. build tes...
-
- 09 Oct, 2007 1 commit
-
-
Jeff Garzik authored
Three main sets of changes: 1) dmi_get_system_info() return value should have been marked const, since callers should not be changing that data. 2) const-ify DMI internals, since DMI firmware tables should, whenever possible, be marked const to ensure we never ever write to that data area. 3) const-ify DMI API, to enable marking tables const where possible in low-level drivers. And if we're really lucky, this might enable some additional optimizations on the part of the compiler. The bulk of the changes are #2 and #3, which are interrelated. #1 could have been a separate patch, but it was so small compared to the others, it was easier to roll it into this changeset. Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- 19 Jul, 2007 1 commit
-
-
Paul Mundt authored
Slab destructors were no longer supported after Christoph's c59def9f change. They've been BUGs for both slab and slub, and slob never supported them either. This rips out support for the dtor pointer from kmem_cache_create() completely and fixes up every single callsite in the kernel (there were about 224, not including the slab allocator definitions themselves, or the documentation references). Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 03 Jul, 2007 2 commits
-
-
Adrian Bunk authored
make the needlessly global osi_linux static. Signed-off-by:
Adrian Bunk <bunk@stusta.de> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
Need to check for special case "acpi_osi=!Linux" before handling the general case "acpi_osi=!*", or it will have no effect. Signed-off-by:
Len Brown <len.brown@intel.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 09 Jun, 2007 1 commit
-
-
Len Brown authored
In Linux-2.6.22 we expanded the boot parameter osi= so that it can enable and !enable an OSI string. _OSI(Linux) is a special case because we know that there are both systems that require it set, and systems require that it _not_ to be set. In the long term it can't be set, for the same reason _OS(Linux) can't be enabled -- it tends to confuse BIOS that are not properly validated with Linux. Further, the semantics and version information of _OSI(Linux) were never actually defined. The kernel prints out a message if it sees _OSI(Linux) requested, and there is a DMI workaround to invoke "osi=Linux" automatically for existing systems that need it. http://bugzilla.kernel.org/show_bug.cgi?id=7787 Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 30 May, 2007 2 commits
-
-
Len Brown authored
Add __init to: acpi_initialize_subsystem() (and un-export it) acpi_os_initialize() Add __initdata to: acpi_osl_dmi_table[] Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
_OSI("Linux") is like _OS("Linux"), it is ill-defined and virtually no BIOS vendors test interaction with it. As a result, it can do more damage than good because it causes the BIOS to follow un-tested paths. Recently, several machines have turned up that erroneously test this string in a way which causes them to _not_ test other compatibility strings, including the ZI9 and Toshiba. So it appears that this bad code has made it into a BIOS vendor's reference BIOS. Linux has no choice but to stop advertising compatibility with _OSI string "Linux" - as there are an unbounded number of possible incompatibilities going forward. But some BIOSes have already shipped which do use it for things like conditionally re-enabling video on resume from S3. (Too bad they didn't do that unconditionally) Add special case code for _OSI(Linux) Squawk to dmesg if _OSI(Linux) is requested Add DMI list both to enable and disable _OSI(Linux) But for now, keep the default enabled via #define OSI_LINUX_ENABLED. http://bugzilla.kernel.org/show_bug.cgi?id=7787 Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 29 May, 2007 1 commit
-
-
Len Brown authored
The boot option "acpi_osi=" has always disabled Linux _OSI support, thus disabling all OS Interface strings which are advertised by Linux to the BIOS. Now... acpi_osi="string" adds the interface string, and acpi_osi="!string" invalidates the pre-defined interface string eg. acpi_osi="!Windows 2006" would disable Linux's claim of Vista compatibility. Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 09 May, 2007 1 commit
-
-
Alexey Starikovskiy authored
HP nx6125/nx6325/... machines have a _GPE handler with an infinite loop sending Notify() events to different ACPI subsystems. Notify handler in ACPI driver is a C-routine, which may call ACPI interpreter again to get access to some ACPI variables (acpi_evaluate_xxx). On these HP machines such an evaluation changes state of some variable and lets the loop above break. In the current ACPI implementation Notify requests are being deferred to the same kacpid workqueue on which the above GPE handler with infinite loop is executing. Thus we have a deadlock -- loop will continue to spin, sending notify events, and at the same time preventing these notify events from being run on a workqueue. All notify events are deferred, thus we see increase in memory consumption noticed by author of the thread. Also as GPE handling is bloked, machines overheat. Eventually by external poll of the same acpi_evaluate, kacpid is released and all the queued notify events are free to run, thus 100% cpu utilization by kacpid for several seconds or more. To prevent all these horrors it's needed to not put notify events to kacpid workqueue by either executing them immediately or putting them on some other thread. It's dangerous to execute notify events in place, as it will put several ACPI interpreter stacks on top of each other (at least 4 in case of nx6125), thus causing kernel stack overflow. First attempt to create a new thread was done by Peter Wainwright He created a bunch of threads, which were stealing work from a kacpid workqueue. This patch appeared in 2.6.15 kernel shipped with Ubuntu 6.06 LTS. Second attempt was done by me, I created a new thread for each Notify event. This worked OK on HP nx machines, but broke Linus' Compaq n620c, by producing threads with a speed what they stopped the machine completely. Thus this patch was reverted from 18-rc2 as I remember. I re-made the patch to create second workqueue just for notify events, thus hopping it will not break Linus' machine. Patch was tested on the same HP nx machines in #5534 and #7122, but I did not received reply from Linus on a test patch sent to him. Patch went to 19-rc and was rejected with much fanfare again. There was 4th patch, which inserted schedule_timeout(1) into deferred execution of kacpid, if we had any notify requests pending, but Linus decided that it was too complex (involved either changes to workqueue to see if it's empty or atomic inc/dec). Now you see last variant which adds yield() to every GPE execution. http://bugzilla.kernel.org/show_bug.cgi?id=5534 http://bugzilla.kernel.org/show_bug.cgi?id=8385 Signed-off-by:
Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 08 May, 2007 1 commit
-
-
Randy Dunlap authored
Remove includes of <linux/smp_lock.h> where it is not used/needed. Suggested by Al Viro. Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc, sparc64, and arm (all 59 defconfigs). Signed-off-by:
Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 16 Feb, 2007 1 commit
-
-
Len Brown authored
Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 15 Feb, 2007 1 commit
-
-
Len Brown authored
...which are now unused Signed-off-by:
Len Brown <len.brown@intel.com>
-