31 Mar, 2011

1 commit


29 Mar, 2011

1 commit

  • The acpi video driver attempts to explicitly create a sysfs link between
    the acpi device and the associated PCI device. However, we're now also
    doing this from the backlight core, which means that we get a backtrace
    caused by a duplicate file. Remove the code and leave it up to the
    backlight core.

    Reported-by: Jeff Chua
    Signed-off-by: Matthew Garrett
    Acked-by: Rafael J. Wysocki
    Tested-by: Alessandro Suardi
    Signed-off-by: Linus Torvalds

    Matthew Garrett
     

26 Mar, 2011

1 commit


23 Mar, 2011

15 commits


22 Mar, 2011

5 commits

  • Len Brown
     
  • The AER error information printing support is implemented in
    drivers/pci/pcie/aer/aer_print.c. So some string constants, functions
    and macros definitions can be re-used without being exported.

    The original PCIe AER error information printing function is not
    re-used directly because the overall format is quite different. And
    changing the original printing format may make some original users'
    scripts broken.

    Signed-off-by: Huang Ying
    CC: Jesse Barnes
    CC: Zhang Yanmin
    Signed-off-by: Len Brown

    Huang Ying
     
  • APEI ERST firmware interface and implementation has no multiple users
    in mind. For example, if there is four records in storage with ID: 1,
    2, 3 and 4, if two ERST readers enumerate the records via
    GET_NEXT_RECORD_ID as follow,

    reader 1 reader 2
    1
    2
    3
    4
    -1
    -1

    where -1 signals there is no more record ID.

    Reader 1 has no chance to check record 2 and 4, while reader 2 has no
    chance to check record 1 and 3. And any other GET_NEXT_RECORD_ID will
    return -1, that is, other readers will has no chance to check any
    record even they are not cleared by anyone.

    This makes raw GET_NEXT_RECORD_ID not suitable for used by multiple
    users.

    To solve the issue, an in-memory ERST record ID cache is designed and
    implemented. When enumerating record ID, the ID returned by
    GET_NEXT_RECORD_ID is added into cache in addition to be returned to
    caller. So other readers can check the cache to get all record ID
    available.

    Signed-off-by: Huang Ying
    Reviewed-by: Andi Kleen
    Signed-off-by: Len Brown

    Huang Ying
     
  • v3 -> v2: Added text to describe the problem
    v2 -> v1: Split this patch from v1
    v1 : Part of: http://marc.info/?l=linux-pci&m=130042212003242&w=2

    Disable ASPM when no _OSC control for PCIe services is granted
    by the BIOS. This is to protect systems with a buggy BIOS that
    did not set the ACPI FADT "ASPM Controls" bit even though the
    underlying HW can't do ASPM.

    To turn "on" ASPM the minimum the BIOS needs to do:
    1. Clear the ACPI FADT "ASPM Controls" bit.
    2. Support _OSC appropriately

    There is no _OSC Control bit for ASPM. However, we expect the BIOS to
    support _OSC for a Root Bridge that originates a PCIe hierarchy. If this
    is not the case - we are better off not enabling ASPM on that server.

    Commit 852972acff8f10f3a15679be2059bb94916cba5d (ACPI: Disable ASPM if the
    Platform won't provide _OSC control for PCIe) describes the above scenario.
    To quote verbatim from there:
    [The PCI SIG documentation for the _OSC OS/firmware handshaking interface
    states:

    "If the _OSC control method is absent from the scope of a host bridge
    device, then the operating system must not enable or attempt to use any
    features defined in this section for the hierarchy originated by the host
    bridge."

    The obvious interpretation of this is that the OS should not attempt to use
    PCIe hotplug, PME or AER - however, the specification also notes that an
    _OSC method is *required* for PCIe hierarchies, and experimental validation
    with An Alternative OS indicates that it doesn't use any PCIe functionality
    if the _OSC method is missing. That arguably means we shouldn't be using
    MSI or extended config space, but right now our problems seem to be limited
    to vendors being surprised when ASPM gets enabled on machines when other
    OSs refuse to do so. So, for now, let's just disable ASPM if the _OSC
    method doesn't exist or refuses to hand over PCIe capability control.]

    Signed-off-by: Naga Chumbalkar
    Cc: Rafael J. Wysocki
    Cc: Matthew Garrett
    Signed-off-by: Jesse Barnes

    Naga Chumbalkar
     
  • We need to distinguish the situation in which ASPM support is
    disabled from the command line or through .config from the situation
    in which it is disabled, because the hardware or BIOS can't handle
    it. In the former case we should not report ASPM support to the BIOS
    through ACPI _OSC, but in the latter case we should do that.

    Introduce pcie_aspm_support_enabled() that can be used by
    acpi_pci_root_add() to determine whether or not it should report ASPM
    support to the BIOS through _OSC.

    Cc: stable@kernel.org
    References: https://bugzilla.kernel.org/show_bug.cgi?id=29722
    References: https://bugzilla.kernel.org/show_bug.cgi?id=20232
    Reported-and-tested-by: Ortwin Glück
    Reviewed-by: Kenji Kaneshige
    Tested-by: Kenji Kaneshige
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

19 Mar, 2011

3 commits


17 Mar, 2011

4 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] tioca: Fix assignment from incompatible pointer warnings
    [IA64] mca.c: Fix cast from integer to pointer warning
    [IA64] setup.c Typo fix "Architechtuallly"
    [IA64] Add CONFIG_MISC_DEVICES=y to configs that need it.
    [IA64] disable interrupts at end of ia64_mca_cpe_int_handler()
    [IA64] Add DMA_ERROR_CODE define.
    pstore: fix build warning for unused return value from sysfs_create_file
    pstore: X86 platform interface using ACPI/APEI/ERST
    pstore: new filesystem interface to platform persistent storage

    Linus Torvalds
     
  • …rnel/git/tip/linux-2.6-tip

    * 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix binutils-2.21 symbol related build failures
    x86-64, trampoline: Remove unused variable
    x86, reboot: Fix the use of passed arguments in 32-bit BIOS reboot
    x86, reboot: Move the real-mode reboot code to an assembly file
    x86: Make the GDT_ENTRY() macro in <asm/segment.h> safe for assembly
    x86, trampoline: Use the unified trampoline setup for ACPI wakeup
    x86, trampoline: Common infrastructure for low memory trampolines

    Fix up trivial conflicts in arch/x86/kernel/Makefile

    Linus Torvalds
     
  • Tony Luck
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (21 commits)
    PM / Hibernate: Reduce autotuned default image size
    PM / Core: Introduce struct syscore_ops for core subsystems PM
    PM QoS: Make pm_qos settings readable
    PM / OPP: opp_find_freq_exact() documentation fix
    PM: Documentation/power/states.txt: fix repetition
    PM: Make system-wide PM and runtime PM treat subsystems consistently
    PM: Simplify kernel/power/Kconfig
    PM: Add support for device power domains
    PM: Drop pm_flags that is not necessary
    PM: Allow pm_runtime_suspend() to succeed during system suspend
    PM: Clean up PM_TRACE dependencies and drop unnecessary Kconfig option
    PM: Remove CONFIG_PM_OPS
    PM: Reorder power management Kconfig options
    PM: Make CONFIG_PM depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME)
    PM / ACPI: Remove references to pm_flags from bus.c
    PM: Do not create wakeup sysfs files for devices that cannot wake up
    USB / Hub: Do not call device_set_wakeup_capable() under spinlock
    PM: Use appropriate printk() priority level in trace.c
    PM / Wakeup: Don't update events_check_enabled in pm_get_wakeup_count()
    PM / Wakeup: Make pm_save_wakeup_count() work as documented
    ...

    Linus Torvalds
     

