08 Oct, 2012

1 commit

  • Pul ACPI & Power Management updates from Len Brown:
    - acpidump utility added
    - intel_idle driver now supports IVB Xeon
    - turbostat utility can now count SMIs
    - ACPI can now bind to USB3 hubs
    - misc fixes

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (49 commits)
    ACPI: Add new sysfs interface to export device description
    ACPI: Harden acpi_table_parse_entries() against BIOS bug
    tools/power/turbostat: add option to count SMIs, re-name some options
    tools/power turbostat: add [-d MSR#][-D MSR#] options to print counter deltas
    intel_idle: enable IVB Xeon support
    tools/power turbostat: add [-m MSR#] option
    tools/power turbostat: make -M output pretty
    tools/power turbostat: print more turbo-limit information
    tools/power turbostat: delete unused line
    tools/power turbostat: run on IVB Xeon
    tools/power/acpi/acpidump: create acpidump(8), local make install targets
    tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs
    ACPI: run _OSC after ACPI_FULL_INITIALIZATION
    tools/power/acpi/acpidump: create acpidump(8), local make install targets
    tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs
    tools/power/acpi/acpidump: version 20071116
    tools/power/acpi/acpidump: version 20070714
    tools/power/acpi/acpidump: version 20060606
    tools/power/acpi/acpidump: version 20051111
    xo15-ebook: convert to module_acpi_driver()
    ...

    Linus Torvalds
     

07 Oct, 2012

2 commits

  • …implify', 'turbostat' and 'usb3' into release

    add acpidump utility
    intel_idle driver now supports IVB Xeon
    turbostat can now count SMIs
    ACPI can now bind to USB3 hubs
    misc fixes

    Len Brown
     
  • Add support to export the device description obtained from the ACPI _STR
    method, if one exists for a device, to user-space via a sysfs interface.
    This new interface provides a standard and platform neutral way for users
    to obtain the description text stored in the ACPI _STR method. If no
    _STR method exists for the device, no sysfs 'description' file will be
    created. The 'description' file will be located in the /sys/devices/
    directory using the device's path.

    /sys/device///.../firmware_node/description

    Example:

    /sys/devices/pci0000:00/0000:00.07.0/0000:0e:00.0/firmware_node/description

    It can also be located using the ACPI device path, for example:

    /sys/devices/LNXSYSTM:00/device:00/ACPI0004:00/PNP0A08:00/device:13/device:15/description
    /sys/devices/LNXSYSTM:00/device:00/ACPI0004:00/ACPI0004:01/ACPI0007:02/description

    Execute the 'cat' command on the 'description' file to obtain the
    description string for that device.

    This patch also includes documentation describing how the new sysfs
    interface works

    Changes from v1-v2 based on comments by Len Brown and Fengguang Wu
    * Removed output "No Description" and leaving a NULL attribute if the
    _STR method failed to evaluate.

    * In acpi_device_remove_files() removed the redundent check of
    dev->pnp.str_obj before calling free. This check triggered a message
    from smatch.

    Signed-off-by: Lance Ortiz
    Signed-off-by: Len Brown

    Lance Ortiz
     

04 Oct, 2012

1 commit

  • Pull preparatory patches for user API disintegration from David Howells:
    "The patches herein prepare for the extraction of the Userspace API
    bits from the various header files named in the Kbuild files.

    New subdirectories are created under either include/uapi/ or
    arch/x/include/uapi/ that correspond to the subdirectory containing
    that file under include/ or arch/x/include/.

    The new subdirs under the uapi/ directory are populated with Kbuild
    files that mostly do nothing at this time. Further patches will
    disintegrate the headers in each original directory and fill in the
    Kbuild files as they do it.

    These patches also:

    (1) fix up #inclusions of "foo.h" rather than .

    (2) Remove some redundant #includes from the DRM code.

    (3) Make the kernel build infrastructure handle Kbuild files both in
    the old places and the new UAPI place that both specify headers
    to be exported.

    (4) Fix some kernel tools that #include kernel headers during their
    build.

    I have compile tested this with allyesconfig against x86_64,
    allmodconfig against i386 and a scattering of additional defconfigs of
    other arches. Prepared for main script

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones
    Acked-by: H. Peter Anvin "

    * tag 'uapi-prep-20121002' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Plumb the UAPI Kbuilds into the user header installation and checking
    UAPI: x86: Differentiate the generated UAPI and internal headers
    UAPI: Remove the objhdr-y export list
    UAPI: Move linux/version.h
    UAPI: Set up uapi/asm/Kbuild.asm
    UAPI: x86: Fix insn_sanity build failure after UAPI split
    UAPI: x86: Fix the test_get_len tool
    UAPI: (Scripted) Set up UAPI Kbuild files
    UAPI: Partition the header include path sets and add uapi/ header directories
    UAPI: (Scripted) Convert #include "..." to #include in kernel system headers
    UAPI: (Scripted) Convert #include "..." to #include in drivers/gpu/
    UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/.
    UAPI: Refer to the DRM UAPI headers with and from certain headers only

    Linus Torvalds
     

03 Oct, 2012

1 commit


22 Sep, 2012

2 commits

  • Add a helper macro module_acpi_driver() which reduces the boilerplate code
    for ACPI drivers. This is similar what is done for other busses (PCI, SPI,
    I2C etc).

    Signed-off-by: Mika Westerberg
    Signed-off-by: Len Brown

    Mika Westerberg
     
  • A USB port's position and connectability can't be identified on some boards
    via USB hub registers. ACPI _UPC and _PLD can help to resolve this issue
    and so it is necessary to bind USB with ACPI. This patch is to allow ACPI
    binding with USB-3.0 hub.

    Current ACPI only can bind one struct-device to one ACPI device node.
    This can not work with USB-3.0 hub, because the USB-3.0 hub has two logical
    devices. Each works for USB-2.0 and USB-3.0 devices. In the Linux USB subsystem,
    those two logical hubs are treated as two seperate devices that have two struct
    devices. But in the ACPI DSDT, these two logical hubs share one ACPI device
    node. So there is a requirement to bind multi struct-devices to one ACPI
    device node. This patch is to resolve such problem.

    Following is the ACPI device nodes' description under xhci hcd.

    Device (XHC)
    Device (RHUB)
    Device (HSP1)
    Device (HSP2)
    Device (HSP3)
    Device (HSP4)
    Device (SSP1)
    Device (SSP2)
    Device (SSP3)
    Device (SSP4)

    Topology in the Linux

    device XHC
    USB-2.0 logical hub USB-3.0 logical hub
    HSP1 SSP1
    HSP2 SSP2
    HSP3 SSP3
    HSP4 SSP4

    This patch also modifies the output of /proc/acpi/wakeup. One ACPI node
    can be associated with multiple devices:

    XHC S4 *enabled pci:0000:00:14.0
    RHUB S0 disabled usb:usb1
    disabled usb:usb2

    Signed-off-by: Lan Tianyu
    Acked-by: Sarah Sharp
    Signed-off-by: Len Brown

    Lan Tianyu
     

21 Sep, 2012

9 commits


18 Sep, 2012

1 commit

  • Currently we have the cpuidle_device field in the acpi_processor_power structure.
    This adds a dependency between processor.h and cpuidle.h

    Although it is not a real problem, removing this dependency has the benefit of
    separating a bit more the cpuidle code from the rest of the acpi code.
    Also, the compilation should be a bit improved because we do no longer
    include cpuidle.h in processor.h. The preprocessor was generating 30418 loc
    and with this patch it generates 30256 loc for processor_thermal.c, a file
    which is not concerned at all by cpuidle, like processor_perflib.c and
    processor_throttling.c.

    That may sound ridiculous, but "small streams make big rivers" :P

    This patch moves this field into a static global per cpu variable like what is
    done in the intel_idle driver.

    Signed-off-by: Daniel Lezcano
    Signed-off-by: Rafael J. Wysocki

    Daniel Lezcano
     

16 Sep, 2012

1 commit


05 Sep, 2012

1 commit


03 Aug, 2012

1 commit


31 Jul, 2012

1 commit

  • _GTS and _BFS were added to the suspend/resume flow
    in the ACPI 2.0 specification.

    Linux dutifully implemented _GTS and _BFS.
    We discovered that it was rarely seen in systems
    in the field. Further, some of those systems had
    AML so bogus that it could never work -- proof that
    no other operating system supports _GTS and _BFS.
    So we made _GTS and _BFS optional via modparam,
    and disabled them by default.

    But we've had to complicate some code to keep
    this support in the kernel, as these methods are defined
    to be evaluated very close to sleep entry and exit.
    Indeed, no other AML is ever evaluated with interrupts off.

    We have submitted a proposal for _GTS and _BFS
    to be officially removed from the ACPI specification
    on the next revision. Here we remove it from Linux.

    Signed-off-by: Len Brown
    Acked-by: Ingo Molnar
    Acked-by: Konrad Rzeszutek Wilk

    Len Brown
     

27 Jul, 2012

1 commit

  • Pull ACPI & power management update from Len Brown:
    "Re-write of the turbostat tool.
    lower overhead was necessary for measuring very large system when
    they are very idle.

    IVB support in intel_idle
    It's what I run on my IVB, others should be able to also:-)

    ACPICA core update
    We have found some bugs due to divergence between Linux and the
    upstream ACPICA base. Most of these patches are to reduce that
    divergence to reduce the risk of future bugs.

    Some cpuidle updates, mostly for non-Intel
    More will be coming, as they depend on this part.

    Some thermal management changes needed by non-ACPI systems.

    Some _OST (OS Status Indication) updates for hot ACPI hot-plug."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (51 commits)
    Thermal: Documentation update
    Thermal: Add Hysteresis attributes
    Thermal: Make Thermal trip points writeable
    ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check
    tools/power: turbostat: fix large c1% issue
    tools/power: turbostat v2 - re-write for efficiency
    ACPICA: Update to version 20120711
    ACPICA: AcpiSrc: Fix some translation issues for Linux conversion
    ACPICA: Update header files copyrights to 2012
    ACPICA: Add new ACPI table load/unload external interfaces
    ACPICA: Split file: tbxface.c -> tbxfload.c
    ACPICA: Add PCC address space to space ID decode function
    ACPICA: Fix some comment fields
    ACPICA: Table manager: deploy new firmware error/warning interfaces
    ACPICA: Add new interfaces for BIOS(firmware) errors and warnings
    ACPICA: Split exception code utilities to a new file, utexcep.c
    ACPI: acpi_pad: tune round_robin_time
    ACPICA: Update to version 20120620
    ACPICA: Add support for implicit notify on multiple devices
    ACPICA: Update comments; no functional change
    ...

    Linus Torvalds
     

26 Jul, 2012

1 commit


25 Jul, 2012

1 commit

  • Pull PCI changes from Bjorn Helgaas:
    "Host bridge hotplug:
    - Add MMCONFIG support for hot-added host bridges (Jiang Liu)
    Device hotplug:
    - Move fixups from __init to __devinit (Sebastian Andrzej Siewior)
    - Call FINAL fixups for hot-added devices, too (Myron Stowe)
    - Factor out generic code for P2P bridge hot-add (Yinghai Lu)
    - Remove all functions in a slot, not just those with _EJx (Amos
    Kong)
    Dynamic resource management:
    - Track bus number allocation (struct resource tree per domain)
    (Yinghai Lu)
    - Make P2P bridge 1K I/O windows work with resource reassignment
    (Bjorn Helgaas, Yinghai Lu)
    - Disable decoding while updating 64-bit BARs (Bjorn Helgaas)
    Power management:
    - Add PCIe runtime D3cold support (Huang Ying)
    Virtualization:
    - Add VFIO infrastructure (ACS, DMA source ID quirks) (Alex
    Williamson)
    - Add quirks for devices with broken INTx masking (Jan Kiszka)
    Miscellaneous:
    - Fix some PCI Express capability version issues (Myron Stowe)
    - Factor out some arch code with a weak, generic, pcibios_setup()
    (Myron Stowe)"

    * tag 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (122 commits)
    PCI: hotplug: ensure a consistent return value in error case
    PCI: fix undefined reference to 'pci_fixup_final_inited'
    PCI: build resource code for M68K architecture
    PCI: pciehp: remove unused pciehp_get_max_lnk_width(), pciehp_get_cur_lnk_width()
    PCI: reorder __pci_assign_resource() (no change)
    PCI: fix truncation of resource size to 32 bits
    PCI: acpiphp: merge acpiphp_debug and debug
    PCI: acpiphp: remove unused res_lock
    sparc/PCI: replace pci_cfg_fake_ranges() with pci_read_bridge_bases()
    PCI: call final fixups hot-added devices
    PCI: move final fixups from __init to __devinit
    x86/PCI: move final fixups from __init to __devinit
    MIPS/PCI: move final fixups from __init to __devinit
    PCI: support sizing P2P bridge I/O windows with 1K granularity
    PCI: reimplement P2P bridge 1K I/O windows (Intel P64H2)
    PCI: disable MEM decoding while updating 64-bit MEM BARs
    PCI: leave MEM and IO decoding disabled during 64-bit BAR sizing, too
    PCI: never discard enable/suspend/resume_early/resume fixups
    PCI: release temporary reference in __nv_msi_ht_cap_quirk()
    PCI: restructure 'pci_do_fixups()'
    ...

    Linus Torvalds
     

19 Jul, 2012

1 commit

  • * pm-acpi: (24 commits)
    olpc-xo15-sci: Use struct dev_pm_ops for power management
    ACPI / PM: Drop PM callbacks from the ACPI bus type
    ACPI / PM: Drop legacy driver PM callbacks that are not used any more
    ACPI / PM: Do not execute legacy driver PM callbacks
    acpi_power_meter: Use struct dev_pm_ops for power management
    fujitsu-tablet: Use struct dev_pm_ops for power management
    classmate-laptop: Use struct dev_pm_ops for power management
    xo15-ebook: Use struct dev_pm_ops for power management
    toshiba_bluetooth: Use struct dev_pm_ops for power management
    panasonic-laptop: Use struct dev_pm_ops for power management
    sony-laptop: Use struct dev_pm_ops for power management
    hp_accel: Use struct dev_pm_ops for power management
    toshiba_acpi: Use struct dev_pm_ops for power management
    ACPI: Use struct dev_pm_ops for power management in the SBS driver
    ACPI: Use struct dev_pm_ops for power management in the power driver
    ACPI: Use struct dev_pm_ops for power management in the button driver
    ACPI: Use struct dev_pm_ops for power management in the battery driver
    ACPI: Use struct dev_pm_ops for power management in the AC driver
    ACPI: Use struct dev_pm_ops for power management in processor driver
    ACPI: Use struct dev_pm_ops for power management in the thermal driver
    ...

    Rafael J. Wysocki
     

18 Jul, 2012

3 commits


17 Jul, 2012

6 commits


14 Jul, 2012

1 commit


01 Jul, 2012

3 commits


24 Jun, 2012

2 commits

  • * topic/huang-d3cold-v7:
    PCI/PM: add PCIe runtime D3cold support
    PCI: do not call pci_set_power_state with PCI_D3cold
    PCI/PM: add runtime PM support to PCIe port
    ACPI/PM: specify lowest allowed state for device sleep state

    Bjorn Helgaas
     
  • Lower device sleep state can save more power, but has more exit
    latency too. Sometimes, to satisfy some power QoS and other
    requirement, we need to constrain the lowest device sleep state.

    In this patch, a parameter to specify lowest allowed state for
    acpi_pm_device_sleep_state is added. So that the caller can enforce
    the constraint via the parameter.

    This is needed by PCIe D3cold support, where the lowest power state
    allowed may be D3_HOT instead of default D3_COLD.

    CC: Len Brown
    CC: linux-acpi@vger.kernel.org
    Reviewed-by: Rafael J. Wysocki
    Signed-off-by: Huang Ying
    Signed-off-by: Bjorn Helgaas

    Huang Ying