aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-01-17brcmsmac: remove PCI suspend/resume from bcma driverLinus Torvalds1-35/+3
The brcmsmac driver isn't a PCI driver any more, it's a bcma one. The PCI device has been resumed by the PCI driver (the generic PCI layer, really), we should be resuming just our own driver state. Also add pr_debug() calls to show that we now actually get the suspend/resume events. Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-01-17bcma: connect the bcma bus suspend/resume to the bcma driver suspend/resumeLinus Torvalds3-2/+21
Now the low-level driver actually gets informed that it is getting suspended and resumed. Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-01-17bcma: add stub for bcma_bus_suspend()Linus Torvalds3-1/+7
.. and connect it up with the pci host bcma driver. Now, the next step is to connect those bcma bus-level suspend/resume functions to the actual bcma device suspend resume functions. Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-01-17bcma: convert suspend/resume to pm_opsLinus Torvalds1-26/+16
.. and avoid doing the unnecessary PCI operations - the PCI layer will do them for us. Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-01-17[media] DocBook/dvbproperty.xml: Remove DTV_MODULATION from ISDB-TMauro Carvalho Chehab1-1/+0
On ISDB-T, each layer can have its own independent modulation, applied to the carriers that belong to the segments associated with them. So, there's no sense to define a global modulation parameter. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2012-01-17[media] DocBook/dvbproperty.xml: Fix ISDB-T delivery system parametersMauro Carvalho Chehab1-3/+0
The ISDB-T differs on its way to implement the hierarchical transmissions: instead of using a low-priority/high-priority FEC codes, it does that by using different layers, each layer with their groups of segments. So, those parameters don't make sense for ISDB-T. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2012-01-17[media] DocBook/dvbproperty.xml: Fix the units for DTV_FREQUENCYMauro Carvalho Chehab1-3/+5
The units for DTV_FREQUENCY are kHz for satellital delivery systems (DVB-S/DVB-S2/DVB-TURBO/ISDB-S). Fix it at the API spec. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2012-01-17ACPI processor: Fix error path, also remove sysdev linkThomas Renninger1-0/+1
Signed-off-by: Thomas Renninger <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI: processor: fix acpi_get_cpuid for UP processorLin Ming1-2/+24
For UP processor, it is likely that no _MAT method or MADT table defined. So currently acpi_get_cpuid(...) always return -1 for UP processor. This is wrong. It should return valid value for CPU0. In the other hand, BIOS may define multiple CPU handles even for UP processor, for example Scope (_PR) { Processor (CPU0, 0x00, 0x00000410, 0x06) {} Processor (CPU1, 0x01, 0x00000410, 0x06) {} Processor (CPU2, 0x02, 0x00000410, 0x06) {} Processor (CPU3, 0x03, 0x00000410, 0x06) {} } We should only return valid value for CPU0's acpi handle. And return invalid value for others. http://marc.info/?t=132329819900003&r=1&w=2 Cc: [email protected] Reported-and-tested-by: [email protected] Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17intel_idle: fix API misuseShaohua Li1-3/+3
smp_call_function() only lets all other CPUs execute a specific function, while we expect all CPUs do in intel_idle. Without the fix, we could have one cpu which has auto_demotion enabled or has no broadcast timer setup. Usually we don't see impact because auto demotion just harms power and the intel_idle init is called in CPU 0, where boradcast timer delivers interrupt, but this still could be a problem. Cc: [email protected] Signed-off-by: Shaohua Li <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17netfilter: ipset: dumping error triggered removing references twiceJozsef Kadlecsik1-0/+1
If there was a dumping error in the middle, the set-specific variable was not zeroed out and thus the 'done' function of the dumping wrongly tried to release the already released reference of the set. The already released reference was caught by __ip_set_put and triggered a kernel BUG message. Reported by Jean-Philippe Menil. Signed-off-by: Jozsef Kadlecsik <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2012-01-17netfilter: ipset: autoload set type modules safelyJozsef Kadlecsik1-10/+26
Jan Engelhardt noticed when userspace requests a set type unknown to the kernel, it can lead to a loop due to the unsafe type module loading. The issue is fixed in this patch. Signed-off-by: Jozsef Kadlecsik <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2012-01-17x86/kconfig: Move the ZONE_DMA entry under a menuRandy Dunlap1-10/+10
Move the ZONE_DMA kconfig symbol under a menu item instead of having it listed before everything else in "make {xconfig | gconfig | nconfig | menuconfig}". This drops the first line of the top-level kernel config menu (in 3.2) below and moves it under "Processor type and features". [*] DMA memory allocation support General setup ---> [*] Enable loadable module support ---> [*] Enable the block layer ---> Processor type and features ---> Power management and ACPI options ---> Bus options (PCI etc.) ---> Executable file formats / Emulations ---> Signed-off-by: Randy Dunlap <[email protected]> Acked-by: David Rientjes <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: [email protected] <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]> Cc: David Rientjes <[email protected]>
2012-01-17ACPI APEI: Convert atomicio routinesMyron Stowe3-11/+104
APEI needs memory access in interrupt context. The obvious choice is acpi_read(), but originally it couldn't be used in interrupt context because it makes temporary mappings with ioremap(). Therefore, we added drivers/acpi/atomicio.c, which provides: acpi_pre_map_gar() -- ioremap in process context acpi_atomic_read() -- memory access in interrupt context acpi_post_unmap_gar() -- iounmap Later we added acpi_os_map_generic_address() (2971852) and enhanced acpi_read() so it works in interrupt context as long as the address has been previously mapped (620242a). Now this sequence: acpi_os_map_generic_address() -- ioremap in process context acpi_read()/apei_read() -- now OK in interrupt context acpi_os_unmap_generic_address() is equivalent to what atomicio.c provides. This patch introduces apei_read() and apei_write(), which currently are functional equivalents of acpi_read() and acpi_write(). This is mainly proactive, to prevent APEI breakages if acpi_read() and acpi_write() are ever augmented to support the 'bit_offset' field of GAS, as APEI's __apei_exec_write_register() precludes splitting up functionality related to 'bit_offset' and APEI's 'mask' (see its APEI_EXEC_PRESERVE_REGISTER block). With apei_read() and apei_write() in place, usages of atomicio routines are converted to apei_read()/apei_write() and existing calls within osl.c and the CA, based on the re-factoring that was done in an earlier patch series - http://marc.info/?l=linux-acpi&m=128769263327206&w=2: acpi_pre_map_gar() --> acpi_os_map_generic_address() acpi_post_unmap_gar() --> acpi_os_unmap_generic_address() acpi_atomic_read() --> apei_read() acpi_atomic_write() --> apei_write() Note that acpi_read() and acpi_write() currently use 'bit_width' for accessing GARs which seems incorrect. 'bit_width' is the size of the register, while 'access_width' is the size of the access the processor must generate on the bus. The 'access_width' may be larger, for example, if the hardware only supports 32-bit or 64-bit reads. I wanted to minimize any possible impacts with this patch series so I did *not* change this behavior. Signed-off-by: Myron Stowe <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI: Export interfaces for ioremapping/iounmapping ACPI registersMyron Stowe2-2/+7
Export remapping and unmapping interfaces - acpi_os_map_generic_address() and acpi_os_unmap_generic_address() - for ACPI generic registers that are backed by memory mapped I/O (MMIO). The acpi_os_map_generic_address() and acpi_os_unmap_generic_address() declarations may more properly belong in include/acpi/acpiosxf.h next to acpi_os_read_memory() but I believe that would require the ACPI CA making them an official part of the ACPI CA - OS interface. ACPI Generic Address Structure (GAS) reference (ACPI's fixed/generic hardware registers use the GAS format): ACPI Specification, Revision 4.0, Section 5.2.3.1, "Generic Address Structure" Signed-off-by: Myron Stowe <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI: Fix possible alignment issues with GAS 'address' referencesMyron Stowe1-14/+24
Generic Address Structures (GAS) may reside within ACPI tables which are byte aligned. This patch copies GAS 'address' references to a local variable, which will be naturally aligned, to be used going forward. ACPI Generic Address Structure (GAS) reference: ACPI Specification, Revision 4.0, Section 5.2.3.1, "Generic Address Structure" Signed-off-by: Myron Stowe <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, ia64: Use SRAT table rev to use 8bit or 16/32bit PXM fields (ia64)Kurt Garloff1-4/+6
In SRAT v1, we had 8bit proximity domain (PXM) fields; SRAT v2 provides 32bits for these. The new fields were reserved before. According to the ACPI spec, the OS must disregrard reserved fields. ia64 did handle the PXM fields almost consistently, but depending on sgi's sn2 platform. This patch leaves the sn2 logic in, but does also use 16/32 bits for PXM if the SRAT has rev 2 or higher. The patch also adds __init to the two pxm accessor functions, as they access __initdata now and are called from an __init function only anyway. Note that the code only uses 16 bits for the PXM field in the processor proximity field; the patch does not address this as 16 bits are more than enough. Signed-off-by: Kurt Garloff <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, x86: Use SRAT table rev to use 8bit or 32bit PXM fields (x86/x86-64)Kurt Garloff1-0/+4
In SRAT v1, we had 8bit proximity domain (PXM) fields; SRAT v2 provides 32bits for these. The new fields were reserved before. According to the ACPI spec, the OS must disregrard reserved fields. x86/x86-64 was rather inconsistent prior to this patch; it used 8 bits for the pxm field in cpu_affinity, but 32 bits in mem_affinity. This patch makes it consistent: Either use 8 bits consistently (SRAT rev 1 or lower) or 32 bits (SRAT rev 2 or higher). cc: [email protected] Signed-off-by: Kurt Garloff <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI: Store SRAT table revisionKurt Garloff2-0/+7
In SRAT v1, we had 8bit proximity domain (PXM) fields; SRAT v2 provides 32bits for these. The new fields were reserved before. According to the ACPI spec, the OS must disregrard reserved fields. In order to know whether or not, we must know what version the SRAT table has. This patch stores the SRAT table revision for later consumption by arch specific __init functions. Signed-off-by: Kurt Garloff <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, Resolve false conflict between ACPI NVS and APEIHuang Ying1-1/+28
Some firmware will access memory in ACPI NVS region via APEI. That is, instructions in APEI ERST/EINJ table will read/write ACPI NVS region. The original resource conflict checking in APEI code will check memory/ioport accessed by APEI via general resource management mech. But ACPI NVS region is marked as busy already, so that the false resource conflict will prevent APEI ERST/EINJ to work. To fix this, this patch excludes ACPI NVS regions when APEI components request resources. So that they will not conflict with ACPI NVS regions. Reported-and-tested-by: Pavel Ivanov <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, Record ACPI NVS regionsHuang Ying4-10/+70
Some firmware will access memory in ACPI NVS region via APEI. That is, instructions in APEI ERST/EINJ table will read/write ACPI NVS region. The original resource conflict checking in APEI code will check memory/ioport accessed by APEI via general resource management mechanism. But ACPI NVS region is marked as busy already, so that the false resource conflict will prevent APEI ERST/EINJ to work. To fix this, this patch record ACPI NVS regions, so that we can avoid request resources for memory region inside it. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, EINJ, Refine the fix of resource conflictXiao, Hui1-6/+32
Current fix for resource conflict is to remove the address region <param1 & param2, ~param2+1> from trigger resource, which is highly relies on valid user input. This patch is trying to avoid such potential issues by fetching the exact address region from trigger action table entry. Signed-off-by: Xiao, Hui <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, EINJ, Fix resource conflict on some machineHuang Ying3-2/+36
Some APEI firmware implementation will access injected address specified in param1 to trigger the error when injecting memory error. This will cause resource conflict with RAM. On one of our testing machine, if injecting at memory address 0x10000000, the following error will be reported in dmesg: APEI: Can not request iomem region <0000000010000000-0000000010000008> for GARs. This patch removes the injecting memory address range from trigger table resources to avoid conflict. Signed-off-by: Huang Ying <[email protected]> Tested-by: Tony Luck <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, Add RAM mapping support to ACPI atomic IO supportHuang Ying1-4/+37
On one of our testing machine, the following EINJ command lines: # echo 0x10000000 > param1 # echo 0xfffffffffffff000 > param2 # echo 0x8 > error_type # echo 1 > error_inject Will get: echo: write error: Input/output error The EIO comes from: rc = apei_exec_pre_map_gars(&trigger_ctx); The root cause is as follow. Normally, ACPI atomic IO support is used to access IO memory. But in EINJ of that machine, it is used to access RAM to trigger the injected error. And the ioremap() called by apei_exec_pre_map_gars() can not map the RAM. This patch add RAM mapping support to ACPI atomic IO support to satisfy EINJ requirement. Signed-off-by: Huang Ying <[email protected]> Tested-by: Tony Luck <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, Printk queued error record before panicHuang Ying1-9/+44
Because printk is not safe inside NMI handler, the recoverable error records received in NMI handler will be queued to be printked in a delayed IRQ context via irq_work. If a fatal error occurs after the recoverable error and before the irq_work processed, we lost a error report. To solve the issue, the queued error records are printked in NMI handler if system will go panic. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, GHES, Distinguish interleaved error report in kernel logHuang Ying1-5/+11
In most cases, printk only guarantees messages from different printk calling will not be interleaved between each other. But, one APEI GHES hardware error report will involve multiple printk calling, normally each for one line. So it is possible that the hardware error report comes from different generic hardware error source will be interleaved. In this patch, a sequence number is prefixed to each line of error report. So that, even if they are interleaved, they still can be distinguished by the prefixed sequence number. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, Remove table not found messageHuang Ying3-9/+6
Because APEI tables are optional, these message may confuse users, for example, https://bugs.launchpad.net/ubuntu/+source/linux/+bug/599715 Reported-by: Bjorn Helgaas <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, Print resource errors in conventional formatBjorn Helgaas2-9/+10
Use the normal %pR-like format for MMIO and I/O port ranges. Signed-off-by: Bjorn Helgaas <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, APEI, GHES: Add PCIe AER recovery supportHuang Ying1-0/+23
aer_recover_queue() is called when recoverable PCIe AER errors are notified by firmware to do the recovery work. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI, Add 64bit read/write support to atomicio on i386Huang Ying1-6/+30
There is no 64bit read/write support in ACPI atomicio because readq/writeq is used to implement 64bit read/write, but readq/writeq is not available on i386. This patch implement 64bit read/write support in atomicio via two readl/writel. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17Merge branch 'tip/perf/urgent-2' of ↵Ingo Molnar153-535/+938
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
2012-01-17ACPICA: Update to version 20120111Bob Moore1-1/+1
Version 20120111. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Update all copyrights to 2012Bob Moore148-148/+148
Update all copyrights to 2012. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Add support for region address conflict checkingLin Ming14-222/+408
Allows drivers to determine if any memory or I/O addresses will conflict with addresses used by ACPI operation regions. Introduces a new interface, acpi_check_address_range. http://marc.info/?t=132251388700002&r=1&w=2 Reported-and-tested-by: Luca Tettamanti <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Update for larger ACPI 5 FADT sizeBob Moore1-6/+7
FADT is now larger than 256 bytes, so all FADT offsets must be changed from 8 bits to 16 bits. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Update to version 20111123Bob Moore1-1/+1
This version contains full support for the ACPI 5.0 specification. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Clean up MakefileLin Ming1-24/+133
Make the various files in alphabetical order to simplify addition of new files. Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Allow _AEI method in walk resourcesZhang Rui2-4/+7
_AEI contains a resource template, this change adds support for the walk resources function. Signed-off-by: Zhang Rui <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Add new predefined namesBob Moore5-4/+73
Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: New interface, acpi_buffer_to_resourceBob Moore2-0/+69
This interface converts an AML buffer to an internal ACPI_RESOURCE. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: New interface, acpi_get_event_resourcesBob Moore4-0/+98
Executes _AEI and formats the result, similar to acpi_get_current_resources, etc. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Support for all new resource descriptorsLin Ming16-119/+1776
FixedDMA, GPIO descriptors, SerialBus descriptors Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Support for GeneralPurposeIo and GenericSerialBus operation regionBob Moore6-18/+41
Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Implement Connection() and AccessAs() changesBob Moore15-45/+308
Support within the interpreter and operation region dispatch. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: New interfaces to allow driver access to AML mutex objectsLin Ming3-3/+201
Adds acpi_acquire_mutex, acpi_release_mutex external interfaces. New file, utxfmutex.c. Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Add new/changed tables to headersBob Moore3-4/+606
Adds new file, actbl3.h Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Implement hardware-reduced optionBob Moore6-3/+58
If HW-reduced flag is set in the FADT, do not attempt to access or initialize any ACPI hardware, including SCI and global lock. No FACS will be present. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPI 5.0: Basic support for FADT version 5Bob Moore2-8/+18
Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Do not abort table load on invalid space IDBob Moore4-12/+54
Ignore an invalid space ID during a table load. Instead, detect it if a control method attempts access - then abort the method. http://www.acpica.org/bugzilla/show_bug.cgi?id=925 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2012-01-17ACPICA: Add error msg for Index/Bank field registers out-of-rangeBob Moore1-0/+6
Supplement the exception code with an actual message. Found during ACPICA debugging. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>