16 Mar, 2011

1 commit

  • * 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: fix build failure introduced by s/freezeable/freezable/
    workqueue: add system_freezeable_wq
    rds/ib: use system_wq instead of rds_ib_fmr_wq
    net/9p: replace p9_poll_task with a work
    net/9p: use system_wq instead of p9_mux_wq
    xfs: convert to alloc_workqueue()
    reiserfs: make commit_wq use the default concurrency level
    ocfs2: use system_wq instead of ocfs2_quota_wq
    ext4: convert to alloc_workqueue()
    scsi/scsi_tgt_lib: scsi_tgtd isn't used in memory reclaim path
    scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()
    misc/iwmc3200top: use system_wq instead of dedicated workqueues
    i2o: use alloc_workqueue() instead of create_workqueue()
    acpi: kacpi*_wq don't need WQ_MEM_RECLAIM
    fs/aio: aio_wq isn't used in memory reclaim path
    input/tps6507x-ts: use system_wq instead of dedicated workqueue
    cpufreq: use system_wq instead of dedicated workqueues
    wireless/ipw2x00: use system_wq instead of dedicated workqueues
    arm/omap: use system_wq in mailbox
    workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER

    Linus Torvalds
     

15 Mar, 2011

4 commits

  • Conflicts:
    arch/x86/mm/numa_64.c

    Merge reason: Resolve the conflict, update the branch to .38.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The variable pm_flags is used to prevent APM from being enabled
    along with ACPI, which would lead to problems. However, acpi_init()
    is always called before apm_init() and after acpi_init() has
    returned, it is known whether or not ACPI will be used. Namely, if
    acpi_disabled is not set after acpi_init() has returned, this means
    that ACPI is enabled. Thus, it is sufficient to check acpi_disabled
    in apm_init() to prevent APM from being enabled in parallel with
    ACPI.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Len Brown

    Rafael J. Wysocki
     
  • After redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||
    CONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be
    replaced with CONFIG_PM.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • If direct references to pm_flags are removed from drivers/acpi/bus.c,
    CONFIG_ACPI will not need to depend on CONFIG_PM any more. Make that
    happen.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Len Brown

    Rafael J. Wysocki
     

03 Mar, 2011

5 commits